版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w軟件可靠性設(shè)計(jì)概述軟件可靠性設(shè)計(jì)概述w避錯(cuò)設(shè)計(jì)避錯(cuò)設(shè)計(jì)w查錯(cuò)和改錯(cuò)設(shè)計(jì)查錯(cuò)和改錯(cuò)設(shè)計(jì)w容錯(cuò)設(shè)計(jì)容錯(cuò)設(shè)計(jì)上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w實(shí)質(zhì):在常規(guī)的軟件設(shè)計(jì)中,應(yīng)用必須的方法和實(shí)質(zhì):在常規(guī)的軟件設(shè)計(jì)中,應(yīng)用必須的方法和技術(shù),使程序設(shè)計(jì)在兼顧用戶的各種需求時(shí),全技術(shù),使程序設(shè)計(jì)在兼顧用戶的各種需求時(shí),全面滿足軟件的可靠性要求面滿足軟件的可靠性要求w可靠性設(shè)計(jì)的四種類型:可靠性設(shè)計(jì)的四種類型:n避錯(cuò)設(shè)計(jì)避錯(cuò)設(shè)計(jì)n查錯(cuò)設(shè)計(jì)查錯(cuò)設(shè)計(jì)n改錯(cuò)設(shè)
2、計(jì)改錯(cuò)設(shè)計(jì)n容錯(cuò)設(shè)計(jì)容錯(cuò)設(shè)計(jì)上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w使軟件產(chǎn)品在設(shè)計(jì)過程中,不發(fā)送錯(cuò)誤或少發(fā)生使軟件產(chǎn)品在設(shè)計(jì)過程中,不發(fā)送錯(cuò)誤或少發(fā)生錯(cuò)誤的一種設(shè)計(jì)方法錯(cuò)誤的一種設(shè)計(jì)方法w各種軟件工程方法各種軟件工程方法有助于避錯(cuò)有助于避錯(cuò)w可靠性設(shè)計(jì)的可靠性設(shè)計(jì)的Myers設(shè)計(jì)原則設(shè)計(jì)原則n控制程序的復(fù)雜度控制程序的復(fù)雜度w使系統(tǒng)中的各個(gè)模塊具有最大的獨(dú)立性使系統(tǒng)中的各個(gè)模塊具有最大的獨(dú)立性w使程序具有合理的層次結(jié)構(gòu)使程序具有合理的層次結(jié)構(gòu)w當(dāng)模塊或單元之間的相互作用無法避免時(shí),務(wù)必使其聯(lián)系盡當(dāng)模塊或單元之間的相互作用無法避免時(shí),務(wù)必使其聯(lián)系盡量簡(jiǎn)單,以防止在模塊
3、和單元之間產(chǎn)生未知的邊際效應(yīng),使量簡(jiǎn)單,以防止在模塊和單元之間產(chǎn)生未知的邊際效應(yīng),使設(shè)計(jì)人員陷入泥潭,無力自拔設(shè)計(jì)人員陷入泥潭,無力自拔n與用戶保持緊密聯(lián)系與用戶保持緊密聯(lián)系上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w1.模塊化模塊化n模塊模塊:w模塊是由邊界元素限定的相鄰的程序元素模塊是由邊界元素限定的相鄰的程序元素(例如數(shù)據(jù)說明例如數(shù)據(jù)說明,可可執(zhí)行語句執(zhí)行語句)的序列的序列,而且有一個(gè)總體的標(biāo)識(shí)符來代表它而且有一個(gè)總體的標(biāo)識(shí)符來代表它w如如pascal和和Ada中的塊結(jié)構(gòu)中的中的塊結(jié)構(gòu)中的Beginend對(duì)對(duì),或者或者Java中中的的w因此因此,過程、函數(shù)、子過程、
4、子函數(shù)、宏等都可以作為模塊過程、函數(shù)、子過程、子函數(shù)、宏等都可以作為模塊w面向?qū)ο笾械膶?duì)象以及對(duì)象內(nèi)的方法也是模塊面向?qū)ο笾械膶?duì)象以及對(duì)象內(nèi)的方法也是模塊n就是把程序劃分成若干個(gè)模塊,每個(gè)模塊完就是把程序劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來組成一成一個(gè)子功能,把這些模塊集成起來組成一個(gè)整體,可以完成指定的功能,解決實(shí)際問個(gè)整體,可以完成指定的功能,解決實(shí)際問題。題。2022-5-165上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-166過程、函數(shù)VB上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-167過程、
5、函數(shù)C+類型標(biāo)識(shí)符類型標(biāo)識(shí)符 函數(shù)名(形式參數(shù)表)函數(shù)名(形式參數(shù)表) 語句序列語句序列對(duì)于過程:類型標(biāo)識(shí)符為對(duì)于過程:類型標(biāo)識(shí)符為void上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-168子過程、子函數(shù)、子程序主程序輸入子程序計(jì)算子程序輸出子程序上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w面向?qū)ο笾械膶?duì)象以及對(duì)象內(nèi)的方法也是模塊面向?qū)ο笾械膶?duì)象以及對(duì)象內(nèi)的方法也是模塊2022-5-169訂單DateRecieveisPrepaidPriceDispatch()Close()上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院
6、2022-5-1610經(jīng)驗(yàn)經(jīng)驗(yàn)1:工作量:工作量E(P1+P2)E(P1)+E(P2)經(jīng)驗(yàn)經(jīng)驗(yàn)2:成本成本成本成本 / / 模塊模塊最小成本區(qū)最小成本區(qū)接口成本接口成本軟件總成本軟件總成本模塊數(shù)目模塊數(shù)目上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w人類在認(rèn)識(shí)復(fù)雜現(xiàn)象的過程中使用的最強(qiáng)有力的思維工人類在認(rèn)識(shí)復(fù)雜現(xiàn)象的過程中使用的最強(qiáng)有力的思維工具是抽象。人們?cè)趯?shí)踐中認(rèn)識(shí)到,在現(xiàn)實(shí)世界中一定事具是抽象。人們?cè)趯?shí)踐中認(rèn)識(shí)到,在現(xiàn)實(shí)世界中一定事物、狀態(tài)或過程之間總存在著某些相似的方面物、狀態(tài)或過程之間總存在著某些相似的方面(共性共性)。把這些相似的方面集中和概括起來,暫時(shí)忽略它們
7、之間把這些相似的方面集中和概括起來,暫時(shí)忽略它們之間的差異,這就是抽象。的差異,這就是抽象?;蛘哒f抽象就是抽出事物的本質(zhì)或者說抽象就是抽出事物的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié)。特性而暫時(shí)不考慮它們的細(xì)節(jié)。2022-5-16112、抽象、抽象/逐步求精逐步求精 上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1612例:例:開發(fā)一個(gè)開發(fā)一個(gè)CAD軟件,實(shí)現(xiàn)一個(gè)二維繪圖系統(tǒng)的全部功軟件,實(shí)現(xiàn)一個(gè)二維繪圖系統(tǒng)的全部功能,供低級(jí)計(jì)算機(jī)輔助設(shè)計(jì)使用。能,供低級(jí)計(jì)算機(jī)輔助設(shè)計(jì)使用。w在我們考慮對(duì)任何問題的模塊化解法時(shí),可以在我們考慮對(duì)任何問題的模塊化解法時(shí),可以抽象出很多層次
8、。抽象出很多層次。n在抽象的最高層次使用問題環(huán)境的語言,以概括方在抽象的最高層次使用問題環(huán)境的語言,以概括方式敘述問題的解法式敘述問題的解法n在較低的層次采用更過程化的方法,把面向問題的在較低的層次采用更過程化的方法,把面向問題的術(shù)語和面向?qū)崿F(xiàn)的術(shù)語結(jié)合起來敘述問題的解法術(shù)語和面向?qū)崿F(xiàn)的術(shù)語結(jié)合起來敘述問題的解法n最后,在最低的抽象層次可以直接實(shí)現(xiàn)的方法來敘最后,在最低的抽象層次可以直接實(shí)現(xiàn)的方法來敘述問題的解法述問題的解法上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1613 抽象層次抽象層次I I:用問題所處環(huán)境的術(shù)語來描述這個(gè):用問題所處環(huán)境的術(shù)語來描述這
9、個(gè)軟件。軟件。n該軟件包括一個(gè)計(jì)算機(jī)繪圖界面,向繪圖員顯示圖該軟件包括一個(gè)計(jì)算機(jī)繪圖界面,向繪圖員顯示圖形,以及一個(gè)數(shù)字化儀界面,用以代替繪圖板和丁形,以及一個(gè)數(shù)字化儀界面,用以代替繪圖板和丁字尺。所有直線、折線、矩形、圓及曲線的描畫、字尺。所有直線、折線、矩形、圓及曲線的描畫、所有的幾何計(jì)算、所有的剖面圖和輔助視圖都可以所有的幾何計(jì)算、所有的剖面圖和輔助視圖都可以用這個(gè)用這個(gè)CADCAD軟件實(shí)現(xiàn)軟件實(shí)現(xiàn)。上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1614 抽象層次II:任務(wù)需求的描述。列出“What”而不是“How”。 CAD SOFTWARE TASKS
10、: user interaction task; 2-D drawing creation task; graphics display task; drawing file management task; END上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1615 抽象層次III:程序過程表示。以2-D繪圖生成任務(wù)為例: PROCEDURE 2-D drawing creation REPEAT UNTILE (drawing creation task terminates) DO WHILE (digitizer interaction occurs)
11、 Digitizer interface task; DETERMINE drawing request CASE Line: line drawing task; Rectangle: rectangle drawing task; Circle: circle drawing task; END; DO WHILE (keyboard interaction occurs) keyboard interaction task; PROCESS analysis/computation CASE View: auxiliary view task; Section: cross sectio
12、ning task; END; END REPETITION; END PROCEDURE. 上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-16163、信息隱蔽信息隱蔽(Information hiding)信息隱蔽使得一個(gè)模塊內(nèi)包含的信息(過程和數(shù)據(jù))對(duì)于不需要這些信息的模塊來說,是不能訪問的。 在這個(gè)抽象層次上,給出了初步的過程表示,所用的在這個(gè)抽象層次上,給出了初步的過程表示,所用的術(shù)語都已面向軟件,而且模塊化的工作已經(jīng)開始顯露。術(shù)語都已面向軟件,而且模塊化的工作已經(jīng)開始顯露。上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1
13、617f1 f2f3fifnSgi(X,S)S輸輸出出輸輸出出上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院4、模塊獨(dú)立性模塊獨(dú)立性(Module independence)w每個(gè)模塊完成一個(gè)相對(duì)獨(dú)立的特定子功能,并且和其他每個(gè)模塊完成一個(gè)相對(duì)獨(dú)立的特定子功能,并且和其他模塊之間的接口很簡(jiǎn)單。模塊之間的接口很簡(jiǎn)單。w模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)來衡量,這兩個(gè)標(biāo)模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)來衡量,這兩個(gè)標(biāo)準(zhǔn)分別稱為耦合性和內(nèi)聚性。準(zhǔn)分別稱為耦合性和內(nèi)聚性。藕合衡量不同模塊彼此間藕合衡量不同模塊彼此間互相依賴(連接)的緊密程度;內(nèi)聚衡量一個(gè)模塊內(nèi)部互相依賴(連接)的緊密程
14、度;內(nèi)聚衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此間結(jié)合的緊密程度。各個(gè)元素彼此間結(jié)合的緊密程度。w一般較較優(yōu)秀的軟件設(shè)計(jì)應(yīng)盡量做到高內(nèi)聚、低耦合,一般較較優(yōu)秀的軟件設(shè)計(jì)應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于即減弱模塊間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性提高模塊的獨(dú)立性。2022-5-1618上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1619Great deal of dependenceIndependent Highly coupledLoosely coupledUncoupled Goal: as loose
15、as possible = as independent as possible上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w耦合的七種類型耦合的七種類型n完全獨(dú)立完全獨(dú)立n數(shù)據(jù)耦合數(shù)據(jù)耦合n特征耦合特征耦合n控制耦合控制耦合n外部耦合外部耦合n公共耦合公共耦合n內(nèi)容耦合內(nèi)容耦合2022-5-1620上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w完全獨(dú)立完全獨(dú)立n兩個(gè)模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全是通過主模塊的控制和調(diào)用兩個(gè)模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全是通過主模塊的控制和調(diào)用來實(shí)現(xiàn)的來實(shí)現(xiàn)的2022-5-1621上海理工大學(xué)計(jì)算機(jī)與
16、電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w數(shù)據(jù)耦合數(shù)據(jù)耦合n一個(gè)模塊訪問另一個(gè)模塊時(shí),彼此之間是通過簡(jiǎn)單數(shù)據(jù)參數(shù)一個(gè)模塊訪問另一個(gè)模塊時(shí),彼此之間是通過簡(jiǎn)單數(shù)據(jù)參數(shù) (不是控制參數(shù)、公不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量共數(shù)據(jù)結(jié)構(gòu)或外部變量) 來交換輸入、輸出信息的。來交換輸入、輸出信息的。2022-5-1622上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w特征耦合特征耦合n一組模塊通過參數(shù)表傳遞記錄信息,就是特征記耦合一組模塊通過參數(shù)表傳遞記錄信息,就是特征記耦合。這個(gè)記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡(jiǎn)單變。這個(gè)記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡(jiǎn)單變量。量。202
17、2-5-1623上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w控制耦合控制耦合n如果一個(gè)模塊通過傳送開關(guān)、標(biāo)志、名字等控制信息,明顯地如果一個(gè)模塊通過傳送開關(guān)、標(biāo)志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合??刂七x擇另一模塊的功能,就是控制耦合。2022-5-1624ABFlagF2F1FnFlag上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1625上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w公共環(huán)境耦合公共環(huán)境耦合n若一組模塊都訪問同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間若一組模塊都訪問同一個(gè)公共數(shù)據(jù)環(huán)境,則
18、它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。數(shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。2022-5-1626上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1627 公共耦合 Global : V1 V2A:A1=V1+V2B:V1=B1Global : V1 V2A:V1+B:V2=B1+V1問題:?jiǎn)栴}: 公共部分的改動(dòng)將影響所有調(diào)用它的模塊;公共部分的改動(dòng)將影響所有調(diào)用它的模塊; 公共部分的數(shù)據(jù)存取無法控制;公共部分的數(shù)據(jù)存取無法控制; 復(fù)雜程度隨耦合模塊的個(gè)
19、數(shù)增加而增加。復(fù)雜程度隨耦合模塊的個(gè)數(shù)增加而增加。上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1628 公共耦合 上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w內(nèi)容耦合內(nèi)容耦合,如果發(fā)生下列情形,兩個(gè)模塊之間就如果發(fā)生下列情形,兩個(gè)模塊之間就發(fā)生了內(nèi)容耦合發(fā)生了內(nèi)容耦合n一個(gè)模塊直接訪問另一個(gè)模塊的內(nèi)部數(shù)據(jù)一個(gè)模塊直接訪問另一個(gè)模塊的內(nèi)部數(shù)據(jù);n一個(gè)模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部一個(gè)模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部;n兩個(gè)模塊有一部分程序代碼重迭兩個(gè)模塊有一部分程序代碼重迭(只可能出現(xiàn)在匯編只可能出現(xiàn)在匯編語言中語言中);n一個(gè)模塊有
20、多個(gè)入口。一個(gè)模塊有多個(gè)入口。2022-5-1629上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1630A訪問C的內(nèi)部數(shù)據(jù) 內(nèi)容耦合內(nèi)容耦合上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1631A不通過正常入口而轉(zhuǎn)入C的內(nèi)部。ABCDA:goto C1C:C1: 內(nèi)容耦合內(nèi)容耦合上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w應(yīng)遵循以下原則:盡量使用數(shù)據(jù)耦合,少用控制應(yīng)遵循以下原則:盡量使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合全不用
21、內(nèi)容耦合2022-5-1632上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1633w內(nèi)聚標(biāo)志一個(gè)內(nèi)聚標(biāo)志一個(gè)模塊內(nèi)模塊內(nèi)各個(gè)元素彼此緊密結(jié)合的緊密程度。各個(gè)元素彼此緊密結(jié)合的緊密程度。w七種內(nèi)聚:七種內(nèi)聚:n1.偶然內(nèi)聚偶然內(nèi)聚n2.邏輯內(nèi)聚邏輯內(nèi)聚n3.時(shí)間內(nèi)聚時(shí)間內(nèi)聚n4.過程內(nèi)聚過程內(nèi)聚n5.通信內(nèi)聚通信內(nèi)聚n6.順序內(nèi)聚順序內(nèi)聚n7.功能內(nèi)聚功能內(nèi)聚上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w功能內(nèi)聚功能內(nèi)聚n一個(gè)模塊中各個(gè)部分都是一個(gè)模塊中各個(gè)部分都是完成某一具體功能完成某一具體功能必不可少必不可少的組成部分,或者說該模塊中所有
22、部分都是為了完成的組成部分,或者說該模塊中所有部分都是為了完成一項(xiàng)具體功能而協(xié)同工作,緊密聯(lián)系,不可分割的。一項(xiàng)具體功能而協(xié)同工作,緊密聯(lián)系,不可分割的。則稱該模塊為功能內(nèi)聚模塊。則稱該模塊為功能內(nèi)聚模塊。n功能內(nèi)聚是最強(qiáng)也是最好的一種內(nèi)聚。功能內(nèi)聚是最強(qiáng)也是最好的一種內(nèi)聚。n例子例子:Sin(),GetCustomerName()2022-5-1634上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w順序內(nèi)聚順序內(nèi)聚n順序內(nèi)聚是指模塊中各成分有順序關(guān)系,某一成分的順序內(nèi)聚是指模塊中各成分有順序關(guān)系,某一成分的輸出數(shù)據(jù)是另一成分的輸入數(shù)據(jù)。輸出數(shù)據(jù)是另一成分的輸入數(shù)據(jù)。2022
23、-5-1635上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w通信內(nèi)聚通信內(nèi)聚n如果模塊中所有元素都使用同一個(gè)輸入數(shù)據(jù)和(或)產(chǎn)生同一如果模塊中所有元素都使用同一個(gè)輸入數(shù)據(jù)和(或)產(chǎn)生同一個(gè)輸出數(shù)據(jù),則稱為通信內(nèi)聚個(gè)輸出數(shù)據(jù),則稱為通信內(nèi)聚n或者說:如果一個(gè)模塊的所有成分都操作同一個(gè)數(shù)據(jù)集或者生或者說:如果一個(gè)模塊的所有成分都操作同一個(gè)數(shù)據(jù)集或者生成同一數(shù)據(jù)集成同一數(shù)據(jù)集n通常,通信內(nèi)聚模塊是通過數(shù)據(jù)流圖來定義的。通常,通信內(nèi)聚模塊是通過數(shù)據(jù)流圖來定義的。2022-5-1636上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w過程內(nèi)聚過程內(nèi)聚n如果一個(gè)模塊內(nèi)部
24、的處理成分是相關(guān)的如果一個(gè)模塊內(nèi)部的處理成分是相關(guān)的,而且這些處而且這些處理必須以特定的次序執(zhí)行理必須以特定的次序執(zhí)行,則稱為過程內(nèi)聚則稱為過程內(nèi)聚n使用流程圖做為工具設(shè)計(jì)程序時(shí),把流程圖中的某一使用流程圖做為工具設(shè)計(jì)程序時(shí),把流程圖中的某一部分劃出組成模塊,就得到過程內(nèi)聚模塊。例如,把部分劃出組成模塊,就得到過程內(nèi)聚模塊。例如,把流程圖中的循環(huán)部分、判定部分、計(jì)算部分分成三個(gè)流程圖中的循環(huán)部分、判定部分、計(jì)算部分分成三個(gè)模塊,這三個(gè)模塊都是過程內(nèi)聚模塊。模塊,這三個(gè)模塊都是過程內(nèi)聚模塊。n問題:請(qǐng)大家舉個(gè)生活中必須遵照特定次序的例子?問題:請(qǐng)大家舉個(gè)生活中必須遵照特定次序的例子? n答案:排
25、隊(duì)買飯(隊(duì)列,要求先進(jìn)先出)。答案:排隊(duì)買飯(隊(duì)列,要求先進(jìn)先出)。 2022-5-1637上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w時(shí)間內(nèi)聚時(shí)間內(nèi)聚n某個(gè)模塊包含的任務(wù)(操作)必須在同一時(shí)間內(nèi)執(zhí)行某個(gè)模塊包含的任務(wù)(操作)必須在同一時(shí)間內(nèi)執(zhí)行n如:模塊完成各種初始化工作如:模塊完成各種初始化工作2022-5-1638上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w邏輯內(nèi)聚邏輯內(nèi)聚n這種模塊把幾種相關(guān)的這種模塊把幾種相關(guān)的功能組合在一起,每次功能組合在一起,每次被被 調(diào)用時(shí),由傳送給模塊調(diào)用時(shí),由傳送給模塊的判定參數(shù)來確定該模的判定參數(shù)來確定該模塊塊
26、應(yīng)執(zhí)行哪一種功能。應(yīng)執(zhí)行哪一種功能。2022-5-1639A:Read inputsfrom diskfrom tapefrom 上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w偶然內(nèi)聚偶然內(nèi)聚n巧合內(nèi)聚巧合內(nèi)聚 (偶然內(nèi)聚偶然內(nèi)聚)。當(dāng)模塊內(nèi)各部分之。當(dāng)模塊內(nèi)各部分之間沒有聯(lián)系,或者即間沒有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系使有聯(lián)系,這種聯(lián)系也很松散,則稱這種也很松散,則稱這種模塊為巧合內(nèi)聚模塊模塊為巧合內(nèi)聚模塊,它是內(nèi)聚程度,它是內(nèi)聚程度 最最低的模塊。低的模塊。2022-5-1640上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1641上海理
27、工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1642n設(shè)計(jì)內(nèi)聚的原則設(shè)計(jì)內(nèi)聚的原則w設(shè)計(jì)時(shí)應(yīng)盡力爭(zhēng)取做到高內(nèi)聚設(shè)計(jì)時(shí)應(yīng)盡力爭(zhēng)取做到高內(nèi)聚,并且能夠辨識(shí)出低內(nèi)聚并且能夠辨識(shí)出低內(nèi)聚的模塊的模塊,并采取措施進(jìn)行修改并采取措施進(jìn)行修改,以提高模塊的內(nèi)聚程度、以提高模塊的內(nèi)聚程度、降低模塊間的耦合程度,從而獲得較高的模塊獨(dú)立性降低模塊間的耦合程度,從而獲得較高的模塊獨(dú)立性上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-16431. 爭(zhēng)取低耦合、高內(nèi)聚(增加內(nèi)聚爭(zhēng)取低耦合、高內(nèi)聚(增加內(nèi)聚 減少耦合)減少耦合)如果在幾個(gè)模塊中發(fā)現(xiàn)共有的子功能,一
28、般應(yīng)該將該子如果在幾個(gè)模塊中發(fā)現(xiàn)共有的子功能,一般應(yīng)該將該子功能獨(dú)立出來作為一個(gè)模塊,以提高模塊的獨(dú)立性功能獨(dú)立出來作為一個(gè)模塊,以提高模塊的獨(dú)立性合并那些具有較多的控制信息傳遞的模塊以降低模塊之合并那些具有較多的控制信息傳遞的模塊以降低模塊之間的耦合度間的耦合度上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-16442. 模塊規(guī)模適中:過大不易理解;太小則接口開模塊規(guī)模適中:過大不易理解;太小則接口開銷過大。注意分解后不應(yīng)降低模塊的獨(dú)立性。銷過大。注意分解后不應(yīng)降低模塊的獨(dú)立性。3. 適當(dāng)控制適當(dāng)控制 深度、寬度、扇出、扇入深度、寬度、扇出、扇入 深度深度 =
29、分層的層數(shù)。寬度越大系統(tǒng)越復(fù)雜分層的層數(shù)。寬度越大系統(tǒng)越復(fù)雜 寬度寬度 = 同一層上模塊數(shù)的最大值。過大表示系同一層上模塊數(shù)的最大值。過大表示系統(tǒng)復(fù)雜度大。統(tǒng)復(fù)雜度大。上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1645w系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1646扇出扇出 = 一個(gè)模塊直接一個(gè)模塊直接調(diào)用調(diào)用控制的模塊數(shù)??刂频哪K數(shù)。 3 fan-out 9扇出越大意味著模塊過分扇出越大意味著模塊過分復(fù)雜,應(yīng)該適當(dāng)增加中間復(fù)雜,應(yīng)該適當(dāng)增加中間層層扇出太小則可以把下級(jí)模扇出太小則可以把下級(jí)模塊進(jìn)一步
30、分解成若干子模塊進(jìn)一步分解成若干子模塊,或者把該模塊合并到塊,或者把該模塊合并到它的上級(jí)模塊中它的上級(jí)模塊中AA的扇出的扇出上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1647AA的扇入的扇入 扇入扇入 = 直接調(diào)用該模直接調(diào)用該模塊的模塊數(shù)塊的模塊數(shù)在不破壞獨(dú)立性的前提在不破壞獨(dú)立性的前提下,下,fan-in 大的比較好。大的比較好。w一個(gè)好的軟件結(jié)構(gòu)通常頂層扇出較高,中間層扇出較低一個(gè)好的軟件結(jié)構(gòu)通常頂層扇出較高,中間層扇出較低,底層又高扇入到公共模塊中去,底層又高扇入到公共模塊中去上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-
31、5-16484、作用域在控制域內(nèi)、作用域在控制域內(nèi) 控制域:包含該模塊和所有從控制域:包含該模塊和所有從屬于該模塊的模塊屬于該模塊的模塊MACBM的控制域?yàn)榈目刂朴驗(yàn)?M,A,B,C 作用域:模塊中的一個(gè)判定所影響的模塊。作用域:模塊中的一個(gè)判定所影響的模塊。上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1649TOP CD E FABTOP CD E FAB模塊D的作用域超出控制域D的作用域在控制域內(nèi)上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5-1650上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院2022-5
32、-16515、降低接口的復(fù)雜程度:接口復(fù)雜可能表明模塊的獨(dú)立性降低接口的復(fù)雜程度:接口復(fù)雜可能表明模塊的獨(dú)立性差。差。6、設(shè)計(jì)單入單出的模塊。當(dāng)從頂部進(jìn)入模塊并且從底部退、設(shè)計(jì)單入單出的模塊。當(dāng)從頂部進(jìn)入模塊并且從底部退出時(shí),軟件是比較容易理解和維護(hù)的出時(shí),軟件是比較容易理解和維護(hù)的上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w7、模塊功能可預(yù)測(cè)、模塊功能可預(yù)測(cè) 相同輸入必產(chǎn)生相同輸入必產(chǎn)生相同輸出。反例:模相同輸出。反例:模塊中使用全局變量或塊中使用全局變量或靜態(tài)變量,則可能導(dǎo)靜態(tài)變量,則可能導(dǎo)致不可預(yù)測(cè)。致不可預(yù)測(cè)。2022-5-1652上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院
33、上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w避錯(cuò)設(shè)計(jì)不能完全避免錯(cuò)誤避錯(cuò)設(shè)計(jì)不能完全避免錯(cuò)誤w需要設(shè)計(jì)能夠具有自動(dòng)查錯(cuò)和改錯(cuò)功能的方法需要設(shè)計(jì)能夠具有自動(dòng)查錯(cuò)和改錯(cuò)功能的方法w查錯(cuò)設(shè)計(jì)查錯(cuò)設(shè)計(jì)n被動(dòng)式檢測(cè)被動(dòng)式檢測(cè)n主動(dòng)式檢測(cè)主動(dòng)式檢測(cè)上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w適用于軟件的各種結(jié)構(gòu)層次,用來檢測(cè)從一個(gè)單適用于軟件的各種結(jié)構(gòu)層次,用來檢測(cè)從一個(gè)單元、模塊向另一個(gè)單元、模塊傳遞的錯(cuò)誤征兆和元、模塊向另一個(gè)單元、模塊傳遞的錯(cuò)誤征兆和檢測(cè)存在于單元、模塊內(nèi)部的錯(cuò)誤檢測(cè)存在于單元、模塊內(nèi)部的錯(cuò)誤w原則原則n相互懷疑原則相互懷疑原則n立即檢測(cè)原則立即檢測(cè)原則上海理工大學(xué)計(jì)算機(jī)
34、與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w方法:取決于軟件的用途、功能、結(jié)構(gòu)和算法,方法:取決于軟件的用途、功能、結(jié)構(gòu)和算法,沒有通用的模式,可選擇的方法沒有通用的模式,可選擇的方法n檢查每個(gè)輸入數(shù)據(jù)的屬性檢查每個(gè)輸入數(shù)據(jù)的屬性n按照已知的數(shù)據(jù)極限檢查輸入數(shù)據(jù)按照已知的數(shù)據(jù)極限檢查輸入數(shù)據(jù)n檢查所有的多值數(shù)據(jù)的有效性檢查所有的多值數(shù)據(jù)的有效性n如果輸入數(shù)據(jù)存在明顯的冗余成分,應(yīng)檢查二者的一如果輸入數(shù)據(jù)存在明顯的冗余成分,應(yīng)檢查二者的一致性致性n如果輸入數(shù)據(jù)中不存在冗余,可以對(duì)輸入數(shù)據(jù)求和,如果輸入數(shù)據(jù)中不存在冗余,可以對(duì)輸入數(shù)據(jù)求和,比較輸入數(shù)據(jù)與內(nèi)部數(shù)據(jù)的一致性比較輸入數(shù)據(jù)與內(nèi)部數(shù)據(jù)的
35、一致性上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w發(fā)生錯(cuò)誤后發(fā)生錯(cuò)誤后n立即停止程序運(yùn)行,檢錯(cuò)立即停止程序運(yùn)行,檢錯(cuò)n不停止程序,記錄錯(cuò)誤不停止程序,記錄錯(cuò)誤上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w賦予程序特殊功能,主動(dòng)搜索錯(cuò)誤,并進(jìn)行指示賦予程序特殊功能,主動(dòng)搜索錯(cuò)誤,并進(jìn)行指示w由檢測(cè)監(jiān)視器承擔(dān),對(duì)系統(tǒng)的有關(guān)的數(shù)據(jù)主動(dòng)進(jìn)由檢測(cè)監(jiān)視器承擔(dān),對(duì)系統(tǒng)的有關(guān)的數(shù)據(jù)主動(dòng)進(jìn)行掃描,例如:行掃描,例如:n合理運(yùn)行時(shí)間的異常過程合理運(yùn)行時(shí)間的異常過程n系統(tǒng)中丟失的文件系統(tǒng)中丟失的文件n長(zhǎng)時(shí)間內(nèi)未完成的輸入,輸出操作長(zhǎng)時(shí)間內(nèi)未完成的輸入,輸出操作n主動(dòng)系統(tǒng)診斷
36、主動(dòng)系統(tǒng)診斷w可以作為周期性的任務(wù)來安排可以作為周期性的任務(wù)來安排上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w如操作系統(tǒng)中的存儲(chǔ)管理模塊如操作系統(tǒng)中的存儲(chǔ)管理模塊,具有向用戶程序具有向用戶程序和操作系統(tǒng)的其它模塊出借存儲(chǔ)區(qū)域的功能和操作系統(tǒng)的其它模塊出借存儲(chǔ)區(qū)域的功能,然然而用戶程序或其他模塊的錯(cuò)誤有時(shí)會(huì)造成借出去而用戶程序或其他模塊的錯(cuò)誤有時(shí)會(huì)造成借出去的存儲(chǔ)區(qū)域不能返回給存儲(chǔ)管理模塊的存儲(chǔ)區(qū)域不能返回給存儲(chǔ)管理模塊.主動(dòng)式檢主動(dòng)式檢測(cè)能及時(shí)發(fā)現(xiàn)這類問題測(cè)能及時(shí)發(fā)現(xiàn)這類問題上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w希望軟件具有自動(dòng)改正錯(cuò)誤的功能希
37、望軟件具有自動(dòng)改正錯(cuò)誤的功能w需要需要“智能智能”,困難很大,所以目前采用的方法多半是,困難很大,所以目前采用的方法多半是隔離錯(cuò)誤隔離錯(cuò)誤.實(shí)現(xiàn)用戶隔離就是防止一個(gè)用戶程序的失效實(shí)現(xiàn)用戶隔離就是防止一個(gè)用戶程序的失效,影響其它用戶程序及整個(gè)系統(tǒng)正常運(yùn)行的關(guān)鍵措施影響其它用戶程序及整個(gè)系統(tǒng)正常運(yùn)行的關(guān)鍵措施w例如貝爾實(shí)驗(yàn)室例如貝爾實(shí)驗(yàn)室TSPS系統(tǒng),電話換接系統(tǒng),可靠性要求系統(tǒng),電話換接系統(tǒng),可靠性要求為為40年內(nèi)停止工作時(shí)間不超過兩小時(shí),整機(jī)停機(jī)是極為年內(nèi)停止工作時(shí)間不超過兩小時(shí),整機(jī)停機(jī)是極為嚴(yán)重的任務(wù),而常見的故障,例如某個(gè)電話線連接中斷,嚴(yán)重的任務(wù),而常見的故障,例如某個(gè)電話線連接中斷,
38、則是可以允許的失誤。則是可以允許的失誤。TSPS系統(tǒng)使用被動(dòng)和主動(dòng)查錯(cuò)及系統(tǒng)使用被動(dòng)和主動(dòng)查錯(cuò)及改錯(cuò)技術(shù)來減少系統(tǒng)失效,策略是盡快檢測(cè)出某些特殊改錯(cuò)技術(shù)來減少系統(tǒng)失效,策略是盡快檢測(cè)出某些特殊類型的錯(cuò)誤,并控制其擴(kuò)散類型的錯(cuò)誤,并控制其擴(kuò)散.即使損失某些數(shù)據(jù)也在所不即使損失某些數(shù)據(jù)也在所不惜惜上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w容錯(cuò)計(jì)算系統(tǒng)能夠在出現(xiàn)一定限度的失效的情況下,依容錯(cuò)計(jì)算系統(tǒng)能夠在出現(xiàn)一定限度的失效的情況下,依舊能夠提供所需要的服務(wù)舊能夠提供所需要的服務(wù). . w這些失效的發(fā)生是由于系統(tǒng)的組件或者系統(tǒng)設(shè)計(jì)中存在這些失效的發(fā)生是由于系統(tǒng)的組件或者系統(tǒng)設(shè)計(jì)
39、中存在缺陷所導(dǎo)致的缺陷所導(dǎo)致的. . w構(gòu)造大型的計(jì)算系統(tǒng)是一個(gè)復(fù)雜的任務(wù)構(gòu)造大型的計(jì)算系統(tǒng)是一個(gè)復(fù)雜的任務(wù); ; 要使系統(tǒng)具有要使系統(tǒng)具有容錯(cuò)能力就更復(fù)雜,除非采用合適的系統(tǒng)構(gòu)造概念容錯(cuò)能力就更復(fù)雜,除非采用合適的系統(tǒng)構(gòu)造概念. .w傳統(tǒng)的硬件系統(tǒng)的容錯(cuò)方法建立在對(duì)物理組件失效模式傳統(tǒng)的硬件系統(tǒng)的容錯(cuò)方法建立在對(duì)物理組件失效模式的影響的深入了解的基礎(chǔ)上的影響的深入了解的基礎(chǔ)上. . w傳統(tǒng)的硬件容錯(cuò)方法一般不足以處理設(shè)計(jì)上的缺陷傳統(tǒng)的硬件容錯(cuò)方法一般不足以處理設(shè)計(jì)上的缺陷. . w因此,絕大多數(shù)硬件的容錯(cuò)方法不能運(yùn)用到軟件上,因因此,絕大多數(shù)硬件的容錯(cuò)方法不能運(yùn)用到軟件上,因?yàn)檐浖薪^大多數(shù)
40、的缺陷都是設(shè)計(jì)缺陷為軟件中絕大多數(shù)的缺陷都是設(shè)計(jì)缺陷上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w兩種方法兩種方法nN文本法文本法w靜態(tài)冗余靜態(tài)冗余n恢復(fù)塊法恢復(fù)塊法w動(dòng)態(tài)冗余動(dòng)態(tài)冗余w增加了資源消耗,容錯(cuò)技術(shù)不宜普遍采用增加了資源消耗,容錯(cuò)技術(shù)不宜普遍采用上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w相對(duì)于一個(gè)給定的功能,相對(duì)于一個(gè)給定的功能,由由N(N2)個(gè)不同的設(shè)計(jì)個(gè)不同的設(shè)計(jì)組獨(dú)立編制出組獨(dú)立編制出N個(gè)不同的個(gè)不同的程序,然后同時(shí)在程序,然后同時(shí)在N個(gè)機(jī)個(gè)機(jī)器上運(yùn)行并比較運(yùn)行的結(jié)器上運(yùn)行并比較運(yùn)行的結(jié)果果n如果結(jié)果一致,認(rèn)為結(jié)果如果結(jié)果一致,認(rèn)為
41、結(jié)果正確正確n如果結(jié)果不盡相同,按多如果結(jié)果不盡相同,按多數(shù)表決或其它預(yù)先制定的數(shù)表決或其它預(yù)先制定的策略,判定結(jié)果的正確性策略,判定結(jié)果的正確性優(yōu)點(diǎn):沒有服務(wù)中斷上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w某一恢復(fù)塊結(jié)構(gòu)的句法某一恢復(fù)塊結(jié)構(gòu)的句法:ensureby P0 else-by P1 else failw 軟件系統(tǒng)帶有軟件系統(tǒng)帶有3個(gè)部分,兩個(gè)程序個(gè)部分,兩個(gè)程序P0 (主要的主要的) 和和P1 (可選可選的的), 和接受性測(cè)試(和接受性測(cè)試(acceptance test). w系統(tǒng)的設(shè)計(jì)就是按照句法所指的控制結(jié)構(gòu)系統(tǒng)的設(shè)計(jì)就是按照句法所指的控制結(jié)構(gòu).w執(zhí)行執(zhí)
42、行P0,如果滿足接受性測(cè)試,正常返回,如果不符合如果滿足接受性測(cè)試,正常返回,如果不符合測(cè)試條件,或者超過了規(guī)定時(shí)間,發(fā)出調(diào)用替補(bǔ)過程測(cè)試條件,或者超過了規(guī)定時(shí)間,發(fā)出調(diào)用替補(bǔ)過程P1的指令,如果再次失敗或再次超時(shí),則出錯(cuò)的指令,如果再次失敗或再次超時(shí),則出錯(cuò)w只要一臺(tái)計(jì)算機(jī)只要一臺(tái)計(jì)算機(jī)上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院上海理工大學(xué)計(jì)算機(jī)與電氣工程學(xué)院w1996年年6月月,歐洲航天局研制的歐洲航天局研制的”阿麗亞娜阿麗亞娜5型火型火箭箭”在法國圭亞那庫魯航天中心首次發(fā)射在法國圭亞那庫魯航天中心首次發(fā)射,這次發(fā)這次發(fā)射因空中云層過厚而被推遲了射因空中云層過厚而被推遲了1小時(shí)小時(shí).隨后高隨后高51.4米米,通體銀白的火箭離開發(fā)射臺(tái)升空約通體銀白的火箭離開發(fā)射臺(tái)升空約30秒秒,距地面約距
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考物理總復(fù)習(xí)專題十一交變電流第1講交變電流的產(chǎn)生和描述練習(xí)含答案
- 清算風(fēng)險(xiǎn)管理協(xié)議
- 油漆購銷合同范例
- 九年級(jí)道德與法治上冊(cè) 第一單元 富強(qiáng)與創(chuàng)新 第一課 踏上強(qiáng)國之路 第2框走向共同富裕教案1 新人教版
- 二年級(jí)品德與生活上冊(cè) 玩中有發(fā)現(xiàn)教案1 首師大版
- 2024-2025學(xué)年新教材高中生物 第四章 生物的變異 第一節(jié) 基因突變可能引起性狀改變教案(2)浙科版必修2
- 2024-2025學(xué)年高中歷史 第一單元 第1課 第一次世界大戰(zhàn)的爆發(fā)教案1 新人教版選修3
- 2024-2025學(xué)年高中地理 第二章 中國的主要自然災(zāi)害 2.1 自然資源利用中存在的問題教案 中圖版選修6
- 廣東省佛山市順德區(qū)江義初級(jí)中學(xué)九年級(jí)化學(xué)上冊(cè) 3.1 分子和原子教案3 (新版)新人教版
- 2023七年級(jí)語文下冊(cè) 第四單元 寫作 怎樣選材配套教案 新人教版
- YY/T 1621-2018醫(yī)用二氧化碳培養(yǎng)箱
- SB/T 10021-2017糖果凝膠糖果
- MT 220-1990煤礦用防爆柴油機(jī)械排氣中一氧化碳、氮氧化物檢驗(yàn)規(guī)范
- GB/T 7354-2003局部放電測(cè)量
- GB/T 3286.1-1998石灰石、白云石化學(xué)分析方法氧化鈣量和氧化鎂量的測(cè)定
- GB 5606.6-2005卷煙第6部分:質(zhì)量綜合判定
- 無人機(jī)護(hù)林巡檢實(shí)施方案LSJ022年022六視角科技
- 華醫(yī)網(wǎng)繼續(xù)教育《醫(yī)務(wù)人員職業(yè)素質(zhì)修養(yǎng)與執(zhí)業(yè)法律知識(shí)》考試題及答案
- 清潔度測(cè)試報(bào)告潔凈度測(cè)試報(bào)告
- 如何給領(lǐng)導(dǎo)拍照課件
- 2022版義務(wù)教育(數(shù)學(xué))課程標(biāo)準(zhǔn)(含2022年新增和修訂部分)
評(píng)論
0/150
提交評(píng)論