2010年3月31日 星期三

Y18 First Practice(3)──分析階段

在需求階段接近尾聲時應該要確定系統的架構才能進行分析階段。根據自己幾年來的經驗,預先定義好Package的架構:(當然不用最複雜的結構,那根本是累慘自己)



●UI+Listener
負責畫面的呈現與畫面操作事件的處理。Listener部分會將View與Model都放在Action裡,同時指向Controller做統一的處理。
●ActionService
生成Action並執行的機制,編輯工具需要的Undo/Redo功能也在這裡管理。
●Action
實作處理邏輯的地方。同時握有View與Model,可以讓處理流程完整地取得需要的資訊,同時任意控制每個地方應該發生的變化。
●ModelService
原本為了同時存取多個Model而包裝的服務,後來加上所有儲存Model內容的行為。一方面包裝複雜的Model行為,另一方面提供統一的Model修改處而不致散落在各個Model。
●Model
資料物件。除了ModelService之外只允許讀取內容。
●Environment
環境相關的靜態變數與使用者設定的各種參數。

整個系統內區分為三種層級的操作:Project、Transaction與Field,也就是說每個Package內都對應著這三個層級有不同的入口,在結構上就需要控制 6 * 3 = 18 個群組。根據這樣的佈置就可以開始對每一個UI元件的操作繪製對應的Sequence Diagram。

聽起來似乎蠻不錯的,但是很快產生了變化:原本還有六週的開發被壓縮到兩週,眼看要做的功能實在太多了,所以硬是多要一週變成三週的開發加測試,不過這也足以造成每天加班到半夜的事實。所以跳過了分析階段,直接進入了設計與實作。

沒有留言:

張貼留言