軟件工程階段性總結(三)——軟件設計和編碼

       上一篇博客是對於軟件工程中定義階段的介紹,主要是可行性研究和需求分析兩個方面。在進行完定義階段以後,就該開始對軟件進行設計了。定義階段要解決的問題是“做什麼”,系統“做什麼”清楚了以後。就該解決“怎麼做”了,這就是軟件設計階段所要解決的問題。這個階段主要包括總體設計(概要設計)和詳細設計。在進行完設計以後就進入更詳細的程序編碼階段。

       軟件設計階段:

       首先是對於軟件設計階段的整體思維導圖:
       

       一、總體設計:

       總體設計也稱爲概要設計,總體設計是從兩個方面來設計的:系統設計階段和結構設計階段。我感覺它的核心在於從整體上對軟件系統做一個概要,集中精力解決主要問題,逐步求精的過程。不是具體分析模塊中的內容,而是重在分析模塊的組成和模塊之間的關係。
       系統設計:主要是爲了確定系統的具體實現方案,以需求分析階段得出的數據流圖爲基礎,設想供選擇的方案,然後從中選取合理的方案。
       結構設計:主要是爲了確定軟件的結構,也就是要確定系統中的每個程序是由哪些模塊組成的,以及這些模塊相互間的關係。

       二、詳細設計

       詳細設計階段的任務是確定怎樣具體的實現所要求的系統,是總體設計的進一步細化,詳細設計階段的好壞對將來編寫出程序的可讀性、測試、修改和維護都有很大的影響。它主要包括三個部分:結構程序設計、人機界面設計和過程設計。
       結構程序設計:主要指順序結構、循環結構和分支結構三大結構,這是詳細設計的基礎。
       人機界面設計:人機界面設計是接口設計的一個重要組成部分。人機界面的質量直接影響用戶對軟件產品的接受程度,和其他設計方法同等重要。
       過程設計:它的任務是設計解題的詳細步驟(即算法),是詳細設計階段應完成的主要工作。過程設計的工具分爲三類:圖形(程序流程圖、盒圖、PAD圖、判定樹)、表(判定表)和語言(過程設計語言)。

       三、編碼

       程序編碼階段主要使用程序設計語言來實現,程序設計包括對程序設計語言的選擇、應該遵循的原則、程序設計風格和程序複雜度的測量。
                

        總結:

      軟件設計和編碼階段是軟件工程的核心部分,軟件設計分爲概要設計和詳細設計,這就好像黑盒測試和白盒測試的原理一樣。概要設計好像一個黑盒子,它是從一個整體來設計軟件的體系結構和模塊間的關係的;詳細設計類似於白盒,從內部詳細的設計每個模塊,確定實現模塊功能所需要的算法和數據結構。編碼是在詳細設計基礎上的進一步細化。
發佈了32 篇原創文章 · 獲贊 22 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章