專案程序

本專案選用迴旋式程式(Spiral Process)。整個專案將會被分解為四個獨立的組件,個別是:

    1. 規格制定

    2. 設計與架構

    3. 建構

    4. 測試

每個階段都是獨立的,而且一而再再而三地進行相同的這四個組件。

本專案參考專業PHP 5程式設計 (Lecky-Thompson, etc. , 2005),看到半價290我就買下來了,雖然翻譯得不太流暢,但的確不貴。

規格制定

本階段必些撰寫兩種專案製作規格文件。

    • 功能性規格:描述專案預計要進行的部份,以一般人能夠理解的方式敘述。

    • 技術性規格:描述專案要如何地進行。

由於本專案採用迴旋式程序,因此在專案開始之前必須先提出概略的功能性規格與技術性規格,然後在每次細部的規格制定時,再提出簡潔、細部的規格文件。

專案功能性規格

    • 讀者可以閱讀文章的時候同時撰寫筆記

    • 讀者可以看到別人撰寫的筆記

    • 系統會提示重要的筆記給讀者

    • 讀者可以管理筆記,包括刪除、修改

    • 讀者可以自訂筆記顯是的方式以及系統功能的顯示介面

    • 管理者可以管理讀者的權限,包括可閱讀其他人筆記的方式

專案技術性規格

    • 伺服器端程式語言使用PHP5,以物件導向方式開發:因為PHP是我最熟悉的語言,他本身容易上手又可以發展成物件導向的靈活性,讓我想要以PHP5練習物件導向專案開發。反正我以後也應該是以PHP開發為主了啦。

    • 客戶端程式語言使用JavaScript,並輔以jQuery提昇程式建構效率。

    • 資料庫平台選擇PostgreSQL:同樣是自由軟體,PostgreSQL具有比MySQL更為完整、強大的資料庫功能,而且更不受限於商務用途。因此我選擇以PostgreSQL而不是大家常見的MySQL,另一方面也是受到書本的影響啦。

    • 伺服器作業平台:Windows或UNIX都可以。平時測試及建構專案的時候我會選用Windows進行,系統正式運行的時候,則移轉到較為穩定的UNIX。

    • 專案安裝與部屬:說明文件待專案完成之後再來撰寫。

設計階段

本設計階段的文件將會沿用到整個專案,需要修改的時候,也請回到本文件來修改。

創意性規格

    • 字型:新細明體、

    • 字體顏色:藍色系,因為我們常用藍筆來寫註解。

    • 背景:黃色系搭配橘色底線,就像3M便利貼那樣,讓人很有激發創意的感覺。

    • 排版:主要系統是內嵌網頁,用彈跳視窗顯示,單欄式。管理系統則是用頂部導覽列、主要部份、右方次導覽列的型式排版。

    • 商標:還在構思,將以KALS字體作變化,藍黃顏色搭配,要有筆、便條紙、筆記等感覺。

軟體架構主要規劃(Ten-Point Plan)

軟體架構主要規劃以簡短有力的彈著點勾勒出最佳實作方式,這份架構將會應用到往後的程式設計當中。

    • 資料庫表綱(schema):未定,總是會定出來吧?

    • 物件模型:未定,慢慢學。

    • MVC:本專案採用CodeIgniter的MVC架構來開發,說明文件可以參考CodeIgniter 用户指南 版本 1.7.1。

    • 測試導向式開發:本專案使用http://pear.php.net|PHPUnit作為測試框架。

專案詞彙

本專案相關的專有名詞,一併在此解釋。

    • 主系統:KALS的設計目的是能夠整合在其他主要系統(例如數位圖書館、數位典藏資料庫當中,包括DSpace),因此那些主要系統就稱為「主系統」。在本專案中,「主系統」的對象主要是全國通識課程資料庫