




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件工程導(dǎo)論第一章 軟件工程學(xué)概述1.什么是軟件危機(jī)(概念)在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題2.軟件工程學(xué)科出現(xiàn)的主要原因 :軟件危機(jī)的出現(xiàn) 3.什么是軟件工程?(概念) 把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)過程,也就是把工程應(yīng)用于軟件; 研究中提到的途徑。4.簡述結(jié)構(gòu)化范型和面向?qū)ο蠓缎偷囊c(diǎn),并分析他們的優(yōu)缺點(diǎn)目前使用得最廣泛的軟件工程方法學(xué)(2種): 傳統(tǒng)方法學(xué):也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。 優(yōu)點(diǎn):把軟件生命周期劃分成基干個(gè)階段,每個(gè)階段的任務(wù)相對獨(dú)立,而且比較簡單,便于 不同人員分工協(xié)作,從而降低了整個(gè)軟件開發(fā)過程的困難程度。缺點(diǎn):當(dāng)軟件規(guī)
2、模龐大時(shí),或者對軟件的需求是模糊的或會(huì)承受時(shí)間而變化的時(shí)候,開發(fā)出 的軟件往往不成功;而且維護(hù)起來仍然很困難。 面向?qū)ο蠓椒▽W(xué)優(yōu)點(diǎn):降低了軟件產(chǎn)品的復(fù)雜性;提高了軟件的可理解性;簡化了軟件的開發(fā)和維護(hù)工作; 促進(jìn)了軟件重用。5.軟件生命周期每個(gè)階段的基本任務(wù) 問題定義:準(zhǔn)確地回答“要解決的問題是什么”可行性研究:確定問題是否值得去解決需求分析 :準(zhǔn)確地回答“系統(tǒng)必須做什么”總體設(shè)計(jì):設(shè)計(jì)出實(shí)現(xiàn)目標(biāo)系統(tǒng)的幾種可能的方案 確定程序由哪些模塊組成以及模塊間的關(guān)系詳細(xì)設(shè)計(jì):把解法具體化(設(shè)計(jì)出程序的詳細(xì)規(guī)格說明)編碼和單元測試:寫出正確的容易理解、容易維護(hù)的程序模塊綜合測試:通過各種類型測試(及相應(yīng)的
3、調(diào)試)使軟件達(dá)到預(yù)期的要求軟件維護(hù):通過各種必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的需要軟件生命周期劃分成哪些階段l 軟件生命周期由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)(也成為軟件維護(hù))3個(gè)時(shí)期組成軟件定義時(shí)期:問題定義、可行性研究和需求分析 軟件開發(fā)時(shí)期:總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測試、綜合測試軟件維護(hù)時(shí)期6.什么是軟件過程?(概念)為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟7.常見的軟件生存周期模型(了解)1.瀑布模型階段化過程特點(diǎn):具有順序性和依賴性缺點(diǎn):是由文檔驅(qū)動(dòng)的。由于瀑布模型幾乎完全依賴于書面的規(guī)格說明,很可能導(dǎo)致最終開發(fā)出的軟件產(chǎn)品不能真正滿足用戶的
4、需要。2.快速原型模型線性順序進(jìn)行本質(zhì):快速不帶反饋環(huán) 原型的用途是獲知用戶的真正需求,一旦需求確定了,原型可以拋棄,當(dāng)然也可以在原型的基礎(chǔ)上進(jìn)行開發(fā)。3.增量模型(也稱為漸增模型)4.螺旋模型螺旋模型將瀑布模型和快速原型模型結(jié)合起來,加入了兩種模型均忽略了的風(fēng)險(xiǎn)分析,彌補(bǔ)了這兩種模型的不足。 4個(gè)象限:目標(biāo)設(shè)定、風(fēng)險(xiǎn)估計(jì)與弱化、開發(fā)與驗(yàn)證、計(jì)劃 螺旋模型是風(fēng)險(xiǎn)驅(qū)動(dòng)增加風(fēng)險(xiǎn)分析主要適用:內(nèi)部開發(fā)的大規(guī)模軟件項(xiàng)目5. 噴泉模型適用于:面向?qū)ο蠓缎偷倪^程模型軟件過程必須支持反饋和迭代。第2章 可行性研究1.一般來說,至少應(yīng)該從下述3個(gè)方面研究可行性技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性必要時(shí)還應(yīng)該從法
5、律、社會(huì)效益等更廣泛的方面研究2.需求和設(shè)計(jì)過程3.什么是數(shù)據(jù)流圖(DFD)(概念)(名詞解釋)一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過程中所經(jīng)受的變換。4.數(shù)據(jù)流圖由4個(gè)元素構(gòu)成正方形(或立方體) 數(shù)據(jù)的源點(diǎn)或終點(diǎn); 圓角矩形(或圓形) 變換數(shù)據(jù)的處理; 開口矩形(或兩條平行橫線) 數(shù)據(jù)存儲(chǔ)(數(shù)據(jù)靜態(tài)保存) 箭頭 數(shù)據(jù)流,即特定數(shù)據(jù)的流動(dòng)方向 5.看例題P42 2.4.26.什么是數(shù)據(jù)字典(概念)(名詞解釋)對數(shù)據(jù)流圖中包含的所有元素的定義的集合7.數(shù)據(jù)的關(guān)系,采用下列符號+ 和(連接兩個(gè)分量) 例如,x=a+b,表示x由a和b組成 或 (從方括弧內(nèi)列出的若干個(gè)分量中選擇一個(gè))
6、,通常用“ | ”號隔開供選擇的分量 例如,x=a,b,x+a/b,表示x由a或由b組成 重復(fù)(重復(fù)花括弧內(nèi)的分量) 注:常常使用上限和下限進(jìn)一步注釋表示重復(fù)的花括弧 例如,x=a,表示x由0個(gè)或多個(gè)a組成( ) 可選(圓括弧里的分量可有可無)8.貨幣的時(shí)間價(jià)值隨著年數(shù)上升通常用利率的形式表示貨幣的時(shí)間價(jià)值。假設(shè)年利率為i,如果現(xiàn)在存入P元,則n年后可以得到的錢數(shù)為:F=P(1+i)n 反之,如果n年后能收入F元錢,那么這些錢的現(xiàn)在價(jià)值是:P=F/(1+i)n9.什么是投資回收期?投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初投資所需要的時(shí)間通常用投資回收期衡量一項(xiàng)開發(fā)工程的價(jià)值10. 什么是純收入衡
7、量工程價(jià)值的另一項(xiàng)經(jīng)濟(jì)指標(biāo)是工程的純收入,也就是在整個(gè)生命周期之內(nèi)系統(tǒng)的累計(jì)經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。第3章 需求分析需求分析最終結(jié)果是產(chǎn)生規(guī)格說明書 1.什么是需求分析(概念)需求分析是發(fā)現(xiàn)、求精、建模、規(guī)格說明和復(fù)審的過程2. 需求分析分為 功能需求和非功能需求3. 與用戶溝通獲取需求的方法(了解)訪談?dòng)脩籼幱诒粍?dòng)地位訪談(或稱為會(huì)談)是最早開始運(yùn)用的獲取用戶需求的技術(shù),也是迄今為止仍然廣泛使用的需求分析技術(shù)訪談?dòng)袃煞N基本形式,分別為是正式的和非正式的訪談?wù)皆L談時(shí),系統(tǒng)分析員將提出一些事先準(zhǔn)備好的具體問題。在非正式訪談中,分析員將提出一些用戶可以自由回答的開放性問題,以鼓勵(lì)被訪
8、問人員說出自己的想法。面向數(shù)據(jù)流自頂向下求精用戶處于被動(dòng)地位數(shù)據(jù)是需求分析的出發(fā)點(diǎn)結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下逐步求精進(jìn)行需求分析的方法目標(biāo):把數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)定義到元素級 方法:從數(shù)據(jù)流圖的輸出端著手分析可行性研究階段產(chǎn)生的是高層數(shù)據(jù)流圖從數(shù)據(jù)流圖的輸出端著手分析,這是因?yàn)橄到y(tǒng)的基本功能是產(chǎn)生這些輸出的關(guān)鍵原因輸出數(shù)據(jù)決定了系統(tǒng)必須具有的最基本的組成元素(包括功能和數(shù)據(jù)結(jié)構(gòu)組成)簡易的應(yīng)用規(guī)格說明技術(shù) 這種方法提倡用戶也開發(fā)者密切合作、共同標(biāo)示問題、提出解決方案要素,商討不同方案并指定基本需求。 它不是萬能靈藥 優(yōu)點(diǎn):要求開發(fā)者與用戶不分彼此,齊心協(xié)力,密切合作 即時(shí)談?wù)摬⑶缶?有能
9、導(dǎo)出規(guī)格說明的具體步驟快速建立軟件原型 快速建立軟件原型是最準(zhǔn)確、最有效、最強(qiáng)大的需求分析技術(shù) 快速原型就是快速建立起來的旨在演示目標(biāo)系統(tǒng)主要功能的可運(yùn)行的程序特性:快速、容易修改快速原型的目的是盡快向用提供一個(gè)可在計(jì)算機(jī)上運(yùn)行的目標(biāo)系統(tǒng)的模型,以便使用戶和開發(fā)者在目標(biāo)系統(tǒng)應(yīng)該“做什么”這個(gè)問題上盡可能快地達(dá)成共識(shí)。 在實(shí)際開發(fā)軟件產(chǎn)品時(shí),原型的“修改試用反饋”過程可能重復(fù)多遍,如果修改耗時(shí)過多,勢必延誤軟件開發(fā)時(shí)間。為了快速地構(gòu)建和修改原型,通常使用下述3種方法第四代技術(shù)可重用的軟件構(gòu)建形式化規(guī)格說明和原型環(huán)境4. 狀態(tài)轉(zhuǎn)換圖狀態(tài)狀態(tài)時(shí)任何可以被觀察到的系統(tǒng)行為模型,一個(gè)狀態(tài)代表系統(tǒng)的一種行
10、為模型在一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)則可以有0至多個(gè)在狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)(即初始狀態(tài))、終態(tài)(即最終狀態(tài))和中間狀態(tài)。狀態(tài)圖既可以表示系統(tǒng)循環(huán)運(yùn)行過程,也可以表示系統(tǒng)單程生命期5.層次方框圖(了解) 層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu) 樹形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框,它表達(dá)完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個(gè)數(shù)據(jù)的子集,最底層的各個(gè)框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素(不能再分解的元素) 例如,描繪一家計(jì)算機(jī)公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)可以用圖3.5中的層次方框圖表示,這家公司的產(chǎn)品由硬件、軟件和服務(wù)3類產(chǎn)品組成,軟件產(chǎn)品又分為系統(tǒng)軟件和應(yīng)用軟件,系統(tǒng)軟
11、件又進(jìn)一步分為操作系統(tǒng)、編譯程序和軟件工具等。6. 驗(yàn)證軟件需求(了解)從哪些方面驗(yàn)證軟件需求的正確性一般說來,應(yīng)該從下述4個(gè)方面進(jìn)行驗(yàn)證:一致性所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。完整性需求必須是完整的,規(guī)格說明書應(yīng)該包括用戶需要的每一個(gè)功能或性能。現(xiàn)實(shí)性指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)的。 有效性必須證明需求是正確有效的,確實(shí)能解決用戶面對的問題。驗(yàn)證軟件需求的方法驗(yàn)證需求的一致性 為了克服上述困難,人們提出了形式化的描述軟件需求的方法。當(dāng)軟件需求規(guī)格說明書是用形式化的需求陳述語言書寫的時(shí)候,可以用軟件工具驗(yàn)證需求的一致性。驗(yàn)證需求的現(xiàn)實(shí)性為了
12、驗(yàn)證需求的現(xiàn)實(shí)性,分析員應(yīng)該參照以往開發(fā)類似系統(tǒng)的經(jīng)驗(yàn),分析用現(xiàn)有的軟、硬件技術(shù)實(shí)現(xiàn)目標(biāo)系統(tǒng)的可能性。驗(yàn)證需求的完整性和有效性理想的做法是先根據(jù)需求分析的結(jié)果開發(fā)出一個(gè)軟件系統(tǒng),請用戶試用一段時(shí)間以便能認(rèn)識(shí)到他們的實(shí)際需要是什么。比較理想的做法是用戶通過試用原型系統(tǒng),也能獲得許多寶貴的經(jīng)驗(yàn),從而可以提出更符合實(shí)際的要求。習(xí)題3-6 復(fù)印機(jī)的工作過程大致如下:未接到復(fù)印命令時(shí)處于閑置狀態(tài),一旦接到復(fù)印命令進(jìn)入復(fù)印狀態(tài),完成一個(gè)復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個(gè)復(fù)印命令;如果執(zhí)行復(fù)印命令時(shí)發(fā)現(xiàn)沒紙,則進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進(jìn)入閑置狀態(tài),準(zhǔn)備接受復(fù)印命令;如果復(fù)印時(shí)發(fā)
13、生卡紙故障,則進(jìn)入卡紙狀態(tài),發(fā)出警告,等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。試用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為第5章 總體設(shè)計(jì)總體設(shè)計(jì)過程通常由兩個(gè)主要階段組成,分別是系統(tǒng)設(shè)計(jì)階段和結(jié)構(gòu)設(shè)計(jì)階段。 1.什么是模塊化(概念) 模塊化就是把程序劃分成獨(dú)立命名且可獨(dú)立訪問的模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來構(gòu)成一個(gè)整體,可以完成指定的功能滿足用戶的需求2. 抽象(理解) 從作為整體的軟件系統(tǒng)開始(第一層),每一抽象層次上只關(guān)注于系統(tǒng)的輸入輸出3. 逐步求精(理解) 逐步求精定義為:“為了能集中精力解決主要問題而盡量推遲對問題細(xì)節(jié)的考慮?!?抽象與求精是一對互補(bǔ)的概念。抽象使得設(shè)計(jì)
14、者能夠說明過程和數(shù)據(jù),同時(shí)卻忽略低層細(xì)節(jié)。事實(shí)上,可以把抽象看作是一種通過忽略多余的細(xì)節(jié)同時(shí)強(qiáng)調(diào)有關(guān)的細(xì)節(jié),而實(shí)現(xiàn)逐步求精的方法。4. 什么是信息隱藏(概念)信息隱藏原理指出:應(yīng)該這樣設(shè)計(jì)和確定模塊,使得一個(gè)模塊內(nèi)包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的。5. 模塊獨(dú)立(選擇題考概念)模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量,這兩個(gè)標(biāo)準(zhǔn)分別稱為內(nèi)聚和耦合。耦合衡量不同模塊彼此間相互依賴(連接)的緊密程度;耦合是一對軟件結(jié)構(gòu)內(nèi)不同模塊之間互聯(lián)程度的度量內(nèi)聚衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度。數(shù)據(jù)耦合:如果兩個(gè)模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù)控制耦
15、合:一個(gè)模塊在界面上傳遞一個(gè)信號(如開關(guān)值、標(biāo)志量等)控制另一個(gè)模塊,接收 信號的模塊的動(dòng)作根據(jù)信號值進(jìn)行調(diào)整特征耦合:當(dāng)把整個(gè)數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而被調(diào)用的模塊只需要使用其中一部分?jǐn)?shù)據(jù)元素 注:介于數(shù)據(jù)耦合與控制耦合之間公共耦合:兩個(gè)或多個(gè)模塊通過一個(gè)公共數(shù)據(jù)環(huán)境相互作用 公共環(huán)境可以是全局變量、存儲(chǔ)介質(zhì)上的文件、物理設(shè)備、共享通訊區(qū)等內(nèi)容耦合:當(dāng)一個(gè)模塊直接修改或操作另一個(gè)模塊的數(shù)據(jù)或者直接轉(zhuǎn)入另一個(gè)模塊時(shí),就發(fā) 生了內(nèi)容耦合。耦合是影響軟件復(fù)雜程度的一個(gè)重要因素。在軟件設(shè)計(jì)中應(yīng)該采取下述設(shè)計(jì)原則:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制外部耦合和公共耦合的范圍,完全不用內(nèi)容耦合。好的軟件結(jié)構(gòu)
16、應(yīng)該是:低耦合,高內(nèi)聚耦合性低高(模塊獨(dú)立性強(qiáng)弱):數(shù)據(jù)耦合特征耦合控制耦合公共耦合內(nèi)容耦合模塊之間聯(lián)系越緊密,其耦合性就越強(qiáng)、模塊的獨(dú)立性就越差。6. 什么是深度、寬度、扇出和扇入深度表示軟件結(jié)構(gòu)中控制的層數(shù)標(biāo)志一個(gè)系統(tǒng)的大小和復(fù)雜程度,如果層數(shù)過多,則對于某些簡單模塊考慮適當(dāng)合并 寬度是軟件結(jié)構(gòu)內(nèi)同一層次上的模塊總數(shù)的最大值一般來說,寬度越大系統(tǒng)越復(fù)雜。對寬度影響最大的因素是模塊的扇出扇出是一個(gè)模塊直接控制(調(diào)用)的模塊數(shù)目扇出太大意味著模塊過于復(fù)雜,需要控制和協(xié)調(diào)過多的下級模塊;扇出過小也不好通常,一個(gè)設(shè)計(jì)得好的系統(tǒng)平均扇出是3或4. 一個(gè)模塊的扇入表明有多少個(gè)上級模塊直接調(diào)用它,扇入越
17、大意味著共享該模塊的上級模塊數(shù)目越多,這是有好處的 經(jīng)驗(yàn)表明,優(yōu)秀的軟件結(jié)構(gòu)通常頂層扇出高,中層扇出較少,低層扇入到公共的實(shí)用模塊中去(底層模塊有高扇入)7.什么是作用域?什么是控制域?它們之間的關(guān)系?(簡答)模塊的作用域定義為受該模塊內(nèi)一個(gè)判定影響的所有模塊的集合。模塊的控制域是這個(gè)模塊本身以及所有直接或間接從屬于它的模塊的集合。關(guān)系:模塊的作用域應(yīng)該在控制域之內(nèi)圖中所示的結(jié)構(gòu)圖的深度是5圖中所示的結(jié)構(gòu)圖的寬度為7圖中模塊M的扇出是4,模塊A的是2,模塊B的扇出是1圖中模塊G的扇入是1,模塊I的扇入是2,模塊R的扇入是4在圖中模塊A的控制域是A、B、C、D、E、F等模塊的集合8.面向數(shù)據(jù)流的
18、設(shè)計(jì)方法面向數(shù)據(jù)流的設(shè)計(jì)方法的目標(biāo)是給出設(shè)計(jì)軟件結(jié)構(gòu)的一個(gè)系統(tǒng)化的途徑。 這種方法與軟件需求分析階段的結(jié)構(gòu)化分析方法相銜接,可以很方便地將用數(shù)據(jù)流圖表示的信息轉(zhuǎn)換成程序結(jié)構(gòu)的設(shè)計(jì)描述;面向數(shù)據(jù)流的設(shè)計(jì)方法把信息流映射成軟件結(jié)構(gòu),信息流的類型決定了映射的方法。信息流有兩種類型:變換流、事物流9.怎樣映射過程 看例子P105 5.5.2第6章 詳細(xì)設(shè)計(jì)1.詳細(xì)設(shè)計(jì)階段的根本目標(biāo)確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng)2. 人機(jī)界面設(shè)計(jì)(了解)(選擇、判斷) 看書上P119-1243.判定表當(dāng)算法中包含多重嵌套的條件選擇時(shí),判定表卻能夠清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對應(yīng)關(guān)系 一張判定表由四部分
19、組成,左上部列出所有條件,左下部是所有可能做的動(dòng)作,右上部是表示各種條件組合的一個(gè)矩陣,右下部是和每種條件組合相對應(yīng)的動(dòng)作。判定表的優(yōu)點(diǎn)是能夠簡潔,無二義性地描述所有的處理規(guī)則。但判定表表示的是靜態(tài)邏輯,是在某種條件取值組合情況下可能的結(jié)果,它不能表達(dá)加工的順序,也不能表達(dá)循環(huán)結(jié)構(gòu) 4.判定樹判定樹是判定表的變種,也能清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對應(yīng)關(guān)系。5.面向數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)方法在完成了軟件結(jié)構(gòu)設(shè)計(jì)后,可以使用面向數(shù)據(jù)結(jié)構(gòu)的方法來設(shè)計(jì)每個(gè)模塊的處理過程面向數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)方法的最終目標(biāo)是得出對程序處理過程的描述Jackson圖數(shù)據(jù)元素彼此之間的邏輯關(guān)系:順序、選擇、重復(fù)元順序結(jié)構(gòu)一個(gè)
20、順序元素由一個(gè)或多個(gè)從左到右的元素組成每個(gè)組成的元素只出現(xiàn)一次選擇結(jié)構(gòu)選擇是“If Then Else”或“Case”的結(jié)構(gòu),而且必須有兩個(gè)或多個(gè)元素使用選擇元素時(shí)根據(jù)指定的條件從這些子元素中選擇一個(gè)子元素重復(fù)結(jié)構(gòu)重復(fù)元素僅由一個(gè)子元素構(gòu)成,表示重復(fù)元素由子元素重復(fù)0次或多次組成6.計(jì)算環(huán)形復(fù)雜度的方法(3種)流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度。流圖G的環(huán)形復(fù)雜度V(G)=E-N+2,其中,E是流圖中邊的條數(shù),N是結(jié)點(diǎn)數(shù)。流圖G的環(huán)形復(fù)雜度V(G)=P+1,其中,P是流圖中判定結(jié)點(diǎn)的數(shù)目。第7章 實(shí)現(xiàn)1.測試的目的在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。2.調(diào)試的目的確定錯(cuò)誤的原因和準(zhǔn)
21、確位置,并改正錯(cuò)誤2.測試步驟單元測試集成測試(又稱綜合測試)確認(rèn)測試3.測試方法白盒測試和黑盒測試4.單元測試(了解)單元測試測試中最基礎(chǔ)的測試重點(diǎn)模塊接口局部數(shù)據(jù)結(jié)構(gòu)重要的執(zhí)行通路出錯(cuò)處理通路邊界條件5.集成測試(理解)集成測試 也稱組裝測試、聯(lián)合測試經(jīng)單元測試后,每個(gè)模塊都能獨(dú)立工作,但把它們放在一起往往不能正常工作增量式集成又可分為:自頂向下集成優(yōu)點(diǎn):不需要驅(qū)動(dòng)模塊;能盡早對程序的主要控制和決策機(jī)制進(jìn)行檢驗(yàn),能較早發(fā)現(xiàn)整體 性的錯(cuò)誤;深度優(yōu)先的自頂向下集成能較早對某些完整的程序功能進(jìn)行驗(yàn)證。缺點(diǎn):測試時(shí)低層模塊用樁模塊替代,不能反映真實(shí)情況;重要數(shù)據(jù)不能及時(shí)回送到上層模塊。自底向上集成
22、優(yōu)點(diǎn):不需要樁模塊,所以容易組織測試;將整個(gè)程序結(jié)構(gòu)分解成若干個(gè)簇,對同一層次的 簇可并行進(jìn)行測試,可提高效率。缺點(diǎn):整體性的錯(cuò)誤發(fā)現(xiàn)得較晚。6.確認(rèn)測試確認(rèn)測試也稱為驗(yàn)收測試,它的目標(biāo)是驗(yàn)收軟件的有效性7.白盒測試語句覆蓋每個(gè)可執(zhí)行語句都至少執(zhí)行一次判定覆蓋(也稱分支覆蓋)每個(gè)判定的每個(gè)分支至少執(zhí)行一次條件覆蓋不僅每個(gè)語句至少執(zhí)行一次,而且使判定表達(dá)式中的每個(gè)條件都取到各種可能的結(jié)果條件覆蓋覆蓋能力最強(qiáng)8控制結(jié)構(gòu)測試(應(yīng)用)看書P166-1689. 等價(jià)劃分(選擇題)(考概念) 等價(jià)劃分是一種黑盒測試技術(shù),這種技術(shù)把程序的輸入域劃分成若干個(gè)數(shù)據(jù)類,據(jù)此導(dǎo)出測試用例。一個(gè)理想的測試用例能獨(dú)自發(fā)
23、現(xiàn)一類錯(cuò)誤,去覆蓋每一個(gè)。10. 邊界值分析(選擇)(掌握原理)邊界值分析也是一種黑盒測試方法,是對等價(jià)類劃分方法的補(bǔ)充。如果輸入條件規(guī)定了值的范圍,則選擇剛剛達(dá)到這個(gè)范圍的邊界的值以及剛剛超出這個(gè)范 圍的邊界的值作為測試輸入數(shù)據(jù)。例如:規(guī)定輸入的考試成績在0100之間,則取0,100,1,101作為測試輸入數(shù)據(jù)。如果輸入條件規(guī)定了值的個(gè)數(shù),則分別選擇最大個(gè)數(shù)、最小個(gè)數(shù)、比最大個(gè)數(shù)多1、比最 小個(gè)數(shù)少1的數(shù)據(jù)作為測試輸入數(shù)據(jù)。例如:規(guī)定一個(gè)運(yùn)動(dòng)員的參賽項(xiàng)目至少1項(xiàng),最多3項(xiàng),那么,可選擇參賽項(xiàng)目分別是1 項(xiàng)、3項(xiàng)、0項(xiàng)、4項(xiàng)的測試輸入數(shù)據(jù)。對每個(gè)輸出條件使用第1條。例如:輸出的金額值大于等于0
24、且小于104 ,則選擇使得輸出金額分別為0、9999、1、 10000的輸入數(shù)據(jù)作為測試數(shù)據(jù)。對每個(gè)輸出條件使用第2條。例如:規(guī)定輸出的一張發(fā)票上,至少有1行內(nèi)容,至多有5行內(nèi)容,則選擇使得輸出發(fā)票分 別有1行、5行、0行、6行內(nèi)容的輸入數(shù)據(jù)作為測試數(shù)據(jù)。如果程序的輸入或輸出是個(gè)有序集合例如,順序文件、表格,則應(yīng)把注意力集中在有序集的第1個(gè)元素和最后一個(gè)元素上。6如果程序中定義的內(nèi)部數(shù)據(jù)結(jié)構(gòu)有預(yù)定義的邊界例如,程序中數(shù)組A的下界是10,上界是20,則可選擇使得A的下標(biāo)為10、20、9、21的輸入數(shù)據(jù)作為測試數(shù)據(jù)。11.軟件可靠性定義(考概念)程序在給定的時(shí)間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運(yùn)
25、行的概率。12軟件可用性定義(考概念)軟件可用性是程序在給定的時(shí)間點(diǎn),按照規(guī)格說明書的規(guī)定,成功地運(yùn)行的概率。13.軟件可靠性和軟件可用性的區(qū)別可靠性意味著在0到t這段時(shí)間間隔內(nèi)系統(tǒng)沒有失效可用性只意味著在時(shí)刻t,系統(tǒng)是正常運(yùn)行的。14. 估計(jì)MTTF(平均無故障時(shí)間)的方法1.符號在估算MTTF的過程中使用下述符號表示有關(guān)的數(shù)量:ET測試之前程序中錯(cuò)誤總數(shù);IT程序長度(機(jī)器指令總數(shù));測試(包括調(diào)試)時(shí)間;Ed()在0至期間發(fā)現(xiàn)的錯(cuò)誤數(shù);Ec()在0至期間改正的錯(cuò)誤數(shù)。 經(jīng)驗(yàn)表明,平均無故障時(shí)間與單位長度程序中剩余的錯(cuò)誤數(shù)成反比,即MTTF=1/K(ET/IT-Ec(t)/IT),其中K為常數(shù),它的值應(yīng)該根據(jù)經(jīng)驗(yàn)選取。第八章 維護(hù)1.軟件維護(hù)(4類維護(hù))完善性維護(hù)、改正性維護(hù)、適應(yīng)性維護(hù)、其他維護(hù)活動(dòng)第九章 面向?qū)ο蠓椒▽W(xué)引論1.封裝(概念)(了解)封裝是一種信息隱蔽技術(shù),用戶只能看見對象封裝界面上的信息,對象的內(nèi)部實(shí)現(xiàn)對用戶是隱蔽的。2.面向?qū)ο笮枨蠓治?個(gè)主要模型對象模型、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人防工程制式銷售合同范本
- 分散采購服務(wù)合同范本
- 農(nóng)村燃?xì)獍惭b合同范例
- 協(xié)助寵物國際托運(yùn)合同范本
- 農(nóng)田租賃合同范本
- 專利轉(zhuǎn)讓入股合同范本
- 養(yǎng)魚合作轉(zhuǎn)讓合同范本
- 公版采購合同范本
- 單位解聘教師合同范本
- 買賣中介公司合同范本
- 成人住院患者靜脈血栓栓塞癥預(yù)防護(hù)理
- 淋巴瘤患者的護(hù)理問題及護(hù)理措施
- 三年級道德與法治3.我很誠實(shí) 說課一等獎(jiǎng)
- 血液科健康宣教小講課
- 《小學(xué)開學(xué)第一課:學(xué)生守則、行為規(guī)范、班級班規(guī)》課件
- 燒傷病人查房版
- 《發(fā)行債券》課件
- 環(huán)境設(shè)計(jì)就業(yè)需求分析報(bào)告
- 醫(yī)院醫(yī)療質(zhì)量管理委員會(huì)會(huì)議記錄五篇
- 中草藥不良反應(yīng)的監(jiān)測與評價(jià)
- 工廠物料損耗狀況和人為因素和差異清查步驟與方法講解培訓(xùn)課件
評論
0/150
提交評論