日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

结构化设计方法

發(fā)布時間:2024/3/24 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 结构化设计方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、軟件設(shè)計的基本概念
1. 軟件設(shè)計的基礎(chǔ)
??? 軟件設(shè)計是軟件工程的重要階段,是一個把軟件需求轉(zhuǎn)換為軟件表示的過程。
軟件設(shè)計的重要性和地位概括以下幾點:
(1)軟件開發(fā)階段(設(shè)計、編碼、測試)占據(jù)軟件項目開發(fā)總成本絕大部分,是在軟件開發(fā)中形成持量的關(guān)鍵環(huán)節(jié)。
(2)軟件設(shè)計是開發(fā)階段最重要的步驟,是將需求準確地轉(zhuǎn)化為完整的軟件產(chǎn)品的唯一途徑。
(3)軟件設(shè)計作出的決策最終影響軟件實現(xiàn)的成敗。
(4)設(shè)計是軟件工程和軟件維護的基礎(chǔ)

2. 軟件設(shè)計的基本原理
??? 軟件設(shè)計遵循軟件工程的基本目標和原則,建立了適用于在軟件設(shè)計中應(yīng)該遵循的基本原理和與軟件設(shè)計有關(guān)的概念。
?(1)抽象:把事物本質(zhì)分析出來而不考慮其他細節(jié)。
(2)模塊化:把一個待開發(fā)的軟件分解成若干小的簡單的部分。
(3)信息隱蔽:在一個模塊包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說是不能訪問的。
(4)模塊獨立性:每個模塊只能完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。衡量軟件的模塊獨立性是用耦合性和內(nèi)聚性作為度量標準。
●內(nèi)聚性:一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。內(nèi)聚性按由弱到強有下面幾種:偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚、功能內(nèi)聚。
●耦合性:模塊間相互結(jié)合的緊密程度的度量。耦合度由高到低排列有下面幾種:內(nèi)容耦合、公共耦合、外部耦合、控制耦合、標記耦合、數(shù)據(jù)耦合、非直接耦合。

3.?結(jié)構(gòu)化設(shè)計方法
????結(jié)構(gòu)化設(shè)計就是采用最佳的可能方法設(shè)計系統(tǒng)的各個組成部分以及各萬分之間的內(nèi)部聯(lián)系的技術(shù)。

二、概要設(shè)計
1. 概要設(shè)計的任務(wù)
概要設(shè)計的基本任務(wù)是:
(1)設(shè)計軟件系統(tǒng)結(jié)構(gòu)
在概要設(shè)計階段,需要進一步分解,劃分為模塊以及模塊的層次結(jié)構(gòu),劃分的具體過程是:
l????????采用某種設(shè)計方法,將一個復(fù)雜的系統(tǒng)按功能劃分成模塊
l????????確定每個模塊的功能
l????????確定模塊之間的調(diào)用關(guān)系
l????????確定模塊之間的接口,即模塊之間傳遞的信息
l????????評價模塊結(jié)構(gòu)的質(zhì)量
(2)數(shù)據(jù)庫結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計
????????? 數(shù)據(jù)設(shè)計是實現(xiàn)需求定義和規(guī)格說明過程中提出的數(shù)據(jù)對象的邏輯表示。數(shù)據(jù)設(shè)計的具體任務(wù)是:確定輸入、輸出文件的詳細數(shù)據(jù)結(jié)構(gòu);結(jié)合算法設(shè)計,確定算法的邏輯數(shù)據(jù)結(jié)構(gòu)及其操作;確定對邏輯結(jié)構(gòu)所必須的那些操作的程序模塊,限制和確定各個數(shù)據(jù)設(shè)計決策的影響范圍;需要與操作系統(tǒng)或調(diào)度程序接口所必須的控制表進行數(shù)據(jù)交換時,確定其詳細的數(shù)據(jù)結(jié)構(gòu)和使用規(guī)則;數(shù)據(jù)的保護性設(shè)計;防衛(wèi)性、一致性、冗余性設(shè)計。
數(shù)據(jù)設(shè)計中應(yīng)該注意掌握以下設(shè)計原則:
l?????用于功能和行為的系統(tǒng)分析原則也應(yīng)用于數(shù)據(jù)
l?????應(yīng)該標識所有的數(shù)據(jù)結(jié)構(gòu)以及其上的操作
l?????應(yīng)當(dāng)建立數(shù)據(jù)詞典,并用于數(shù)據(jù)設(shè)計和程序設(shè)計
l?????低層的設(shè)計決策應(yīng)該推遲到設(shè)計過程的后期
l?????只有那些需要直接使用數(shù)據(jù)結(jié)構(gòu)、內(nèi)部數(shù)據(jù)的模塊才能看到數(shù)據(jù)的表示
l?????應(yīng)該開發(fā)一個由有用的數(shù)據(jù)結(jié)構(gòu)和應(yīng)用于其上的操作組成的庫
l?????軟件設(shè)計和程序設(shè)計語言應(yīng)該支持抽象數(shù)據(jù)類型的規(guī)格說明和實現(xiàn)
(3)編寫設(shè)計文檔。在概要設(shè)計階段,需要編寫的文檔有,概要設(shè)計說明書、數(shù)據(jù)庫設(shè)計說明書、集成測試計劃等。
(4)概要設(shè)計文檔評審。在概要設(shè)計中,對設(shè)計部分是否完整地實現(xiàn)了需求中規(guī)定的功能、性能等要求,設(shè)計方案的可行性,關(guān)鍵的處理及內(nèi)部接口定義正確性、有效性,各部分的一致性等要進行評審,以免在以后的設(shè)計中出現(xiàn)現(xiàn)在的問題而返工。
常用的軟件結(jié)構(gòu)設(shè)計工具是結(jié)構(gòu)圖(SC),結(jié)構(gòu)圖是描述軟件結(jié)構(gòu)的圖形工具。
基本圖符如:

