軟件設計方法包括:
(1)模型驅動設計。模型驅動設計是一種系統設計方法,強調通過繪制圖形化系統模型描述系統的技術和實現。通常從模型驅動分析中開發的邏輯模型導出系統設計模型, 最終,系統設計模型將作為構造和實現新系統的藍圖。
(2)結構化設計 。結構化設計是一種面向過程的系統設計技術 ,它將系統過程分解成一個容易實現和維護的計算機程序模塊。把一個程序設計成一個自頂向下的模塊層次,一個模塊就是一組指令:一個程序片段 、程序塊、子程序或者子過程,這些模塊自頂向下按照各種設計規則和設計指南進行開發,模塊需要滿足高度內聚和松散耦合的特征。
(3)信息工程。信息工程是一種用來計劃、分析和設計信息系統的模型驅動的、以數據為中心的但對過程敏感的技術。信息工程模型是一些說明和同步系統的數據和過程的圖形。信息工程的主要工具是數據模型圖(物理實體關圖)。
(4)原型設計。原型化方法是一種反復迭代過程,它需要設計人員和用戶之間保持緊密的工作關系,通過構造一個預期系統的小規模的、不完整的但可工作的示例來與用戶交互設計結果。原型設計方法鼓勵并要求最終用戶主動參與,這增加了最終用戶對項目的信心和支持。原型更好地適應最終用戶總是想改變想法的自然情況。原型是主動的模型,最終用戶可以看到并與之交互。
(5) 面向對象設計。面向對象設計是 一種新的設計策略,用于精煉早期面向對象分析階段確定的對象需求定義,并定義新的與設計相關的對象。面向對象設計是面向對象分析的延伸,有利于消除“數據”和“過程”的分離。
(6)快速應用開發。快速應用開發是一種系統設計方法,是各種結構化技術(特別是數據驅動的信息工程)與原型化技術和聯合應用開發技術的結合,用以加速系統開發。快速應用開發要求反復地使用結構化技術和原型化技術來定義用戶的需求并設計最終系統。