2008年6月6日 星期五

Q14 努力的方向(6)──制訂專案開發流程與產出

功能就像是待達成的目標,而設計就是找出完成目標的方法。對於單一目標來看,我們可以不用管層次或是共用問題只要達到目的就好;但是對於有許多不同功能存在的系統來說,進行Module層次的方法分析以抽取相同方法的動作卻是不應省略的。

在專案上的作法會從Use Case開始,先行分析一些重要的功能,檢查在完成功能時所需要的各個動作,並將之安置在對應的Module裡。接著逐步分析所有的Use Case,取得動作的最大集合並放置到對應的Module。在此之後應可以得到所有的系統動作與全部的Module,還有這兩者與Use Case的關聯。

動作的拆解比較趨近人類日常生活的想法,不過每個動作所操作的資料則是Domain特有的資訊;一個系統裡所有動作操作到的資料集合,可說是該系統Domain的範圍。每個動作用什麼樣的方式來操作資料,每種資料總共提供了哪些操作方式,在專案上主要是以使用者角度定義動作與資料的名稱(再往下是從設計的角度來定義動作與資料實際的程式分類)。

將系統的定義資料與操作方法分門別類地定義並明確地標示,在使用時快速地取得全部索引從中選用(同時藉此保證同一目的的程式碼不會存在多份),這是我所認定可以加快專案產能的方式。

沒有留言:

張貼留言