【软件工程】--设计阶段
【前言】
? ?走過了前面的計劃階段和需求分析階段之后,我們來到了設計階段的學習,設計階段的學習是至關重要的,本階段是軟件工程的核心,成品的軟件的原型基本是在設計階段塑造的,這個階段要分兩步來完成,首先我們進行概要設計,然后再進行詳細設計。我覺得呢,和現在那些蓋高樓的應該是一個原理,先搭好整個鋼筋框架,然后再開始填磚瓦。
【概要設計階段】 ?
? ?軟件概要設計的基本任務在軟件需求分析階段,已經搞清楚了軟件“做什么”的問題,并把這些需求通過規格說明書描述了出來,這也是目標系統的邏輯模型。進入了設計階段,要把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型,即著手實現軟件的需求,并將設計的結果反映在“設計規格說明書”文檔中,所以軟件設計是一個把軟件需求轉換為軟件表示的過程。?
(一)還是老樣子,先來張導圖理理思路。熟悉一下流程。
(二)來看看設計的基礎,:
1.自頂向下,逐步細化;
2.軟件結構--將軟件結構分解,細化問題尋找方案。?
3.程序結構--樹狀,網狀。
4.結構圖--模塊的高內聚低耦合
5.模塊化--能夠把一個大而復雜的軟件系統劃分成易于理解的比較單純的模塊結構。?
6.抽象化--軟件系統進行模塊設計時,可以有不同的抽象層次。
7.信息屏蔽--如果不想讓壞事傳播開來,就應該把壞事隱藏起來,“家丑不可外揚”就是這個道理。為了盡量避免某個模塊的行為去干擾同一系統中的其它模塊,在設計模塊時就要注意信息隱藏。應該讓模塊僅僅公開必須要讓外界知道的內容,而隱藏其它一切內容。
(三)概要設計的基本任務
? ?設計軟件系統結構(簡稱軟件結構)為了實現目標系統,最終必須設計出組成這個系統的所有程序和數據庫(文件),對于程序,則首先進行結構設計,具體為:
(1)采用某種設計方法,將一個復雜的系統按功能劃分成模塊。
(2)確定每個模塊的功能。
(3)確定模塊之間的調用關系。
(4)確定模塊之間的接口,即模塊之間傳遞的信息。
(5)評價模塊結構的質量。
(四)編寫概要設計的文檔主要有:
(1)概要設計說明書。
(2)數據庫設計說明書,主要給出所使用的DBMS簡介、數據庫的概念模型、邏輯設計、結果。
(3)用戶手冊,對需求分析階段編寫的用戶手冊進行補充。
(4)修訂測試計劃,對測試策略、方法、步驟提出明確要求。
--------------------------------------------------------------------------------------------------------------------------------
【詳細設計階段】
??詳細設計是軟件設計的第二階段,主要確定每個模塊具體執行過程,也稱“過程設計”,詳細設計的目標不僅是邏輯上正確地實現每個模塊的功能,并使設計出的處理過程清晰易讀。大概就是,在編程序之前,對算法的邏輯關系進行分析,然后設計出全部必要的過程細節,并給予清晰地表達。
? 嗯哼~~ 再來一張圖,熟悉一下詳細設計的任務。
(一)詳細設計的基本任務:
(1)為每個模塊進行詳細的算法設計。用某種圖形、表格、語言等工具將每個模塊處理過程的詳細算法描述出來。
(2)為模塊內的數據結構進行設計。對于需求分析、概要設計確定的概念性的數據類型進行確切的定義。
(3)對數據結構進行物理設計,即確定數據庫的物理結構。物理結構主要指數據庫的存儲記錄格式、存儲記錄安排和存儲方法,這些都依賴于具體所使用的數據庫系統。
(4)其他設計:根據軟件系統的類型,還可能要進行以下設計: ①代碼設計。為了提高數據的輸入、分類、存儲、檢索等操作,節約內存空間,對數據庫中的某些數據項的值要進行代碼設計。②輸入/輸出格式設計。
③人機對話設計。對于一個實時系統,用戶與計算機頻繁對話,因此要進行對話方式、內容、格式的具體設計。
(5)編寫詳細設計說明書。
(6)評審。對處理過程的算法和數據庫的物理結構都要評審。
(二)詳細描述處理過程常用三種工具:
? 圖形、表格和語言。
(1)程序流程圖 程序流程圖又稱為程序框圖,它是使用最廣泛的一種描述程序邏輯結構的工具。
(2)PAD圖 PAD圖指問題分析圖(Problem Analysis Diagram),是日本日立公司于1979年提出的一種算法描述工具,它是一種由左往右展開的二維樹型結構。
(3)過程設計語言
? 過程設計語言(Problem Design Language,簡稱PDL),也稱程序描述語言(Problem Descripition Language),又稱為偽碼。它是一種用于描述算法設計和處理細節的語言。
? 用PDL表示的程序結構一般有以下幾種:
①順序結構?②選擇結構?③重復結構?④出口結構
(三)設計的后處理:
1.寫處理說明
2.提供接口說明
3.確定全局數據結構和局部數據結構
4.指出所有的設計約束和限制
5.進行評審
【總結】
? 軟件設計階段中還有一個重要的地方一定要弄清楚,模塊部分。由于篇幅原因,關于模塊的總結呢,欲知后事如何,且聽下回分解。
? 感謝您的閱讀,未完待續~~
總結
以上是生活随笔為你收集整理的【软件工程】--设计阶段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [CSCCTF 2019 Qual]Fl
- 下一篇: 方案设计阶段目标成本形成过程