第8章軟件過程設(shè)計(jì)_第1頁
第8章軟件過程設(shè)計(jì)_第2頁
第8章軟件過程設(shè)計(jì)_第3頁
第8章軟件過程設(shè)計(jì)_第4頁
第8章軟件過程設(shè)計(jì)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

信息系統(tǒng)開發(fā)——方法、案例與實(shí)驗(yàn)

主講:段智敏QQ:747885740過程設(shè)計(jì)主要內(nèi)容軟件設(shè)計(jì)基本原理軟件設(shè)計(jì)工具軟件結(jié)構(gòu)設(shè)計(jì)軟件詳細(xì)設(shè)計(jì)主要內(nèi)容學(xué)習(xí)目的與要求掌握軟件過程設(shè)計(jì)的主要內(nèi)容理解軟件設(shè)計(jì)的基本原理了解各種軟件設(shè)計(jì)工具了解軟件結(jié)構(gòu)設(shè)計(jì)各種方法,理解每種設(shè)計(jì)方法的適用情況掌握軟件詳細(xì)設(shè)計(jì)的目標(biāo)和方法考核知識(shí)點(diǎn)軟件工程設(shè)計(jì)的主要內(nèi)容軟件設(shè)計(jì)的基本原理軟件設(shè)計(jì)工具軟件結(jié)構(gòu)設(shè)計(jì)方法軟件詳細(xì)設(shè)計(jì)軟件過程設(shè)計(jì)的應(yīng)用考核要求軟件過程設(shè)計(jì)的主要內(nèi)容綜合應(yīng)用:總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)的內(nèi)容軟件設(shè)計(jì)的基本原理簡單應(yīng)用:軟件設(shè)計(jì)的幾種基本原理領(lǐng)會(huì):模塊的基本屬性、耦合性和內(nèi)聚性的類型與各種類型的特點(diǎn)識(shí)記:模塊化的定義、抽象和信息隱蔽的概念簡單應(yīng)用:模塊獨(dú)立性的定義及其衡量標(biāo)準(zhǔn)軟件設(shè)計(jì)工具綜合應(yīng)用:各種軟件設(shè)計(jì)工具及其特點(diǎn)考核要求軟件結(jié)構(gòu)設(shè)計(jì)方法識(shí)記:軟件結(jié)構(gòu)設(shè)計(jì)方法的分類簡單應(yīng)用:變換分析設(shè)計(jì)的主要步驟簡單應(yīng)用:事務(wù)分析設(shè)計(jì)的具體步驟綜合應(yīng)用:綜合數(shù)據(jù)流圖和分層數(shù)據(jù)流圖的映射軟件詳細(xì)設(shè)計(jì)識(shí)記:結(jié)構(gòu)化程序設(shè)計(jì)的概念簡單應(yīng)用:結(jié)構(gòu)化程序設(shè)計(jì)的基本思想簡單應(yīng)用:程序設(shè)計(jì)的目標(biāo)和方法軟件過程設(shè)計(jì)的應(yīng)用綜合應(yīng)用:如何進(jìn)行軟件過程設(shè)計(jì)軟件過程設(shè)計(jì)主要內(nèi)容軟件總體設(shè)計(jì)(概要設(shè)計(jì))將系統(tǒng)劃分成功能模塊明確軟件結(jié)構(gòu)(模塊組成的層次系統(tǒng))采用適當(dāng)?shù)墓ぞ呙枋鲕浖Y(jié)構(gòu)軟件詳細(xì)設(shè)計(jì)確定怎樣具體實(shí)現(xiàn)軟件結(jié)構(gòu)圖中每個(gè)模塊的具體內(nèi)容細(xì)化程序的基本邏輯模塊化是解決一個(gè)復(fù)雜問題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程模塊化的優(yōu)點(diǎn):降低問題復(fù)雜性減少開發(fā)工作量降低開發(fā)成本提供軟件生產(chǎn)率在軟件的體系結(jié)構(gòu)中,模塊是可組合、分解和更換的單元,有以下基本屬性:接口:指模塊的輸入輸出。功能:模塊實(shí)現(xiàn)的功能。邏輯:內(nèi)部如何實(shí)現(xiàn)及所需數(shù)據(jù)。狀態(tài):模塊的運(yùn)行環(huán)境,調(diào)用與被調(diào)用關(guān)系邏輯屬性反映內(nèi)部特性,其它屬性反映模塊的外部特性。軟件成本M模塊數(shù)成本(工作量)接口成本成本/模塊最小區(qū)域軟件設(shè)計(jì)的基本原理抽象是認(rèn)識(shí)復(fù)雜現(xiàn)象過程中使用的思維工具。抽象是對(duì)具體對(duì)象(問題)進(jìn)行概括,抽出這一類對(duì)象的公共性質(zhì)并加以描述的過程。軟件結(jié)構(gòu)頂層模塊控制系統(tǒng)主要功能并影響全局,底層模塊完成具體的處理。在進(jìn)行軟件設(shè)計(jì)時(shí),抽象與逐步求精、模塊化密切相關(guān),可提高軟件的可理解性信息隱蔽是指在設(shè)計(jì)和確定模塊時(shí),使得一個(gè)模塊內(nèi)包含的信息(過程和數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來說,是不可訪問的。它為軟件系統(tǒng)的修改、測(cè)試及以后的維護(hù)都帶來好處。軟件設(shè)計(jì)的基本原理模塊的獨(dú)立性指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其它模塊的聯(lián)系量最少且接口簡單。包括兩個(gè)度量準(zhǔn)則耦合性:指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。模塊間耦合高低取決于接口的復(fù)雜性、調(diào)用的方式及傳遞的信息。內(nèi)聚性:指模塊的功能強(qiáng)度的度量,即一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量。啟發(fā)性規(guī)則——“高內(nèi)聚低耦合”原則改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性;模塊規(guī)模適中-每頁60行語句;深度、寬度、扇入和扇出適中;模塊的作用域力爭在控制域之內(nèi);降低模塊接口的復(fù)雜性;模塊功能應(yīng)該可以預(yù)測(cè)。軟件設(shè)計(jì)的基本原理耦合性(由高到低)內(nèi)容耦合:一個(gè)模塊直接修改或操作另一個(gè)模塊的數(shù)據(jù)公共耦合:兩個(gè)以上的模塊共同引用一個(gè)全局?jǐn)?shù)據(jù)項(xiàng)??刂岂詈希阂粋€(gè)模塊向另一模塊傳遞一個(gè)控制信號(hào),接受信號(hào)的模塊將依據(jù)該信號(hào)值進(jìn)行必要的活動(dòng)。標(biāo)記耦合:兩個(gè)模塊至少有一個(gè)通過界面?zhèn)鬟f的公共有結(jié)構(gòu)的參數(shù)。數(shù)據(jù)耦合:模塊間通過參數(shù)傳遞基本類型的數(shù)據(jù)。非直接耦合。模塊間沒有信息傳遞時(shí),屬于非直接耦合應(yīng)采用的總體原則:盡量使用數(shù)據(jù)耦合少用控制耦合限制公共耦合的范圍完全不用內(nèi)容耦合軟件設(shè)計(jì)的基本原理耦合性舉例2數(shù)據(jù)耦合3標(biāo)記耦合住戶詳情中包含了“本月用電量”和“本月用水量”模塊ATRC:......模塊BGOTOTRC6內(nèi)容耦合5公共耦合4控制耦合內(nèi)聚性(由高到低):功能內(nèi)聚:模塊的所有成分對(duì)完成單一功能是最基本的,且該模塊對(duì)完成這一功能而言是充分必要的。順序內(nèi)聚:各成分與一個(gè)功能相關(guān),且一個(gè)成分的輸出作為另一成分的輸入。通信內(nèi)聚:各成分都操作在同一數(shù)據(jù)集或生成同一數(shù)據(jù)集。過程內(nèi)聚:處理成分必須以特定的次序執(zhí)行。時(shí)間內(nèi)聚:一個(gè)模塊完成的功能必須在同一時(shí)間內(nèi)完成,而這些功能只是因?yàn)闀r(shí)間因素關(guān)聯(lián)在一起。邏輯內(nèi)聚:幾個(gè)邏輯上相關(guān)的功能放在同一模塊中。偶然內(nèi)聚:一個(gè)模塊之內(nèi)各成分之間沒有任何關(guān)系。軟件設(shè)計(jì)的基本原理軟件設(shè)計(jì)的基本原理順序內(nèi)聚通信內(nèi)聚內(nèi)聚性舉例軟件設(shè)計(jì)工具HIPO(HierarchyPlus/Input/Processing/Output)HIPO圖是IBM公司在20世紀(jì)70年代發(fā)展起來的用于描述軟件結(jié)構(gòu)的圖形工具。它實(shí)質(zhì)上是在描述軟件總體模塊結(jié)構(gòu)的層次圖(H圖)的基礎(chǔ)上,加入了用于描述每個(gè)模塊輸入/輸出數(shù)據(jù)和處理功能的IPO圖,因此它的中文全名為層次圖輸入/處理/輸出圖。H圖:用于在體系結(jié)構(gòu)設(shè)計(jì)過程中描繪軟件的層次結(jié)構(gòu)。H圖中每一個(gè)矩形框代表一個(gè)模塊,圖中最頂層的矩形框表示系統(tǒng)中的主控模塊,矩形框之間的連線用于表示模塊之間的調(diào)用關(guān)系。IPO圖:描繪模塊的輸入數(shù)據(jù)、加工和輸出數(shù)據(jù)之間的關(guān)系。層次圖中每個(gè)矩形框相對(duì)應(yīng)有IPO圖,來描述該矩形框所代表的模塊的具體處理過程,作為對(duì)層次圖中內(nèi)容的補(bǔ)充說明。IPO圖的基本形式為:在圖中左邊的框中列出模塊涉及的所有輸入數(shù)據(jù),在中間的框中列出主要的加工,在右邊的框中列出處理后產(chǎn)生的輸出數(shù)據(jù);圖中的箭頭用于指明輸入數(shù)據(jù)、加工和輸出結(jié)果之間的關(guān)系表示軟件結(jié)構(gòu)的HIPO圖訂貨處理1.0銷售管理系統(tǒng)進(jìn)貨處理2.0銷售統(tǒng)計(jì)3.0讀庫存記錄1.2輸入并檢驗(yàn)訂單1.1缺貨處理4.0確定能否供貨1.3可供貨處理1.3.1缺貨貨單留底1.3.2H圖:每個(gè)矩形框代表一個(gè)模塊,連線表示“調(diào)用”而非“組成”。所謂HIPO,即對(duì)每個(gè)模塊附一張IPO圖。每個(gè)IPO圖中應(yīng)明確標(biāo)出對(duì)應(yīng)模塊的編號(hào)。表示軟件結(jié)構(gòu)的HIPO圖

