三、概要設計
確定影響系統(tǒng)設計的約束因素:本系統(tǒng)應當遵循的標準或規(guī)范、軟件、硬件環(huán)境(包括運行環(huán)境和開發(fā)環(huán)境)的約束、接口/協(xié)議的約束、軟件質量的約束、隱含約束等。
確定設計策略:擴展策略、復用策略、折衷策略。
系統(tǒng)分解與設計:將系統(tǒng)分解為若干子系統(tǒng),確定每個子系統(tǒng)的功能以及子系統(tǒng)之間的關系;將子系統(tǒng)分解為若干模塊,確定每個模塊的功能以及模塊之間的關系。
數(shù)據(jù)庫概要設計。
輸出文檔:
產(chǎn)品概要設計說明書、數(shù)據(jù)概要設計模型(CDM)
四、詳細設計
確定功能模塊的參與者、數(shù)據(jù)庫表、輸入?yún)?shù)說明、前置條件、基本流程、異常流程、日志等信息。
各層次結構的接口定義
數(shù)據(jù)庫設計:邏輯設計—>物理設計->安全性設計->優(yōu)化
實施建議:
先對系統(tǒng)設計人員進行“專題”培訓,讓他們掌握必要的系統(tǒng)設計技能。
由于國內絕大多數(shù)的大學不開設“用戶界面設計課程”,這導致大部分軟件開發(fā)人員不善于設計用戶界面。項目開發(fā)小組應當設法邀請用戶界面設計專家參與(或指導)本軟件的 界面設計。
對系統(tǒng)設計過程中產(chǎn)生的所有有價值的文檔進行配置管理。
輸出文檔:
產(chǎn)品詳細設計說明書、數(shù)據(jù)物理設計模型(PDM)、自定義數(shù)據(jù)類型及BO數(shù)據(jù)類型文件、數(shù)據(jù)字典、系統(tǒng)測試用例、對象模型(OOM)
五、Coding
軟件編碼,各接口的實現(xiàn)。
單元測試。
實施建議:
對開發(fā)人員進行“高質量程序設計”培訓,讓他們掌握編寫高質量程序的技能。
對開發(fā)人員進行“版本控制、代碼審查、測試、改錯”等方面的培訓,提高他們的工作效率。
開發(fā)小組根據(jù)項目的資源、時間等限制因素,可以適當?shù)販p少測試的工作量。
對實現(xiàn)與測試過程中產(chǎn)生的所有代碼和有價值的文檔進行配置管理。
輸出:
單元測試報告、代碼評審報告
六、集成測試
根據(jù)系統(tǒng)測試用例測試系統(tǒng)的功能性需求,保證系統(tǒng)的正常功能處理及異常處理是否正確。
用戶界面測試,重點是測試軟件系統(tǒng)的易用性和視覺效果等。
健壯性測試,測試軟件系統(tǒng)在異常情況下能否正常運行的能力。(容錯能力和恢復能力)
安全性測試(這種測試一般能通過建行的fortify 軟件評測即可)
如果產(chǎn)品需要安裝,那么還得經(jīng)過安裝與反安裝測試
實施建議:
對系統(tǒng)測試人員進行必要的培訓,提高他們的測試效率。
項目經(jīng)理和測試小組根據(jù)項目的資源、時間等限制因素,設法合理地減少測試的工作量,例如減少“冗余或無效”的測試。
系統(tǒng)測試小組根據(jù)產(chǎn)品的特征,可以適當?shù)匦薷谋疽?guī)范的各種文檔模板。
對系統(tǒng)測試過程中產(chǎn)生的所有代碼和有價值的文檔進行配置管理。
為了調動測試者的積極性,建議企業(yè)或項目設立獎勵機制,例如:根據(jù)缺陷的危害程度把獎金分等級,每個新缺陷對應一份獎金,把獎金發(fā)給第一個發(fā)現(xiàn)該缺陷的人。
輸出:
系統(tǒng)測試報告、缺陷管理報告、操作手冊