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