IPO表系統(tǒng):______作者:______模塊:______日期:______編號(hào):1.3

被調(diào)用:調(diào)用:輸入輸出:處理:局部數(shù)據(jù)元素文件名:全局變量:注釋:銷售管理系統(tǒng)確定能否訂貨訂貨處理可供貨模塊缺貨訂單留底訂單訂貨量X貨物庫存量Y供貨標(biāo)志庫存文件IFY>XTHEN可供貨處理

ELSE缺貨訂單留底ENDIFIPO圖:HIPO圖特點(diǎn)表示模塊層次和輸入輸出數(shù)據(jù)及處理功能。H圖主要表示主功能模塊與次功能模塊的關(guān)系。高層IPO圖描述主功能模塊與次功能模塊的輸入、輸出和處理。低層IPO圖描述H圖中低層次的具體設(shè)計(jì)。每層以3~4個(gè)模塊為宜。HIPO圖存在的不足不能詳細(xì)描述算法。不容易轉(zhuǎn)換成高級(jí)語言。表示軟件結(jié)構(gòu)的HIPO圖軟件結(jié)構(gòu)圖模塊:模塊的表示是表明該模塊的功能。矩形表示模塊,現(xiàn)成的模塊以雙縱邊矩形表示。

模塊間的控制關(guān)系:上層模塊為了完成其任務(wù)必須依賴其他模塊。模塊間的信息傳遞:數(shù)據(jù)流和控制流軟件結(jié)構(gòu)圖ABCMABCA查詢成績B學(xué)生記錄學(xué)號(hào)查詢標(biāo)志軟件結(jié)構(gòu)圖軟件結(jié)構(gòu)圖注意事項(xiàng)同一名字的模塊在結(jié)構(gòu)圖中僅能出現(xiàn)一次。調(diào)用關(guān)系只能從上到下。不嚴(yán)格表示模塊的調(diào)用次序,習(xí)慣上從左到右,有時(shí)為了減少連線的交叉,適當(dāng)?shù)卣{(diào)整同一層模塊的左右位置,以保證結(jié)構(gòu)圖的清晰。結(jié)構(gòu)圖并不指明什么時(shí)候調(diào)用下層模塊,只表明一個(gè)模塊調(diào)用哪些模塊,至于模塊內(nèi)還有沒有其他成分則完全沒有表示。軟件結(jié)構(gòu)圖舉例產(chǎn)生最佳解原始輸入得到好輸入計(jì)算最佳解輸出結(jié)果讀輸入編輯輸入結(jié)果格式化顯示輸出原始輸入好輸入好輸入解解編輯結(jié)果格式化解解格式化解軟件結(jié)構(gòu)圖示意結(jié)構(gòu)圖的形態(tài)特征深度、寬度、扇入、扇出。TDMABC扇入扇出深度寬度詳細(xì)設(shè)計(jì)工具詳細(xì)設(shè)計(jì)結(jié)果基本上決定了最終程序代碼的質(zhì)量。不僅要邏輯正確,性能滿足,還要簡明易懂。采用自頂向下,逐步求精的程序設(shè)計(jì)方法。使用三種基本控制結(jié)構(gòu)構(gòu)造程序:順序、選擇、循環(huán)。單入口,單出口的共同特點(diǎn)。常用三種工具:圖形、表格和語言。程序流程圖(PFC)PAD圖盒圖(N-S圖)過程設(shè)計(jì)語言程序流程圖程序流程圖PFC(programflowchart) 程序流程圖是最早出現(xiàn)且使用較為廣泛的工具之一,能夠有效地描述問題求解過程中的程序邏輯結(jié)構(gòu)。 程序流程圖中經(jīng)常使用的基本符號(hào)如下:引入了關(guān)于三種動(dòng)作控制結(jié)構(gòu)的術(shù)語/符號(hào),三種控制結(jié)構(gòu):順序選擇循環(huán)程序流程圖程序流程圖程序流程圖的主要優(yōu)點(diǎn)在于對(duì)程序的控制流程描述直觀清晰,使用靈活,便于閱讀和掌握,因此在20世紀(jì)40年代末到70年代初被普遍采用。隨著程序設(shè)計(jì)方法的發(fā)展,程序流程圖的許多缺點(diǎn)逐漸暴露出來。這些缺點(diǎn)主要體現(xiàn)在以下方面:程序流程圖中可以隨心所欲地使用流程線,容易造成程序控制結(jié)構(gòu)的混亂,與結(jié)構(gòu)化程序設(shè)計(jì)的思想相違背。程序流程圖難以描述逐步求精的過程,容易導(dǎo)致程序員過早考慮程序的控制流程,而忽略程序全局結(jié)構(gòu)的設(shè)計(jì)。程序流程圖難以表示系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu)。

