最近看了code complete一書,這本書主要是在介紹一個完整的程式專案如何被規劃與設計最適合。某些概念我認為不一定只能在程式專案上,更可以應用到其他領域上。
接著就是介紹大概的流程與注意事項:
Step1: Problem Definition
問題應該以客戶(專案成品的使用者)的觀點來定義,也就是應該省略專有名詞,要假設是一個狀況外的人在看你的problem definition。所謂的problem definition應該只定義主要要解決的問題,不囊括所有小細節。
Step2: Requirements
這個專案有哪些需求?需求是很重要的一環,必須審慎評估。接下來的工作都以完成需求為主。因此可以列一張需求列表,以方便日後檢核。需求就必須要是具體點的事情,而並非抽象、籠統的。
Step3: Architecture
Architecture主要是針對程式的專案,因為一個程式的好壞,大都決定於它的架構。架構必須要讓自己覺得很合理、不累贅。我們用一個block代表一個或多個class,多個class形成一個子系統,子系統再形成架構。另外,必須要定義主要的核心架構。最重要的是,架構要能對應到需求表上(Require list)。
Step4: Construction
拿起你的教鞭,叫你底下的奴隸幫你工作,直到專案完成...
Step5: System Testing
系統測試,必須要將專案以合理的方式進行一系列的測試。如果這是程式專案,應該要以unit test測試每個function和class是否正常運作,當然這是另一個大工程,通常會有專人來做(測試工程師)。
基本上,我們也可以使用這些規則弄個自己的專案,譬如說旅遊專案、減重專案之類的,想必會比什麼都沒計畫更有效率。