【软件工程】 软件设计阶段
【前言】
在經歷過計劃階段和需求分析的階段接下來就到了軟件設計的階段,他是軟件工程中非常重要的階段,它主要是分兩步來完成,一個是概要設計,一個是詳細設計!
一、概要設計階段
1、解析
概要設計主要是完成,系統的結構設計,進入了設計階段,要把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型,即著手實現軟件的需求,并將設計的結果反映在“設計規格說明書”文檔中,所以軟件設計是一個把軟件需求轉換為軟件表示的過程。
2、軟件設計的基礎:
1.自頂向下,逐步細化;
2.軟件結構 ——-將軟件結構分解,為的是解決復雜性。
3.程序結構——–樹狀結構(層次結構),網狀結構。
4.結構圖———-解決了模塊的層次關系和調用關系()
5.模塊化———-能夠把一個大而復雜的軟件系統劃分成易于理解的比較單純的模塊結構。 (高內聚,低耦合)
6.抽象化———-考慮最本質的因素(功能)
7.信息屏蔽——–屏蔽重要的信息
3、模塊的內聚和耦合
模塊具有三個基本的屬性,功能、邏輯、狀態!功能指的是模塊實現的功能是什么,邏輯就是描述模塊內部應該怎么做,狀態就是該模塊使用時候的環境和條件。
耦合(塊間聯系)
耦合指的是模塊間的聯系的強度,耦合性越強,模塊間的聯系越強
內容耦合——– 一個模塊直接訪問另一模塊的內容,則稱這兩個模塊為內容耦合。
若在程序中出現下列情況之一,則說明兩個模塊之間發生了內容耦合: 一個模塊直接訪問另一個模塊的內部數據。
一個模塊不通過正常入口而直接轉入到另一個模塊的內部。 兩個模塊有一部分代碼重疊(該部分代碼具有一定的獨立功能)。 一個模塊有多個入口。
內容耦合可能在匯編語言中出現。大多數高級語言都已設計成不允許出現內容耦合。這種耦合的耦合性最強,模塊獨立性最弱。
公共耦合——— 一組模塊都訪問同一個全局數據結構。
外部耦合——— 一組模塊都訪問同一全局簡單變量,而且不通過參數表傳遞該全局變量的信息,則稱之為外部耦合。
控制耦合———模塊之間傳遞的不是數據信息,而是控制信息例如標志、開關量等,一個模塊控制了另一個模塊的功能。
標記耦合———調用模塊和被調用模塊之間傳遞數據結構而不是簡單數據,同時也稱作特征耦合。表就和的模塊間傳遞的不是簡單變量,而是像高級語言中的數據名、記錄名和文件名等數據結果,這些名字即為標記,其實傳遞的是地址。
數據耦合———調用模塊和被調用模塊之間只傳遞簡單的數據項參數。相當于高級語言中的值傳遞。
非直接耦合———兩個模塊之系,它們之間的聯系完全是通過主模塊的控制和調用來實現的。耦合度最弱,模塊獨立性最強。
內聚(塊內聯系)
內聚指的是同一個模塊之間的聯系程度,理想模塊都是高內聚的!
功能內聚——模塊內所有元素的各個組成部分全部都為完成同一個功能而存在,共同完成一個單一的功能,模塊已 不可再分。即模塊僅包括為完成某個功能所必須的所有成分,這些成分緊密聯系、缺一不可。
信息內聚——按照順序執行(一個模塊有一個任務)
通信內聚——具有公共的數據
過程內聚——順序執行(一個模塊中有多個任務,上一個步驟執行完,下一個執行)
時間內聚——同一時間完成任務,同一時間執行
邏輯內聚——將幾種相關的功能結合在一起
巧合內聚——模塊內部各部分之間沒有什么聯系
綜上由上邊的兩幅圖可知,模塊的獨立性強的表現為就是高內聚,低耦合。
4、概要設計的基本任務
(1)成本效益分析,系統的進度計劃
(2)確定模塊結構,劃分功能模塊,
(3)編寫文檔
5、產生的文檔
概要設計說明書
用戶手冊
測試計劃
數據描述
二、詳細設計
詳細設計主要是完成數據設計(描述定義)和過程設計(代碼的依據),根據概要設計提供的文檔,確定每一個模塊的算法,內部的數據組織!
詳細設計的基本任務:
(1)為每個模塊進行詳細的算法設計。
(2)為模塊內的數據結構進行設計。
(3)對數據結構進行物理設計,即確定數據庫的物理結構。物理結構主要指數據庫的存儲記錄格式、存儲記錄安排和存儲方法,這些都依賴于具體所使用的數據庫系統。
(4)估算存取時間和存儲容量
(5)編寫詳細設計說明書。
(6)評審。對處理過程的算法和數據庫的物理結構都要評審。
詳細設計用到的工具
1、數據流程圖
2、n-s圖(盒圖)
控制關系隱含,循環的次數隱含,它看不到控制流
3、pad圖(問題分析圖)便于記憶,容易轉換成高級語言(自頂向下)
4、判定表(靜態邏輯)
后記:
軟工視頻已經完成很長時間了,現在才總結,都是拖拉造成的,趁著假期,很快都會補上的!
總結
以上是生活随笔為你收集整理的【软件工程】 软件设计阶段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [CSCCTF 2019 Qual]Fl
- 下一篇: 在线图片批量压缩工具