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