複製鏈接
請複製以下鏈接發送給好友

結構化設計方法

鎖定
結構化設計方法給出一組幫助設計人員在模塊層次上區分設計質量的原理與技術。它把系統作為一系列數據流的轉換,輸入數據被轉換為期望的輸出值,通過模塊化來完成自頂而下實現的文檔化,並作為一種評價標準在軟件設計中起指導性作用,通常與結構化分析方法銜接起來使用,以數據流圖為基礎得到軟件的模塊結構。
中文名
結構化設計方法
軟件需求
解決“做什麼”
軟件設計
解決“怎麼做”
領    域
設計

結構化設計方法軟件介紹

結構化設計所使用的工具有結構圖和偽代碼。結構圖是一種通過使用矩形框和連接線來表示系統中的不同模塊以及其活動和子活動的工具。SD方法尤其適用於變換型結構和事務型結構的目標系統。結構化設計是數據模型和過程模型的結合。在設計過程中,它從整個程序的結構出發,利用模塊結構圖表述程序模塊之間的關係。結構化設計的步驟如下:①評審和細化數據流圖;②確定數據流圖的類型;③把數據流圖映射到軟件模塊結構,設計出模塊結構的上層;④基於數據流圖逐步分解高層模塊,設計中下層模塊;⑤對模塊結構進行優化,得到更為合理的軟件結構;⑥描述模塊接口。
結構化設計方法的設計原則
使每個模塊執行一個功能(堅持功能性內聚)
每個模塊用過程語句(或函數方式等)調用其他模塊
模塊間傳送的參數作數據用
模塊間共用的信息(如參數等)儘量少

結構化設計方法軟件設計

軟件需求:解決“做什麼”。
◆ 軟件設計:解決“怎麼做”。
◆ 軟件設計的任務:從軟件需求規格説明書出發,形成軟件的具體設計方案。(根據需求分析階段確定的功能確定模塊及每個模塊算法和編寫具體的代碼)
1、軟件設計內容
(1)軟件設計定義
軟件設計是把軟件需求(定義階段)轉換為軟件的具體設計方案,即劃分模塊結構的過程,是軟件開發階段最重要的步驟。
(2)軟件設計劃分
劃分
名稱
按工程管理角度
概要設計
詳細設計
-
按技術觀點劃分
結構設計
數據設計
-
接口設計
-
過程設計
-
一般過程:是一個迭代過程,先進行高層次結構設計;再進行低層次過程設計;穿插數據設計和接口設計。
(3)軟件設計過程
2、軟件設計原則
為了開發出高質量低成本的軟件,在軟件開發過程中必須遵循下列軟件工程原則:
(1)抽象(abstraction)
抽取事物最基本的特性和行為,忽略非基本的細節。採用分層次抽象的辦法可以控制軟件開發過程的複雜性,有利於軟件的可理解性和開發過程的管理。
(2)信息隱藏(informationhiding)
信息隱蔽:採用封裝技術,將程序模塊的實現細節(過程或數據)隱藏起來,對於不需要這些信息的其它模塊來説是不能訪問的,使模塊接口儘量簡單。
按照信息隱藏的原則,系統中的模塊應設計成“黑箱”,模塊外部只能使用模塊接口説明中給出的信息,如操作、數據類型等等。
(3)模塊化(modularity)
使程序有許多個邏輯上相對獨立的模塊組成。模塊(module)是程序中邏輯上相對獨立的單元;模塊的大小要適中;高內聚、低耦合。
(4)一致性(consistency)
整個軟件系統(包括文檔和程序)的各個模塊均應使用一致的概念、符號和術語;程序內部接口應保持一致;軟件與硬件接口應保持一致;系統規格説明與系統行為應保持一致;實現一致性需要良好的軟件設計工具(如數據字典、數據庫、文檔自動生成與一致性檢查工具等等)、設計方法和編碼風格的支持。

結構化設計方法設計方法

