軟件工程第07章_第1頁(yè)
軟件工程第07章_第2頁(yè)
軟件工程第07章_第3頁(yè)
軟件工程第07章_第4頁(yè)
軟件工程第07章_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第7章 軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)階段的工作是以需求分析階段的成果為前提和基礎(chǔ)的,即經(jīng)過系統(tǒng)分析小組簽字認(rèn)可的需求規(guī)格說明書及有關(guān)技術(shù)文檔。經(jīng)過軟件工程師們多年的努力,一些軟件設(shè)計(jì)技術(shù)、質(zhì)量評(píng)估標(biāo)準(zhǔn)和設(shè)計(jì)表示法逐步形成并用于軟件工程實(shí)踐。軟件設(shè)計(jì)是軟件工程的重要階段。軟件設(shè)計(jì)過程是對(duì)程序結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)和過程細(xì)節(jié)逐步求精、復(fù)審并編制文檔的過程,本章討論與軟件設(shè)計(jì)有關(guān)的主要概念。7.1軟軟件件設(shè)計(jì)基基本概念念7.1..1軟件設(shè)計(jì)計(jì)過程一般認(rèn)為為,軟件件開發(fā)階階段由設(shè)設(shè)計(jì)、編編碼和測(cè)測(cè)試三個(gè)個(gè)基本活活動(dòng)組成成,其中中“設(shè)計(jì)計(jì)”活動(dòng)動(dòng)是獲取取高質(zhì)量量、低耗耗費(fèi)、易易維護(hù)軟軟件的一一個(gè)最重重要環(huán)節(jié)節(jié)。需求分析析階段獲獲得的需需求規(guī)格格說明書書包括對(duì)對(duì)將要實(shí)實(shí)現(xiàn)的系系統(tǒng)在信信息、功功能和行行為等各各個(gè)方面面的描述述,這是是軟件設(shè)設(shè)計(jì)的基基礎(chǔ)。對(duì)對(duì)此不論論采用何何種軟件件設(shè)計(jì)方方法都將將產(chǎn)生:系統(tǒng)的總總體結(jié)構(gòu)構(gòu)設(shè)計(jì)((architecturaldesign);系統(tǒng)的數(shù)數(shù)據(jù)設(shè)計(jì)計(jì)(datadesign);系統(tǒng)的過過程設(shè)計(jì)計(jì)(proceduraldesign)。7.1..1軟件設(shè)計(jì)計(jì)過程圖8-1--1開發(fā)階段段的信息息流程序模塊總體結(jié)構(gòu)構(gòu)設(shè)計(jì)設(shè)計(jì)編碼信息描述述功能描述述行為描述述其他需求求過程設(shè)計(jì)計(jì)數(shù)據(jù)設(shè)計(jì)計(jì)集成并確確認(rèn)的軟軟件測(cè)試7.1..1軟件設(shè)計(jì)計(jì)過程軟件設(shè)計(jì)計(jì)也可看看作將需需求規(guī)格格說明逐逐步轉(zhuǎn)換換為軟件件源代碼碼的過程程。從工程管管理的角角度軟件件設(shè)計(jì)可可分為概概要(preliminary)設(shè)計(jì)和詳詳細(xì)(detail)設(shè)計(jì)兩大大步驟。。概要設(shè)計(jì)計(jì)是根據(jù)據(jù)需求確確定軟件件和數(shù)據(jù)據(jù)的總體體框架,,詳細(xì)設(shè)設(shè)計(jì)是將將其進(jìn)一一步精化化成軟件件的算法法表示和和數(shù)據(jù)結(jié)結(jié)構(gòu)。而在技術(shù)術(shù)上,概概要設(shè)計(jì)計(jì)和詳細(xì)細(xì)設(shè)計(jì)又又由若干干活動(dòng)組組成,除除總體結(jié)結(jié)構(gòu)設(shè)計(jì)計(jì)、數(shù)據(jù)據(jù)結(jié)構(gòu)設(shè)設(shè)計(jì)和過過程設(shè)計(jì)計(jì)外,許許多現(xiàn)代代應(yīng)用軟軟件,還還包括一一個(gè)獨(dú)立立的界面面設(shè)計(jì)活活動(dòng)。7.1..2抽象與逐逐步求精精抽象是控控制復(fù)雜雜性的基基本策略略?!俺槌橄蟆币笕巳藗儗⒆⒆⒁饬性谀衬骋粚哟未紊峡紤]慮問題,,而忽略略那些低低層次的的細(xì)節(jié)。。軟件設(shè)計(jì)計(jì)過程應(yīng)應(yīng)當(dāng)是在在不同抽抽象級(jí)別別上考慮慮和處理理問題的的過程。。最初,,應(yīng)在最最高抽象象級(jí)別上上,用面面向問題題域的語(yǔ)語(yǔ)言敘述述“問題題”,概概括“問問題解””的形式式,而后后不斷地地具體化化,不斷斷地用面面向過程程的語(yǔ)言言描述問問題,最最后,在在最低的的抽象級(jí)級(jí)別上給給出可直直接實(shí)現(xiàn)現(xiàn)的“問問題解””,即程程序。7.1..2抽象與逐逐步求精精軟件工程程過程的的每一步步都是對(duì)對(duì)較高一一級(jí)抽象象的解作作一次進(jìn)進(jìn)一步具具體化的的描述。。在系統(tǒng)定定義階段段,軟件件系統(tǒng)被被描述為為基于計(jì)計(jì)算機(jī)的的大系統(tǒng)統(tǒng)的一個(gè)個(gè)組成部部分;在軟件規(guī)規(guī)劃和需需求分析析階段,,軟件用用問題域域約定的的習(xí)慣用用語(yǔ)表達(dá)達(dá);從概要設(shè)設(shè)計(jì)過渡渡到詳細(xì)細(xì)設(shè)計(jì)時(shí)時(shí),抽象象級(jí)再一一次降低低;編碼完成成后達(dá)到到了抽象象的最低低級(jí)。在上述由由高級(jí)抽抽象到低低級(jí)抽象象的轉(zhuǎn)換換過程中中,伴隨隨著一連連串的過過程抽象象和數(shù)據(jù)據(jù)抽象。。過程抽象象把完成成一個(gè)特特定功能能的動(dòng)作作序列抽抽象為一一個(gè)過程程名和參參數(shù)表;;數(shù)據(jù)抽象象把一個(gè)個(gè)數(shù)據(jù)對(duì)對(duì)象的定定義(或或描述))抽象為為一個(gè)數(shù)數(shù)據(jù)類型型名?!纠?.1】】考慮適用用于低級(jí)級(jí)CAD的圖形軟軟件包。。抽象Ⅰ該CAD軟件系統(tǒng)統(tǒng)配有能能與繪圖圖員進(jìn)行行可視化化通信的的圖形界界面,能能用鼠標(biāo)標(biāo)代替繪繪圖工具具,畫各各種直線線和曲線線;能完完成所有有幾何計(jì)計(jì)算以及及所有截截面視圖圖和輔助助視圖的的設(shè)計(jì)。。圖形設(shè)設(shè)計(jì)的結(jié)結(jié)果存在在圖形文文件中,,圖形文文件可包包含幾何何的、正正文的和和其他各各種補(bǔ)充充設(shè)計(jì)信信息。顯而易見見,在這這一抽象象級(jí)別上上,用問問題域本本身的術(shù)術(shù)語(yǔ)來描描述問題題的解。?!纠?.1】】考慮適用用于低級(jí)級(jí)CAD的圖形軟軟件包。。抽象ⅡCAD軟件任務(wù)務(wù);用戶界面面子任務(wù)務(wù);創(chuàng)建二維維圖形子子任務(wù);;顯示圖形形子任務(wù)務(wù);管理圖形形文件子子任務(wù);;endCAD.在這一抽抽象級(jí)別別上,給給出了組組成CAD軟件任務(wù)務(wù)的所有有主要子子任務(wù),,盡管術(shù)術(shù)語(yǔ)已與與問題域域有所不不同,但但仍然不不是實(shí)現(xiàn)現(xiàn)所用的的語(yǔ)言。?!纠?.1】】考慮適用用于低級(jí)級(jí)CAD的圖形軟軟件包。。抽象Ⅲ(僅以““創(chuàng)建二二維圖形形子任務(wù)務(wù)”為例例)PROCEDURE創(chuàng)建二維維圖形REPEATUNTIL<<創(chuàng)建圖形形任務(wù)終終止>DOWHILE<<出現(xiàn)與數(shù)數(shù)字儀的的交互時(shí)時(shí)>數(shù)字儀接接口任務(wù)務(wù);判斷作圖圖請(qǐng)求::線:畫線線任務(wù);;圓:畫圓圓任務(wù);;┇END;【例7.1】】考慮適用用于低級(jí)級(jí)CAD的圖形軟軟件包。。DOWHILE<<出現(xiàn)與鍵鍵盤的交交互時(shí)>鍵盤接口口任務(wù);;選擇分析析或計(jì)算算:輔助視圖圖:輔助助視圖任任務(wù);截面視圖圖:截面面視圖任任務(wù);┇END;┇ENDREPEAT;ENDPROCEDURE.【例7.1】】考慮適用用于低級(jí)級(jí)CAD的圖形軟軟件包。。在這一抽抽象級(jí)別別上,給給出了初初步的過過程性表表示,此此時(shí)所有有術(shù)語(yǔ)都都是面向向軟件((比如采采用do?while結(jié)構(gòu))并并且模塊塊結(jié)構(gòu)也也開始明明朗。求求精過程程還可繼繼續(xù)下去去,直至至產(chǎn)生源源代碼。。數(shù)據(jù)抽象象數(shù)據(jù)抽象象與過程程抽象一一樣,能能使設(shè)計(jì)計(jì)者按不不同的詳詳細(xì)程度度表示數(shù)數(shù)據(jù)對(duì)象象。仍以CAD軟件為例例,我們們可定義義一個(gè)稱稱為drawing(圖)的數(shù)數(shù)據(jù)對(duì)象象:TYPEdrawingISSTRUCTUREDEFINEDnumberISSTRINGLENTH(12);geometryDEFINED…notesISSTRINGLENTH((256);bomDEFINED…ENDdrawingTYPE;數(shù)據(jù)抽象象在此,drawing被表示為為一種結(jié)結(jié)構(gòu),其其各個(gè)組組成部件件本身又又可為某某種數(shù)據(jù)據(jù)抽象,,比如geometry(幾何圖形形)和bom。一旦抽象象數(shù)據(jù)類類型drawing定義完畢畢,即可可用類型型名直接接說明數(shù)數(shù)據(jù)對(duì)象象,而不不必涉及及其內(nèi)部部構(gòu)造的的細(xì)節(jié),,例如,,可用語(yǔ)語(yǔ)句:blueprintISINSTANCEOFdrawing;或schematicISINSTANCEOFdrawing;說明blueprint和schematic具有drawing的一切特特性。blueprint———藍(lán)圖,schematic———簡(jiǎn)(略))圖。數(shù)據(jù)抽象象在抽象數(shù)數(shù)據(jù)類型型的定義義中可以以附加一一組操作作的定義義,用以以確定在在此類數(shù)數(shù)據(jù)對(duì)象象上可進(jìn)進(jìn)行的操操作。以以抽象數(shù)數(shù)據(jù)類型型drawing為例,可可以定義義擦除((erase)、存儲(chǔ)(save)、分類(catalog)和拷貝((copy)等操作。。許多程序序設(shè)計(jì)語(yǔ)語(yǔ)言都提提供了對(duì)對(duì)抽象數(shù)數(shù)據(jù)類型型的支持持,Ada的程序包包機(jī)制是是對(duì)數(shù)據(jù)據(jù)抽象和和過程抽抽象的雙雙重支持持逐步求精精關(guān)于“逐逐步求精精”,N.Wirth曾經(jīng)做過過如下說說明:“我們對(duì)對(duì)付復(fù)雜雜問題的的重要辦辦法是抽抽象,因因此,對(duì)對(duì)一個(gè)復(fù)復(fù)雜的問問題不應(yīng)應(yīng)該立即即用計(jì)算算機(jī)指令令、數(shù)字字和邏輯輯符號(hào)來來表示,,而應(yīng)該該用較自自然的抽抽象語(yǔ)言言來表示示,從而而得出抽抽象程序序。抽象象程序?qū)?duì)抽象的的數(shù)據(jù)進(jìn)進(jìn)行某些些特定的的運(yùn)算并并用某些些合適的的記號(hào)((可能是是自然語(yǔ)語(yǔ)言)來來表示。。對(duì)抽象象程序做做進(jìn)一步步分解,,進(jìn)入下下一個(gè)抽抽象層次次,重復(fù)復(fù)這一精精化過程程直到程程序能被被計(jì)算機(jī)機(jī)接受為為止。這這時(shí)的程程序可能能是用某某種高級(jí)級(jí)語(yǔ)言或或機(jī)器指指令書寫寫的?!薄边^程求精精與數(shù)據(jù)據(jù)求精因?yàn)榍缶拿恳灰徊蕉际鞘怯酶鼮闉樵敿?xì)的的描述替替代上一一層次的的抽象描描述,所所以在整整個(gè)設(shè)計(jì)計(jì)過程中中產(chǎn)生的的,具有有不同詳詳細(xì)程度度的各種種描述,,組成了了系統(tǒng)的的層次結(jié)結(jié)構(gòu)。層層次結(jié)構(gòu)構(gòu)的上一一層是下下一層的的抽象,,下一層層是上一一層的求求精。在過程求求精的同同時(shí)自然然伴隨著著數(shù)據(jù)的的求精,,無(wú)論是是過程還還是數(shù)據(jù)據(jù),每一一步細(xì)化化都蘊(yùn)涵涵著某些些設(shè)計(jì)決決策,因因此設(shè)計(jì)計(jì)人員必必須掌握握一些基基本的準(zhǔn)準(zhǔn)則,比比較各種種可能的的候選方方案。7.1..3模塊化與與信息隱隱藏軟件總體體結(jié)構(gòu)((下一節(jié)節(jié)討論))體現(xiàn)了了模塊化化思想,,即把軟軟件劃分分為可獨(dú)獨(dú)立命名名和編制制的部件件,每個(gè)個(gè)部件稱稱為一個(gè)個(gè)模塊,,當(dāng)把所所有模塊塊組裝到到一起時(shí)時(shí),便可可獲得滿滿足問題題需要的的一個(gè)解解。“模塊化化是唯一一對(duì)軟件件中的程程序進(jìn)行行智能化化管理的的一個(gè)屬屬性”。。7.1..3模塊化與與信息隱隱藏假設(shè):函數(shù)C(X)——問題X的復(fù)雜性性;函數(shù)E(X)——求解問題題X需要花費(fèi)費(fèi)的工作作量(時(shí)時(shí)間);;對(duì)于問題題P1和P2,如果::C(P1)>C(P2)則有:E(P1)>E(P2)結(jié)論:解解決一個(gè)個(gè)復(fù)雜問問題總比比解決一一個(gè)簡(jiǎn)單單問題耗耗費(fèi)更多的工工作量。。同時(shí)有有:C(P1+P2)>C(P1)+C(P2)結(jié)論:由由P1、P2組合而成成的問題題的復(fù)雜雜性往往往比考慮慮單個(gè)問題題復(fù)雜性性的和更更大。于是有::E(P1+P2)>E(P1)+E(P2)7.1..3模塊化與與信息隱隱藏圖8-1--2模塊與軟軟件耗費(fèi)費(fèi)最小成本本區(qū)域MO軟件總成成本用于接口口的成本本每個(gè)模塊塊成本之之和模塊總數(shù)數(shù)成本或工作量1.信息息隱蔽信息隱蔽蔽原理告告訴我們們,模塊塊應(yīng)該設(shè)設(shè)計(jì)得使使其所含含信息((過程和和數(shù)據(jù)))對(duì)于那那些不需需要這些些信息的的模塊不不可訪問問;每個(gè)個(gè)模塊只只完成一一個(gè)相對(duì)對(duì)獨(dú)立的的特定功功能;模模塊之間間僅僅交交換那些些為完成成系統(tǒng)功功能必須須交換的的信息,,即模塊塊應(yīng)該獨(dú)獨(dú)立。顯顯然,模模塊獨(dú)立立的概念念是模塊塊化、抽抽象、信信息隱蔽蔽和局部部化等諸諸多概念念的直接接結(jié)果。。信息隱蔽蔽原理的的好處它不僅支支持模塊塊的并行行開發(fā),,而且還還可減少少測(cè)試和和后期維維護(hù)的工工作量。。因?yàn)闇y(cè)測(cè)試和維維護(hù)階段段不可避避免地要要修改設(shè)設(shè)計(jì)和代代碼,模模塊對(duì)大大多數(shù)數(shù)數(shù)據(jù)和過過程處理理細(xì)節(jié)的的隱蔽可可以減少少錯(cuò)誤向向外傳播播。此外外,整個(gè)個(gè)系統(tǒng)欲欲擴(kuò)充功功能亦只只需“插插入”新新模塊,,原有的的多數(shù)模模塊無(wú)須須改動(dòng)。。2.內(nèi)聚聚度(cohesion)內(nèi)聚度是是前述信信息隱蔽蔽和局部部化概念念的自然然擴(kuò)展,,它標(biāo)志志一個(gè)模模塊內(nèi)部部各成分分彼此結(jié)結(jié)合的緊緊密程度度。內(nèi)聚度按按其高低低程度可可分為七七級(jí),內(nèi)內(nèi)聚度越越高越好好。1)偶然然性內(nèi)聚聚——低低級(jí)內(nèi)聚聚偶然性內(nèi)內(nèi)聚(coincidentalcohesion)。是指一個(gè)個(gè)模塊內(nèi)內(nèi)各成分分為完成成一組功功能而組組合在一一起,它它們相互互之間即即使有關(guān)關(guān)系,也也很松散散。常見見的偶然然性內(nèi)聚聚情形是是,當(dāng)程程序員寫寫完一個(gè)個(gè)程序后后發(fā)現(xiàn)有有一組語(yǔ)語(yǔ)句多處處出現(xiàn),,于是為為節(jié)省內(nèi)內(nèi)存便將將這組語(yǔ)語(yǔ)句單獨(dú)獨(dú)組成一一個(gè)模塊塊。XYZW2)邏輯輯性內(nèi)聚聚——低低級(jí)內(nèi)聚聚如果一個(gè)個(gè)模塊完完成的諸諸任務(wù)邏邏輯上相相關(guān),則則稱之為為邏輯性性內(nèi)聚((logicalcohesion)例如:一一個(gè)模塊塊產(chǎn)生所所有與類類型無(wú)關(guān)關(guān)的輸出出,即為為邏輯性性內(nèi)聚。。又如:模模塊X、Y分別調(diào)用用A、B,A、B相似,將將其合并并為模塊塊AB,模塊AB即為邏輯輯性內(nèi)聚聚。XYSABXYSAB3)時(shí)間間性內(nèi)聚聚——低低級(jí)內(nèi)聚聚如果一個(gè)個(gè)模塊包包含的諸諸任務(wù)必必須在同同一時(shí)間間段內(nèi)執(zhí)執(zhí)行(例例如一個(gè)個(gè)初始化化模塊)),則稱稱之為時(shí)時(shí)間性內(nèi)內(nèi)聚(temporalcohesion)。以上三種種內(nèi)聚形形式通常常認(rèn)為是是低級(jí)內(nèi)內(nèi)聚。4)過程程性內(nèi)聚聚——中中級(jí)內(nèi)聚聚過程性內(nèi)內(nèi)聚(proceduralcohesion)模塊的過過程性內(nèi)內(nèi)聚度是是指,模模塊內(nèi)成成分彼此此相關(guān),,并且必必須按特特定的次次序執(zhí)行行;過程內(nèi)聚聚模塊的的各組成成功能由由控制流流聯(lián)結(jié)在在一起。。5)通信信性內(nèi)聚聚度———中級(jí)內(nèi)內(nèi)聚通信性內(nèi)內(nèi)聚(communicationalcohesion)。模塊的通通信性內(nèi)內(nèi)聚度是是指,模模塊中各各成分都都將對(duì)數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)的同一一區(qū)域進(jìn)進(jìn)行操作作,以達(dá)達(dá)到通信信的目的的。例如,模模塊A的處理單單元是由由同一數(shù)數(shù)據(jù)文件件的數(shù)據(jù)據(jù)產(chǎn)生不不同的表表格模塊A從文件FILE讀出數(shù)據(jù)1.由數(shù)據(jù)產(chǎn)生報(bào)表一2.由數(shù)據(jù)產(chǎn)生報(bào)表二6)順序序性內(nèi)聚聚———高級(jí)內(nèi)內(nèi)聚順序性內(nèi)內(nèi)聚(sequentialcohesion)。如果一個(gè)個(gè)模塊內(nèi)內(nèi)的各處處理成分分均與同同一功能能相關(guān),,且這些些處理必必須順序序執(zhí)行,,則稱順順序內(nèi)聚聚;通通常,一一個(gè)處理理成分的的輸出是是另一個(gè)個(gè)處理成成分的輸輸入。例例如:1.輸輸入系數(shù)數(shù)2.求方程的的根3.打打印方程程的根求一元二次次方程根的模塊塊7)功能能性內(nèi)聚聚——高高級(jí)內(nèi)聚聚功能性內(nèi)內(nèi)聚(functionalcohesion)。如果模塊塊內(nèi)所有有成分形形成一個(gè)個(gè)整體,,完成單單個(gè)功能能,則稱稱功能內(nèi)內(nèi)聚,功功能內(nèi)聚聚是最高高程度的的內(nèi)聚形形式。例如,一一個(gè)模塊塊僅完成成一個(gè)矩矩陣的輸輸出,就就是一個(gè)個(gè)具有功功能性內(nèi)內(nèi)聚的模模塊。設(shè)計(jì)軟件件時(shí),應(yīng)應(yīng)該能夠夠識(shí)別內(nèi)內(nèi)聚度的的高低,,并通過過修改設(shè)設(shè)計(jì)盡可可能提高高模塊內(nèi)內(nèi)聚度,,從而獲獲得較高高的模塊塊獨(dú)立性性。3.耦合合度耦合度是是對(duì)軟件件結(jié)構(gòu)中中模塊間間關(guān)聯(lián)程程度的一一種度量量。耦合的強(qiáng)強(qiáng)弱取決決于模塊塊間接口口的復(fù)雜雜性、進(jìn)進(jìn)入或調(diào)調(diào)用模塊塊的位置置以及通通過界面面?zhèn)魉蛿?shù)數(shù)據(jù)的多多少等。。與內(nèi)聚度度正好相相反,在在設(shè)計(jì)軟軟件時(shí)應(yīng)應(yīng)追求盡盡可能松松散耦合合的系統(tǒng)統(tǒng)。因?yàn)闉閷?duì)這類類系統(tǒng)中中任一模模塊的設(shè)設(shè)計(jì)、測(cè)測(cè)試和維維護(hù)相對(duì)對(duì)獨(dú)立。。由于模模塊間聯(lián)聯(lián)系較少少,錯(cuò)誤誤在模塊塊間傳播播的可能能性也隨隨之變小小。模塊間的的耦合程程度直接接影響系系統(tǒng)的可可理解性性、可測(cè)測(cè)試性、、可靠性性和可維維護(hù)性。。耦合度也也可以分分為七級(jí)級(jí)1)非直直接耦合合——最最松散的的耦合耦合度也也可以分分為七級(jí)級(jí):如果兩模模塊中任任一個(gè)都都不依賴賴于對(duì)方方能獨(dú)立立工作,,則稱這這兩模塊塊為(nodirectcoupling),這類耦合合度最低低。例如如:XYAB無(wú)關(guān)系2)數(shù)據(jù)據(jù)耦合數(shù)據(jù)耦合合(datacoupling)如果兩模模塊間通通過參數(shù)數(shù)交換信信息,而而信息僅僅限于數(shù)數(shù)據(jù),則則稱這兩兩模塊為為數(shù)據(jù)耦耦合。一一般軟件件系統(tǒng)中中都存在在數(shù)據(jù)耦耦合,它它是完成成大多數(shù)數(shù)功能所所必需的的。例如如:AB通過參數(shù)數(shù)傳遞數(shù)據(jù)據(jù)3)特征征耦合特征耦合合(stampcoupling)。介于數(shù)據(jù)據(jù)耦合和和控制耦耦合之間間的是特特征耦合合(stampcoupling)。例如,傳傳遞了求求平均成成績(jī)以外外的參數(shù)數(shù):producereportcardscalculateaverageprintreportcardstudengtrecordaverragestudengtrecordaverrage4)控制制耦合控制耦合合(controlcoupling)。如果兩模模塊間通通過參數(shù)數(shù)交換信信息,此此時(shí)若傳傳遞的信信息中含含有控制制信息,,則耦合合度上升升為控制制耦合。。控制耦耦合通常常會(huì)增加加系統(tǒng)的的復(fù)雜性性,有時(shí)時(shí)適當(dāng)分分解模塊塊可消除除控制耦耦合。5)外部部耦合外部耦合合(externalcoupling)。當(dāng)若干模模塊均與與同一個(gè)個(gè)外部環(huán)環(huán)境關(guān)聯(lián)聯(lián)(例如如,I/O處理使所所有I/O模塊與特特定的設(shè)設(shè)備、格格式和通通信協(xié)議議相關(guān)聯(lián)聯(lián)),它它們之間間便存在在外部耦耦合。外外部耦合合盡管需需要,但但應(yīng)限制制在少數(shù)數(shù)幾個(gè)模模塊上。。6)公共共耦合公共耦合合(commoncoupling)當(dāng)若干模模塊通過過全局的的數(shù)據(jù)環(huán)環(huán)境相互互作用時(shí)時(shí),它們們之間存存在公共共耦合。。全局?jǐn)?shù)數(shù)據(jù)環(huán)境境中可能能含有全全局變量量、公用用區(qū)、內(nèi)內(nèi)存公共共覆蓋區(qū)區(qū)、任何何存儲(chǔ)介介質(zhì)上的的文件、、物理設(shè)設(shè)備等。7)內(nèi)容容耦合內(nèi)容耦合合(contentcoupling)。最高耦合合度是內(nèi)內(nèi)容耦合合,出現(xiàn)現(xiàn)內(nèi)容耦耦合的情情形包括括:當(dāng)一一個(gè)模塊塊使用另另一個(gè)模模塊內(nèi)部部的數(shù)據(jù)據(jù)或控制制信息;;一個(gè)模模塊直接接轉(zhuǎn)移到到另一個(gè)個(gè)模塊內(nèi)內(nèi)部,等等等。7.1..3模塊化與與信息隱隱藏一般來說說,設(shè)計(jì)計(jì)軟件時(shí)時(shí)應(yīng)盡量量使用數(shù)數(shù)據(jù)耦合合,減少少控制耦耦合,限限制外部部環(huán)境耦耦合和公公共數(shù)據(jù)據(jù)耦合,,杜絕內(nèi)內(nèi)容耦合合。值得指出出,模塊塊化設(shè)計(jì)計(jì)的思想想適用于于任何軟軟件系統(tǒng)統(tǒng)的設(shè)計(jì)計(jì)。當(dāng)某某些軟件件系統(tǒng)((如實(shí)時(shí)時(shí)軟件等等),因因不能容容忍子程程序調(diào)用用引起的的時(shí)間開開銷而必必須以整整塊軟件件的形式式出現(xiàn)時(shí)時(shí),軟件件設(shè)計(jì)仍仍然應(yīng)該該以模塊塊化設(shè)計(jì)計(jì)的思想想為指導(dǎo)導(dǎo),直至至編碼時(shí)時(shí)再改用用代入式式(in?line)方法。這這樣,源源程序中中雖不含含明顯的的模塊,,但模塊塊化設(shè)計(jì)計(jì)所帶來來的大部部分益處處卻已被被系統(tǒng)獲獲得。7.1..4軟件總體體結(jié)構(gòu)設(shè)設(shè)計(jì)軟件總體體結(jié)構(gòu)((softwarearchitecture)應(yīng)該包括括兩方面面內(nèi)容::1)由系統(tǒng)中中所有過過程性部部件(即即模塊))構(gòu)成的層層次結(jié)構(gòu)構(gòu),即程程序結(jié)構(gòu)構(gòu);2)對(duì)應(yīng)于程程序結(jié)構(gòu)構(gòu)的輸入入輸出數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)。軟件總體體結(jié)構(gòu)設(shè)設(shè)計(jì)的目目標(biāo)就是是產(chǎn)生一一個(gè)模塊塊化的程程序結(jié)構(gòu)構(gòu)并明確確各模塊塊之間的的控制關(guān)關(guān)系,此此外還要要通過定定義界面面,說明明程序的的輸入輸輸出數(shù)據(jù)據(jù)流,進(jìn)進(jìn)一步協(xié)協(xié)調(diào)程序序結(jié)構(gòu)和和數(shù)據(jù)結(jié)結(jié)構(gòu)。7.1..4軟件總體體結(jié)構(gòu)設(shè)設(shè)計(jì)軟件總體體結(jié)構(gòu)((softwarearchitecture)應(yīng)該包括括兩方面面內(nèi)容::1)由系統(tǒng)中中所有過過程性部部件(即即模塊))構(gòu)成的層層次結(jié)構(gòu)構(gòu),即程程序結(jié)構(gòu)構(gòu);2)對(duì)應(yīng)于程程序結(jié)構(gòu)構(gòu)的輸入入輸出數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)。軟件總體體結(jié)構(gòu)設(shè)設(shè)計(jì)的目目標(biāo)就是是產(chǎn)生一一個(gè)模塊塊化的程程序結(jié)構(gòu)構(gòu)并明確確各模塊塊之間的的控制關(guān)關(guān)系,此此外還要要通過定定義界面面,說明明程序的的輸入輸輸出數(shù)據(jù)據(jù)流,進(jìn)進(jìn)一步協(xié)協(xié)調(diào)程序序結(jié)構(gòu)和和數(shù)據(jù)結(jié)結(jié)構(gòu)。1.結(jié)構(gòu)演變變圖8-1--3結(jié)構(gòu)演變變軟件“解”S1S4S2待解問題S3P1P2P4P32.同一個(gè)““問題””的多種種軟件解解圖8-1--4對(duì)應(yīng)于同同一問題題的各種種軟件結(jié)結(jié)構(gòu)問題P結(jié)構(gòu)1結(jié)構(gòu)2結(jié)構(gòu)3M1M2M3M4M1M2M3M4M1M2M3M4MMM3.表示程序序結(jié)構(gòu)的的工具類樹圖((tree?likediagram)Warnier?Orr圖Jackson圖最常見的的是如圖圖8-1--5所示的類類樹圖。。為便于于討論,,下面定定義幾個(gè)個(gè)有關(guān)的的術(shù)語(yǔ)和和度量。。4.有關(guān)程序序結(jié)構(gòu)的的術(shù)語(yǔ)圖8-1--5有關(guān)程序序結(jié)構(gòu)的的術(shù)語(yǔ)Mabcdemfgihopqrntjks扇出扇入寬度深度4.有關(guān)程序序結(jié)構(gòu)的的術(shù)語(yǔ)一個(gè)軟件件的深度度(depth)—控制的層層數(shù);一個(gè)軟件件的寬度度(width)—其控制的的層數(shù)和和跨度;;一個(gè)模塊塊的“扇扇出數(shù)””(fan??out)—該模塊直直接控制制的其他他模塊數(shù)數(shù);一個(gè)模塊塊的“扇扇入數(shù)””(fan??in)指能直接接控制該該模塊的的模塊數(shù)數(shù)。4.有關(guān)程序序結(jié)構(gòu)的的術(shù)語(yǔ)如果一個(gè)個(gè)模塊控控制另一一個(gè)模塊塊,稱前前者為““主控””模塊,,后者為為“從屬屬”模塊塊。在圖圖8-1--5中模塊M主控模塊塊a、b、c,模塊d從屬模塊塊a,因此也從從屬M(fèi)。此外,軟軟件結(jié)構(gòu)構(gòu)中還有有兩個(gè)重重要的特特性,即即可見域域和連通通域。模塊的可可見域——該模塊可可直接或或間接引引用的一組模模塊;模塊的連連通域——僅包括該該模塊可可直接引引用的模塊。。7.1..5數(shù)據(jù)結(jié)構(gòu)構(gòu)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)構(gòu)描述各各數(shù)據(jù)分分量之間間的邏輯輯關(guān)系,,數(shù)據(jù)結(jié)結(jié)構(gòu)一經(jīng)經(jīng)確定,,數(shù)據(jù)的的組織形形式、訪訪問方法法、組合合程度及及處理策策略等隨隨之而定定,所以以數(shù)據(jù)結(jié)結(jié)構(gòu)是影影響軟件件總體結(jié)結(jié)構(gòu)的重重要因素素。數(shù)據(jù)結(jié)構(gòu)構(gòu)與程序序結(jié)構(gòu)一一樣,也也可以在在不同的的抽象級(jí)級(jí)別上表表示。以以棧為例例,作為為一個(gè)抽抽象數(shù)據(jù)據(jù)類型,,在概念念級(jí)上只只關(guān)心““先進(jìn)后后出”特特性,而而在實(shí)現(xiàn)現(xiàn)級(jí)上則則要考慮慮物理表表示及內(nèi)內(nèi)部工作作的細(xì)節(jié)節(jié),比如如,用向向量實(shí)現(xiàn)現(xiàn),或用用鏈表實(shí)實(shí)現(xiàn)等。。7.1..5數(shù)據(jù)結(jié)構(gòu)構(gòu)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)構(gòu)對(duì)程序序結(jié)構(gòu)和和過程復(fù)復(fù)雜性有有直接的的影響,,從而在在很大程程度上決決定了軟軟件的質(zhì)質(zhì)量。數(shù)據(jù)設(shè)計(jì)計(jì)的目標(biāo)標(biāo)是為在在需求規(guī)規(guī)格說明明中定義義的那些些數(shù)據(jù)對(duì)對(duì)象選擇擇合適的的邏輯表表示,并并確定可可能作用用在這些些邏輯結(jié)結(jié)構(gòu)上的的所有操操作(包包括選用用已存在在的程序序包)。。數(shù)據(jù)抽象象和信息息隱蔽兩兩個(gè)概念念是數(shù)據(jù)據(jù)設(shè)計(jì)的的基礎(chǔ)。。通常,數(shù)數(shù)據(jù)設(shè)計(jì)計(jì)方案不不是唯一一的,有有時(shí)需進(jìn)進(jìn)行算法法復(fù)雜性性分析、、綜合各各種因素素之后才才能從多多種候選選方案中中篩選出出最佳的的設(shè)計(jì)方方案。7.1..6軟件過程程設(shè)計(jì)過程設(shè)計(jì)計(jì)緊跟在在數(shù)據(jù)結(jié)結(jié)構(gòu)和程程序結(jié)構(gòu)構(gòu)設(shè)計(jì)之之后,其其基本任任務(wù)是描描述模塊塊內(nèi)各處處理元素素和判斷斷元素的的順序,,圖8-1--6展示了模模塊B的內(nèi)部過過程。┇過程說明明圖8-1--6模塊B的內(nèi)部結(jié)結(jié)構(gòu)模塊B┇┇模塊B程序結(jié)構(gòu)構(gòu)7.1..6軟件過程程設(shè)計(jì)所謂過程程,應(yīng)包包括有關(guān)關(guān)處理的的精確說說明,諸諸如事件件的順序序、判斷斷的位置置和條件件、循環(huán)環(huán)操作以以及數(shù)據(jù)據(jù)的組成成,內(nèi)部部變量和和外部變變量的引引用問題題等等。。過程設(shè)計(jì)計(jì)也應(yīng)遵遵循“自自上而下下,逐步步求精””的原則則和單入入口單出出口的結(jié)結(jié)構(gòu)化設(shè)設(shè)計(jì)思想想。過程設(shè)計(jì)計(jì)的任務(wù)務(wù)是描述述算法的的細(xì)節(jié)。。結(jié)構(gòu)化化程序流流程圖、、盒圖((N-S圖)、判判定表和和判定樹樹,以及及過程設(shè)設(shè)計(jì)語(yǔ)言言(PDL)、PAD圖等是人人們經(jīng)常常使用的的工具。。7.2軟件過程程設(shè)計(jì)技技術(shù)和工工具7.2..1結(jié)構(gòu)化程程序設(shè)計(jì)計(jì)結(jié)構(gòu)化程程序設(shè)計(jì)計(jì)定義::是程序序設(shè)計(jì)技技術(shù),它它采用自自頂向下下逐步求求精的設(shè)設(shè)計(jì)方法法和單入入口單出出口的控控制構(gòu)件件。結(jié)構(gòu)化程程序設(shè)計(jì)計(jì)的思想想,應(yīng)該該在軟件件設(shè)計(jì)中中體現(xiàn)出出來,但但這并不不排除為為效率或或其他原原因?qū)Y(jié)結(jié)構(gòu)化程程序設(shè)計(jì)計(jì)作一點(diǎn)點(diǎn)修正。。隨著面面向?qū)ο笙?、軟件件重用等等新的軟軟件開發(fā)發(fā)方法和和技術(shù)的的發(fā)展,,更現(xiàn)實(shí)實(shí)、更有有效的開開發(fā)途徑徑可能是是自頂向向下和自自底向上上兩種方方法有機(jī)機(jī)地結(jié)合合。7.2..2圖形表示示法1.流程圖圖(也稱稱為程序序框圖))是最常常用的一一種表示示法,““順序序”、““分支””和“循循環(huán)”三三個(gè)基本本控制構(gòu)構(gòu)件用流流程圖表表達(dá)的形形式如圖圖8-2--1所示。F第二個(gè)任任務(wù)順序結(jié)構(gòu)構(gòu)then部分else部分do?while循環(huán)第一個(gè)任任務(wù)T分支條件件If?then?else結(jié)構(gòu)循環(huán)條件件循環(huán)體TF圖8-2--1流程圖構(gòu)構(gòu)件7.2..2圖形表示示法2.盒圖也也稱為N-S圖或Chapin圖。這種種表達(dá)方方式取消消了流程程線,它它強(qiáng)迫程程序員以以結(jié)構(gòu)化化方式思思考和解解決問題題。第一個(gè)任任務(wù)第二個(gè)任任務(wù)第三個(gè)任任務(wù)順序結(jié)構(gòu)構(gòu)else部分then部分條件FTif-then-else結(jié)構(gòu)do-while部分循環(huán)條件件循環(huán)結(jié)構(gòu)構(gòu)圖8-2--3盒圖的構(gòu)構(gòu)件7.2..3判定表與與判定樹樹當(dāng)模塊中中包含復(fù)復(fù)雜的條條件組合合,并要要根據(jù)這這些條件件的組合合選擇動(dòng)動(dòng)作時(shí),,只有判判定表和和判定樹樹能夠清清晰地表表達(dá)出復(fù)復(fù)雜的條條件組合合與各種種動(dòng)作之之間的對(duì)對(duì)應(yīng)關(guān)系系。判定表由由四部分分組成::左上部——列出所有有條件;;左下部——列出所有有可能的的動(dòng)作;;右上部——所有可能能的條件件組合((矩陣));右下部——條件組合合與動(dòng)作作之間的的對(duì)應(yīng)關(guān)關(guān)系。判定表的的每一列列可解釋釋為一條條處理規(guī)規(guī)則。7.2..3判定表與與判定樹樹【例7.2】】問題處理理描述::耗電記記費(fèi)系統(tǒng)統(tǒng)可以采采用固定定價(jià)格收收費(fèi)、浮浮動(dòng)價(jià)格格收費(fèi)和和其他方方式收費(fèi)費(fèi)三種方方式。若若采用固固定價(jià)格格方式收收費(fèi),對(duì)對(duì)每月耗耗電100kW?h以下的用用戶只征征收最低低標(biāo)準(zhǔn)費(fèi)費(fèi),超過過100kW?h的用戶按按價(jià)格表表A收費(fèi);若若采用浮浮動(dòng)價(jià)格格方式收收費(fèi),則則每月耗耗電100kW?h以下的用用戶按價(jià)價(jià)格A收費(fèi),超超過100kW?h的用戶按按價(jià)格B收費(fèi)。表8?1判定表規(guī)則12345固定價(jià)格方式浮動(dòng)價(jià)格方式耗電<100kW.h耗電≥100kW.hTFTFTFFTFTTFFTFTFF收取最低標(biāo)準(zhǔn)費(fèi)按價(jià)格表A收費(fèi)按價(jià)格表B收費(fèi)其他處理√√√√√條件動(dòng)作【例7.2】】判定樹耗電<100kW·h—收取最低低標(biāo)準(zhǔn)費(fèi)費(fèi)固定方式式耗電≥100kW·h—按價(jià)格表表A收費(fèi)耗電<100kW·h—按價(jià)格表表A收費(fèi)耗電收費(fèi)費(fèi)浮浮動(dòng)方式式耗電≥100kW·h—按價(jià)格表表B收費(fèi)其他方式式—其他處理理圖8-2--5用判定樹樹表示計(jì)計(jì)算耗電電收費(fèi)的的算法7.2..3判定表與與判定樹樹判定樹的的優(yōu)點(diǎn)::形式簡(jiǎn)簡(jiǎn)單,直直觀明了了,易于于掌握。。判定樹的的缺點(diǎn)::①存在著著數(shù)據(jù)冗冗余的問問題,相相同的數(shù)數(shù)據(jù)元素素往往要要重復(fù)多多次,而而且越接接近樹的的葉端重重復(fù)的次次數(shù)越多多。②判定樹樹要求對(duì)對(duì)條件進(jìn)進(jìn)行層次次劃分,,若條件件所處層層次不對(duì)對(duì),可能能會(huì)導(dǎo)致致增加判判定樹的的復(fù)雜性性。7.2..4過程設(shè)計(jì)計(jì)語(yǔ)言((PDL)PDL(ProcedureDesignLanguage)也稱為結(jié)結(jié)構(gòu)英語(yǔ)語(yǔ)或偽碼碼,是所所有正文文形式的的過程設(shè)設(shè)計(jì)工具具的統(tǒng)稱稱。PDL經(jīng)常表現(xiàn)現(xiàn)為一種種“混雜雜”的形形式,允允許自然然語(yǔ)言((如英語(yǔ)語(yǔ))的詞詞匯與某某種結(jié)構(gòu)構(gòu)化程序序設(shè)計(jì)語(yǔ)語(yǔ)言(如如Pascal、C、Ada等)的語(yǔ)語(yǔ)法結(jié)構(gòu)構(gòu)交織在在一起7.2..4過程設(shè)計(jì)計(jì)語(yǔ)言((PDL)PDL應(yīng)具有下下述特點(diǎn)點(diǎn):1.關(guān)鍵字字采用固固定語(yǔ)法法并支持持結(jié)構(gòu)化化構(gòu)件、、數(shù)據(jù)說說明機(jī)制制和模塊塊化;2.處理部部分采用用自然語(yǔ)語(yǔ)言描述述;3.允許說說明簡(jiǎn)單單(標(biāo)量量、數(shù)組組等)和和復(fù)雜((鏈表、、樹等))的數(shù)據(jù)據(jù)結(jié)構(gòu);;4.子程序序的定義義與調(diào)用用規(guī)則不不受具體體接口方方式的影影響。7.2..4過程設(shè)計(jì)計(jì)語(yǔ)言((PDL)考察一個(gè)個(gè)PDL的原型,,它可以以建立在在任意一一個(gè)通用用的結(jié)構(gòu)構(gòu)化程序序設(shè)計(jì)語(yǔ)語(yǔ)言之上上?;颈境煞职ǎ鹤幼映绦蚨ǘx、界界面描述述、數(shù)據(jù)據(jù)說明、、塊結(jié)構(gòu)構(gòu)、分支支結(jié)構(gòu)、、循環(huán)結(jié)結(jié)構(gòu)和I/O結(jié)構(gòu)。數(shù)據(jù)說明明的形式式為:TYPE<變量名>IS<<限定詞1><<限定詞2>其中:<變量名>——局部變量量或全局局變量;;<限定詞1>———某個(gè)特定定關(guān)鍵字字(例如如,SCALAR,ARRAY,LIST,STRING,STRUTURE等);<限定詞2>———說明此處處定義的的變量在在該過程程或整個(gè)個(gè)程序中中應(yīng)如何何使用。。7.2..4過程設(shè)計(jì)計(jì)語(yǔ)言((PDL)可進(jìn)行抽抽象數(shù)據(jù)據(jù)類型的的定義,,例如:TYPEtable_1ISINSTACEOFsymbol__table而symbol__table在另一處處已定義義如下::TYPEsymbol__tableISSTRUCTUREDEFINED7.2..4過程設(shè)計(jì)計(jì)語(yǔ)言((PDL)該P(yáng)DL的塊結(jié)構(gòu)構(gòu)描述一一個(gè)過程程元素,,即一個(gè)個(gè)塊內(nèi)的的所有語(yǔ)語(yǔ)句將作作為一個(gè)個(gè)整體執(zhí)執(zhí)行,形形式為BEGIN[[<塊名>]<語(yǔ)句序列列>END該P(yáng)DL的分支結(jié)結(jié)構(gòu)有if-then-else和case兩種形式式,分別別為IF<<條件描述述>THEN<<塊結(jié)構(gòu)或或語(yǔ)句>ELSE<<塊結(jié)構(gòu)或或語(yǔ)句>ENDIF7.2..4過程設(shè)計(jì)計(jì)語(yǔ)言((PDL)CASEOF<<情況變量量名>WHEN<第1種情況>SELECT<<塊結(jié)構(gòu)或或語(yǔ)句>WHEN<第2種情況>SELECT<<塊結(jié)構(gòu)或或語(yǔ)句>…WHEN<最后一種種情況>SELECT<<塊結(jié)構(gòu)或或語(yǔ)句>DEFAULT:<塊結(jié)構(gòu)或或語(yǔ)句>ENDCASE7.2..4過程設(shè)計(jì)計(jì)語(yǔ)言((PDL)循環(huán)結(jié)構(gòu)構(gòu)包括三三類,表表達(dá)形式式分別為為:DOWHILE<<條件描述述><塊結(jié)構(gòu)或或語(yǔ)句>ENDWHILEREPEATUNTIL<<條件描述述><塊結(jié)構(gòu)或或語(yǔ)句>ENDREPEATDOFOR<<循變>=<<循變?nèi)≈抵捣秶?表達(dá)式或或序列><塊結(jié)構(gòu)或或語(yǔ)句>ENDFOR7.2..4過程設(shè)計(jì)計(jì)語(yǔ)言((PDL)此PDL還提供了了NEXT和EXIT兩種語(yǔ)句句:EXIT語(yǔ)句,退退出本層層循環(huán);;NEXT語(yǔ)句強(qiáng)迫迫本次循循環(huán)結(jié)束束,新一一輪循環(huán)環(huán)開始。。在該P(yáng)DL中,子程程序說明明為:PROCEDURE<<子程序說說明><屬性表>INTERFACE<<參數(shù)表><塊結(jié)構(gòu)或或語(yǔ)句序序列>END其中屬性性表指明明該子程程序的引引用特性性(比如如,是INTERNAL還是EXTERNAL模式)和和其他依依賴于實(shí)實(shí)現(xiàn)(即即程序設(shè)設(shè)計(jì)語(yǔ)言言)的特特性。7.2..4過程設(shè)計(jì)計(jì)語(yǔ)言((PDL)輸入/輸出說明明部分常常用的形形式有READ/WRITETO<設(shè)備><I/O表>或ASK<<詢問>ANSWER<<響應(yīng)選擇擇項(xiàng)>后一種形形式多用用于人機(jī)機(jī)交互部部分的設(shè)設(shè)計(jì)。7.3設(shè)計(jì)規(guī)格格說明與與評(píng)審軟件設(shè)計(jì)計(jì)階段的的輸出主主要是設(shè)設(shè)計(jì)規(guī)格格說明書書:第一節(jié)::描述與與設(shè)計(jì)活活動(dòng)有關(guān)關(guān)的各個(gè)個(gè)方面,,該節(jié)中中許多信信息取自自系統(tǒng)規(guī)規(guī)格說明明書和系系統(tǒng)定義義階段產(chǎn)產(chǎn)生的其其他文檔檔。第二節(jié)::具體指指明引用用信息的的出處。。第三節(jié)::設(shè)計(jì)描描述,是是概要設(shè)設(shè)計(jì)的產(chǎn)產(chǎn)物,此此時(shí)設(shè)計(jì)計(jì)由信息息驅(qū)動(dòng),,即軟件件總體結(jié)結(jié)構(gòu)主要要受數(shù)據(jù)據(jù)流程、、數(shù)據(jù)結(jié)結(jié)構(gòu)的影影響,需需求分析析時(shí)產(chǎn)生生的DFD或其他某某種形式式的數(shù)據(jù)據(jù)表示將將在這一一節(jié)中進(jìn)進(jìn)一步精精化,用用于確定定軟件結(jié)結(jié)構(gòu)。當(dāng)當(dāng)信息流流程確定定后,界界面亦可可作為整整個(gè)軟件件的一部部分進(jìn)行行描述。。7.3設(shè)計(jì)規(guī)格格說明與與評(píng)審第四、五五兩節(jié)是是概要設(shè)設(shè)計(jì)向詳詳細(xì)設(shè)計(jì)計(jì)過渡后后形成的的。第四節(jié)::模塊指指軟件中中可單獨(dú)獨(dú)編址的的部件,,如函數(shù)數(shù)和過程程,最初初用自然然語(yǔ)言描描述它們們的功能能,隨后后采用某某種過程程設(shè)計(jì)工工具將這這些自然然語(yǔ)言描描述轉(zhuǎn)換換為結(jié)構(gòu)構(gòu)化描述述。第五節(jié)::主要描描述數(shù)據(jù)據(jù)組織結(jié)結(jié)構(gòu),包包括輔存存的文件件結(jié)構(gòu)、、全局?jǐn)?shù)數(shù)據(jù)(例例如FORTRAN公共區(qū)))的賦值值以及這這些文件件與全局局?jǐn)?shù)據(jù)的的交叉訪訪問關(guān)系系。7.3設(shè)計(jì)規(guī)格格說明與與評(píng)審第六節(jié)::是與需需求規(guī)格格說明書書的交叉叉訪問表表,根據(jù)據(jù)交叉訪訪問表可可斷定設(shè)設(shè)計(jì)是否否滿足所所有需求求,這對(duì)對(duì)于完成成某個(gè)具具體需

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論