版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件工程演示文稿目前一頁\總數(shù)一百四十一頁\編于十四點(diǎn)軟件工程第章目前二頁\總數(shù)一百四十一頁\編于十四點(diǎn)經(jīng)理管什么?計(jì)劃預(yù)算組織進(jìn)度標(biāo)準(zhǔn)什么是軟件項(xiàng)目管理?目前三頁\總數(shù)一百四十一頁\編于十四點(diǎn)
管理就是通過計(jì)劃、組織和控制等一系列活動(dòng),合理地配置和使用各種資源,以達(dá)到既定目標(biāo)的過程。什么是軟件項(xiàng)目管理?目前四頁\總數(shù)一百四十一頁\編于十四點(diǎn)什么是軟件項(xiàng)目管理?成本管理:估算軟件項(xiàng)目的成本,作為簽訂合同或項(xiàng)目立項(xiàng)的依據(jù);在軟件開發(fā)過程中按計(jì)劃管理經(jīng)費(fèi)的使用。質(zhì)量管理:制定軟件質(zhì)量保證計(jì)劃;按照軟件質(zhì)量評價(jià)體系控制軟件質(zhì)量要素;對階段性的軟件產(chǎn)品進(jìn)行評審;對最終產(chǎn)品進(jìn)行驗(yàn)證和確認(rèn),確保軟件產(chǎn)品的質(zhì)量。軟件配置管理:制定配置管理計(jì)劃;對程序、文檔和數(shù)據(jù)的各種版本進(jìn)行管理,確保軟件的完整性和一致性。目前五頁\總數(shù)一百四十一頁\編于十四點(diǎn)第2章 軟件項(xiàng)目管理2.1軟件度量2.2軟件項(xiàng)目估算2.3軟件質(zhì)量度量2.4軟件復(fù)雜性度量2.5軟件可靠性度量2.6軟件開發(fā)過程的管理目前六頁\總數(shù)一百四十一頁\編于十四點(diǎn)
軟件度量是軟件產(chǎn)品、軟件開發(fā)過程或自愿簡單屬性的定量描述。如程序規(guī)模、操作符個(gè)數(shù)、程序中錯(cuò)誤的個(gè)數(shù)等。面向規(guī)模的度量面向功能的度量2.1軟件度量目前七頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.1軟件度量2.1.1軟件度量的基本概念1.測量、度量、估算和指標(biāo)
軟件工程項(xiàng)目的定量描述涉及測量、度量、估算和指標(biāo)等一些基本概念。目前八頁\總數(shù)一百四十一頁\編于十四點(diǎn)1)測量(measure):對產(chǎn)品或過程的某個(gè)屬性的范圍、數(shù)量、維度、容量或大小提供一個(gè)定量的指示。2.1軟件度量4)指標(biāo)(guideline):是一個(gè)度量或度量的組合,它可對軟件產(chǎn)品、過程或資源提供更深入的理解。2)度量(metric):對系統(tǒng)、部件或過程的某一特性所具有的程度進(jìn)行的量化測量。如軟件質(zhì)量度量等。3)估算(estimation):對軟件產(chǎn)品、過程、資源等使用歷史資料或經(jīng)驗(yàn)公式等進(jìn)行預(yù)測。如工作量、成本、完成期限等。估算一般用于立項(xiàng)、簽訂合同、制定工作計(jì)劃等。目前九頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.軟件項(xiàng)目管理的對象及其屬性
軟件項(xiàng)目管理的對象主要包括產(chǎn)品、過程和資源等。產(chǎn)品(product)是指軟件開發(fā)過程得到的文檔和程序。過程(process)是指與軟件項(xiàng)目有關(guān)的活動(dòng)。資源(resource)是指進(jìn)行軟件項(xiàng)目所需要的各種支持。要對軟件項(xiàng)目管理的對象進(jìn)行有效的管理與控制,就必須對這些對象的屬性進(jìn)行測量、度量與估算。一般來說,產(chǎn)品、過程、資源等對象都具有內(nèi)部屬性和外部屬性。2.1軟件度量目前十頁\總數(shù)一百四十一頁\編于十四點(diǎn)對象的屬性對象的內(nèi)部屬性是指對象本身的屬性,如軟件產(chǎn)品的代碼長度、模塊化的程度、復(fù)雜性等。對象的外部屬性體現(xiàn)了對象與環(huán)境的關(guān)系,如軟件的可靠性、可維護(hù)性、可移植性、成本、人員的生產(chǎn)率等。目前十一頁\總數(shù)一百四十一頁\編于十四點(diǎn)表2-1軟件工程的產(chǎn)品、過程、資源的屬性
產(chǎn)品過程資源內(nèi)部屬性程序代碼行長度;程序功能;模塊化;控制流結(jié)構(gòu);重用性;模塊耦合度與內(nèi)聚度。工作量;計(jì)劃及進(jìn)度;事件。人員;方法;工具;環(huán)境;經(jīng)驗(yàn)。外部屬性軟件的可靠性;軟件的可理解性;軟件的有效性;軟件的可用性;軟件的可維護(hù)性;軟件的可移植性。成本;可控制性;可觀察性;穩(wěn)定性。成本;生產(chǎn)率;時(shí)間。目前十二頁\總數(shù)一百四十一頁\編于十四點(diǎn)3.軟件度量的分類可分為直接度量和間接度量兩類:1)直接度量。即對不依賴于其他屬性的簡單屬性的測量。如軟件的模塊數(shù)、程序的代碼行數(shù)、操作符的個(gè)數(shù),工作量、成本等。2)間接度量。即對涉及若干個(gè)其他屬性的軟件要素、準(zhǔn)則或?qū)傩缘亩攘?。因?yàn)樗鼈儽仨毻ㄟ^建立一定的度量方法或模型才能間接推斷而獲得。如軟件的功能性、復(fù)雜性、可靠性、可維護(hù)性等等。2.1軟件度量目前十三頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.1.2面向規(guī)模的度量
面向規(guī)模的度量是以軟件的代碼行(LOC,LineofCode)數(shù)為基礎(chǔ)的直接度量。
L表示軟件的代碼行數(shù),單位為KLOC(千行代碼)或LOC;
E表示開發(fā)軟件所需工作量,單位為人月(PM)或人年(PY);
S表示軟件成本,單位為美元或元;
N表示錯(cuò)誤個(gè)數(shù);
Pd表示軟件文檔頁數(shù);
M表示開發(fā)所用的人數(shù)。目前十四頁\總數(shù)一百四十一頁\編于十四點(diǎn)1.軟件開發(fā)的生產(chǎn)率P:P=L/E2.開發(fā)每行代碼的平均成本C:C=S/L3.代碼出錯(cuò)率EQR:EQR=N/L4.軟件的文檔率D:D=Pd/L面向規(guī)模的度量目前十五頁\總數(shù)一百四十一頁\編于十四點(diǎn)
面向規(guī)模的度量目前十六頁\總數(shù)一百四十一頁\編于十四點(diǎn)優(yōu)點(diǎn):簡單、直接。缺點(diǎn):①代碼行數(shù)的估算依賴于程序設(shè)計(jì)語言的功能和表達(dá)能力。②對設(shè)計(jì)精巧的軟件項(xiàng)目產(chǎn)生不利影響。③在開發(fā)初期估算代碼行十分困難。④只適用于過程式程序設(shè)計(jì)語言。
面向規(guī)模的度量目前十七頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.1.3面向功能的度量1.簡單功能點(diǎn)度量1979年,Albrecht首先提出了功能點(diǎn)度量方法。這是一種面向功能的間接度量方法,即從軟件定義的基本功能出發(fā),來估算軟件系統(tǒng)的規(guī)模。因此,該方法可以在軟件開發(fā)項(xiàng)目的初期,在軟件定義過程中即可預(yù)測待開發(fā)軟件的規(guī)模。目前十八頁\總數(shù)一百四十一頁\編于十四點(diǎn)1.簡單功能點(diǎn)度量功能點(diǎn)FP的度量公式如下:FP=CT×TCF=CT[0.65+0.01∑Fi]其中:CT——基本功能點(diǎn)。CT值按表2-2來計(jì)算,它的值為5個(gè)參數(shù)加權(quán)值的總和。14i=1目前十九頁\總數(shù)一百四十一頁\編于十四點(diǎn)表2-2簡單功能點(diǎn)度量的基本功能點(diǎn)的計(jì)算測量參數(shù)值加權(quán)因子加權(quán)值簡單一般復(fù)雜用戶輸入數(shù)×3×4×6=用戶輸出數(shù)×4×5×7=用戶查詢數(shù)×3×4×6=文件數(shù)×7×10×15=外部接口數(shù)×5×7×10=
基本功能點(diǎn)CT目前二十頁\總數(shù)一百四十一頁\編于十四點(diǎn)表2-2中的5個(gè)參數(shù)的含義1)用戶輸入數(shù):用戶為軟件系統(tǒng)提供的輸入?yún)?shù)的個(gè)數(shù)(不包括查詢);2)用戶輸出數(shù):軟件為用戶提供的輸出參數(shù)(報(bào)告、屏幕幀、錯(cuò)誤信息等)的個(gè)數(shù);3)用戶查詢數(shù):一次聯(lián)機(jī)輸入導(dǎo)致軟件以聯(lián)機(jī)輸出方式實(shí)時(shí)產(chǎn)生一個(gè)響應(yīng)的個(gè)數(shù);4)文件數(shù):邏輯主文件的個(gè)數(shù);5)外部接口數(shù):機(jī)器可讀的接口(如磁盤或磁帶上的數(shù)據(jù)文件等)的個(gè)數(shù)。目前二十一頁\總數(shù)一百四十一頁\編于十四點(diǎn)1.簡單功能點(diǎn)度量在FP度量公式中:TCF——技術(shù)復(fù)雜性調(diào)節(jié)因子。0.65和0.01——經(jīng)驗(yàn)數(shù)據(jù)。Fi(i=1,2,…,14)——復(fù)雜性調(diào)節(jié)值。Fi所代表的因素如表2-3所示,每個(gè)Fi可根據(jù)實(shí)際情況取0、1、2、3、4、5中的一個(gè)值。其中:0—沒有影響、1—偶然的、2—適中、3—普通、4—重要、5—極重要的影響。TCF取值范圍:0.65~1.35。目前二十二頁\總數(shù)一百四十一頁\編于十四點(diǎn)表2-3Fi
取值表i因素Fii因素Fi1234567需要可靠的備份和恢復(fù)嗎?需要數(shù)據(jù)通信嗎?有分布式處理的功能嗎?性能是關(guān)鍵嗎?在現(xiàn)存實(shí)用的操作環(huán)境下運(yùn)行嗎?需要聯(lián)機(jī)數(shù)據(jù)入口嗎?聯(lián)機(jī)數(shù)據(jù)入口需要用輸入信息構(gòu)造復(fù)雜的界面或操作嗎?891011121314
需要聯(lián)機(jī)更新主文件嗎?輸入、輸出、文件、查詢復(fù)雜嗎?內(nèi)部處理過程復(fù)雜嗎?要求代碼設(shè)計(jì)可重用嗎?設(shè)計(jì)中包含轉(zhuǎn)換和安裝嗎?系統(tǒng)設(shè)計(jì)支持不同組織的多次安裝嗎?系統(tǒng)設(shè)計(jì)有利于用戶的修改、使用嗎?目前二十三頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.功能點(diǎn)度量簡單功能點(diǎn)度量方法沒有直接考慮軟件本身的算法的復(fù)雜性問題。所以它僅適用于度量算法簡單的事務(wù)處理等系統(tǒng)。1986年Jones對簡單功能點(diǎn)度量進(jìn)行了推廣,在計(jì)算軟件系統(tǒng)的基本功能點(diǎn)CT時(shí),引入了算法復(fù)雜性因素,即使用表2-4計(jì)算CT。我們稱這種推廣的度量方法為功能點(diǎn)度量。這兩種方法對一般的事務(wù)處理系統(tǒng)等算法簡單的軟件系統(tǒng)計(jì)算出來的FP值基本相同,但對于較復(fù)雜的軟件系統(tǒng),功能點(diǎn)度量方法比簡單功能點(diǎn)度量方法計(jì)算出來的FP值要高20%~35%。目前二十四頁\總數(shù)一百四十一頁\編于十四點(diǎn)表2-4推廣的功能點(diǎn)度量的基本功能點(diǎn)的計(jì)算測量參數(shù)值權(quán)值加權(quán)值用戶輸入數(shù)×4=用戶輸出數(shù)×5=用戶查詢數(shù)×4=文件數(shù)×7=外部接口數(shù)×7=復(fù)雜算法數(shù)×3=基本功能點(diǎn)CT目前二十五頁\總數(shù)一百四十一頁\編于十四點(diǎn)用功能點(diǎn)計(jì)算軟件項(xiàng)目的有關(guān)參考量:1)生產(chǎn)率P:P=FP/E2)平均成本C:C=S/FP3)代碼出錯(cuò)率EQR:EQR=N/FP4)軟件的文檔率D:D=Pd/FP
目前二十六頁\總數(shù)一百四十一頁\編于十四點(diǎn)3.功能點(diǎn)度量方法的優(yōu)缺點(diǎn)優(yōu)點(diǎn):①可用于軟件項(xiàng)目開發(fā)的初期階段的項(xiàng)目估算。②與程序設(shè)計(jì)語言無關(guān)。缺點(diǎn):①某些參考量的收集有一定困難;②度量值的主觀因素較多,如Fi取值;③功能點(diǎn)FP本身沒有直觀的物理意義。目前二十七頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.2軟件項(xiàng)目估算常用的軟件項(xiàng)目的估算方法主要有以下4種1.自頂向下的估算方法2.自底向上的估算方法3.差別估算法4.根據(jù)經(jīng)驗(yàn)估算公式2.2.1軟件項(xiàng)目的估算方法目前二十八頁\總數(shù)一百四十一頁\編于十四點(diǎn)1.自頂向下的估算方法基本思想:首先根據(jù)已完成項(xiàng)目的總成本或總工作量來推算待開發(fā)軟件的總成本或總工作量,然后再按比例將其分配到各開發(fā)任務(wù)中去。即從整體到局部。優(yōu)點(diǎn):估算工作量小、速度快。缺點(diǎn):對項(xiàng)目中的特殊困難估計(jì)不足,有可能產(chǎn)生遺漏,估算出的值盲目性較大。目前二十九頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.自底向上的估算方法基本思想是:把待開發(fā)軟件細(xì)分,直到每一個(gè)子任務(wù)或階段都已經(jīng)明確所需要的開發(fā)工作量或成本,然后再把它們累加起來,得到待開發(fā)軟件的總工作量或總成本。優(yōu)點(diǎn):計(jì)算各個(gè)部分的準(zhǔn)確性較高。缺點(diǎn):缺少各個(gè)子任務(wù)之間相互聯(lián)系的工作量和系統(tǒng)工作量(如項(xiàng)目管理、配置管理、質(zhì)量管理),估算值往往偏低,必須用其他方法進(jìn)行校正。目前三十頁\總數(shù)一百四十一頁\編于十四點(diǎn)3.差別估算法基本思想:把待開發(fā)的軟件項(xiàng)目與過去完成的軟件項(xiàng)目進(jìn)行比較,從各子任務(wù)中區(qū)分出類似的和不同的部分。類似的部分按已知的實(shí)際量計(jì)算,不同的部分則采用某種方法進(jìn)行估算。差別估算法綜合了以上兩種方法的優(yōu)點(diǎn)。優(yōu)點(diǎn):估算的準(zhǔn)確程度高。缺點(diǎn):不容易劃分相似的界限。目前三十一頁\總數(shù)一百四十一頁\編于十四點(diǎn)4.根據(jù)經(jīng)驗(yàn)估算公式通過眾多實(shí)際軟件項(xiàng)目的經(jīng)驗(yàn),總結(jié)出一些有價(jià)值的軟件成本和工作量估算的經(jīng)驗(yàn)?zāi)P?。這些模型對于軟件項(xiàng)目管理具有一定的指導(dǎo)意義和驗(yàn)證效果。目前三十二頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.2.2代碼行和功能點(diǎn)的估算采用中介紹的估算方法可以估算出代碼行或功能點(diǎn)的樂觀值a、一般值m和悲觀值b,并用如下的加權(quán)平均公式計(jì)算LOC或FP的期望值(expectation):X=(a+4m+b)/6軟件的LOC或FP的期望值估算出來后,就可以根據(jù)已有的標(biāo)準(zhǔn)生產(chǎn)率對成本和工作量等進(jìn)行估算了。目前三十三頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.2.3軟件項(xiàng)目的經(jīng)驗(yàn)估算模型1.IBM模型(靜態(tài)單變量模型)數(shù)據(jù)利用最小二乘法擬合,得到的經(jīng)驗(yàn)估算公式:E=5.2×L0.91D=4.1×L0.36=2.136×E0.3956S=0.54×E0.6DOC=49×L1.01目前三十四頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.Putnam模型(動(dòng)態(tài)多變量模型)該模型以工作量在30人年以上的大型軟件項(xiàng)目的實(shí)測數(shù)據(jù)為依據(jù),推導(dǎo)出了工作量分布曲線,如圖2-2-1所示。2.2.3軟件項(xiàng)目的經(jīng)驗(yàn)估算模型目前三十五頁\總數(shù)一百四十一頁\編于十四點(diǎn)圖2-2-1軟件項(xiàng)目的工作量分布曲線系統(tǒng)定義功能設(shè)計(jì)規(guī)格說明設(shè)計(jì)編碼測試和確認(rèn)維護(hù)管理系統(tǒng)定義、需求分析開發(fā)運(yùn)行維護(hù)0開發(fā)占總工作量的40%維護(hù)占總工作量的60%總工作量td時(shí)間t(年)工作量(人年)圖2-2-1軟件項(xiàng)目的工作量分布曲線目前三十六頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.Putnam模型Putnam估算模型如下:L=CkE1/3td4/3Ck為技術(shù)狀態(tài)常數(shù),與開發(fā)環(huán)境有關(guān),如下:2000較差,沒有方法學(xué)的支持,缺乏文檔和評審,采用批處理方式;Ck
=8000一般,有方法學(xué)的支持,有適當(dāng)?shù)奈臋n和評審,采用交互處理方式;11000較好,有集成化的CASE工具和環(huán)境。E=L3/(Ck3td4)目前三十七頁\總數(shù)一百四十一頁\編于十四點(diǎn)圖2-2-2人力資源的分配初級技術(shù)人員高級技術(shù)人員管理人員驗(yàn)收測試組裝測試單元測試編碼詳細(xì)設(shè)計(jì)概要設(shè)計(jì)需求分析系統(tǒng)定義人數(shù)目前三十八頁\總數(shù)一百四十一頁\編于十四點(diǎn)Putnam模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn):揭示了軟件項(xiàng)目的源程序代碼長度、軟件開發(fā)時(shí)間和工作量三者之間的關(guān)系,在理論上有重要意義。缺點(diǎn):準(zhǔn)確程度不高。沒有反映軟件產(chǎn)品、項(xiàng)目、參加人員、軟硬件資源等屬性。目前三十九頁\總數(shù)一百四十一頁\編于十四點(diǎn)3.CoCoMo模型(構(gòu)造性成本模型)CoCoMo模型按其詳細(xì)程度分三個(gè)層次:
基本CoCoMo模型;
中間CoCoMo模型;
詳細(xì)CoCoMo模型。2.2.3軟件項(xiàng)目的經(jīng)驗(yàn)估算模型目前四十頁\總數(shù)一百四十一頁\編于十四點(diǎn)(1)基本CoCoMo模型其工作量和開發(fā)時(shí)間的估算公式如下:E=aLb
D=cEd
其中:L——軟件代碼行的估算值(以KLOC計(jì));E——工作量(以PM計(jì));D——開發(fā)時(shí)間(以月計(jì));a、b、c、d——經(jīng)驗(yàn)常數(shù)。目前四十一頁\總數(shù)一百四十一頁\編于十四點(diǎn)表2-8a、b、c、d參數(shù)值的選取軟件類型abcd適應(yīng)領(lǐng)域組織型2.41.052.50.38一般應(yīng)用程序半獨(dú)立型3.01.122.50.35實(shí)用程序、編譯程序等嵌入型3.61.202.50.32實(shí)時(shí)控制程序、操作系統(tǒng)目前四十二頁\總數(shù)一百四十一頁\編于十四點(diǎn)(2)中間CoCoMo模型中間CoCoMo模型在估算工作量時(shí),在基本CoCoMo模型的基礎(chǔ)上再乘以由15個(gè)因素組成的工作量調(diào)節(jié)因子EAF,于是有:E=aLbEAF=aLb∏Fi
其中:L——軟件的代碼行數(shù)(以KLOC計(jì));E——工作量(以PM計(jì));a、b——經(jīng)驗(yàn)常數(shù);i=115目前四十三頁\總數(shù)一百四十一頁\編于十四點(diǎn)表2-9a、b參數(shù)的取值軟件類型ab組織型3.21.05半獨(dú)立型3.01.12嵌入型2.81.20目前四十四頁\總數(shù)一百四十一頁\編于十四點(diǎn)(2)中間CoCoMo模型工作量調(diào)節(jié)因子EAF與軟件的產(chǎn)品的取值屬性、計(jì)算機(jī)屬性、人員屬性、項(xiàng)目屬性等因素有關(guān)。這15個(gè)因素Fi(i=1~15)的值可按等級取值,即可分為很低、低、正常、高、很高、極高,共6級。正常情況下Fi=1。Boehm推薦的Fi值的范圍是.70~1.66,F(xiàn)
i的值可根據(jù)實(shí)際情況按表2-10來選取。工作量E求出之后,就可以用公式(2-18)即D=cEd計(jì)算出開發(fā)時(shí)間D。目前四十五頁\總數(shù)一百四十一頁\編于十四點(diǎn)(3)詳細(xì)CoCoMo模型詳細(xì)CoCoMo模型的基本工作量(指EAF=1時(shí)的工作量)公式、開發(fā)時(shí)間公式與中間CoCoMo模型相同。所不同的是詳細(xì)CoCoMo模型在計(jì)算EAF時(shí)針對每個(gè)影響因素,分層次(系統(tǒng)層、子系統(tǒng)層、模塊層)并按軟件生存周期分階段給出工作量因素的分級表。詳細(xì)CoCoMo模型可以更準(zhǔn)確地估算軟件項(xiàng)目的工作量。目前四十六頁\總數(shù)一百四十一頁\編于十四點(diǎn)表2-11子系統(tǒng)層軟件可靠性工作量因素分級表
階段可靠性級別需求分析和概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼及單元測試集成及測試綜合很低0.800.800.800.600.75低0.900.900.900.800.88正常1.001.001.001.001.00高1.101.101.101.301.15很高1.301.301.301.701.40目前四十七頁\總數(shù)一百四十一頁\編于十四點(diǎn)通信數(shù)圖2-2-4N=3和N=5時(shí)的通信數(shù)目前四十八頁\總數(shù)一百四十一頁\編于十四點(diǎn)成功的標(biāo)準(zhǔn):2.3軟件質(zhì)量度量失敗的根本原因:
用戶在用用戶可很容易做完要做的事開發(fā)人員寫出的東西達(dá)不到用戶要求(人的問題、技術(shù)問題)目前四十九頁\總數(shù)一百四十一頁\編于十四點(diǎn)不貪污的官就是好官嗎“運(yùn)行正確”的程序就是高質(zhì)量的程序嗎?也許運(yùn)行速度很低并且浪費(fèi)內(nèi)存;也許代碼寫得一塌糊涂
目前五十頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.3.1軟件質(zhì)量的定義軟件質(zhì)量是軟件產(chǎn)品滿足規(guī)定的和隱含的與需求能力有關(guān)的全部特征和特性,包括:1.軟件產(chǎn)品滿足用戶要求的程度;2.軟件擁有所期望的各種屬性的組合程度;3.用戶對軟件產(chǎn)品的綜合反映程度;4.軟件在使用過程中滿足用戶需求的程度。目前五十一頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.3.2軟件質(zhì)量的度量模型1976年,Boehm提出了定量度量軟件質(zhì)量的概念,他給出了軟件質(zhì)量的層次模型,并給出了60個(gè)軟件質(zhì)量度量公式;1978年,Walters和McCall提出了三層次軟件質(zhì)量度量模型;1985年,ISO提出了SQM(SoftwareQualityMetric,軟件質(zhì)量度量)工作報(bào)告等等。目前五十二頁\總數(shù)一百四十一頁\編于十四點(diǎn)1.McCall等人的軟件質(zhì)量度量模型McCall等人提出了由軟件質(zhì)量要素、評價(jià)準(zhǔn)則、定量度量三個(gè)層次組成的三層次度量模型。其中:第一層是將對軟件質(zhì)量的度量歸結(jié)為對直接影響軟件質(zhì)量的若干個(gè)軟件質(zhì)量要素的度量;第二層是用若干個(gè)可度量的評價(jià)準(zhǔn)則來間接度量軟件質(zhì)量要素;第三層是對相應(yīng)評價(jià)準(zhǔn)則的直接度量。目前五十三頁\總數(shù)一百四十一頁\編于十四點(diǎn)圖2-3-1軟件質(zhì)量三層次度量模型要素j評價(jià)準(zhǔn)則1評價(jià)準(zhǔn)則2評價(jià)準(zhǔn)則L度量1度量2度量L……目前五十四頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.軟件質(zhì)量要素當(dāng)時(shí)McCall等人認(rèn)為,軟件質(zhì)量由11個(gè)軟件質(zhì)量要素來衡量。這11個(gè)質(zhì)量要素可劃分為三類:面向運(yùn)行特征的軟件質(zhì)量要素有正確性、可靠性、有效性、完整性和可用性;面向軟件承受修改的質(zhì)量要素有可維護(hù)性、靈活性、可測試性;面向轉(zhuǎn)移的軟件質(zhì)量要素有可移植性、可重用性、可互操作性。這三類要素構(gòu)成了軟件質(zhì)量的三個(gè)側(cè)面,如圖2-3-2所示。目前五十五頁\總數(shù)一百四十一頁\編于十四點(diǎn)圖2-3-2軟件質(zhì)量要素的構(gòu)成產(chǎn)品修正產(chǎn)品轉(zhuǎn)移產(chǎn)品運(yùn)行可維護(hù)性靈活性可測試性可移植性可重用性可互操作性正確性可靠性有效性完整性可用性目前五十六頁\總數(shù)一百四十一頁\編于十四點(diǎn)質(zhì)量要素概念1)正確性(correctness):指程序滿足需求規(guī)格說明及用戶目標(biāo)的程度;2)可靠性(reliability):指在給定的時(shí)間間隔內(nèi),程序成功運(yùn)行的概率??煽啃允呛饬寇浖|(zhì)量的一個(gè)重要目標(biāo)。3)有效性(efficiency):指軟件系統(tǒng)的時(shí)間和空間效率。這是一個(gè)應(yīng)當(dāng)努力追求的重要目標(biāo)。4)完整性(integrity):指對未授權(quán)人員訪問程序或數(shù)據(jù)加以控制的程度;5)可用性(usability):指學(xué)習(xí)使用軟件(即操作軟件、準(zhǔn)備輸入數(shù)據(jù)、解釋輸出結(jié)果等)的難易程度;目前五十七頁\總數(shù)一百四十一頁\編于十四點(diǎn)質(zhì)量要素概念1)靈活性(flexibility):指改變一個(gè)操作的順序所需工作量的多少;2)可測試性(testability):指測試軟件以便使其具有預(yù)定功能所需工作量的多少;3)可維護(hù)性(maintainability):指軟件產(chǎn)品交付使用后,在實(shí)現(xiàn)改正潛伏的錯(cuò)誤、改進(jìn)性能等屬性、適應(yīng)環(huán)境變化等方面工作的難易程度。目前五十八頁\總數(shù)一百四十一頁\編于十四點(diǎn)1)可互操作性(interoperability):指程序與其他系統(tǒng)相互交換并使用信息的能力。2)可重用性(reusability):指軟部件可以在多種場合使用的程度。3)可移植性(portability):指軟件從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境移植到另一個(gè)上去的難易程度。質(zhì)量要素概念目前五十九頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.軟件質(zhì)量要素軟件質(zhì)量要素不是獨(dú)立的,一個(gè)要素可能與其他幾個(gè)要素有關(guān)系,如表2-12所示,其中:正相關(guān)以“√”表示,負(fù)相關(guān)以“×”表示。對于具有負(fù)相關(guān)的質(zhì)量要素,在開發(fā)時(shí)應(yīng)根據(jù)具體情況加以取舍或進(jìn)行折衷。例如,對于實(shí)時(shí)控制系統(tǒng),必須確保系統(tǒng)的可靠性和有效性,而軟件的可重用性、可移植性等質(zhì)量要素就可以放寬要求。目前六十頁\總數(shù)一百四十一頁\編于十四點(diǎn)表2-12質(zhì)量要素間的關(guān)系關(guān)系要素要素正確性可靠性有效性完整性可用性可維護(hù)性靈活性可測試性可移植性可重用性可互操作性正確性
可靠性√有效性完整性×
可用性√√×
√可維護(hù)性√√×
√靈活性√√×
×
√√可測試性√√×
√√√可移植性×
√√可重用性×
×
×
√√√√可互操作性×
×
√目前六十一頁\總數(shù)一百四十一頁\編于十四點(diǎn)3.軟件質(zhì)量要素的評價(jià)準(zhǔn)則
軟件質(zhì)量要素一般很難直接測量。為了對11個(gè)要素進(jìn)行度量,McCall等人通過確定影響軟件質(zhì)量要素的屬性,定義了21個(gè)軟件質(zhì)量要素的評價(jià)準(zhǔn)則。這些評價(jià)準(zhǔn)則既能夠比較完整、準(zhǔn)確地描述軟件質(zhì)量要素,又比較容易測量。通過這組評價(jià)準(zhǔn)則就可以間接測量軟件質(zhì)量要素,進(jìn)而度量整個(gè)軟件質(zhì)量。目前六十二頁\總數(shù)一百四十一頁\編于十四點(diǎn)評價(jià)準(zhǔn)則新概念1)可審查性(audit-ability):檢查軟件需求、文檔、過程、標(biāo)準(zhǔn)等是否一致的難易程度;2)準(zhǔn)確性(accuracy):計(jì)算和控制的精確程度;3)簡明性(conciseness):程序源代碼的緊湊程度;4)通信通用性(communicationcommonality):使用標(biāo)準(zhǔn)接口、協(xié)議和帶寬的程度;5)數(shù)據(jù)通用性(datacommonality):在程序中使用標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)和類型的程度;6)容錯(cuò)性(error-tolerance):在各種異常情況下軟件能繼續(xù)提供操作的能力;目前六十三頁\總數(shù)一百四十一頁\編于十四點(diǎn)評價(jià)準(zhǔn)則新概念7)執(zhí)行效率(executionefficiency):軟件運(yùn)行效率;8)可擴(kuò)充性(expandability):結(jié)構(gòu)、數(shù)據(jù)、過程等設(shè)計(jì)可以擴(kuò)充的程度;9)通用性(generality):程序潛在應(yīng)用領(lǐng)域的多少;10)硬件獨(dú)立性(hardwareindependence):軟件與其運(yùn)行的硬件環(huán)境無關(guān)的程度;11)檢測性(instrumentation):程序監(jiān)視自身運(yùn)行并標(biāo)識錯(cuò)誤的程度;12)可操作性(operability):操作該軟件的難易程度;目前六十四頁\總數(shù)一百四十一頁\編于十四點(diǎn)評價(jià)準(zhǔn)則新概念13)安全性(security):控制或保護(hù)程序和數(shù)據(jù)不被破壞、非法訪問等機(jī)制的能力;14)自文檔化(self-documentation):源代碼提供自身說明文檔的程度;15)簡單性(simplicity):程序易于理解的程度;16)軟件獨(dú)立性(softwareindependence):軟件與非標(biāo)準(zhǔn)編程語言特征、操作系統(tǒng)特征等軟件環(huán)境約束無關(guān)的程度;17)易培訓(xùn)性(training):軟件對使用它的新用戶的支持程度。目前六十五頁\總數(shù)一百四十一頁\編于十四點(diǎn)18)可追蹤性(traceability):是指根據(jù)軟件需求對軟件設(shè)計(jì)、程序進(jìn)行正向追蹤,或根據(jù)程序、軟件設(shè)計(jì)對軟件需求進(jìn)行逆向追蹤的能力。19)模塊化(modularity):把一個(gè)程序劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,將這些模塊組裝成一個(gè)整體,即可完成該程序指定的功能。20)一致性(consistency):整個(gè)軟件系統(tǒng)(包括程序、數(shù)據(jù)和文檔)的各個(gè)模塊應(yīng)使用一致的概念、符號和術(shù)語;程序內(nèi)部接口應(yīng)保持一致;軟件與環(huán)境的接口應(yīng)保持一致;系統(tǒng)規(guī)格說明應(yīng)與系統(tǒng)行為保持一致;用于形式化規(guī)格說明的公理系統(tǒng)應(yīng)保持一致。21)完全性(completeness):軟件系統(tǒng)不丟失任何重要成分,完全實(shí)現(xiàn)所需的系統(tǒng)功能的程度。評價(jià)準(zhǔn)則新概念目前六十六頁\總數(shù)一百四十一頁\編于十四點(diǎn)表2-13質(zhì)量要素與評價(jià)準(zhǔn)則的關(guān)系評價(jià)準(zhǔn)則關(guān)系質(zhì)量要素可追蹤性完全性一致性容錯(cuò)性準(zhǔn)確性簡單性可操作性執(zhí)行效率可審查性檢測性安全性數(shù)據(jù)通用性可擴(kuò)充性通用性硬件獨(dú)立性簡明性通信通用性自文檔化軟件獨(dú)立性易培訓(xùn)性模塊化正確性√√√可靠性√√√√有效性√√√完整性√√√可用性√√可維護(hù)性√√√√√√靈活性√√√√√√√可測試性√√√√√可移植性√√√√√可重用性√√√√√可互操作性√√√√目前六十七頁\總數(shù)一百四十一頁\編于十四點(diǎn)4.軟件質(zhì)量要素的度量第j種軟件質(zhì)量要素Fj(j=1,2,…,11)的計(jì)算公式為:Fj=∑CjkMk其中:Mk是第j種軟件質(zhì)量要素Fj對第k種評價(jià)準(zhǔn)則的測量值。評價(jià)準(zhǔn)則多數(shù)只能按主觀想法定值。McCall將每個(gè)評價(jià)準(zhǔn)則都劃分為0~10級,并且Mk的值可以在0,0.1,0.2,…,1.0中取一個(gè)。加權(quán)系數(shù)Cjk滿足∑Cjk=1,Cjk≥0。Cjk=0表示質(zhì)量要素與第k種評價(jià)準(zhǔn)則無關(guān)。目前六十八頁\總數(shù)一百四十一頁\編于十四點(diǎn)4.軟件質(zhì)量要素的度量例如,要度量某軟件的F2(可靠性)假設(shè)C23=0.1,C24=0.3,C25=0.4,C26=0.2,其余的C2k=0,而M3=0.7、M4=0.6、M5=0.5,M6=0.8,則可靠性的度量值為:F2=C23M3+C24M4+C25M5+C26M6=0.1×0.7+0.3×0.6+0.4×0.5+0.2×0.8=0.61目前六十九頁\總數(shù)一百四十一頁\編于十四點(diǎn)ISO三層次軟件質(zhì)量度量模型。1985年,國際標(biāo)準(zhǔn)化組織也提出了三層次軟件質(zhì)量度量模型。其中:高層稱為軟件質(zhì)量需求評價(jià)準(zhǔn)則(SQRC),并由正確性、可容性、有效性、安全性、可用性、可維護(hù)性、靈活性、可互操作性等8個(gè)要素組成;中層稱為軟件質(zhì)量設(shè)計(jì)評價(jià)準(zhǔn)則(SQDC),并由可追蹤性、完全性…、等共23個(gè)評價(jià)準(zhǔn)則組成;低層稱作軟件質(zhì)量度量評價(jià)準(zhǔn)則(SQMC)。目前七十頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.4軟件復(fù)雜性度量通過軟件的復(fù)雜性度量值可以估算出軟件中故障的數(shù)量;也能估算出軟件開發(fā)所需的工作量;定量度量的結(jié)果還可以用于比較不同設(shè)計(jì)方案的優(yōu)劣。同時(shí),軟件的復(fù)雜性也能從某些方面影響軟件的可維護(hù)性、可靠性等軟件質(zhì)量要素。因此,軟件復(fù)雜性度量是軟件度量的一個(gè)重要組成部分。目前七十一頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.4.1軟件復(fù)雜性的概念及度量原則
1.軟件復(fù)雜性的概念K.Magel從6個(gè)方面來描述軟件復(fù)雜性:1)理解程序的難度;2)維護(hù)程序的難度;3)向其他人解釋程序的難度;4)按指定方法修改程序的難度;5)根據(jù)設(shè)計(jì)文件編寫程序的工作量;6)執(zhí)行程序時(shí)需要資源的多少。軟件復(fù)雜性反映了軟件的可理解性、模塊化、簡單性等屬性。目前七十二頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.軟件復(fù)雜性度量的原則軟件復(fù)雜性的度量,的一些基本原則:1)軟件的復(fù)雜性與其規(guī)模的關(guān)系不是線性的;2)數(shù)據(jù)結(jié)構(gòu)復(fù)雜的程序較復(fù)雜;3)控制結(jié)構(gòu)復(fù)雜的程序較復(fù)雜;4)轉(zhuǎn)向語句使用不當(dāng)?shù)某绦蜉^復(fù)雜;5)循環(huán)結(jié)構(gòu)比選擇結(jié)構(gòu)復(fù)雜、選擇結(jié)構(gòu)比順序結(jié)構(gòu)復(fù)雜;6)語句、數(shù)據(jù)、子程序模塊等出現(xiàn)的順序?qū)?fù)雜性有影響;目前七十三頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.軟件復(fù)雜性度量的原則7)非局部變量較多的程序較復(fù)雜;8)參數(shù)按地址調(diào)用(Callbyreference)比按值調(diào)用(Callbyvalue)復(fù)雜;9)函數(shù)副作用比顯式參數(shù)傳遞難理解;10)作用不同的變量同名時(shí)較難理解;11)模塊、過程間聯(lián)系密切的程序較復(fù)雜;12)程序嵌套層數(shù)越多越復(fù)雜。以上這些基本原則是指導(dǎo)我們進(jìn)一步研究定量度量軟件復(fù)雜性的基礎(chǔ)。目前七十四頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.4.2McCabe度量模型該方法是把程序流程圖轉(zhuǎn)化為程序圖:即把程序看成是有一個(gè)入口結(jié)點(diǎn)和一個(gè)出口結(jié)點(diǎn)的有向圖,圖中每個(gè)結(jié)點(diǎn)對應(yīng)一個(gè)語句、一個(gè)簡單判斷或一個(gè)順序流程的代碼塊,原來程序流程圖中的箭頭變成連接各結(jié)點(diǎn)的有向弧(或稱為邊)。一般地,可以假設(shè)從程序圖中的開始結(jié)點(diǎn)可以到達(dá)圖中的任一結(jié)點(diǎn),而從圖中的任一結(jié)點(diǎn)都可以到達(dá)出口結(jié)點(diǎn)。程序圖又稱為程序控制結(jié)構(gòu)圖或程序流圖。目前七十五頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.4.2McCabe度量模型McCabe給出了程序控制結(jié)構(gòu)圖G的巡回秩數(shù)V(G)作為程序控制結(jié)構(gòu)復(fù)雜性的度量,其度量模型為:V(G)=E–N+2其中:E——程序圖G中邊的總數(shù);N——程序圖中結(jié)點(diǎn)的總數(shù)。V(G)又稱為圖G的環(huán)形復(fù)雜度??梢宰C明,V(G)的值等于結(jié)構(gòu)圖中有界和無界的封閉區(qū)域的個(gè)數(shù)。目前七十六頁\總數(shù)一百四十一頁\編于十四點(diǎn)R1圖2-4-1三種基本結(jié)構(gòu)的程序圖R1R2R1R2(a)順序結(jié)構(gòu)V(G)=E–N+2=1–2+2=1
(b)選擇結(jié)構(gòu)V(G)=E–N+2=4–4+2=2(c)while結(jié)構(gòu)R1R2V(G)=E–N+2=3–3+2=2(d)until結(jié)構(gòu)V(G)=E–N+2=3–3+2=2目前七十七頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.4.2McCabe度量模型程序結(jié)構(gòu)的復(fù)雜性度量值V(G)取決于程序控制流的復(fù)雜程度。當(dāng)程序內(nèi)的分支數(shù)和循環(huán)數(shù)增加時(shí),V(G)值將隨之增加,即程序的復(fù)雜性增大。McCabe研究大量程序后指出,V(G)可作為程序規(guī)模的定量指標(biāo),V(G)值越高的程序往往是越復(fù)雜、越容易出問題的程序。McCabe建議模塊規(guī)模應(yīng)滿足:V(G)≤10目前七十八頁\總數(shù)一百四十一頁\編于十四點(diǎn)【例2.5】程序流程圖如圖2-4-2所示,試求出其巡回秩數(shù)V(G)解:(1)畫出程序流程圖對應(yīng)的程序圖。開始abchgfdei結(jié)束圖2-4-3程序圖abcfghdeiR1R2R3R41234567891011圖2-4-2程序流程圖目前七十九頁\總數(shù)一百四十一頁\編于十四點(diǎn)【例2.5】程序流程圖如圖2-4-2所示,試求出其巡回秩數(shù)V(G)(2)由程序圖(或流圖)可得:abcfghdeiR1R2R3R41234567891011(3)由程序圖可以看出,其有界區(qū)域有R1、R2、R3共3個(gè),還有1個(gè)無界區(qū)域R4,共4個(gè)封閉區(qū)域,所以:V(G)=E–N+2=11–9+2=4
V(G)=4目前八十頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.4.3Halstead度量模型20世紀(jì)70年代初,Halstead給出了稱為文本復(fù)雜性度量的模型。它是根據(jù)統(tǒng)計(jì)程序中的操作符和操作數(shù)的個(gè)數(shù)來度量程序的復(fù)雜程度。程序可以看成是由操作符和操作數(shù)組成的符號序列。操作符是指程序中出現(xiàn)的語法符號,如+、–、if-then-else、while等。操作數(shù)是操作對象,如程序中定義或使用的變量、常量、數(shù)組、指針等。令:N1為程序中操作符出現(xiàn)的總個(gè)數(shù),N2為程序中操作數(shù)出現(xiàn)的總個(gè)數(shù)。則程序的語言符號長度N定義為:N=N1+N2。目前八十一頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.4.3Halstead度量模型如果已經(jīng)測得程序中不同操作符的個(gè)數(shù)n1和不同操作數(shù)的個(gè)數(shù)n2,則程序的長度N可用下式來估算:N≈n1log2n1+n2log2n2Halstead用下式來定義程序量(即程序在詞匯上的復(fù)雜性):V=Nlog2(n1+n2)Halstead還給出了預(yù)測錯(cuò)誤數(shù)的公式如下:E=Nlog2(n1+n2)/3000目前八十二頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.4.3Halstead度量模型可以對多個(gè)某種程序設(shè)計(jì)語言的程序進(jìn)行統(tǒng)計(jì)分析,從而得出每千代碼行(KLOC)或每個(gè)功能點(diǎn)(FP)所包含的操作符和操作數(shù)個(gè)數(shù)CL或CF,于是,可以將程序語言符號長度N折合成相應(yīng)的代碼行數(shù)或功能點(diǎn)數(shù)。目前八十三頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.5軟件可靠性度量
軟件可靠性定義為在某個(gè)給定時(shí)間間隔內(nèi),程序按照規(guī)格說明成功運(yùn)行的概率。目前八十四頁\總數(shù)一百四十一頁\編于十四點(diǎn)1.軟件可靠性令:隨機(jī)變量t表示發(fā)生故障的時(shí)刻,t∈[0,∞];函數(shù)f(t)為隨機(jī)變量t的概率密度函數(shù),F(xiàn)(t)表示分布函數(shù);P(0≤t≤t1)表示從初始時(shí)刻到t1時(shí)刻程序發(fā)生故障的概率。設(shè):初始時(shí)刻程序運(yùn)行正常,即F(0)=0。于是有:F(t)=∫f(x)dxf(t)=dF(t)dt0t目前八十五頁\總數(shù)一百四十一頁\編于十四點(diǎn)令:Pf(t1)表示從0到t1時(shí)刻程序發(fā)生故障的概率,有:Pf(t1)=P(0≤t≤t1)=F(t1)–F(0)=F(t1)如果在[0,t]區(qū)間程序成功運(yùn)行的概率為Ps(t)、發(fā)生故障的概率為Pf(t),則有:Ps(t)+Pf(t)=1Ps(t)就是可靠性,一般標(biāo)記為R(t)。由以上幾個(gè)式子可導(dǎo)出:R(t)=1–Pf(t)=1–F(t)=1–∫f(x)dx上式說明,當(dāng)軟件殘留的錯(cuò)誤數(shù)一定時(shí),程序運(yùn)行的時(shí)間越長,發(fā)生故障的次數(shù)越多,軟件的可靠性越小。0t目前八十六頁\總數(shù)一百四十一頁\編于十四點(diǎn)下面引入故障率函數(shù)Z(t),以比較一個(gè)程序在不同時(shí)期、或不同程序在同一時(shí)期的可靠性。設(shè)系統(tǒng)一直成功運(yùn)行至?xí)r刻t,t∈[t1,t1+△t],P(t1≤t≤t1+△t,t>t1)是系統(tǒng)在[t1,t1+△t]時(shí)間間隔且t>t1時(shí)發(fā)生故障的概率。故障率函數(shù)Z(t1)的值定義為:Z(t1)=limP(t1≤t≤t1+△t,t>t1)/△t可以證明:Z(t)=·對前式的兩端對時(shí)間t求導(dǎo)得:dF(t)/dt=–dR(t)/dt,代入上式,得:
=–Z(t)dt
1R(t)dF(t)d(t)dR(t)R(t)目前八十七頁\總數(shù)一百四十一頁\編于十四點(diǎn)對上式兩端積分,利用初始條件R(0)=1,可得:R(t)=exp[–∫Z(x)dx]
上式即為可靠性和故障率的基本方程式。據(jù)此可以導(dǎo)出幾個(gè)常用的故障模型:Z(t)=λ,其中λ是常數(shù)。將λ代入式前式,可得:R(t)=e–λt上式稱為故障率為常數(shù)的可靠性模型。由于故障率是常數(shù),可靠性將隨著時(shí)間t的增加呈指數(shù)衰減。t0目前八十八頁\總數(shù)一百四十一頁\編于十四點(diǎn)Z(t)=kt,這里k為常數(shù),t≥0。將kt代入前式可得:
R(t)=e–kt2/2
上式稱為故障率是時(shí)間的線性函數(shù)時(shí)的可靠性模型。即當(dāng)存在損耗和退化時(shí),故障率將隨著時(shí)間的增加而線性增加。該模型一般不適合于軟件產(chǎn)品。需要指出,軟件中的錯(cuò)誤一般都是人為的設(shè)計(jì)錯(cuò)誤,其中多數(shù)是邏輯錯(cuò)誤。隨著對軟件的測試及修復(fù),軟件系統(tǒng)中的錯(cuò)誤會(huì)越來越少。因此,實(shí)際軟件系統(tǒng)的故障率函數(shù)曲線應(yīng)如圖2-5-1所示,即軟件故障率不是常數(shù)、也不是線性函數(shù),而是按指數(shù)規(guī)律下降。實(shí)際的統(tǒng)計(jì)結(jié)果也說明了這一點(diǎn)。目前八十九頁\總數(shù)一百四十一頁\編于十四點(diǎn)圖2-5-1軟件系統(tǒng)故障率Z(t)Ot目前九十頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.軟件的有效性及其度量軟件的有效性函數(shù)A(t)定義為軟件系統(tǒng)在時(shí)刻t按照規(guī)格說明成功運(yùn)行的概率。可靠性與有效性之間的差別是,可靠性強(qiáng)調(diào)軟件系統(tǒng)在0~t這段時(shí)間間隔內(nèi)都有效,而有效性強(qiáng)調(diào)軟件系統(tǒng)在時(shí)刻t這一時(shí)間點(diǎn)有效。A(200)=0.93表示假設(shè)有100個(gè)相同的系統(tǒng)同時(shí)啟動(dòng)運(yùn)行,運(yùn)行到200小時(shí)這一時(shí)刻,其中有93個(gè)處于正常運(yùn)行狀態(tài),7個(gè)出現(xiàn)故障,等待修復(fù)。R(200)=0.93表示假設(shè)有100個(gè)相同的系統(tǒng)有93個(gè)無故障運(yùn)行了200小時(shí),有7個(gè)在此期間發(fā)生故障。目前九十一頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.軟件的有效性及其度量一般來說,對R(200)=0.93的要求比對A(200)=0.93的要求要嚴(yán)格得多。對于不可修復(fù)系統(tǒng)(即不允許程序停止運(yùn)行的系統(tǒng))或沒有修復(fù)能力的情況:A(t)=R(t)對于可修復(fù)系統(tǒng)并能及時(shí)修復(fù)的情況:A(t)≥R(t)。目前九十二頁\總數(shù)一百四十一頁\編于十四點(diǎn)軟件穩(wěn)態(tài)有效性的兩種度量方法1)軟件系統(tǒng)投入運(yùn)行后,在一段時(shí)間內(nèi),可統(tǒng)計(jì)軟件系統(tǒng)的故障停機(jī)時(shí)間tdi和正常運(yùn)行時(shí)間tuj,則軟件系統(tǒng)的穩(wěn)態(tài)有效性為:A(t)=Tu/(Tu+Td)其中:t=Tu+Td,Td=∑tdi,Tu=∑tuj目前九十三頁\總數(shù)一百四十一頁\編于十四點(diǎn)軟件穩(wěn)態(tài)有效性的兩種度量方法2)軟件系統(tǒng)在穩(wěn)態(tài)運(yùn)行時(shí),可統(tǒng)計(jì)其平均故障間隔時(shí)間MTBF(meantimebetweenfailurs,即程序正常運(yùn)行時(shí)間的平均值)和平均修復(fù)時(shí)間MTTR(meantimetorepair,即平均停機(jī)時(shí)間),則軟件系統(tǒng)的穩(wěn)態(tài)有效性為:A=MTBF/(MTBF+MTTR)采用上述方法,在開發(fā)階段和投入運(yùn)行后都可以定量地度量軟件系統(tǒng)的有效性和可靠性。軟件系統(tǒng)投入運(yùn)行的一段時(shí)間內(nèi),可以用各種輸入和操作來引發(fā)程序中殘留的錯(cuò)誤,經(jīng)過多次修復(fù)后錯(cuò)誤將逐漸減少,有效性和可靠性將不斷提高。目前九十四頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.5.2軟件可靠性的估算軟件可靠性估算模型大致分為宏觀和微觀模型兩類。宏觀模型是從程序中殘留錯(cuò)誤數(shù)的角度建立模型,并用統(tǒng)計(jì)方法確定模型參數(shù)。而微觀模型則以程序的控制結(jié)構(gòu)和語句分析為基礎(chǔ)。下面僅介紹幾個(gè)典型的宏觀模型。1.殘留錯(cuò)誤總數(shù)的估算模型對殘留錯(cuò)誤總數(shù)的估算是可靠性估算的基礎(chǔ)。典型的估算模型:錯(cuò)誤植入模型;分別測試模型。目前九十五頁\總數(shù)一百四十一頁\編于十四點(diǎn)1)錯(cuò)誤植入模型Mills首先提出了估算程序中殘留錯(cuò)誤總數(shù)的錯(cuò)誤植入模型。即在進(jìn)行測試之前,由專人(比如統(tǒng)計(jì)人員)在程序中隨機(jī)地植入一些錯(cuò)誤(稱為帶有標(biāo)記的錯(cuò)誤),測試人員測試之后,通過統(tǒng)計(jì)測試人員發(fā)現(xiàn)的原有錯(cuò)誤和植入錯(cuò)誤的比例來估算程序中原有錯(cuò)誤總數(shù)。設(shè):Nt—植入的錯(cuò)誤數(shù),n—測試發(fā)現(xiàn)原有的錯(cuò)誤數(shù),nt—發(fā)現(xiàn)植入的錯(cuò)誤數(shù),ET—原有的錯(cuò)誤總數(shù)。則有:ET/Nt≈n/nt于是ET的估算模型為:ET=Nt·n/nt
目前九十六頁\總數(shù)一百四十一頁\編于十四點(diǎn)2)分別測試模型1973年,Hyman對錯(cuò)誤植入模型做了改進(jìn),即用甲、乙兩個(gè)程序測試員同時(shí)對一個(gè)程序的兩個(gè)副本進(jìn)行獨(dú)立測試。設(shè):ET——程序中原有的殘留錯(cuò)誤總數(shù),E1——甲在[0,τ]時(shí)間內(nèi)發(fā)現(xiàn)的錯(cuò)誤數(shù),E2——乙在[0,τ]時(shí)間內(nèi)發(fā)現(xiàn)的錯(cuò)誤數(shù),E0——兩人在[0,τ]時(shí)間內(nèi)發(fā)現(xiàn)的相同的錯(cuò)誤的個(gè)數(shù),則有:ET=E1·E2/E0
Hyman提出的分別測試模型無論在技術(shù)上還是在經(jīng)濟(jì)上都比錯(cuò)誤植入模型優(yōu)越。目前九十七頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.軟件平均故障間隔時(shí)間的估算軟件的平均故障間隔時(shí)間MTBF是可靠性度量的一個(gè)重要參數(shù),往往作為一個(gè)重要的質(zhì)量指標(biāo)由用戶提出來。下面介紹MTBF的估算方法。1)軟件故障率為常數(shù)當(dāng)軟件故障率λ為常數(shù)時(shí),假設(shè)程序運(yùn)行H小時(shí),共發(fā)生r次故障,則λ的估算值為:λ≈r/H于是有:MTBF=1/λ=H/r目前九十八頁\總數(shù)一百四十一頁\編于十四點(diǎn)2)軟件故障率與程序殘留錯(cuò)誤數(shù)成正比設(shè):IT—程序代碼長度;ET—測試之前程序中殘留錯(cuò)誤總數(shù);Ec(τ)—[0,τ]區(qū)間內(nèi)改正的錯(cuò)誤數(shù);Er(τ)—在τ時(shí)刻程序中剩余的錯(cuò)誤數(shù);其中τ為調(diào)試和排錯(cuò)時(shí)間。于是,剩余的錯(cuò)誤數(shù)為:Er(τ)=ET–Ec(τ)目前九十九頁\總數(shù)一百四十一頁\編于十四點(diǎn)2)軟件故障率與程序殘留錯(cuò)誤數(shù)成正比Er(τ)=ET–Ec(τ)用IT去除上式的兩邊,有:Er(τ)/IT=ET/IT–Ec(τ)/IT令:εr(τ)=Er(τ)/IT,εT=ET/IT,εc(τ)=Ec(τ)/IT,于是有:εr(τ)=εT–εc(τ)目前一百頁\總數(shù)一百四十一頁\編于十四點(diǎn)2)軟件故障率與程序殘留錯(cuò)誤數(shù)成正比由于軟件故障率λ=λ(τ)與程序殘留錯(cuò)誤數(shù)成正比,所以有:λ=kεr(τ)=k(εT–εc(τ))其中的比例因子k可通過實(shí)驗(yàn)測試和統(tǒng)計(jì)的方法來估算。設(shè)進(jìn)行n次軟件排錯(cuò)實(shí)驗(yàn),時(shí)間區(qū)間為[0,τj],到τj時(shí)刻為止,共排除了Ec(τj)個(gè)錯(cuò)誤,而在時(shí)間區(qū)間[0,τj]內(nèi),程序運(yùn)行了Hj小時(shí),出現(xiàn)了rj個(gè)錯(cuò)誤,j=1,2,…,n。此時(shí)k的估計(jì)值為:
k
=∑rj/∑Hj[εT–εc(τj)]nj=1nj=1目前一百零一頁\總數(shù)一百四十一頁\編于十四點(diǎn)2)軟件故障率與程序殘留錯(cuò)誤數(shù)成正比k
=∑rj/∑Hj[εT–εc(τj)]當(dāng)n=1時(shí),
k=r/H[εT–εc(τ)]當(dāng)n=2時(shí),k=(r1+r2)/{H1[εT–εc(τ1)]++H2[εT–εc(τ2)]}k的值估算出來之后,即可利用公式估算MTBF,它是τ的函數(shù)。目前一百零二頁\總數(shù)一百四十一頁\編于十四點(diǎn)2)軟件故障率與程序殘留錯(cuò)誤數(shù)成正比對于確定的τ值,λ=kεr(τ)為常數(shù),于是,經(jīng)過[0,τ]區(qū)間的排錯(cuò)后,軟件可靠性估算為:R(t)=exp[–kεr(τ)t]=exp(–t/MTBF)上式中時(shí)間參數(shù)τ以月計(jì),表示對程序調(diào)試和維護(hù)的時(shí)間,t∈[0,τ],以小時(shí)計(jì),表示程序運(yùn)行的時(shí)間。上式可理解為經(jīng)過τ個(gè)月的調(diào)試后所達(dá)到的軟件可靠性。目前一百零三頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.6軟件開發(fā)過程的管理為達(dá)到軟件工程的目標(biāo),必須對軟件開發(fā)項(xiàng)目的工作范圍、所需的工作量和成本、必需的人力和軟硬件資源、可能遇到風(fēng)險(xiǎn)、進(jìn)度的安排、待實(shí)現(xiàn)的任務(wù)、經(jīng)歷的里程碑等進(jìn)行管理。軟件開發(fā)過程的管理應(yīng)在所有技術(shù)工作開始之前啟動(dòng),直至軟件工程過程的結(jié)束。目前一百零四頁\總數(shù)一百四十一頁\編于十四點(diǎn)軟件開發(fā)項(xiàng)目管理過程主要包括以下幾個(gè)方面:1.啟動(dòng)一個(gè)軟件項(xiàng)目
2.成本估算3.風(fēng)險(xiǎn)分析4.進(jìn)度安排5.追蹤和控制目前一百零五頁\總數(shù)一百四十一頁\編于十四點(diǎn)風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)的特點(diǎn):①不確定性,某項(xiàng)風(fēng)險(xiǎn)可能發(fā)生也可能不發(fā)生;②損失,一旦某項(xiàng)風(fēng)險(xiǎn)變成了現(xiàn)實(shí),就必然會(huì)給項(xiàng)目帶來不良的影響和損失,甚至災(zāi)難性后果。(1)按照風(fēng)險(xiǎn)的影響范圍分類
①項(xiàng)目風(fēng)險(xiǎn)
②技術(shù)風(fēng)險(xiǎn)
③商業(yè)風(fēng)險(xiǎn)2.風(fēng)險(xiǎn)分類:
(2)按照風(fēng)險(xiǎn)的可預(yù)測性分類
①已知風(fēng)險(xiǎn)
②可預(yù)測的風(fēng)險(xiǎn)
③不可預(yù)測的風(fēng)險(xiǎn)目前一百零六頁\總數(shù)一百四十一頁\編于十四點(diǎn)風(fēng)險(xiǎn)分析3.風(fēng)險(xiǎn)分析的三個(gè)主要活動(dòng):
風(fēng)險(xiǎn)標(biāo)識;風(fēng)險(xiǎn)估算;處理風(fēng)險(xiǎn)的策略。
Ifyoudon’tactivelyattacktherisks,theywillactivelyattackyou.——TomGilb(1988)目前一百零七頁\總數(shù)一百四十一頁\編于十四點(diǎn)1.風(fēng)險(xiǎn)標(biāo)識Boehm建議使用各類風(fēng)險(xiǎn)檢測表來標(biāo)識風(fēng)險(xiǎn)。在風(fēng)險(xiǎn)檢測表中列出所有可能的與每一個(gè)風(fēng)險(xiǎn)因素有關(guān)的問題。包括產(chǎn)品規(guī)模風(fēng)險(xiǎn)檢測表、商業(yè)風(fēng)險(xiǎn)檢測表、客戶風(fēng)險(xiǎn)檢測表、過程風(fēng)險(xiǎn)檢測表、開發(fā)環(huán)境風(fēng)險(xiǎn)檢測表、技術(shù)風(fēng)險(xiǎn)檢測表、人員風(fēng)險(xiǎn)檢測表等等。例如,“人員風(fēng)險(xiǎn)檢測表”可如表2-14所示。
在表2-14中,可以根據(jù)實(shí)際情況選用0、1、2、3、4、5來回答每一個(gè)問題,某個(gè)問題取值越大表示該項(xiàng)風(fēng)險(xiǎn)也越大。人員風(fēng)險(xiǎn)檢測表反映了人的因素可能對軟件項(xiàng)目的影響。目前一百零八頁\總數(shù)一百四十一頁\編于十四點(diǎn)表2-14人員風(fēng)險(xiǎn)檢測表序號問題回答(0、1、2、3、4、5}1開發(fā)人員的水平如何?22開發(fā)人員在技術(shù)上是否配套?13是否有足夠的人員可用?04開發(fā)人員是否能自始至終參加軟件項(xiàng)目的工作?25開發(fā)人員是否能把全部精力投入到軟件開發(fā)工作中?26開發(fā)人員對自己的工作是否有正確的期望?17開發(fā)人員是否已接受了必要的培訓(xùn)?08開發(fā)人員的流動(dòng)是否還能保證工作的連續(xù)性?3目前一百零九頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.風(fēng)險(xiǎn)估算——風(fēng)險(xiǎn)預(yù)測風(fēng)險(xiǎn)預(yù)測(也稱為風(fēng)險(xiǎn)估算)試圖從兩個(gè)方面來評估每個(gè)風(fēng)險(xiǎn):風(fēng)險(xiǎn)變成現(xiàn)實(shí)的可能性或概率,以及當(dāng)風(fēng)險(xiǎn)變成現(xiàn)實(shí)時(shí)所造成的后果。(1)評估風(fēng)險(xiǎn)后果美國空軍建議從性能、支持、成本和進(jìn)度等四個(gè)方面評估風(fēng)險(xiǎn)的后果,他們把上述四個(gè)方面稱為四個(gè)風(fēng)險(xiǎn)因素。下面給出這四個(gè)風(fēng)險(xiǎn)因素的定義?!ば阅茱L(fēng)險(xiǎn)·成本風(fēng)險(xiǎn)·支持風(fēng)險(xiǎn)·進(jìn)度風(fēng)險(xiǎn)目前一百一十頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.風(fēng)險(xiǎn)估算根據(jù)風(fēng)險(xiǎn)發(fā)生時(shí)對上述四個(gè)風(fēng)險(xiǎn)因素影響的嚴(yán)重程度,可以把風(fēng)險(xiǎn)后果劃分成四個(gè)等級:可忽略的、輕微的、嚴(yán)重的和災(zāi)難性的。(2)建立風(fēng)險(xiǎn)表目前一百一十一頁\總數(shù)一百四十一頁\編于十四點(diǎn)評估風(fēng)險(xiǎn)后果目前一百一十二頁\總數(shù)一百四十一頁\編于十四點(diǎn)3.處理風(fēng)險(xiǎn)的策略
對于絕大多數(shù)軟件項(xiàng)目來說,上述的4個(gè)風(fēng)險(xiǎn)因素(性能、成本、支持和進(jìn)度)都有一個(gè)臨界值,超過臨界值就會(huì)導(dǎo)致項(xiàng)目被迫終止。也就是說,如果性能下降、成本超支、支持困難或進(jìn)度延遲(或這4種因素的組合)超過了預(yù)先定義的限度,則因風(fēng)險(xiǎn)過大項(xiàng)目將被迫終止。如果風(fēng)險(xiǎn)還沒有嚴(yán)重到迫使項(xiàng)目終止的程度,則項(xiàng)目組應(yīng)該制定一個(gè)處理風(fēng)險(xiǎn)的策略。一個(gè)有效的策略應(yīng)該包括下述三方面的內(nèi)容:風(fēng)險(xiǎn)避免(或緩解);風(fēng)險(xiǎn)監(jiān)控;風(fēng)險(xiǎn)管理和意外事件計(jì)劃。目前一百一十三頁\總數(shù)一百四十一頁\編于十四點(diǎn)
(1)風(fēng)險(xiǎn)緩解如果軟件項(xiàng)目組采用主動(dòng)的策略來處理風(fēng)險(xiǎn),則避免風(fēng)險(xiǎn)總是最好的策略。這可以通過建立風(fēng)險(xiǎn)緩解計(jì)劃來達(dá)到。(2)風(fēng)險(xiǎn)監(jiān)控隨著項(xiàng)目的進(jìn)展,風(fēng)險(xiǎn)監(jiān)控活動(dòng)也就開始了。項(xiàng)目管理者監(jiān)控某些能指出風(fēng)險(xiǎn)概率正在變高還是變低的因素。(3)風(fēng)險(xiǎn)管理和意外事件計(jì)劃風(fēng)險(xiǎn)管理和意外事件計(jì)劃假設(shè)緩解風(fēng)險(xiǎn)的努力失敗了,風(fēng)險(xiǎn)變成了現(xiàn)實(shí)。3.處理風(fēng)險(xiǎn)的策略目前一百一十四頁\總數(shù)一百四十一頁\編于十四點(diǎn)
項(xiàng)目管理者的目標(biāo)是定義全部項(xiàng)目任務(wù),識別出關(guān)鍵任務(wù),跟蹤關(guān)鍵任務(wù)的進(jìn)展?fàn)顩r,以保證能及時(shí)發(fā)現(xiàn)拖延進(jìn)度的情況。為了做到這一點(diǎn),管理者必須制定一個(gè)足夠詳細(xì)的進(jìn)度表,以便監(jiān)督項(xiàng)目進(jìn)度,并控制整個(gè)項(xiàng)目。軟件項(xiàng)目的進(jìn)度安排是一項(xiàng)活動(dòng),它通過把工作量分配給特定的軟件工程任務(wù),并規(guī)定完成各項(xiàng)任務(wù)的起、止日期,從而將估算的工作量分布于計(jì)劃好的項(xiàng)目持續(xù)期內(nèi)。進(jìn)度安排目前一百一十五頁\總數(shù)一百四十一頁\編于十四點(diǎn)基本原則下述的基本原則能夠指導(dǎo)軟件項(xiàng)目的進(jìn)度安排。1.劃分2.相互依賴性3.時(shí)間分配4.工作量確認(rèn)5.定義責(zé)任6.定義結(jié)果7.定義里程碑進(jìn)度安排目前一百一十六頁\總數(shù)一百四十一頁\編于十四點(diǎn)1、GanttChart(甘特圖)tw12345678ABCD當(dāng)前進(jìn)度優(yōu)點(diǎn):簡單,能動(dòng)態(tài)地反映開發(fā)進(jìn)展。缺點(diǎn):難以反映多個(gè)任務(wù)間的邏輯關(guān)系。進(jìn)度安排目前一百一十七頁\總數(shù)一百四十一頁\編于十四點(diǎn)012345678
codingA
testingA
debuggingABcoding
understandingC
modifyingC
testingB
testingC
debuggingB
debuggingC
testingABC012356789
codingA
testingA
debuggingA
understandingC
modifyingC
testingB
testingC
debuggingB
debuggingC
testingABC4
debuggingABcoding2、PERT(ProgramEvaluation&ReviewTechnique)和CPM(CriticalPathMethod)例:開發(fā)三個(gè)模塊A、B、C。
A為公用模塊,B、C的測試須等A的調(diào)試完成后進(jìn)行。A的編碼需6天,測試8天,調(diào)試6天。B的編碼需7天,測試8天,調(diào)試6天。C利用已有的模塊,須先理解原模塊8天,再修改8天,測試9天,調(diào)試7天。最后三模塊集成測試需5天完成。目前一百一十八頁\總數(shù)一百四十一頁\編于十四點(diǎn)持續(xù)時(shí)間LastingTime機(jī)動(dòng)時(shí)間SlackTime編號EarliestStartTimeLatestStartTime012345678941363029222014126006142082028293641(0)(0)(15)(4)(2)(4)(0)(2)(0)(2)(0)(0)686678886975(1)標(biāo)出LastingTime(2)標(biāo)出EST:=從起點(diǎn)始,所有進(jìn)入事件的EST+LT中最大的(3)標(biāo)出LST:=從終點(diǎn)(EST=LST)始,所有離開事件的LSTLT中最小的(4)標(biāo)出ST:=終點(diǎn)LST起點(diǎn)EST
LT(5)標(biāo)出CriticalPath:即EST=LST的所有事件組成的路徑目前一百一十九頁\總數(shù)一百四十一頁\編于十四點(diǎn)軟件質(zhì)量保證1)在需求分析階段提出對軟件質(zhì)量的需求,并將其自頂向下逐步分解為可以度量和控制的質(zhì)量要素,為軟件開發(fā)、維護(hù)各階段軟件質(zhì)量的定性分析和定量度量打下基礎(chǔ);2)研究并選用軟件開發(fā)方法和工具;3)對軟件生存周期各階段進(jìn)行正式的技術(shù)評審(FTR);4)制定并實(shí)施軟件測試策略和測試計(jì)劃;5)及時(shí)生成軟件文檔并進(jìn)行其版本控制;6)保證軟件開發(fā)過程與選用的軟件開發(fā)標(biāo)準(zhǔn)相一致;7)建立軟件質(zhì)量要素的度量機(jī)制;8)記錄SQA的各項(xiàng)活動(dòng),并生成各種SQA報(bào)告。1.軟件質(zhì)量保證(SQA,SoftwareQualityAssurance)活動(dòng)的內(nèi)容目前一百二十頁\總數(shù)一百四十一頁\編于十四點(diǎn)2.技術(shù)復(fù)審的必要性正式技術(shù)復(fù)審的明顯優(yōu)點(diǎn)是,能夠較早地發(fā)現(xiàn)錯(cuò)誤,防止錯(cuò)誤被傳播到軟件過程的后續(xù)階段。正式技術(shù)復(fù)審實(shí)際上是一類復(fù)審方法,包括走查(Walkthrough)和審查(Inspection)等具體方法。走查的步驟比審查少,而且沒有審查那樣正規(guī)。軟件質(zhì)量保證目前一百二十一頁\總數(shù)一百四十一頁\編于十四點(diǎn)(1)參與者驅(qū)動(dòng)法參與者按照事先準(zhǔn)備好的列表,提出他們不理解的術(shù)語和認(rèn)為不正確的術(shù)語。文檔編寫組的代表必須對每個(gè)質(zhì)疑做出回答,要么承認(rèn)確實(shí)有錯(cuò)誤,要么對質(zhì)疑做出解釋。走查(2)文檔驅(qū)動(dòng)法文檔編寫者向走查組成員仔細(xì)解釋文檔。走查組成員在此過程中不時(shí)針對事先準(zhǔn)備好的問題或解釋過程中發(fā)現(xiàn)的問題提出質(zhì)疑。這種方法可能比第一種方法更徹底,往往能檢測出更多錯(cuò)誤。經(jīng)驗(yàn)表明,采用文檔驅(qū)動(dòng)法時(shí)許多錯(cuò)誤是由文檔講解者自己發(fā)現(xiàn)的。目前一百二十二頁\總數(shù)一百四十一頁\編于十四點(diǎn)
審查的范圍要比走查廣泛得多,它的步驟也比較多。一般來說,審查有5個(gè)基本步驟。·綜述·準(zhǔn)備·審查·返工·跟蹤審查目前一百二十三頁\總數(shù)一百四十一頁\編于十四點(diǎn)
正
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版企業(yè)并購與重組合同:股權(quán)收購合同版B版
- 2024年規(guī)范化人力資源委托管理合同
- 2024跨境電子商務(wù)平臺(tái)建設(shè)與運(yùn)營合作協(xié)議
- 2024年高速路段交通安全設(shè)施采購合同
- 2024店鋪市場推廣合作合同2篇
- 2025年度文化創(chuàng)意產(chǎn)業(yè)財(cái)產(chǎn)抵押擔(dān)保投資合同3篇
- 2025年度大型物流樞紐承包經(jīng)營合同典范3篇
- 2024年網(wǎng)絡(luò)云服務(wù)提供商托管協(xié)議
- 2024年新能源項(xiàng)目技術(shù)顧問聘任協(xié)議3篇
- 2024年度牙齒矯正前后口腔護(hù)理指導(dǎo)服務(wù)合同3篇
- 城市生命線安全…監(jiān)測預(yù)警指揮平臺(tái)建設(shè)方案
- 六年級數(shù)學(xué)《圓柱的體積》教案(一等獎(jiǎng))
- 2024CSCO惡性腫瘤患者營養(yǎng)治療指南解讀
- 常見化學(xué)專業(yè)詞匯英文翻譯
- 內(nèi)科護(hù)理學(xué)智慧樹知到期末考試答案章節(jié)答案2024年荊門職業(yè)學(xué)院
- (高清版)JTGT 5190-2019 農(nóng)村公路養(yǎng)護(hù)技術(shù)規(guī)范
- 基于視覺果蔬識別的稱重系統(tǒng)設(shè)計(jì)
- 體育初中學(xué)生學(xué)情分析總結(jié)報(bào)告
- 2024氫氣長管拖車安全使用技術(shù)規(guī)范
- 部編版語文中考必背文言文7-9年級
- 《中外歷史綱要(上)》期末專題復(fù)習(xí)提綱
評論
0/150
提交評論