軟體設計
出自 MBA智库百科(https://wiki.mbalib.com/)
軟體設計(Software Design)
目錄 |
軟體設計是從軟體需求規格說明書出發,根據需求分析階段確定的功能設計軟體系統的整體結構、劃分功能模塊、確定每個模塊的實現演算法以及編寫具體的代碼,形成軟體的具體設計方案。軟體設計是把許多事物和問題抽象起來,並且抽象它們不同的層次和角度。將問題或事物分解並模塊化使得解決問題變得容易,分解的越細模塊數量也就越多,它的副作用就是使得設計者考慮更多的模塊之間耦合度的情況。而軟體設計模式作為當代電腦軟體開發而形成的一種全新的設計理念,軟體設計模式在電腦的應用中顯得越來越重要了。
軟體設計是把許多事物和問題抽象起來,應用各種各樣的技術和原理,並用它們足夠詳細的定義一個設備、一個程式或系統的物理實現的過程。這個步驟是由多方面的直覺與判斷力來共同決定的。一個對軟體的全局觀點。系統通過逐步求精使得設計陳述逐漸接近源代碼。這裡有兩個基本步驟,第一步是初步設計(Preliminary design) ,關註於如何將需求轉換成數據和軟體框架。
第二步是詳細設計(Detail design),關註於將框架逐步求精細化為具體的數據結構和軟體的演算法表達。發生中的設計行為、數據、演算法和程式設計都需要由現代程式所需的界面設計這一清晰的行為來結合起來。界面設計(Interface design) 建立程式佈局和人機交互機制。貫穿設計過程的質量由一系列的正式技術評定(formal technical reviews)或設計排演(design walkthroughs)來評價。
- 軟體設計包括軟體的結構設計,數據設計,介面設計和過程設計。
- 結構設計:定義軟體系統各主要部件之間的關係。
- 數據設計:將模型轉換成數據結構的定義。
- 介面設計:軟體內部,軟體和操作系統間以及軟體和人之間如何通信。
- 過程設計:系統結構部件轉換成軟體的過程描述。
- 設計對於分析模型應該是可跟蹤的:軟體的模塊可能被映射到多個需求上。
- 設計結構應該儘可能的模擬實際問題。
- 設計應該表現出一致性。
- 不要把設計當成編寫代碼。
- 在創建設計時就應該能夠評估質量。
- 評審設計以減少語義性的錯誤。
- 設計應該模塊化,將軟體邏輯地劃分為元素或子系統,並包含數據、體繫結構、介面和構件的清晰表示。
軟體設計的任務是從軟體需求規格說明書出發,根據需求分析階段確定的功能設計軟體系統的整體結構、劃分功能模塊、確定每個模塊的實現演算法以及編寫具體的代碼,形成軟體的具體設計方案。軟體設計是一種在設計者計劃中通過諸如軟體如何滿足客戶的需要,如何才能容易地實現和如何才能方便地擴展功能以適應新的需求等不同的考慮的創造性活動。軟體設計有很多設計方法或技巧,通過借鑒他人的經驗讓這件事完成得更好。同時,設計者們也可以利用成熟的標記法將他們的想法和計劃傳達給開發者以及其他相關人員,使他們更好地瞭解這個系統。