1. 需求確定:
通過各種手段確定系統的功能與性能
i. 功能:購物、注冊、瀏覽、搜索、收藏、留言、客服、廣告……
ii. 性能:可同時支持N個并發訪問,并且響應時間不低于M毫秒……(架構師要注重的)
iii. 手段:
1. 頭腦風暴(brain storm)--就是大家全提不同的意見,先都給記下來,后來討論可用性。(研究可行性,分版本完成)
2. 會議(一定要最合適的人)
3. 詢問(想好問題、做紀錄)
4. 原型---界面原型、業務原型……(界面原型,定了你的項目發展方向,你有了方向,很重要)
5. ……
iv. 本階段是項目開發的最重要的階段。
v. 在WEB項目中,通常界面設計會在本階段進行。
2. 分析和設計
a) 架構分析和設計
i. 邏輯架構
1. 3層架構、N層架構
2. MVC……
3. Model 1 or Model 2
4. ……
ii. 物理架構
1. WEB服務器的分布
2. 數據庫的分布
3. ……
iii. 技術解決方案的確定
1. java/.net
2. open source/商業
3. ……
b) 業務邏輯分析
根據需求分析業務邏輯
有那些人使用本系統
他們使用系統做什么
通常他們使用系統的步驟是什么樣的
會有哪些明顯類來支持本系統的運行
會有哪些不同的提示會反饋給用戶
……
ii. 本階段與需求確定密切相關,通常在確定需求的時候就會進行業務邏輯的分析
c) 業務邏輯設計
i. 根據需求的分析來確定具體的類
ii. 確定類的屬性
iii. 確定類的接口(方法)
iv. 確定類之間的關系
v. 確定用戶操作流程在設計上的反映
vi. 進行數據庫的設計
1. 不同的項目步驟可能不盡相同
vii. ……
d) 設計界面的設計
i. 設計系統的界面的風格(一般跟我們程序員的關系不大)
1. 顏色、style
ii. 設計系統的具體“模擬”界面(就是界面原型)
1. 能夠從頭走到尾
a) 方便進行需求的確定
b) 方便JSP程序員的開發
c) ……
3. 開發環境的搭建(包括軟件環境和人員的到位)
a) 開發工具的確定
b) 配置管理工具的確定
c) 測試工具的確定
d) 文件服務器/配置服務器等的確定
e) ……
4. 開發--測試--開發--測試(邏輯遞增式,瀑布式)
a) 按照設計進行開發
i. 迅速開發出原型(非常重要,可以鼓足士氣)
ii. 進行迭代開發
iii. 提早進行測試(減少不必要的損失)
1. 單元測試
2. 黑盒測試
3. 性能測試
4. 易用性測試
5. ……
5. 文檔編纂(非常重要,項目經理要考慮的,一定要統一)