正是由于程序流程圖存在的這些缺點(diǎn),越來越多的軟件設(shè)計(jì)人員放棄了對(duì)它的使用,而去選擇其他一些更有利于結(jié)構(gòu)化設(shè)計(jì)的表達(dá)工具,如N-S圖和PAD圖。N-S圖N-S圖(Nassi-Shneiderman) N-S圖又稱為盒圖,它是為了保證結(jié)構(gòu)化程序設(shè)計(jì)而由Nassi和Shneiderman共同提出的一種圖形工具。

示例N-S圖N-S圖N-S圖的主要優(yōu)點(diǎn):在N-S圖中,所有的程序結(jié)構(gòu)均使用矩形框表示,它可以清晰地表達(dá)結(jié)構(gòu)中的嵌套及模塊的層次關(guān)系。由于N-S圖中沒有流程線,不可能隨意轉(zhuǎn)移控制,因而表達(dá)出的程序結(jié)構(gòu)必然符合結(jié)構(gòu)化程序設(shè)計(jì)“自頂向下逐步求精”的思想,有利于培養(yǎng)軟件設(shè)計(jì)人員的良好設(shè)計(jì)風(fēng)格。域可以從圖上明顯看出,功能域的表達(dá)明確。容易確定局部數(shù)據(jù)與全局?jǐn)?shù)據(jù)的作用域。很容易表達(dá)模塊的層次與嵌套關(guān)系。N-S圖的主要缺優(yōu)點(diǎn):有控制流線,不能任意轉(zhuǎn)移。控制關(guān)系隱含,循環(huán)關(guān)系隱含。當(dāng)所描述的程序嵌套層次較多時(shí),N-S圖的內(nèi)層方框會(huì)越畫越小,不僅影響可讀性而且不易修改。PAD圖問題分析圖PAD(problemanalysisdiagram)