2. 面向數(shù)據(jù)流的設(shè)計方法
???? 在需求分析階段,主要是分析信息在系統(tǒng)中加和流動的情況。面向數(shù)據(jù)流的設(shè)計方法定義了一些不同的映射方法,利用這些映射方法可以把數(shù)據(jù)流變換成結(jié)構(gòu)圖表示的軟件結(jié)構(gòu)。
(1)數(shù)據(jù)流類型
數(shù)據(jù)流分為變換型和事務(wù)型:
●變換型。變換型是指信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。變換型數(shù)據(jù)處理問題的工作過程可分為三步,即取得數(shù)據(jù)、變換數(shù)據(jù)和輸出數(shù)據(jù)。
見下圖(變換型數(shù)據(jù)流結(jié)構(gòu)圖):

●事務(wù)型。在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個或多個處理,這些處理能夠完成作業(yè)要求的功能,這種數(shù)據(jù)流叫作事務(wù)。事務(wù)型數(shù)據(jù)流的特點是接受一項事務(wù),根據(jù)事務(wù)處理的特點和性質(zhì),選擇分派一個適當(dāng)?shù)奶幚韱卧?#xff08;事務(wù)處理中心),然后給出結(jié)果。
見右圖(事務(wù)型數(shù)據(jù)流結(jié)構(gòu)圖):
(2)面向數(shù)據(jù)流設(shè)計方法的實施要點與設(shè)計過程
面向數(shù)據(jù)流的結(jié)構(gòu)設(shè)計過程和步驟:
第一步,分析、確認數(shù)據(jù)流圖的類型,區(qū)分是事務(wù)型還是變換型。
第二步,說明數(shù)據(jù)流的邊界。
第三步,把數(shù)據(jù)流圖映射為程序結(jié)構(gòu)。
第四步,根據(jù)設(shè)計準則對產(chǎn)生的結(jié)構(gòu)進行細化和求精。
3. 設(shè)計的準則
設(shè)計準則如下:
(1)提高模塊獨立性
(2)模塊規(guī)模適中
(3)深度、寬度、扇出和扇入適當(dāng)
(4)使模塊的作用域在該模塊的控制域內(nèi)
(5)應(yīng)減少模塊的接口和界面的復(fù)雜性
(6)設(shè)計成單入口、單出口的模塊
(7)設(shè)計功能可預(yù)測的模塊

三、詳細設(shè)計
??????? 詳細設(shè)計的任務(wù),是為軟件結(jié)構(gòu)圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié)。
常見的過程設(shè)計工具有:
圖形工具:程序流程圖(一般流程圖),N-S, PAD,HIPO
表格工具:判定表
語言工具:PDL(偽碼)
1、程序流程圖
????? 程序流程圖是一種傳統(tǒng)的、應(yīng)用廣泛的軟件過程設(shè)計表示,通常也稱程序框圖。
構(gòu)成程序流程圖的最基本圖符有:

按照結(jié)構(gòu)化程序設(shè)計要求,程序流程圖構(gòu)成的任何程序可用5種控制結(jié)構(gòu)來描述,分別是:
(1)順序型:幾個連續(xù)的加工步驟依次排列構(gòu)成。
(2)選擇型:由某個邏輯判斷式的取值決定選擇兩個加工中的一個。
(3)先判定型循環(huán):先判斷循環(huán)控制條件是否成立,成立則執(zhí)行循環(huán)體語句。
(4)后判定型循環(huán):重復(fù)執(zhí)行某些特定的加工,直到控制條件成立。
(5)多分支選擇型:列舉多種加工情況,根據(jù)控制變量的取值,選擇執(zhí)行其中之一。

2、N-S圖(又叫做盒圖)

N-S輸送有以下特征:
●每個構(gòu)件具有明確的功能域
●控制轉(zhuǎn)移必須遵守結(jié)構(gòu)化要求
●易于確定局部數(shù)據(jù)和全局數(shù)據(jù)的作用域
●易于表達嵌套關(guān)系和模塊的層次結(jié)構(gòu)
3、問題分析圖(PAD圖)

PAD圖有以下特征:
●結(jié)構(gòu)清晰,結(jié)構(gòu)化程度高
●易于閱讀
●最左端的縱線是程序的主干線,每增加一層PAD圖向右擴展一條縱線,程序的縱線是程序?qū)哟螖?shù)
●程序執(zhí)行,從PAD圖最左主干線端結(jié)點開始、自上而下、自左向右依次執(zhí)行,程序終止于最左主干線。

總結(jié)

以上是生活随笔為你收集整理的结构化设计方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。