1、軟件設計的方法
開發階段設計軟件時所使用的方法。注意區別:結構化分析方法是定義階段需求分析過程中所使用的方法。
2、軟件設計的方法的種類
結構化設計方法、面向對象的設計方法。
3、結構化設計方法(SD-- Structured Design)
結構化設計方法是基於模塊化、自頂向下細化、結構化程序設計等程序設計技術基礎發展起來的。
基本思想:將軟件設計成由相對獨立且具有單一功能的模塊組成的結構,分為概要設計和詳細設計兩個階段。
◆ 結構化設計過程的概要設計階段的描述工具是:結構圖(SC- Structure Chart )。
(1)概要設計也稱為結構設計或總體設計,主要任務是把系統的功能需求分配給軟件結構,形成軟件的模塊結構圖。
(2)概要設計的基本任務。設計軟件系統結構:劃分功能模塊,確定模塊間調用關係;數據結構及數據庫設計:實現需求定義和規格説明過程中提出的數據對象的邏輯表示;編寫概要設計文檔: 包括概要設計説明書、數據庫設計説明書,集成測試計劃等;概要設計文檔評審:對設計方案是否完整實現需求分析中規定的功能、性能的要求,設計方案的可行性等進行評審。
(3)結構化設計的目的與任務。結構化設計的目的:使程序的結構儘可能反映要解決的問題的結構。結構化設計的任務:把需求分析得到的數據流圖DFD等變換為系統結構圖(SC)。
4、概要設計工具——結構圖(SC: Structure Chart )
(1)作用
軟件結構概要設計階段的工具。反映系統的功能實現以及模塊與模塊之間的聯繫與通信,即反映了系統的總體結構。
◆ 注意:數據流DFD是軟件生命週期的定義階段中的需求分析方法中結構化分析方法的一種,此外還有數據字典(DD)、判定樹和判定表,而SC是開發階段中概要設計使用的方法。
(2)結構圖基本組成成分:模塊、調用和控制
(3)結構圖基本圖符
(4)結構圖的基本術語
◆ 深度:模塊結構的層次數(控制的層數)。
◆ 寬度:同一層模塊的最大模塊數。
扇出:一個模塊直接調用的其他模塊數目。
扇入:調用一個給定模塊的模塊個數。(被調用的次數)
好的軟件結構應該是頂層扇出比較多,中層扇出較少,底層扇入多。
5、概要設計任務的實現--數據流圖到結構圖的變換
在軟件工程的需求分析階段,信息流是一個關鍵考慮,通常用數據流圖描繪信息在系統中加工和流動的情況,面向數據流的設計方法把信息流映射成軟件結構,信息流的類型決定了映射的方法。典型的信息流類型:變換型和事務型。
(1)典型的信息流類型:變換型和事務型
① 變換型
信息沿輸入通路進入系統,同時由外部形式變換成內部形式,進入系統的信息通過變換中心,經加工處理以後再沿輸出通路變換成外部形式離開軟件系統,當數據流具有這些特徵時,這種信息流就叫變換流。
② 事務型
數據沿輸入通路到達一個處理T,這個處理根據輸入數據的類型在若干個動作序列中選出一個來執行,當數據流圖具有這些特徵時,這種信息流稱為事務流。它被用於識別一個系統的事務類型並把這些事務類型用作為設計的組成部分。分析事務流是設計事務處理程序的一種策略,採用這種策略通常有一個在上層事務中心,其下將有多個事務模塊,每個模塊只負責一個事務類型,轉換分析將會分別設計每個事務。
6、詳細設計及工具
(1)詳細設計的目的
為軟件結構圖(SC)中的每 一個模塊確定採用的算法,模塊內數據結構,用某種選定的表達工具(如N-S圖等)給出清晰的描述。
(2)詳細設計的設計工具種類
◆ 圖形工具:程序流程圖(PFD)、N-S圖,問題分析圖(PAD圖)。
◆ 表格工具:類似於判定表。
◆ 語言工具:過程設計語言(PDL)。
程序流程圖(PFD: Program Flow Diagram)
◆ 流程圖:是用一些圖框表示各種操作,直觀形象,易於理解。
◆ 特點:直觀、清晰、易於掌握。
② 盒圖(N-S圖)
為避免流程圖在描述程序邏輯時的隨意性與靈活性,1973提出用方框代替傳統的程序流程圖,通常也把這種圖稱為N-S圖,有5種的控制結構。
◆ 盒圖具有以下特點:過程的作用域明確;盒圖沒有箭頭,不能隨意轉移控制;容易表示嵌套關係和層次關係;強烈的結構化特徵。
③問題分析圖(PAD:Problem Analysis Diagram)
是繼流程圖和方框圖之後,又一種描述詳細設計的工具,有5種結構。
④ 過程設計語言(PDL)
過程設計語言(PDL)也稱結構化的英語或偽碼語言,它是一種混合語言,採用英語的詞彙和結構化程序設計語言的語法,它描述處理過程怎麼做,類似編程語言。