PAD圖是日立公司在1973年提出的一種用于詳細(xì)設(shè)計(jì)的圖形表達(dá)工具,它只能用于結(jié)構(gòu)化程序的描述。

PAD圖采用了易于使用的樹型結(jié)構(gòu)圖形符號(hào),既利于清晰地表達(dá)程序結(jié)構(gòu),又利于修改。PAD圖中使用的基本符號(hào):示例PAD圖PAD圖PAD圖具有的主要優(yōu)點(diǎn)有:使用PAD圖描述的程序結(jié)構(gòu)層次清晰邏輯結(jié)構(gòu)關(guān)系直觀、易讀、易記、易修改。PAD圖為多種常用高級(jí)語言提供了相應(yīng)的圖形符號(hào),每種控制語句都與一個(gè)專門的圖形符號(hào)相對(duì)應(yīng),易于PAD圖向高級(jí)語言源程序轉(zhuǎn)換。支持自頂向下、逐步求精的設(shè)計(jì)過程。支持結(jié)構(gòu)化的程序設(shè)計(jì)原理,既能夠描述程序的邏輯結(jié)構(gòu),又能夠描述系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu)。PDL過程設(shè)計(jì)語言(ProcessDesignLanguage)是一種用于描述模塊算法設(shè)計(jì)和處理細(xì)節(jié)的語言。分內(nèi)外兩層語言。外層具有嚴(yán)格的關(guān)鍵字語法,內(nèi)層表示實(shí)際操作和條件的自然語言,語法自由。程序結(jié)構(gòu)有:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、重復(fù)結(jié)構(gòu)、出口結(jié)構(gòu)、擴(kuò)充結(jié)構(gòu)(模塊定義、模塊調(diào)用、數(shù)據(jù)定義、輸入/輸出)等。PDL語言的主要特點(diǎn)各種定義語句及控制結(jié)構(gòu)的表達(dá)都具有嚴(yán)格的語法形式,使程序結(jié)構(gòu)、數(shù)據(jù)說明等更加清晰。提供了數(shù)據(jù)說明機(jī)制,可用于定義簡單及復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。提供了模塊的定義和調(diào)用機(jī)制,方便了程序模塊化的表達(dá)。PDL語言的缺點(diǎn)不如圖形工具直觀清晰不如判定表和判定樹清晰簡單軟件結(jié)構(gòu)設(shè)計(jì)方法軟件結(jié)構(gòu)包括兩部分:程序模塊結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。程序結(jié)構(gòu)表明了程序各部件的組織情況,通常是樹狀或網(wǎng)狀結(jié)構(gòu),并包含了在程序控制上的層次關(guān)系。為了實(shí)現(xiàn)設(shè)計(jì)目標(biāo),總體設(shè)計(jì)的具體任務(wù)是:將DFD轉(zhuǎn)化為MSD,分二步實(shí)現(xiàn):第一步:將DFD轉(zhuǎn)化為初始的模塊結(jié)構(gòu)圖變換型數(shù)據(jù)流圖事務(wù)型數(shù)據(jù)流圖變換設(shè)計(jì)事務(wù)設(shè)計(jì)第二步:基于模塊化原理“高內(nèi)聚低耦合”,給出一些設(shè)計(jì)規(guī)則——經(jīng)驗(yàn)規(guī)則,將初始的MSD轉(zhuǎn)化為最終可供詳細(xì)設(shè)計(jì)使用的MSD。軟件結(jié)構(gòu)設(shè)計(jì)方法數(shù)據(jù)流圖分類變換型事務(wù)型變換設(shè)計(jì)XX系統(tǒng)變換模塊geteputhputggetcgetdc,d->ee->ff->g,hh->yputyg->xputxx->zputzgetagetbb->da->ceeg,hhgzzxxgyyhdbcacdeefg,hfxab事務(wù)設(shè)計(jì)事務(wù)中心輸入模塊路徑1路徑2輸出模塊aycgbfc->ecee->gegb->dbdd->fdf變換型數(shù)據(jù)流圖由輸入、變換和輸出三部分組成。變換中心邏輯輸入邏輯輸出物理輸出物理輸入時(shí)間內(nèi)部表示信息輸入流變換流信息流外部表示輸出流事務(wù)型數(shù)據(jù)流圖

