一、問題的提出
概要設計寫什麼?概要設計怎麼做?
如何判斷設計的模塊是完整的?
爲什麼說設計階段過於重視業務流程是個誤區?
以需求分析文檔還是以概要設計文檔來評估開發工作量、指導開發計劃準確?
結構化好還是面向對象好?
以上問題的答案請在文章中找。
二、概要設計的目的
將軟件系統需求轉換爲未來系統的設計;
逐步開發強壯的系統構架;
使設計適合於實施環境,爲提高性能而進行設計;
結構應該被分解爲模塊和庫。
三、概要設計的任務
制定規範:代碼體系、接口規約、命名規則。這是項目小組今後共同作戰的基礎,有了開發規範和程序模塊之間和項目成員彼此之間的接口規則、方式方法,大家就有了共同的工作語言、共同的工作平臺,使整個軟件開發工作可以協調有序地進行。
總體結構設計:
功能(加工)->模塊:每個功能用那些模塊實現,保證每個功能都有相應的模塊來實現;
模塊層次結構:某個角度的軟件框架視圖;
模塊間的調用關係:模塊間的接口的總體描述;
模塊間的接口:傳遞的信息及其結構;
處理方式設計:滿足功能和性能的算法
用戶界面設計;
數據結構設計:
詳細的數據結構:表、索引、文件;
算法相關邏輯數據結構及其操作;
上述操作的程序模塊說明(在前臺?在後臺?用視圖?用過程?······)
接口控制表的數據結構和使用規則
其他性能設計。
四、概要設計寫什麼
結構化軟件設計說明書結構(因篇幅有限和過時嫌疑,在此不作過多解釋)
任務:目標、環境、需求、侷限;
總體設計:處理流程、總體結構與模塊、功能與模塊的關係;
接口設計:總體說明外部用戶、軟、硬件接口;內部模塊間接口(注:接口≈系統界面)
數據結構:邏輯結構、物理結構,與程序結構的關係;
模塊設計:每個模塊“做什麼”、簡要說明“怎麼做”(輸入、輸出、處理邏輯、與其它模塊的接口,與其它系統或硬件的接口),處在什麼邏輯位置、物理位置;
運行設計:運行模塊組合、控制、時間;
出錯設計:出錯信息、處錯處理;
其他設計:保密、維護;