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

下載本文檔

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

文檔簡(jiǎn)介

第8章 面向數(shù)據(jù)流的設(shè)計(jì)方法面向數(shù)據(jù)流的設(shè)計(jì)方法,即通常所說的結(jié)構(gòu)設(shè)計(jì)法(StructureDesign,簡(jiǎn)稱SD方法),由Yourdon和Constantine等人于1974年提出的,與結(jié)構(gòu)化分析(SA)相銜接,根據(jù)對(duì)數(shù)據(jù)流的分析設(shè)計(jì)軟件結(jié)構(gòu)。本章所述技術(shù)用于軟件的概要設(shè)計(jì)描述,包括模塊、界面和數(shù)據(jù)結(jié)構(gòu)的定義,這是所有后續(xù)開發(fā)的基礎(chǔ)。SD方法對(duì)那些順序處理信息且不含層次數(shù)據(jù)結(jié)構(gòu)的系統(tǒng)最為有效,例如過程控制、復(fù)雜的數(shù)值分析過程、以及科學(xué)與工程方面的應(yīng)用。當(dāng)SD方法用于完全的數(shù)據(jù)處理時(shí),即使系統(tǒng)中使用層次數(shù)據(jù)也同樣行之有效。8.1SD方法的設(shè)設(shè)計(jì)過程程和有關(guān)關(guān)概念SD方法能方方便地將將數(shù)據(jù)流流圖轉(zhuǎn)換換為軟件件結(jié)構(gòu),,其過程程分為五五步:1.確確定信息息流的類類型;2.劃劃定流界界;3.將將數(shù)據(jù)流流圖映射射為程序序結(jié)構(gòu);;4.提提取層次次控制結(jié)結(jié)構(gòu);5.通通過設(shè)計(jì)計(jì)復(fù)審和和使用啟啟發(fā)式策策略進(jìn)一步精化化所得到到的結(jié)構(gòu)構(gòu)。1)變換流流變換流—在基本系系統(tǒng)模型型(即頂頂級(jí)數(shù)據(jù)據(jù)流圖))中信息息通常以以“外部部世界””所具有有的形式式進(jìn)入系系統(tǒng),經(jīng)經(jīng)過處理理后又以以這種形形式離開開系統(tǒng)。。輸入流外部表示示內(nèi)部表示示信息時(shí)間圖9?1??1信息流輸出流變換流1)變換流流圖9-1--2典型的變變換流變換流的的特點(diǎn)是是:經(jīng)過過變換B的數(shù)據(jù)流流一部分分先經(jīng)過過變換C到達(dá)變換換E,然后另一一部分經(jīng)經(jīng)過變換換D到達(dá)E;即C和D是順序結(jié)結(jié)構(gòu)。ABCDEF2)事務(wù)流流事務(wù)流——單個(gè)數(shù)據(jù)據(jù)項(xiàng)稱為為事務(wù)((transaction)沿傳入路路徑(也也稱接受受通道))進(jìn)入系系統(tǒng),由由外部形形式變換換為內(nèi)部部形式后后到達(dá)事事務(wù)中心心,事務(wù)務(wù)中心根根據(jù)數(shù)據(jù)據(jù)項(xiàng)計(jì)值值結(jié)果從從若干動(dòng)動(dòng)作路徑徑中選定定一條繼繼續(xù)執(zhí)行行。可見它是是一個(gè)選選擇結(jié)構(gòu)構(gòu)。事務(wù)中心心TB事務(wù)CA圖9?1??3事務(wù)流圖9?1??4面向數(shù)據(jù)據(jù)流的設(shè)計(jì)精化數(shù)據(jù)流圖流的類型確定事務(wù)中心和各動(dòng)作路徑確定輸入輸出流界映射為事務(wù)結(jié)構(gòu)映射為變換結(jié)構(gòu)提取控制結(jié)構(gòu)利用啟發(fā)式策略精化軟件結(jié)構(gòu)描述接口和全局?jǐn)?shù)據(jù)結(jié)構(gòu)事務(wù)分析變換分析復(fù)審詳細(xì)設(shè)計(jì)通過“變換”“事務(wù)”8.2變換分析析下面以““家庭保保安系統(tǒng)統(tǒng)”的傳傳感器監(jiān)監(jiān)測(cè)子系系統(tǒng)為例例說明變變換分析析的各個(gè)個(gè)步驟。。步驟一、、復(fù)審基基本系統(tǒng)統(tǒng)模型基本系統(tǒng)統(tǒng)模型指指頂級(jí)DFD和所有由由外部提提供的信信息。這這一設(shè)計(jì)計(jì)步驟是是對(duì)系統(tǒng)統(tǒng)規(guī)格說說明書和和軟件需需求規(guī)格格說明書書進(jìn)行評(píng)評(píng)估。這這兩個(gè)文文檔描述述軟件界界面上信信息的流流程和結(jié)結(jié)構(gòu)。圖9?2??1““家庭保安安系統(tǒng)””的頂級(jí)級(jí)數(shù)據(jù)流流圖警報(bào)類別別家庭保安安系統(tǒng)軟件件控制面板板顯示器警報(bào)器電話線傳感器用戶命令令顯示信息息傳感數(shù)據(jù)據(jù)電話撥號(hào)號(hào)音頻圖9?2??2““家庭保安安系統(tǒng)””的第一一級(jí)DFD電話撥號(hào)號(hào)音頻配置數(shù)據(jù)據(jù)配置數(shù)數(shù)據(jù)配置數(shù)據(jù)據(jù)用戶命令令處理顯示信息息和狀態(tài)傳感器監(jiān)測(cè)系統(tǒng)配置控制面板板顯示器警報(bào)器電話線傳感器配置信息息配置命命令啟動(dòng)/停止命令令原口令有效口令令傳感器信信息報(bào)警類別別傳感數(shù)據(jù)據(jù)顯示信信息用戶命令令口令啟動(dòng)/停止系統(tǒng)和狀狀態(tài)啟動(dòng)或停止消息息口令核對(duì)對(duì)用戶交互子系統(tǒng)8.2變換分析析步驟二、、復(fù)審和和精化軟軟件數(shù)據(jù)據(jù)流圖這一步主主要是對(duì)對(duì)軟件需需求規(guī)格格說明書書中的分分析模型型進(jìn)行精精化,直直至獲得得足夠詳詳細(xì)的DFD。例如,由由“傳感感器監(jiān)測(cè)測(cè)子系統(tǒng)統(tǒng)”的第第一級(jí)((圖9?2??2的局部))和第二二級(jí)(圖圖9?2??3)DFD進(jìn)一步推推導(dǎo)出第第三級(jí)數(shù)數(shù)據(jù)流圖圖(圖9?2??4),此時(shí)時(shí),每個(gè)個(gè)變換對(duì)對(duì)應(yīng)一個(gè)個(gè)獨(dú)立的的功能,,可以用用一個(gè)具具有較高高內(nèi)聚度度的模塊塊實(shí)現(xiàn),,至此已已有足夠夠的信息息可用于于設(shè)計(jì)““傳感器器監(jiān)測(cè)子子系統(tǒng)””的程序序結(jié)構(gòu),,精化過過程亦可可結(jié)束。。圖9?2??3““傳感器監(jiān)監(jiān)測(cè)子系系統(tǒng)”的的第二級(jí)級(jí)DFD傳感器信信息傳感器標(biāo)標(biāo)志的類型和和位置傳感數(shù)據(jù)據(jù)警報(bào)類別別警報(bào)數(shù)據(jù)據(jù)顯示格式產(chǎn)生警報(bào)信號(hào)電話撥號(hào)異常數(shù)據(jù)據(jù)判別讀取傳感感數(shù)據(jù)配置信信息息配置數(shù)據(jù)據(jù)傳感器標(biāo)識(shí)類型型電話號(hào)碼碼電話撥號(hào)號(hào)音頻圖9?2??4““傳感器監(jiān)監(jiān)測(cè)子系系統(tǒng)”的的第三級(jí)級(jí)DFD配置信信息息警報(bào)條件件碼傳感器標(biāo)標(biāo)志定時(shí)信息息傳感數(shù)據(jù)據(jù)電話號(hào)碼碼對(duì)應(yīng)的音音頻電話撥號(hào)音頻傳感器信信息號(hào)碼表電話號(hào)碼碼讀取傳感感數(shù)據(jù)獲取響應(yīng)應(yīng)信息建立警報(bào)報(bào)條件選擇電話話號(hào)碼連通電話話網(wǎng)產(chǎn)生撥號(hào)號(hào)脈沖產(chǎn)生警報(bào)報(bào)信號(hào)格式化顯顯示產(chǎn)生顯示示傳感器標(biāo)標(biāo)志的類類型和位位置格式化標(biāo)標(biāo)志的類類型和位位置置傳感器器標(biāo)識(shí)警報(bào)數(shù)據(jù)據(jù)警報(bào)類別別配置置數(shù)數(shù)據(jù)據(jù)8.2變換分析析步驟三、、確定DFD的特性,,判定它它為變換換流還是是事務(wù)流流。以圖9?2??4所示DFD為例,數(shù)數(shù)據(jù)沿一一個(gè)傳入入路徑進(jìn)進(jìn)來,沿沿三個(gè)傳傳出路徑徑離開,,沒有明明顯的事事務(wù)中心心,因此此,該信信息流應(yīng)應(yīng)屬變換換流。步驟四、、劃定輸輸入流和和輸出流流的邊界界,孤立立變換中中心。8.2變換分析析步驟五、、執(zhí)行““一級(jí)分分解”((firstlevelfactoring)一級(jí)分解解的目標(biāo)標(biāo)是導(dǎo)出出具有三三個(gè)層次次的程序序結(jié)構(gòu),,頂層為為主控模模塊;底底層模塊塊執(zhí)行輸輸入、計(jì)計(jì)算和輸輸出功能能;中層層模塊控控制、協(xié)協(xié)調(diào)底層層的工作作。8.2變換分析析程序結(jié)構(gòu)構(gòu)可用Yourdon結(jié)構(gòu)圖表表示。結(jié)結(jié)構(gòu)圖中中,方框框代表模模塊,框框內(nèi)名稱稱表示模模塊的功功能;方方框之間間的有向向邊(無無二義時(shí)時(shí)也可用用無向邊邊)表示示模塊間間的調(diào)用用關(guān)系。。調(diào)用模模塊上無無標(biāo)志表表示順序序調(diào)用::從左至至右;菱菱形表示示選擇調(diào)調(diào)用;弧弧形箭頭頭表示循循環(huán)調(diào)用用。但本本書后面面除了順順序調(diào)用用外,并并沒有遵遵循這些些規(guī)定。。acbacbaba)順序調(diào)用用b)選擇調(diào)用用c)循環(huán)調(diào)用用8.2變換分析析圖9?2??5所示的結(jié)結(jié)構(gòu)圖對(duì)對(duì)應(yīng)于一一級(jí)分解解的上兩兩層模塊塊,即主主控模塊塊和下面面幾個(gè)中中層控制制模塊::①輸入入流控制制模塊,,接收所所有輸入入數(shù)據(jù);;②變換換流控制制模塊,,對(duì)內(nèi)部部形式數(shù)數(shù)據(jù)進(jìn)行行加工、、處理;;③輸出出流控制制模塊,,產(chǎn)生輸輸出數(shù)據(jù)據(jù)。8.2變換分析析圖9?2??5一級(jí)分解解輸入流變換流變換流控制模塊塊輸入流控制模塊塊輸出流主控模塊塊輸出流控制模塊塊ABCDEFGH8.2變換分析析圖9?2??5展示的是是一個(gè)簡(jiǎn)簡(jiǎn)單三叉叉結(jié)構(gòu),,實(shí)際處處理大型型系統(tǒng)的的復(fù)雜數(shù)數(shù)據(jù)流時(shí)時(shí),可能能需要多多個(gè)模塊塊對(duì)應(yīng)圖圖9-2--5中一個(gè)模模塊的功功能?!啊耙患?jí)分分解”總總的原則則是,在在完成控控制功能能并保持持低耦合合度、高高內(nèi)聚度度的前提提下盡可可能地減減少模塊塊的數(shù)量量?!皞鞲衅髌鞅O(jiān)測(cè)子子系統(tǒng)””一級(jí)分分解如圖圖9?2??6所示,其其中控制制模塊的的名字概概括了所所有下屬屬模塊的的功能。。圖9?2??6傳感器監(jiān)監(jiān)測(cè)子系系統(tǒng)一級(jí)級(jí)分解結(jié)結(jié)果警報(bào)條件件控制模模塊傳感器輸輸入控制制模塊主控模塊塊警報(bào)輸出出控制模模塊配置信信息息8.2變換分析析步驟六、、執(zhí)行““二級(jí)分分解”。。二級(jí)分解解的任務(wù)務(wù)是把數(shù)數(shù)據(jù)流圖圖中每個(gè)個(gè)處理框框映射為為結(jié)構(gòu)圖圖中的一一個(gè)模塊塊。其過過程是從從變換中中心的邊邊界開始始沿輸入入、輸出出通道向向外移動(dòng)動(dòng);從變變換中心心的輸入入(出)邊界向外外移動(dòng),,把遇到到的每個(gè)個(gè)處理框框映射為為結(jié)構(gòu)圖圖中相應(yīng)應(yīng)控制模模塊下的的一個(gè)模模塊。圖9-2--7二級(jí)分解解輸入流變換流輸入流控控制模塊塊輸出流主控模塊塊ABCDEFGHBDAC變換流控控制模塊塊輸出流控控制模塊塊EFGH8.2變換分析析DFD的處理框框與程序序結(jié)構(gòu)模模塊一一一對(duì)應(yīng),,但按照照軟件設(shè)設(shè)計(jì)原則則進(jìn)行設(shè)設(shè)計(jì)時(shí),,可能需需要把幾幾個(gè)處理理框聚合合為一個(gè)個(gè)模塊,,或者把把一個(gè)處處理框裂裂變?yōu)閹讕讉€(gè)模塊塊??傊瑧?yīng)根根據(jù)“良良好”設(shè)設(shè)計(jì)的標(biāo)標(biāo)準(zhǔn),進(jìn)進(jìn)行二級(jí)級(jí)分解。。二級(jí)分解解后得到到的僅僅僅是程序序結(jié)構(gòu)的的“雛形形”(first?cut),后續(xù)的復(fù)復(fù)審和精精化會(huì)反反復(fù)修改改。8.2變換分析析程序結(jié)構(gòu)構(gòu)的模塊塊名已隱隱含了模模塊功能能,但仍仍有必要要為每個(gè)個(gè)模塊寫寫一個(gè)簡(jiǎn)簡(jiǎn)要的處處理說明明,它應(yīng)應(yīng)當(dāng)包括括:1.進(jìn)出模模塊的信信息(接接口描述述);2.模塊的的局部信信息;3.處理過過程陳述述,包括括任務(wù)和和主要的的判斷點(diǎn)的位位置、條條件;4.對(duì)有關(guān)關(guān)限制和和一些專專門特性性的簡(jiǎn)要要說明(例如如,文件件I/O,獨(dú)立于硬硬件的特性,特特殊的實(shí)實(shí)時(shí)要求求等)。。這些描述述構(gòu)成第第一版設(shè)設(shè)計(jì)規(guī)格格說明書書。8.2變換分析析步驟七、、采用啟啟發(fā)式設(shè)設(shè)計(jì)策略略,精化化所得程程序結(jié)構(gòu)構(gòu)雛形,,改良軟軟件質(zhì)量量對(duì)于程序序結(jié)構(gòu)的的雛形,,以“模模塊獨(dú)立立”為指指導(dǎo)思想想,對(duì)模模塊進(jìn)行行整合或或分解,,旨在追追求高內(nèi)內(nèi)聚、低低耦合,,以及易易實(shí)現(xiàn)、、易測(cè)試試、易維維護(hù)的軟軟件結(jié)構(gòu)構(gòu)。圖9-2--8結(jié)構(gòu)的優(yōu)優(yōu)化輸入流控控制模塊塊主控模塊塊BDAC變換流控控制模塊塊輸出流控控制模塊塊EFGH輸入流控控制模塊塊主控模塊塊BDACEFGH8.2變換分析析上述七個(gè)個(gè)設(shè)計(jì)步步驟的目目標(biāo)是給給出軟件件的一個(gè)個(gè)整體描描述。一旦有了了這樣一一個(gè)描述述,設(shè)計(jì)計(jì)人員即即可從整整體角度度評(píng)價(jià)和和精化軟軟件的總總體結(jié)構(gòu)構(gòu),此時(shí)時(shí)修改所所需耗費(fèi)費(fèi)不多,,卻能大大大提高高軟件質(zhì)質(zhì)量。8.3事務(wù)分析析當(dāng)數(shù)據(jù)流流具有明明顯的事事務(wù)特征征時(shí),即即能找到到一個(gè)事事務(wù)(亦亦稱觸發(fā)發(fā)數(shù)據(jù)項(xiàng)項(xiàng))和一一個(gè)事務(wù)務(wù)中心,,采用事事務(wù)分析析法更為為適宜。。下面以““家庭保保安系統(tǒng)統(tǒng)”中““用戶交交互子系系統(tǒng)”為為例,說說明事務(wù)務(wù)分析法法。該子系統(tǒng)統(tǒng)的第一一級(jí)數(shù)據(jù)據(jù)流圖精精化后得得到如圖圖9?3??1所示第二二級(jí)數(shù)據(jù)據(jù)流圖。。圖中““用戶命命令數(shù)據(jù)據(jù)”流入入系統(tǒng)后后,沿三三條動(dòng)作作路徑之之一離開開系統(tǒng),,若將數(shù)數(shù)據(jù)項(xiàng)““命令類類型”看看作事務(wù)務(wù),該子子系統(tǒng)的的信息流流具有明明顯的事事務(wù)特征征。圖9?3??1用戶交互互子系統(tǒng)統(tǒng)的二級(jí)級(jí)數(shù)據(jù)流流圖無效口令令啟動(dòng)/停止命令令口令啟動(dòng)/停止消息息配置數(shù)據(jù)據(jù)配置數(shù)據(jù)據(jù)配置命令令顯示信息息“再試””信息讀取用戶戶命令啟動(dòng)命令令處理啟動(dòng)/停止系統(tǒng)統(tǒng)產(chǎn)生無效效的信息息讀取系統(tǒng)統(tǒng)數(shù)據(jù)讀取配置置文件讀取口令令顯示信息息和狀態(tài)態(tài)比較口令令與文件配置信信息息用戶命令令數(shù)據(jù)系統(tǒng)參數(shù)數(shù)和數(shù)據(jù)據(jù)原始配置置項(xiàng)格式化的的配置數(shù)據(jù)據(jù)命令類型型確認(rèn)口令令四位數(shù)有效口令令8.3事務(wù)分析析事務(wù)分析析法可概概括為七七個(gè)步驟驟:步驟一、、復(fù)審基基本系統(tǒng)統(tǒng)模型;;步驟二、、復(fù)審并并精化軟軟件數(shù)據(jù)據(jù)流圖;;步驟三、、確定數(shù)數(shù)據(jù)流圖圖的特征征;步驟四、、指出事事務(wù)中心心,確定定接收部部分和發(fā)送部部分的流流界;步驟五、、映射出出系統(tǒng)上上層模塊塊結(jié)構(gòu);;圖9-3--2映射系統(tǒng)統(tǒng)上層結(jié)結(jié)構(gòu)模塊塊9861254371011事務(wù)中心心接收部分分發(fā)送部分分SYSTEM輸入1散轉(zhuǎn)2SUBSYS1SUBSYS2SUBSYS3………8.3事務(wù)分析析步驟六、、分解并并精化事事務(wù)結(jié)構(gòu)構(gòu)以及每每條動(dòng)作作路徑所所對(duì)應(yīng)的的結(jié)構(gòu)。。這些子子結(jié)構(gòu)是是根據(jù)流流經(jīng)每一一動(dòng)作路路徑的數(shù)數(shù)據(jù)流特特征,采采用本節(jié)節(jié)或上節(jié)節(jié)所述設(shè)設(shè)計(jì)步驟驟逐一導(dǎo)導(dǎo)出的。。圖9-3--3設(shè)計(jì)系統(tǒng)統(tǒng)下層模模塊結(jié)構(gòu)構(gòu)9861254371011事務(wù)中心心接收部分分發(fā)送部分分SUBSYS2710411輸入控制制變換控制制輸出控制制8.3事務(wù)分析析圖9-3--4將模塊結(jié)結(jié)構(gòu)組合合,得到到程序結(jié)結(jié)構(gòu)雛形形SYSTEM輸入1散轉(zhuǎn)2SUBSYS1SUBSYS2SUBSYS3710411輸入控制制變換控制制輸出控制制365898.3事務(wù)分析析步驟七、、使用啟啟發(fā)式設(shè)設(shè)計(jì)策略略,精化化所得程程序結(jié)構(gòu)構(gòu)雛形,,改良軟軟件質(zhì)量量。這一一步驟與與變換分分析法相相同。SYSTEM輸入1散轉(zhuǎn)2SUBSYS2710411365898.4設(shè)計(jì)優(yōu)化化及原則則8.4..1啟發(fā)式設(shè)設(shè)計(jì)策略略1.調(diào)整模模塊的功功能和規(guī)規(guī)模,降降低耦合合度,提提高內(nèi)聚聚度。若在幾個(gè)個(gè)模塊中中發(fā)現(xiàn)了了共有的的子功能能,一般般應(yīng)將此此子功能能獨(dú)立出出來作為為一個(gè)模模塊,以以提高單單個(gè)模塊塊的內(nèi)聚聚度。合合并模塊塊通常是是為了減減少控制制信息的的傳遞以以及對(duì)全全程數(shù)據(jù)據(jù)的引用用,同時(shí)時(shí)降低接接口的復(fù)復(fù)雜性。。模塊的規(guī)規(guī)模沒有有固定的的要求。。以保持持模塊的的獨(dú)立性性為原則則。一般般而言,,模塊規(guī)規(guī)模以一一頁左右右為宜((高級(jí)語語言在75個(gè)語句左左右)。。8.4..1啟發(fā)式設(shè)設(shè)計(jì)策略略2.調(diào)整軟軟件結(jié)構(gòu)構(gòu)的深度度、寬度度、扇出出和扇入入數(shù)目,,改善軟軟件結(jié)構(gòu)構(gòu)性能。。經(jīng)驗(yàn)表明明,設(shè)計(jì)計(jì)良好的的軟件結(jié)結(jié)構(gòu)通常常頂層扇扇出較高高,中層層扇出較較低,底底層又高高扇入到到公共的的實(shí)用模模塊中去去。圖9?4??1應(yīng)追求與與避免的的程序結(jié)結(jié)構(gòu)應(yīng)追求的結(jié)構(gòu)應(yīng)避免的結(jié)構(gòu)8.4..1啟發(fā)式設(shè)設(shè)計(jì)策略略8.4..1啟發(fā)式設(shè)設(shè)計(jì)策略略3.改造程程序結(jié)構(gòu)構(gòu),使任任一模塊塊的作用用域在其控制制域之內(nèi)內(nèi)。判定受F中判定的的影響ACFEGHDB違背第三三條原則則滿足第三三條原則則ADCEFHGB圖9?4??2作用域與與控制域域8.4..1啟發(fā)式設(shè)設(shè)計(jì)策略略4.分析模模塊之間間的接口口信息,,降低界界面的復(fù)雜性性和冗余余程度,,提高協(xié)協(xié)調(diào)性。。界面復(fù)雜雜是引起起軟件錯(cuò)錯(cuò)誤的一一個(gè)基本本因素,,界面上上傳遞的的數(shù)據(jù)應(yīng)應(yīng)盡可能能簡(jiǎn)單并并與模塊塊的功能能相協(xié)調(diào)調(diào),界面面不協(xié)調(diào)調(diào)(即在在同一個(gè)個(gè)參數(shù)表表內(nèi)或以以其他某某種方式式傳遞不不甚相關(guān)關(guān)的一堆堆數(shù)據(jù)))本身就就是模塊塊低內(nèi)聚聚的表征征。8.4..1啟發(fā)式設(shè)設(shè)計(jì)策略略5.模塊功功能應(yīng)該該可預(yù)言言,避免免對(duì)模塊塊施加過過多限制制。模塊功能能可預(yù)言言指,只只要模塊塊的輸入入數(shù)據(jù)相相同,其其運(yùn)行產(chǎn)產(chǎn)生的輸輸出必然然相同,,也就是是可以依依據(jù)其輸輸入數(shù)據(jù)據(jù)預(yù)測(cè)模模塊的輸輸出結(jié)果果。此外外,如果果設(shè)計(jì)時(shí)時(shí)對(duì)模塊塊中局部部數(shù)據(jù)的的體積,,控制流流程的選選擇及外外部接口口方式等等諸因素素限制過過多,則則以后為為去掉這這些限制制要增加加維護(hù)開開銷。8.4..1啟發(fā)式設(shè)設(shè)計(jì)策略略6.改造程序序結(jié)構(gòu),,追求單單入口單單出口的的模塊。。7.為滿足設(shè)設(shè)計(jì)或可可移植性性的要求求,把某某些軟件用包((package)的形式封封裝起來來。軟件設(shè)計(jì)計(jì)常常附附帶一些些特殊限限制,例例如,要要求程序序采用覆覆蓋技術(shù)術(shù)。此時(shí)時(shí),根據(jù)據(jù)模塊重重要的程程度、被被訪問的的頻率及及兩次引引用的間間隔等因因素對(duì)模模塊分組組。此外,程程序中那那些供選選擇的或或“單調(diào)調(diào)”(one??shot)的模塊應(yīng)應(yīng)單獨(dú)存存在,以以便高效效地加載載。輔助文檔檔獲得程序序結(jié)構(gòu)后后,必須須開發(fā)一一系列輔輔助文檔檔,作為為軟件總總體設(shè)計(jì)計(jì)的組成成部分。。主要工工作包括括:1)陳述每每個(gè)模塊塊的處理理過程;;2)描述每每個(gè)模塊塊的界面面;3)根據(jù)數(shù)數(shù)據(jù)字典典定義數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu);4)綜述設(shè)設(shè)計(jì)中所所有限制制和約束束;5)對(duì)概要要設(shè)計(jì)進(jìn)進(jìn)行復(fù)審審;6)對(duì)設(shè)計(jì)計(jì)進(jìn)行優(yōu)優(yōu)化。8.4..2設(shè)計(jì)優(yōu)化化原則我們努力力追求的的設(shè)計(jì)應(yīng)應(yīng)該是既既滿足功功能和性性能的要要求,又又符合一一般軟件件設(shè)計(jì)原原理和上上述種種種啟發(fā)式式設(shè)計(jì)原原則。對(duì)軟件結(jié)結(jié)構(gòu)的修修改越早早越好。。必要時(shí)時(shí),可以以并行地地開發(fā)若若干個(gè)軟軟件結(jié)構(gòu)構(gòu),通過過評(píng)比,,求得““最佳””結(jié)果。。簡(jiǎn)潔的程程序結(jié)構(gòu)構(gòu)容易測(cè)測(cè)試、容容易維護(hù)護(hù),應(yīng)該該使用盡盡可能少少的模塊塊;只要要滿足信信息要求求,應(yīng)該該使用盡盡可能簡(jiǎn)簡(jiǎn)單的數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)。結(jié)構(gòu)優(yōu)化化是一個(gè)個(gè)精益求求精的過過程。優(yōu)優(yōu)化過程程可以在在設(shè)計(jì)的的早期,,甚至要要延續(xù)到到詳細(xì)設(shè)設(shè)計(jì)乃至至編碼階階段。8.4..2設(shè)計(jì)優(yōu)化化原則對(duì)時(shí)間有有特殊要要求的軟軟件,應(yīng)應(yīng)根據(jù)普普遍存在在的“百百分之二二十規(guī)則則”(即即20%的代碼占占用80%的處理時(shí)時(shí)間,80%的錯(cuò)誤出出自20%的代碼))采用下下述對(duì)策策:1.在不考考慮時(shí)、、空耗費(fèi)費(fèi)的情況況下,設(shè)設(shè)計(jì)并精精化軟件結(jié)構(gòu);;2.借用CASE工具模擬擬分析運(yùn)運(yùn)行時(shí)的的性能,,定位出出低效的部部分,加加以改進(jìn)進(jìn);3.詳細(xì)設(shè)設(shè)計(jì)時(shí)對(duì)對(duì)最耗時(shí)時(shí)的模塊塊,認(rèn)真真地設(shè)計(jì)計(jì)它們的的處理過程((算法)),以便便減少時(shí)時(shí)間的開開銷;4.

溫馨提示

  • 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. 人人文庫(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)論