數(shù)據(jù)沿著輸入通路到達(dá)一個(gè)加工T。T將輸入數(shù)據(jù)分解成一串發(fā)散的數(shù)據(jù)流,形成許多的活動(dòng)路徑,并根據(jù)輸入數(shù)據(jù)的類型在若干動(dòng)作序列中選出一個(gè)來執(zhí)行。T事務(wù)處理中心接收輸入數(shù)據(jù)。分析輸入數(shù)據(jù),確定類型。根據(jù)事務(wù)類型選取一活動(dòng)通路。變換分析設(shè)計(jì)確定輸入流和輸出流的邊界,從而孤立出變換中心(1)檢查“輸入流”的邊界從輸入的數(shù)據(jù)源開始,沿著每一個(gè)由數(shù)據(jù)源傳入的數(shù)據(jù)流的移動(dòng)方向進(jìn)行跟蹤分析,逐個(gè)分析它所經(jīng)過的處理邏輯功能。如果僅是傳入的數(shù)據(jù)流作形式上的轉(zhuǎn)換,邏輯上沒有進(jìn)行實(shí)際的數(shù)據(jù)處理功能,則這些處理邏輯屬于系統(tǒng)的“輸入處理部分”。順著傳入的數(shù)據(jù)流的移動(dòng)方向,一直跟蹤到它被真正地處理為止。(2)檢查“輸出流”的邊界從輸出結(jié)果的地方開始,逆著每一個(gè)傳遞出去的數(shù)據(jù)流,由外向里反方向跟蹤,逐個(gè)分析它的處理邏輯功能,一直反方向跟蹤到它被真正地產(chǎn)生出來為止。(3)得到變換中心根據(jù)前兩步的分析結(jié)果,畫出一個(gè)閉環(huán)界線,在界線以內(nèi)的就是變換中心。變換分析設(shè)計(jì)設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層——變換結(jié)構(gòu)CmCICTCO第一級(jí)分解變換分析設(shè)計(jì)設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層——變換結(jié)構(gòu)(1)頂層主模塊Cm是抽象出來的,以系統(tǒng)的名字命名,協(xié)調(diào)控制下屬模塊,完成系統(tǒng)各項(xiàng)功能。(2)第一層:為每一個(gè)邏輯輸入設(shè)計(jì)一個(gè)輸入模塊功能:為主模塊提供數(shù)據(jù)輸入為每一個(gè)邏輯輸出設(shè)計(jì)一個(gè)輸出模塊功能:為主模塊提供數(shù)據(jù)輸出為中心變換設(shè)計(jì)一個(gè)變換模塊功能:將邏輯輸入轉(zhuǎn)換成邏輯輸出變換分析設(shè)計(jì)設(shè)計(jì)中、下層模塊——自頂向下,逐層分解輸入模塊的下屬模塊設(shè)計(jì)為每個(gè)輸入模塊設(shè)計(jì)兩個(gè)下層模塊①一個(gè)用于接收數(shù)據(jù)②另一個(gè)用于將這些數(shù)據(jù)轉(zhuǎn)換為所要求的數(shù)據(jù)①②重復(fù)直到物理輸入為止輸出模塊的下屬模塊設(shè)計(jì)每個(gè)輸出模塊設(shè)計(jì)兩個(gè)下層模塊①一個(gè)將調(diào)用模塊提供的數(shù)據(jù)轉(zhuǎn)換為所需的數(shù)據(jù)形式。②另一個(gè)用于發(fā)送數(shù)據(jù)①②重復(fù)直到物理輸出為止變換模塊的下屬模塊設(shè)計(jì)按照模塊獨(dú)立性的原則來組織其結(jié)構(gòu),一般每個(gè)基本加工設(shè)計(jì)一個(gè)功能模塊。AtoBGetBGetAaabPutBPutAbaaBtoA變換分析設(shè)計(jì)ABCDEFGHf1f2f3f4f5f6f7f8f9f10f11變換中心輸入輸出主模塊f2Getf3將f3變換成f7和f8Putf7Getf2BFPutf9f3f7f9f7f9f3f7f8Putf8EDCf8GAHPutf10Putf11Gutf1f1f1f2f8f10f10f11f10f11f3f2初始結(jié)構(gòu)圖變換分析設(shè)計(jì)設(shè)計(jì)的優(yōu)化——根據(jù)設(shè)計(jì)準(zhǔn)則輸入部分的求精對(duì)每個(gè)物理輸入設(shè)置專門模塊,以體現(xiàn)系統(tǒng)的外部接口;其他輸入模塊并非真正輸入,當(dāng)它與轉(zhuǎn)換數(shù)據(jù)的模塊都很簡單時(shí),可將它們合并成一個(gè)模塊。GetCGetBGetAabAtoBGetBGetAaabBtoCGetCbbc變換分析設(shè)計(jì)設(shè)計(jì)的優(yōu)化——根據(jù)設(shè)計(jì)準(zhǔn)則輸出部分的求精為每個(gè)物理輸出設(shè)置專門模塊,同時(shí)注意把相同或類似的物理輸出模塊合并在一起,以減低耦合度。PutBPutAbaaBtoAPutBPutAa變換分析設(shè)計(jì)設(shè)計(jì)的優(yōu)化——根據(jù)設(shè)計(jì)準(zhǔn)則變換部分的求精:根據(jù)設(shè)計(jì)準(zhǔn)則,對(duì)模塊進(jìn)行合并和調(diào)整。軟件結(jié)構(gòu)的求精,具有很大的經(jīng)驗(yàn)性。追求“高內(nèi)聚,低耦合”方法:設(shè)計(jì)有獨(dú)立功能的模塊模塊間傳遞數(shù)據(jù)型的參數(shù)模塊間共享信息盡量少事務(wù)分析設(shè)計(jì)事務(wù)分析的設(shè)計(jì)步驟和變換分析的設(shè)計(jì)步驟大部分

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論