結構化設計方法

(2)概要設計的基本任務。 (3)結構化設計的目的與任務。 軟體結構概要設計階段的工具。

概述

結構化設計方法給出一組幫助設計人員在模組層次上區分設計質量的原理與技術。它把系統作為一系列數據流的轉換,輸入數據被轉換為期望的輸出值,通過模組化來完成自定而下實現的文檔化,並作為一種評價標準在軟體設計中起指導性作用,通常與結構化分析方法銜接起來使用,以數據流圖為基礎得到軟體的模組結構。結構化設計所使用的工具有結構圖和偽代碼。結構圖是一種通過使用矩形框和連線線來表示系統中的不同模組以及其活動和子活動的工具。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)也稱結構化的英語或偽碼語言,它是一種混合語言,採用英語的辭彙和結構化程式設計語言的語法,它描述處理過程怎么做,類似程式語言。

相關詞條

相關搜尋

熱門詞條

聯絡我們