軟件質(zhì)量與質(zhì)量保證_第1頁
軟件質(zhì)量與質(zhì)量保證_第2頁
軟件質(zhì)量與質(zhì)量保證_第3頁
軟件質(zhì)量與質(zhì)量保證_第4頁
軟件質(zhì)量與質(zhì)量保證_第5頁
已閱讀5頁,還剩163頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

參考資料RogerS.Pressman:《SoftwareEngineering-APractitioner’sApproach》fifthedition,McGraw-HillCompanies,Inc.2001清華高校出版社楊文龍,姚淑珍,吳蕓:《軟件工程》,電子工業(yè)出版社,1997年內(nèi)容支配第六章軟件質(zhì)量與質(zhì)量保證第七章軟件測試第八章軟件維護(hù)內(nèi)容支配第六章軟件質(zhì)量與質(zhì)量保證第一節(jié)軟件質(zhì)量其次節(jié)軟件質(zhì)量保證第三節(jié)技術(shù)方法和工具的選用第四節(jié)正式技術(shù)評審的實施第五節(jié)標(biāo)準(zhǔn)的執(zhí)行第六節(jié)文擋及其修改的限制第七節(jié)度量第八節(jié)SQA小組的活動6.1軟件質(zhì)量一、軟件質(zhì)量的定義與明確確定的功能和性能需求的一樣性與明確成文的開發(fā)標(biāo)準(zhǔn)的一樣性與全部專業(yè)開發(fā)的軟件所期望的隱含的特性的一樣性軟件質(zhì)量因素二、軟件質(zhì)量因素可干脆度量的因素只能間接度量的因素度量和量度度量(Measurement)度量是對開發(fā)過程進(jìn)行檢測,以提高開發(fā)過程的質(zhì)量和勞動生產(chǎn)率量度(Metrics)量度是度量的結(jié)果或度量中一個項的抽象表示,做為評價質(zhì)量和勞動生產(chǎn)率的基礎(chǔ)量度模型-Boehm模型Boehm模型量度模型-McCall模型McCall模型量度模型-ISO模型ISO模型各因素間的影響6.2軟件質(zhì)量保證一、質(zhì)量保證策略以檢測為重點以過程管理為重點以新產(chǎn)品開發(fā)為重點二、軟件質(zhì)量保證活動1技術(shù)方法和工具的選用2正式技術(shù)評審的實施3多層次軟件測試4標(biāo)準(zhǔn)的執(zhí)行5文檔及其修改的限制6度量和報告制度7記錄和記錄保存8SQA小組活動6.3技術(shù)方法及方法的選用一、接受或不接受軟件工程方法軟件工程從1968年提出至今,軟件工程中很多技術(shù)已變得成熟。軟件工程學(xué)問體(SWEBOK)已被定義,軟件工程多個部分已有ISO標(biāo)準(zhǔn),較軟件工程的發(fā)展趨勢和新技術(shù)已初顯端貌。問題:是否真正駕馭軟件工程的實質(zhì)(運用系統(tǒng)的、規(guī)范的和可定量的方法開發(fā)、運行和維護(hù)軟件)?并在實際工作中付諸實施!當(dāng)然,軟件工程也不是包醫(yī)百病的靈丹妙藥!目前的主要問題是很多軟件企業(yè)不遵循軟件工程的思想操作。二、開發(fā)過程的選用1、瀑布模型2、瀑布模型的改進(jìn)與延長(1)原型(2)螺旋模型(3)4GT(4)混合模型3、迭代、增量到統(tǒng)一的軟件開發(fā)過程4、形式化開發(fā)模型1、瀑布模型提出最早,這是一種系統(tǒng)的、分階段的線性過程問題:要求需求一起先就提正確而且不變;開發(fā)人員相互等待導(dǎo)致開發(fā)工作的堵塞現(xiàn)象,尤其在起先和結(jié)束階段。在歷史上起過重要作用,而且至今仍占有重要的位置。它供應(yīng)了一個模板,使得分析、設(shè)計、編碼、測試和維護(hù)可在該模板指導(dǎo)下應(yīng)用,仍舊是軟件工程中應(yīng)用最泛的過程模型。在科學(xué)和工程計算、實時限制及嵌入式系統(tǒng)中應(yīng)用得很好。瀑布模型2、瀑布模型的改進(jìn)與延長(1)原型原型開發(fā)的確是解決需求的不確定性和可變性提出的一種好方法。原型分拋棄式原型、演化式原型和增量式原型拋棄式原型的最大用處是協(xié)助分析和確定用戶需求,及解決系統(tǒng)任何部位的不確定性問題;演化式原型可以作為一種開發(fā)方法,利用演化成為最終系統(tǒng);增量式原型開發(fā)可以作為瀑布模型開發(fā)的補(bǔ)充。原型瀑布模型的改進(jìn)與延長(2)螺旋模型也是一個演化過程模型,綜合了瀑布模型和原型的優(yōu)點,成功與否很大程度上取決于風(fēng)險分析技術(shù)螺旋模型瀑布模型的改進(jìn)與延長(3)4GT其最大特點是擁有一組工具,每個工具都能使軟件開發(fā)人員在高層次上定義軟件的某些特性,并把開發(fā)人員定義的這些特性自動地生成源代碼。所以,這種方法可以大大地削減軟件開發(fā)的時間,目前主要用于事務(wù)處理應(yīng)用程序。4GT實現(xiàn)成為產(chǎn)品以后,要進(jìn)行徹底的測試,還須要數(shù)據(jù)庫的支持。對于一些較大的應(yīng)用程序,必需先制定出一個系統(tǒng)的策略,否則難以完成。必需指出的,運用4GT也會產(chǎn)生與瀑布模型開發(fā)軟件所遇到的同樣的問題。假如能與基于構(gòu)件的開發(fā)方法結(jié)合起來,很可能將成為軟件開發(fā)的一種主流方法。4GT瀑布模型的改進(jìn)與延長(4)混合模型目前軟件企業(yè)一般都接受混合模型開發(fā)軟件。它是把瀑布、原型、螺旋和4GT開發(fā)模式組合起來,它允許一個項目可以依據(jù)項目特征和要求及企業(yè)自身的開發(fā)條件(技術(shù)的和管理的)選擇一條最有效的路徑。好處:給企業(yè)管理者和開發(fā)者供應(yīng)了一個舞臺,使每個模型的特長都得到發(fā)揮。但由此對企業(yè)管理和技術(shù)都提出了更高要求?;旌夏P?、迭代、增量到統(tǒng)一的開發(fā)過程自從OO技術(shù)于90年頭逐步走向好用以后,才為真正的迭代、增量到統(tǒng)一的開發(fā)過程奠定了堅實的技術(shù)和組織基礎(chǔ);也為重用技術(shù)和基于構(gòu)件的開發(fā)供應(yīng)了條件。演化迭代增量統(tǒng)一的軟件開發(fā)過程基于構(gòu)件的開發(fā)4、形式化開發(fā)模型能夠借助一種嚴(yán)密的、數(shù)學(xué)的符號規(guī)格說明、開發(fā)和驗證一個基于計算機(jī)的系統(tǒng)好處:能夠消退在運用其它軟件工程模式中難以克服的諸如二義性、不完整性和不一樣性等問題,不是通過特地支配的評審,而是通過數(shù)學(xué)分析的應(yīng)用。盡管,當(dāng)前對于大型困難的軟件系統(tǒng)要進(jìn)行完整的形式化開發(fā),還不現(xiàn)實,也不行能。但用于大型困難系統(tǒng)的一些關(guān)鍵部位,的確是一種有效地好用策略開發(fā)過程總結(jié)軟件開發(fā)過程的接受,主要確定于你開發(fā)的產(chǎn)品:不同的產(chǎn)品應(yīng)有不同的過程,不能只從技術(shù)角度來評價它們的優(yōu)劣!如一個科學(xué)、工程計算系統(tǒng)可用瀑布模型或形式化開發(fā)模型;一個事務(wù)處理系統(tǒng)可用原型;而一個Web站點的創(chuàng)建可用演化模型本部分內(nèi)容極為重要:因為開發(fā)過程的不同,不僅對軟件開發(fā)和維護(hù)的質(zhì)量和勞動生產(chǎn)率有重大影響,而且實現(xiàn)時所接受的方法、語言和工具也不完全相同反過來,探討方法、語言和工具的對其質(zhì)量和勞動生產(chǎn)率的影響,也就沒有依據(jù)了三、開發(fā)方法、語言和工具的選用開發(fā)方法供應(yīng)了構(gòu)造軟件的技術(shù)語言用以支持軟件的分析、設(shè)計和實現(xiàn)工具為開發(fā)方法和語言供應(yīng)自動化或半自動化的支持什么樣的軟件開發(fā)過程就有什么樣的方法、語言和工具(一)開發(fā)方法結(jié)構(gòu)化開發(fā)方法面對對象(OO)的開發(fā)方法形式化開發(fā)方法1、形式化開發(fā)方法在軟件工程中探討的形式化開發(fā)方法,不是計算理論探討中的“符號十抽象公理化”的數(shù)學(xué)方法,這是由離散數(shù)學(xué)、邏輯學(xué)等課程去解決我們介紹的形式化開發(fā)方法則是用于軟件系統(tǒng)設(shè)計中的數(shù)學(xué)建模技術(shù)形式化規(guī)格說明是對系統(tǒng)或產(chǎn)品及其所期望的行為或特性進(jìn)行的描述。描述的內(nèi)容包括:功能特性、行為特性、結(jié)構(gòu)特性和時間特性形式化規(guī)格說明可以分為:操作類(如有限狀態(tài)機(jī)、Petri網(wǎng))、描述類(基于代數(shù)的(如Z語言VDM語言)和基于邏輯的(如RTL、TRIO))。2、結(jié)構(gòu)化與OO開發(fā)方法不講全部,OO方法要比結(jié)構(gòu)化方法好Meyer提出的一個設(shè)計方法實現(xiàn)模塊化實力的五條推斷準(zhǔn)則:(1)分解性、(2)組合性、(3)可理解性、(4)連續(xù)性、(5)愛護(hù)性從這五條準(zhǔn)則動身,Meyer提出了模塊結(jié)構(gòu)五條基本設(shè)計原則:(1)語言(linguistic)模塊單元、(2)少的接口、(3)小的接口(弱的耦合)、(4)明確的接口、(5)信息隱藏這些設(shè)計原則適用于任何設(shè)計方法。但我們可以看到:OO設(shè)計方法比任何其它方法都更能有效地實現(xiàn)這些原則。盡管OO對象中的數(shù)據(jù)和操作仍以結(jié)構(gòu)化的方法為基礎(chǔ)來實現(xiàn)(二)語言1、規(guī)格說明語言2、設(shè)計語言3、原型開發(fā)語言4、編程語言1、規(guī)格說明語言軟件規(guī)格說明語言(specificationlanguages)記錄軟件規(guī)格說明它是對軟件系統(tǒng)或它的一個構(gòu)件行為的黑盒子描述為困難的行為供應(yīng)了一種簡潔的抽象描述。黑盒子描述:是依據(jù)進(jìn)出黑盒子邊界的數(shù)據(jù)來說明的,它不涉及黑盒子內(nèi)部的機(jī)制在第五章的形式化開發(fā)方法中介紹了這種語言(基于代數(shù)的和基于邏輯的)。好處是它的精確性和自動化的潛在性。2、設(shè)計語言軟件設(shè)計語言(designlanguages)記錄軟件設(shè)計。它是對軟件系統(tǒng)或構(gòu)件的一種白盒子描述也就是把一個構(gòu)件分解為一些更低層構(gòu)件的描述并依據(jù)數(shù)據(jù)和限制來定義它們之間的相互聯(lián)系設(shè)計語言與規(guī)格說明語言的區(qū)分:設(shè)計語言用于定義分層的結(jié)構(gòu)和構(gòu)件間相互聯(lián)系的描述而規(guī)格說明語言用于定又每個構(gòu)件的接口設(shè)計語言與編程語言的區(qū)分:設(shè)計語言的主要目的是文檔(描述算法和數(shù)據(jù)結(jié)構(gòu),還要描述證明、假設(shè)和約定)編程語言則要包含全部的以獲得一個有效的可執(zhí)行系統(tǒng)3、原型開發(fā)語言原型開發(fā)語言(prototypinglanguages)運用黑盒子和白盒子的描述來定義一個系統(tǒng)的可執(zhí)行模型但是原型開發(fā)語言不要求給出系統(tǒng)各構(gòu)件的具體算法,只要它是可描述的和可執(zhí)行的即可原型開發(fā)語言與編程語言的區(qū)分:編程語言經(jīng)過優(yōu)化,能夠生成一個時空效率都很高的工作系統(tǒng)原型開發(fā)語言可在犧牲執(zhí)行效率的狀況下,能支持簡潔和抽象系統(tǒng)的描述、信息的局部化、重用和適應(yīng)性,它應(yīng)便利地紀(jì)錄規(guī)格說明和設(shè)計信息,并以其最終產(chǎn)品必需是可執(zhí)行的為限制條件原型開發(fā)是一種快速構(gòu)造可執(zhí)行軟件系統(tǒng)模型的方法,這種模型叫做軟件快速原型原型開發(fā)語言(續(xù))如何解決原型語言的可執(zhí)行問題一種基于元編程,是把原型開發(fā)語言看成是現(xiàn)有軟件的改編和相互連接,事實上是一種重用技術(shù)另一種為可執(zhí)行規(guī)格說明,它的基本思想是:假如規(guī)格說明是形式化的,而且具有操作語義,那么就有可能構(gòu)造一個能干脆執(zhí)行的系統(tǒng)4、編程語言編程語言(programminglanguages)記錄編程編程就是用編程語言把對軟件的設(shè)計表達(dá)式翻譯為計算機(jī)能夠“懂得”的形式這是計算機(jī)發(fā)展至今運用的最主要的方法,也是大家最熟悉的語言編程語言(續(xù))評價:不算匯編語言,現(xiàn)在已開發(fā)出各種用途的高級語言有400-500種,常用的語言近30種1.一般的應(yīng)用領(lǐng)域2.算法和計算的困難性3.軟件的運行環(huán)境4.性能考慮5.數(shù)據(jù)結(jié)構(gòu)的困難性6.軟件開發(fā)人員的學(xué)問7.一個好的編譯器或交義編譯器的可用性。編程語言(續(xù))選擇:對于一個特地項目的編程語言的選擇必需考慮:工程特性易于把設(shè)計翻譯為代碼、編譯器效率高、源代碼的可移植性、開發(fā)工具的可用性、源代碼的可維護(hù)性都好心理特性:一樣性、無二義性、緊湊性、局域性、線性編程語言(續(xù))事實上,項目的應(yīng)用領(lǐng)域是語言選擇的最重要的準(zhǔn)則。因為,每一個應(yīng)用領(lǐng)域都可以選擇標(biāo)準(zhǔn)語言:1.系統(tǒng)軟件:C2.實時應(yīng)用:C、Ada、匯編3.商用語言:Cobol已讓位于4GL4.工程和科學(xué)領(lǐng)域:Fortran仍舊是主要語言5.嵌入式軟件:同系統(tǒng)軟件和實時軟件6.個人計算機(jī):已很少用Basic,主要用C7.人工智能應(yīng)用:更多接受Lisp、Prolog8.網(wǎng)絡(luò)軟件:Java9.學(xué)習(xí)語言:Pascal現(xiàn)在市場上運用的不是上述語言,就是上述語言的改進(jìn)、擴(kuò)展或變種語言總結(jié)應(yīng)當(dāng)看到,隨著規(guī)格說明語言、設(shè)計語言和原型開發(fā)語言,以及軟件科技的發(fā)展,傳統(tǒng)的編程語言的作用正在被縮小和代替。假如有一天,計算機(jī)能夠做到對文字、圖形、圖像和語言的完全識別,那么將會變更我們對整個編程語言的理解。但是,今日我們編程運用的大部分方法,仍舊接受傳統(tǒng)的編程語言(三)工具任何一種開發(fā)模型,假如沒有工具與環(huán)境的支持,再好的方法和語言也難以做好如何選擇一個好的工具和環(huán)境?按現(xiàn)代軟件工程的要求,一般應(yīng)考慮以下三個方面:1.一個工具集2.一個用戶界面3.一個數(shù)據(jù)庫NIST/ECMA參考模型6.4正式技術(shù)評審的實施軟件評審是一個“過濾器”正式技術(shù)評審(FTR,F(xiàn)ormalTechnicalReviews)有時稱為“走查(walkthrough)”一、軟件缺陷的費用影響FTR的一個明顯好處是:可以早期發(fā)覺軟件缺陷,以便能在軟件工程過程的下一步之前得到改正很多探討表明:50-65%的缺陷來自設(shè)計,而FTR能夠發(fā)覺設(shè)計缺陷中75%的缺陷一些大型系統(tǒng)的相對成本數(shù)據(jù)說明:假如在設(shè)計期間發(fā)覺并改正一個錯誤所需的費用為1的話,在測試即將起先時的費用為6.5,在測試期間為15,而在交付運用后達(dá)到60-100二、缺陷的擴(kuò)大和解除缺陷擴(kuò)大模型無評審的缺陷擴(kuò)大模型有評審的缺陷擴(kuò)大模型三、正式技術(shù)評審(FTR)FTR的目標(biāo):1.發(fā)覺軟件在功能、邏輯和實現(xiàn)上的錯誤2.驗證評審的軟件符合需求3.保證軟件依據(jù)已確定的標(biāo)準(zhǔn)表述4.使軟件以統(tǒng)一方式開發(fā)5.使項目更易于管理FTR可以作為一個訓(xùn)練基地,使初級工程人員視察到軟件分析、設(shè)計和實現(xiàn)不同的處理方法。也能促進(jìn)人們變得更加熟悉正式技術(shù)評審(續(xù))(一)評審會議3~5人參與會前準(zhǔn)備,每個人工作量不超過2小時會議時間2小時評審結(jié)束時,必需作出確定接受該產(chǎn)品,不再作進(jìn)一步修改該產(chǎn)品錯誤嚴(yán)峻,拒絕接受(改正后也必需進(jìn)行另一次評審)短暫接受該產(chǎn)品(小錯誤已經(jīng)發(fā)覺,必需改正,但沒有必要進(jìn)行另外的評審)正式技術(shù)評審(續(xù))(二)評審報告和記錄保存報告評審了什么產(chǎn)品?誰評審的?發(fā)覺了什么?結(jié)論是什么?記錄:確定該產(chǎn)品中問題的大小成為生產(chǎn)者修改錯誤時的行動項的校對表還要建立一個跟蹤過程,以保證問題列表中的項都被正確的改正了正式技術(shù)評審(續(xù))(三)評審指南評審產(chǎn)品,不評審生產(chǎn)者建立一個議事日程,并遵循它限制爭論和辯駁說明問題大小,不要企圖解決全部提出的問題作記錄限制參與人數(shù)和堅持充分準(zhǔn)備為可能評審的產(chǎn)品開發(fā)一張檢查表為FTR支配資源和時辰表對全部的評審人員進(jìn)行有意義的培訓(xùn)評審你早期的評審6.5標(biāo)準(zhǔn)的執(zhí)行產(chǎn)品質(zhì)量是企業(yè)的生命,標(biāo)準(zhǔn)是產(chǎn)品的基礎(chǔ),沒有標(biāo)準(zhǔn),就無產(chǎn)品質(zhì)量可言軟件工程國際標(biāo)準(zhǔn)體系ISO/IEC的軟件工程標(biāo)準(zhǔn)體系結(jié)構(gòu)框架ISO/IEC12207和ISO/IECTR15504ISO9000-3(1993)/GB/T19000.3(1994)CMM(1)標(biāo)準(zhǔn)的類別Standard(標(biāo)準(zhǔn))Specification(規(guī)范)Criterion(準(zhǔn)則)Guidance(指南)Convention(約定)(2)標(biāo)準(zhǔn)的范圍(1)國際:ISO(國際標(biāo)準(zhǔn)化組織)區(qū)域:NATO(北大西洋組織)CJK(中、日、韓)國家:GB(中國)ANSI(美國國家標(biāo)準(zhǔn)協(xié)會)FIPS(美國商務(wù)部國家標(biāo)準(zhǔn)局聯(lián)邦信息處理標(biāo)準(zhǔn))BS(英國國家標(biāo)準(zhǔn))DIN(德國國家標(biāo)準(zhǔn))JIS(日本工業(yè)標(biāo)準(zhǔn))卜(2)標(biāo)準(zhǔn)的范圍(2)行業(yè):IEEE(美國電氣和電子工程師協(xié)會)ACM(美國計算機(jī)協(xié)會)DOD(美國國防部)MIL-standard(美國軍用標(biāo)準(zhǔn))HB(中國航空標(biāo)準(zhǔn))GJB(中國軍用標(biāo)準(zhǔn))廠標(biāo):IBM(國際商業(yè)機(jī)器公司)小(3)中國與SE有關(guān)的國家標(biāo)準(zhǔn)基礎(chǔ):GB/T11457-89(SE術(shù)語)開發(fā):GB8566-88(計算機(jī)軟件開發(fā)規(guī)范)文檔:GB8567-88(計算機(jī)軟件產(chǎn)品開發(fā)文件編制指南)GB9385-88(計算機(jī)軟件需求說明文件編制規(guī)范)GB9386-88(計算機(jī)軟件測試文件編制規(guī)范)質(zhì)量:GB/T12504-90(計算機(jī)軟件質(zhì)量保證支配規(guī)范)管理:GB/T12605-90(計算機(jī)軟件配置支配規(guī)范)90年以后,國家標(biāo)準(zhǔn)與國際標(biāo)準(zhǔn)從等效原則改為等同原則,均接受雙編碼。如GB/T19000.3(1994)-ISO9000-3(1993)一、ISO/IEC的軟件工程標(biāo)準(zhǔn)體系結(jié)構(gòu)框架(一)基于軟件工程功能的標(biāo)準(zhǔn)框架(由過程模型導(dǎo)出)類型和類別軟件產(chǎn)品從需求到產(chǎn)品的全過程涉及六種類型的標(biāo)準(zhǔn):過程、產(chǎn)品、工具、技術(shù)、資源和數(shù)據(jù)按標(biāo)準(zhǔn)的自然屬性又可分為四個類別通用、原理、要素、指南和補(bǔ)充類型與類別的關(guān)系過程的相關(guān)標(biāo)準(zhǔn)相關(guān)標(biāo)準(zhǔn)說明PDAM12207/AMD112207的過程結(jié)果CD15388系統(tǒng)生存期過程IS12207軟件生存期過程FDIS14764軟件維護(hù)TR15846軟件生存期過程軟件配置管理DTR16326軟件工程項目管理CD15939軟件度量過程FD14598-3軟件產(chǎn)品評價第三部分:開發(fā)者過程FD14598-4軟件產(chǎn)品評價第四部分:獲得者過程IS14598-5軟件產(chǎn)品評價第五部分:評價者過程FDIS15910軟件用戶文檔過程TR15271ISO/IEC12207運用指南ISO9000-3在軟件開發(fā)、供應(yīng)和維護(hù)中的運用指南TR9294軟件文檔管理指南ISO/IEC15288支配指南(二)基于軟件生存周期過程的標(biāo)準(zhǔn)框架二、ISO/IEC12207和ISO/IECTR15504(一)ISO/IEC12207StandardforinformationtechnologySoftwarelifecycleprocesses1995年8月由ISO和IEC聯(lián)合推出,為開發(fā)和管理軟件供應(yīng)了一個公共框架。內(nèi)容:引言介紹1.范圍2.標(biāo)準(zhǔn)的參考文獻(xiàn)3.定義4.本標(biāo)準(zhǔn)的應(yīng)用5.五個主要生存期過程6.八個支持生存期過程7.四個組織生存期過程附件:A.裁剪過程B.裁剪指南C.過程和組織指南D.參考文獻(xiàn)軟件生存期過程(1)核心部分為5、6、7三部分軟件生存期過程又分三個層次:1.高層為基本過程:包括獲得、供應(yīng)、開發(fā)、運行和維護(hù)2.中層為支持過程:包括文檔編制、配置管理、質(zhì)量保證、驗證、確認(rèn)、聯(lián)合評審、審計和問題結(jié)論3.低(底)層為組織過程:包括管理、基礎(chǔ)設(shè)施、改進(jìn)和培訓(xùn)軟件生存期過程(2)通過簡要介紹:軟件從提出起先,要經(jīng)過若干個階段(過程),每個階段有若干個過程(子過程),每個過程有若干個活動(子子過程),而每個活動又由若干個任務(wù)(子子子過程)組成。所以,軟件生存期由一系列的相關(guān)過程組成。過程是活動的集合,活動是任務(wù)的集合,任務(wù)是將輸入變換為輸出的操作。活動的執(zhí)行,可以是依次的、選擇的或重復(fù)的,也可以是并行或嵌套的過程與組織指南(二)ISO/IECTR15504InformationTechnologyISO/IECTR15504InformationTechnologySoftwareProcessAssessment這是ISO/IEC聯(lián)合推出ISO/IEC12207之后于1998年推出與之相對應(yīng)的ISO/IECTR15504本標(biāo)準(zhǔn)供應(yīng)了一個包含整個軟件生存期過程的框架:該框架的過程參考模型范圍與ISO/IEC12207緊密映射不僅進(jìn)一步確定了12207對軟件工程實踐的重要意義,還保證了軟件生存期過程在世界范圍內(nèi)進(jìn)行評價和對比時有了統(tǒng)一的標(biāo)準(zhǔn),也體現(xiàn)了抓源頭的思想對軟件開發(fā)組織、軟件供應(yīng)商、購買者、獲得者、管理者和評價者都有了依據(jù)這在國際軟件工程界,與12207一樣也是第一次。ISO/IECTR15504的組成過程與過程實力參考模型參考模型由過程量度和實力氣度組成:過程度量實力度量過程度量按過程所從事的活動不同把過程分為五個類別:用戶-供應(yīng)商過程類(CUS)工程過程類(ENG)支持過程類(SUP)管理過程類(MAN)組織過程類(ORG)每個過程類都包含有很多過程。這種分類及過程的工作通常由從事獲得、供應(yīng)、開發(fā)、維護(hù)和實施的企業(yè)嚴(yán)格遵循12207中關(guān)于軟件生存期過程的有關(guān)規(guī)定進(jìn)行。每個過程的定義都應(yīng)包含兩個部分:一是對過程目標(biāo)的描述;二是包括一條或多條關(guān)于描述的更進(jìn)一步的說明。實力度量15504中把過程實力分為六個等級0級:不完善的(Incomplete)過程1級:已實施的(Performed)過程2級:已管理的(Managed)過程3級:已建立的(Established)過程4級:可預(yù)料的(Predictable)過程5級:優(yōu)化的(Optimizing)過程實力度量(續(xù))每個等級中又包含有九個過程屬性:過程實施(processperformance)實施管理(performancemanagement)工作產(chǎn)品管理(workproductmanagement)過程定義(processdefinition)過程資源(processresource)過程度量(processmeasurement)過程限制(processcontrol)過程變更(processchange)持續(xù)改進(jìn)(continuousimprovement)這些屬性代表了上述所定義過程的可度量特征。實力度量(續(xù))過程屬性達(dá)到的實力又可劃分為四個級別:N(Notachieved):未達(dá)到

P(Partiallyachieved):部分達(dá)到

L(Largelyachieved):大部分達(dá)到F(Fullyachieved):全部達(dá)到實力度量(續(xù))三、ISO9000-3(1993)-GB/T19000.3(1994)質(zhì)量管理和質(zhì)量保證標(biāo)準(zhǔn)-在軟件開發(fā)、供應(yīng)和維護(hù)中的運用指南ISO9000系列標(biāo)準(zhǔn)原為硬件制造業(yè)制定的標(biāo)準(zhǔn),不能干脆用于軟件業(yè)的生產(chǎn)曾試圖用改編的9001用于軟件業(yè)的生產(chǎn)由于軟件與硬件的性質(zhì)迥然不同,軟件為人工智能產(chǎn)品,實踐結(jié)果說明不行,于是以ISO9000系列標(biāo)準(zhǔn)的追加形式,特地制定了ISO9000-3。(一)標(biāo)準(zhǔn)的目的和范圍本標(biāo)準(zhǔn)作為ISO9000/GB/T19000系列標(biāo)準(zhǔn)之一,旨在生產(chǎn)滿足需求的軟件而建議接受的限制手段和方法,即為從事軟件開發(fā)、供應(yīng)和維護(hù)的組織建立質(zhì)量管理體系供應(yīng)指南本標(biāo)準(zhǔn)適用于軟件產(chǎn)品的整個生存期階段和任何生存期模型,也適用于合同提出特殊要求的產(chǎn)品(二)標(biāo)準(zhǔn)的主要內(nèi)容本標(biāo)準(zhǔn)在給出軟件質(zhì)量管理體系要素時,沒有依據(jù)ISO9001/GB/T19991的形式給出,而是按下列三部分給出:1.質(zhì)量體系-框架2.質(zhì)量體系-生存期話動3.質(zhì)量體系-支持活動質(zhì)量體系-框架這部分主要從管理上描述了構(gòu)成了質(zhì)量體系的組織機(jī)構(gòu)、管理職責(zé)、質(zhì)量體系的基本要求及構(gòu)成質(zhì)量體系的框架。(1)領(lǐng)導(dǎo)的職責(zé)、作用和接受的手段(2)質(zhì)量體系GB/T6583-ISO8402給質(zhì)量體系定義為:為實施質(zhì)量管理所具有的組織機(jī)構(gòu)、職責(zé)、程序、過程和資源。這確定義給出了質(zhì)量體系的五個要素,同時明確了質(zhì)量管理的核心是建立適合企業(yè)實際的質(zhì)量體系。質(zhì)量體系應(yīng)以深化細(xì)致的質(zhì)量體系文件為基礎(chǔ),應(yīng)用系統(tǒng)的有序的方法將質(zhì)量體系要素、需求和預(yù)防措施清晰地寫入文件質(zhì)量體系是貫穿產(chǎn)品整個生存期的一個綜合過程,它強(qiáng)調(diào)的是在開發(fā)過程中的質(zhì)量保證,以預(yù)防為主,而不是在問題發(fā)生后依靠訂正措施來解決問題。因此,應(yīng)按質(zhì)量體系要求制定并執(zhí)行質(zhì)量活動支配質(zhì)量體系-生存期話動1.合同評審2.需方需求規(guī)格說明3.開發(fā)策劃4.質(zhì)量支配5.設(shè)計與實現(xiàn)6.測試與驗證7.驗收8.復(fù)制、交付和安裝9.維護(hù)質(zhì)量體系-支持活動1.配置管理2.文檔限制3.質(zhì)量記錄4.度量5.規(guī)則和慣例6.工具和方法7.選購 8.配套的軟件產(chǎn)品9.培訓(xùn)

ISO與ISO9000并立發(fā)布了兩個標(biāo)準(zhǔn)1,ISO14000環(huán)境管理體系標(biāo)準(zhǔn)(1993起先,1996發(fā)布)2,ISO18000職業(yè)平安衛(wèi)生管理體系標(biāo)準(zhǔn)(1996探討,--1999我國制定試行本)四、CMMCMM(TheCapabilityMaturityModel)不是國際標(biāo)準(zhǔn),是CMU/SEI于1986年在Mitre公司的幫助下,用于幫助機(jī)構(gòu)改進(jìn)其軟件過程和聯(lián)邦政府要求能供應(yīng)一種用來評價軟件承制方軟件實力的方法,起先工作經(jīng)過五年的努力,于1991/1992公開發(fā)布了基線版1.0之后,1992/19931.1版、1997/19982.0版,2000推出了CMMI1.0版,它除了沿用CMM分級的形式外,還吸取了ISO/IECTR15504的一些特點CMM(續(xù))CMM是一個概念模型,它給出了一個軟件機(jī)構(gòu)如何開發(fā)和維護(hù)高質(zhì)量軟件產(chǎn)品的思路CMM也是一個描述模型,它描述了一個具有某個級別的軟件機(jī)構(gòu)所具有的主要特征CMM又是一個系統(tǒng)框架,它為一個軟件機(jī)構(gòu)改進(jìn)其軟件過程能供應(yīng)一種改進(jìn)的途徑CMM結(jié)構(gòu)CMM結(jié)構(gòu)-成熟度級別CMM的頂層為成熟度級別(五級)1級:初始級(TheInitialLevel)2級:可重復(fù)級(TheRepeatableLevel)3級:已定義級(TheDefinedLevel)4級:已管理級(TheManaged)5級:優(yōu)化級(TheOptimizingLevel)CMM結(jié)構(gòu)-關(guān)鍵過程域關(guān)鍵過程域除1級外,每個成熟度級都包含幾個關(guān)鍵過程域(KeyProcessAreas)它們確定了要實現(xiàn)一個成熟度級別所必需解決的問題和目標(biāo)處于級別3的軟件機(jī)構(gòu)確定要解決級別2和級別3中全部關(guān)鍵域中的問題;4、5級類推共有十八個關(guān)鍵過程域CMM結(jié)構(gòu)-關(guān)鍵過程域2級:需求管理軟件項目支配軟件項目跟蹤和監(jiān)督軟件分包合同管理軟件質(zhì)量保證軟件配置管理3級:機(jī)構(gòu)過程焦點機(jī)構(gòu)過程定義培訓(xùn)大綱綜合軟件管理軟件產(chǎn)品工程組間協(xié)調(diào)同行評審4級:定量過程管理軟件質(zhì)量管理5級:缺陷預(yù)防技術(shù)更新管理過程變更管理CMM結(jié)構(gòu)-共同特性每個關(guān)鍵過程由五部分組成,稱為共同特性(CommonFeatures)執(zhí)行約定(如建立機(jī)構(gòu)策略和領(lǐng)導(dǎo)關(guān)系等)執(zhí)行實力(如資源、機(jī)構(gòu)結(jié)構(gòu)和培訓(xùn)等)執(zhí)行活動(如制定支配和規(guī)程、執(zhí)行和跟蹤及必要時實行的訂正措施等)度量和分析(如可接受的度量實例等)驗證明現(xiàn)(如管理部門和質(zhì)量保證小組實施的評審和審核等)CMM結(jié)構(gòu)-關(guān)鍵實踐在共同特性中的實踐,描述了要建立一個過程實力所必需完成的活動,即每一個關(guān)鍵過程都要用關(guān)鍵實踐的概念進(jìn)行描述CMM有316個關(guān)鍵實踐(KeyPractices)關(guān)鍵實踐只描述“做什么?”不規(guī)定“怎么做?”如不指定生存期模型、不規(guī)定產(chǎn)品實現(xiàn)所接受的開發(fā)方法和工具,從而可以讓各個機(jī)構(gòu)可以選擇自己的方法。但必需合理地說明關(guān)鍵實踐,以推斷是否有效地實現(xiàn)了關(guān)鍵過程域的目標(biāo)CMM應(yīng)用軟件過程評價與軟件實力估價軟件過程評價(processassessment)和軟件實力估價(capabilityevaluation)的方法基本相同。但由于評價和估價的動機(jī)、目的、輸出和結(jié)果歸屬不同,使得在會談或采訪目的、訪問范圍所采集的信息和結(jié)果的表示方式,可能存在重要差別。所以,所接受的的具體規(guī)程不同,培訓(xùn)要求也不同評價是在開放、合作環(huán)境中進(jìn)行的,目的在于暴露問題和幫助管理人員和技術(shù)人員改進(jìn)他們所在機(jī)構(gòu)的過程。所以,評價能否成功取決于他們對機(jī)構(gòu)改進(jìn)的支持。但更重要的是要通過各種座談會了解機(jī)杓構(gòu)的軟件過程。評價的結(jié)果除了能確定機(jī)構(gòu)所面臨的軟件過程問題外,最有價值的是明確機(jī)構(gòu)改進(jìn)軟件過程的途徑,促進(jìn)制定進(jìn)一步的行動支配,使整個機(jī)構(gòu)關(guān)注軟件過程的改進(jìn),提高整個機(jī)構(gòu)改進(jìn)行動支配的動力和熱忱軟件過程評價與軟件實力估價軟件實力估價是在更為面對審計的環(huán)境中進(jìn)行。估價的目的與金錢有關(guān),因為估價組的舉薦看法將影響選擇承制方或投放資金的多少。估價過程的重點在評審巳文檔化的審計記錄上,這些記錄能揭示機(jī)構(gòu)實際執(zhí)行的軟件過程必需指出的是:評價和估價的結(jié)果不是不行比的。因為它們都是基于CMM的,其不同之處也是可以說明的CMM應(yīng)用-評價方法評價方法選擇評價小組填寫成熟度問卷進(jìn)行響應(yīng)分析現(xiàn)場訪問、會議和文檔評審供應(yīng)基于CMM的調(diào)查結(jié)果清單制作關(guān)鍵過程域的剖面圖,以顯示該機(jī)構(gòu)哪些區(qū)域巳滿足,哪些區(qū)域尚未滿足關(guān)鍵過程域的目標(biāo)等CMM與ISO標(biāo)準(zhǔn)比較CMM與ISO9000-3的設(shè)計思路不同,雖然都是著眼于軟件質(zhì)量管理和軟件過程管理,它們最大的不同是:CMM強(qiáng)調(diào)的是持續(xù)的過程改進(jìn);ISO9000-3涉及的是可接受的質(zhì)量體系最低標(biāo)準(zhǔn)還要指出的是:CMM中關(guān)于實力等級是針對每個軟件機(jī)構(gòu)的;而ISO/IECTR15504中的實力等級是針對每個過程的6.6文檔及其修改的限制在生產(chǎn)軟件時,修改(Change)是不行避開的,而不修改則是不正常的假如修改中有任何疏忽或處理不當(dāng),就特別,只有當(dāng)每個軟件修改可以被說明、簡潔把一個開發(fā)得很好的軟件帶入混亂所以分析、跟蹤和限制,而且全部須要知道的人都被通知到時,這樣才能保證軟件修改的質(zhì)量軟件配置管理(SCM,SoftwareConfigurationManagement)就是用來對軟件文檔及其修改限制的一、軟件配置管理軟件生存期各個階段的交付項(包括描述程序的文檔、和程序(源代碼或可執(zhí)行代碼),以及包含在程序內(nèi)部或外部的數(shù)據(jù))組成整體軟件配置軟件配置管理就是對這些交付項修改的管理,因此,不難看出:一個開發(fā)組可以生產(chǎn)出幾百或上千種獨立的交付項,全部這些交付項形成一個相互依靠的層次網(wǎng)在開發(fā)和維護(hù)的各個步驟中須要不斷地再加工、修改和提高,因此任何交付項都可能有很多不同的版本,而且某一項的任何一種版本都與其它交付項的特定版本有關(guān)要防止相關(guān)交付項上下左右不一樣引起的錯誤,是配置管理要具體解決的問題當(dāng)然,解決這個問題的機(jī)制特別多,以至于須要一個獨立的配置管理支配作為質(zhì)量管理支配的補(bǔ)充,而且應(yīng)讓全體人員都知道,應(yīng)當(dāng)怎樣完成和限制他們它們的工作質(zhì)量二、基線基線(baseline)按IEEE1990的定義為:巳經(jīng)通過正式技術(shù)評審和批準(zhǔn)的規(guī)格說明或軟件產(chǎn)品,它因此可以作進(jìn)一步開發(fā)的基礎(chǔ),并只能通過正式修改限制規(guī)程才能被修改在開發(fā)的整個過程中和交付以后,因為發(fā)覺錯誤和修正錯誤、或推翻原設(shè)計,以及變更系統(tǒng)的需求等,系統(tǒng)將受到某種變更的影響,這些“干擾”自然會引起全部交付項存在多種版本所以必需從全部交付項中確定一個一樣的子集作為軟件配置基線(SoftwareConfigurationBaseline),如系統(tǒng)分析、軟件項目支配、軟件需求分析、軟件設(shè)計、編碼、測試和維護(hù)等基線不應(yīng)把基線看著是“快照”,也不是特定瞬間存在的時間脈沖,而是在各交付項版本中選定的一個。這些版本一般產(chǎn)生在不同時間,但具有在開發(fā)的某一特定步驟上相互一樣的性質(zhì),這是同一狀態(tài)的一樣基線的用途1.可以作為一個檢查點2.可以作為區(qū)分兩個或多個分叉開發(fā)路徑的起始點3.對于開發(fā)組和用戶,內(nèi)部一樣的基線是志向的正式評審目標(biāo)4.包含測試系統(tǒng)的基線可以正式發(fā)行,用作評價或培訓(xùn),或其它相關(guān)系統(tǒng)的協(xié)助測試取得基線和修改基線的路徑三、標(biāo)識標(biāo)識(Identification):為了限制和管理軟件交付項,每個交付項必需被獨立命名,然后用面對對象的方法組織1.基本對象:如數(shù)據(jù)模型、構(gòu)件A2.聚合對象:如軟件設(shè)計規(guī)格說明是一個聚合對象,它由數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計、過程設(shè)計和界面設(shè)計組成。在概念上它是一個被命名的指針表,指向基本對象每個對象都具有一組唯一的標(biāo)識它的特征:1.名字:一個無二義性的字符串。2.描述:一個數(shù)據(jù)項列表。它們標(biāo)識:交付項類型(文檔、程序、數(shù)據(jù))、項目標(biāo)識符、修改/版本信息3.資源:由對象供應(yīng):處理、引用或需求的實體(數(shù)據(jù)類型、特定函數(shù))4.實現(xiàn):一個指針?;緦ο笾赶颉拔谋締卧保酆蠈ο笾赶騨ull標(biāo)識(續(xù))對象的標(biāo)識還必需考慮存在于命名對象間的關(guān)系。如:E-Rdiagram1.4<part-of>datamodeldatamodel<partof>designspecification一個對象層次中,對象間的關(guān)系都沿著層次樹的路徑是不現(xiàn)實的、在很多狀況下,對象跨越對象層次的分支相互關(guān)聯(lián)。如:datamodel<interrelated>dataflowmodeldatamodel<interrelated>testcaseclassm標(biāo)識(續(xù))對象的標(biāo)識在整個軟件開發(fā)過程中不斷在演化。一個對象在被確定基線前,它巳經(jīng)被修改多次;而在作為基線后,修改仍常常發(fā)生,修改可以對任何版本進(jìn)行。因此,開發(fā)者如何引用版本?銷售者如何知道當(dāng)前用戶運用哪些版本?我們?nèi)绾未_定某個版本的源代碼修改巳經(jīng)反映在對應(yīng)的文檔中?等等。全部這些問題的回答:關(guān)鍵在版本的標(biāo)識四、修改限制無限制的修改必將導(dǎo)致混亂。修改限制過程:修改過程五、配置審計如何保證修改限制的正的確現(xiàn),除了進(jìn)行正式的技術(shù)評審(FTR)以外,還要進(jìn)行軟件配置審計。通常檢查下列問題:(1)被批準(zhǔn)的修改報告中修改巳經(jīng)完成了嗎?(2)是否巳經(jīng)進(jìn)行了正式的技術(shù)評審?并表明技術(shù)的正確嗎?(3)軟件過程是否遵循了軟件工程標(biāo)準(zhǔn)?(4)修改是否在交付項中被完全實現(xiàn)?配置對象的屬性是否反映了該修改?(5)是否給出了修改者的姓名和修改的日期?(6)是否遵照了標(biāo)識修改、記錄修改和報告修改的軟件配置管理規(guī)程?(7)全部的相關(guān)交付項都被更新了嗎?在有些狀況下,配置審計作為正式技術(shù)評審的一部分。審計一般都由質(zhì)量保證小組進(jìn)行六、狀態(tài)報告軟件配置狀態(tài)報告是軟件配置管理的一項任務(wù)。它必需回答以下問題:(1)發(fā)生了什么事?(2)誰做了此事?(3)此事是什么時候發(fā)生的?(4)將影響到什么?配置狀態(tài)報告可存儲在一個聯(lián)機(jī)的數(shù)據(jù)庫中,使得軟件開發(fā)者和維護(hù)者可以通過關(guān)鍵詞分類訪問修改信息,管理者也可獲得與管理相關(guān)的信息6.7度量度量的主要目的:(1)更好的理解產(chǎn)品的質(zhì)量(2)評價過程的效率(3)改進(jìn)項目層完成工作的質(zhì)量探討的重點放在產(chǎn)品質(zhì)量的量度上。(1)傳統(tǒng)(結(jié)構(gòu)化)軟件的量度(2)面對對象軟件的量度一、傳統(tǒng)軟件的量度(一)軟件困難性(二)軟件牢靠性(三)軟件可用性(四)軟件平安性(一)軟件困難性軟件困難性(complexity)是指程序的結(jié)構(gòu)性、模塊性、簡明性、簡潔性和可理解性的程度1.代碼行困難性量度2.Halstead軟件科學(xué)量度(1977)3.McCabe困難性量度(1976)4.功能點困難性量度1.代碼行困難性量度就是用程序代碼行(codeline)的多少來衡量程序的困難性。這是早期,也是最簡潔的計算程序困難性的量度<100行語句的程序呈線性關(guān)系;>100行語句的程序,其出錯率以非線性方式增長。所以這種方法特別粗糙2.Halstead軟件科學(xué)計算(1977)這種方法是依據(jù)程序中可執(zhí)行代碼行的操作符(如邏輯、算術(shù)運算符等)和操作數(shù)(如變量名、常數(shù)等)的數(shù)量來計算程序的困難性程序的操作符是有限的,其最大數(shù)目不會超過關(guān)鍵字的數(shù)目。而操作數(shù)的數(shù)目卻隨程序的規(guī)模的增大而增加。一般地說:操作符和操作數(shù)的量越大,程序結(jié)構(gòu)就越困難這種方法接受了一組原始度量,它們可以在代碼生成后給出,也可在設(shè)計完成后估出設(shè):n1:程序中出現(xiàn)的不同的操作符的數(shù)目n2:程序中出現(xiàn)的不同的操作數(shù)(或操作對象)的數(shù)目N1:程序中操作符出現(xiàn)的總數(shù)N2:程序中操作數(shù)出現(xiàn)的總數(shù)Halstead算式Halstead用這些原始度量定義了以下算式:(1)程序長度N=n1log2n1+n2log2n2(2)程序容量V=Nlog2(n1+n2)(V為信息位的容量)(3)語言級別L=(2×n2)/(n1×n2)(4)程序工作量E=V/L(5)程序編寫時間T=E/S(S為Stroud數(shù),即人推斷所需時間。一個醒悟的人,每秒可進(jìn)行5-20次的最基本推斷)(6)程序潛在錯誤的數(shù)量B=Nlog2(n1+n2)/30003.McCabe困難性量度(1976)McCabe認(rèn)為程序的困難性很大程度上取決于程序流的困難性。單一的依次程序結(jié)構(gòu)最簡潔,循環(huán)和選擇結(jié)構(gòu)所構(gòu)成的環(huán)路越多,程序就越困難這種方法以圖論為工具,先畫出程序圖,然后用該圖的環(huán)路數(shù)作為該程序困難性的量度值。對于具有強(qiáng)連通圖的環(huán)路數(shù)V(G)可由下式給出:V(G)=e-n+2p其中:e圖中的邊數(shù)n圖中的結(jié)點數(shù)p圖中的聯(lián)結(jié)成分的個數(shù)McCabe困難性量度(續(xù))例:由上述計算方法可算得:V(G)=9-6+2=5這里選擇的五個線性無關(guān)環(huán)路為(abefa)、(aeb)、(abea)、(acfa)、(adcfa)其它任何環(huán)路都是這五個環(huán)路的線性組合McCabe困難性量度(續(xù))V(G)還可以用另外兩種方法求得:(1)通過計算程序圖中全部有界區(qū)域和無界區(qū)域數(shù)R來得到,所以V(G)為5(2)用判定語句的總數(shù)再加1來計算。這類困難性是可加的,如單元A的困難性為7(6個判定),單元B的困難性為9(8個判定)。則單元A和單元B的困難性為16。關(guān)于判定的個數(shù)計算,對多路分支語句(分狀況語句)有如下約定:規(guī)定其判定個數(shù)為分支數(shù)減1,即一個具有5路分支的分狀況語句只有4個判定。這樣,上例中兩個分狀況語句可按4個判定來計算。所以,V(G)也為4+1=5McCabe建議:假如把具有多個分狀況語句結(jié)構(gòu)作為例外,在一個程序結(jié)構(gòu)內(nèi),V(G)一般應(yīng)限制在10以內(nèi),3-9的范圍,則被認(rèn)為是良好的結(jié)枸和恰當(dāng)?shù)睦щy性。4.功能點困難性量度面對功能的度量是Albrecht,A.J1979年首先提出來的,運用軟件所供應(yīng)的功能作為規(guī)范值。因為,功能不能干脆度量,必需通過其它干脆的度量來間接地導(dǎo)出他建議的一種為功能點(functionpoint)的量度是基于軟件信息域的可計算的(干脆的)量度和軟件困難性的評估而給出的功能點困難度量度(續(xù))功能點如何計算?依據(jù)國際功能點用戶集團(tuán)(InternationalFunctionPointUser’sGroup,IFPUG)制定的具體規(guī)則進(jìn)行(圖)。一般程序中有五個軟件信息域特征。功能點困難度量度(續(xù))(1)用戶輸入計算用戶每個輸入。它們向軟件供應(yīng)不同的面對應(yīng)用的數(shù)據(jù)。輸入應(yīng)與查詢分別計算(2)用戶輸出計算用戶每個輸出。軟件向用戶供應(yīng)不同的面對應(yīng)用的信息。這里是指報表、屏幕和出錯信息等。一個報表中的單個數(shù)據(jù)項不單獨計算。(3)交互查詢一個查詢被定義為一次聯(lián)機(jī)輸入,它導(dǎo)致軟件以聯(lián)杌輸出方式產(chǎn)生實時響應(yīng)。每一個不同查詢都要計算。(4)內(nèi)部邏輯文件這里是指軟件須要運用系統(tǒng)內(nèi)部的邏輯文件。如數(shù)據(jù)庫中部分?jǐn)?shù)據(jù)或一個獨立的文件。(5)外部邏輯文件這里是指機(jī)器的可讀接口,利用這些接口可將信息從一個系統(tǒng)傳送到另一個系統(tǒng)功能點困難度量度(續(xù))有了上述五個特征的計算值,就可把每個計數(shù)與困難性加權(quán)因子(按IFPUG制定的規(guī)則分高、中、低)相乘就可獲得小計和總計。這樣就可以得功能點總數(shù)依據(jù)IFPUG的規(guī)定:上面求出的功能點總數(shù)還要乘以一個依據(jù)整個系統(tǒng)困難性而確定的因素影響值,對巳求出的功能點總數(shù)進(jìn)行上調(diào)或下調(diào),這樣才能得到最終的功能點數(shù)功能點困難度量度(續(xù))上、下調(diào)一般由下列十四個因素確定:(1)系統(tǒng)須要牢靠的備份和復(fù)原嗎?(2)須要數(shù)據(jù)通信嗎?(3)有分布處理功能嗎?(4)性能很關(guān)鍵嗎?(5)系統(tǒng)是否在一個現(xiàn)成的、重負(fù)的操作環(huán)境中運行?(6)系統(tǒng)須要聯(lián)機(jī)數(shù)據(jù)登錄嗎?(7)聯(lián)機(jī)數(shù)據(jù)登錄是否須要在多屏幕或多操作之間切換以完成輸入?(8)須要聯(lián)機(jī)更新主文件嗎?(9)輸入、輸出、文件或查詢很困難嗎?(10)內(nèi)部處理困難嗎?(11)代碼須要被設(shè)為可重用的嗎?(12)設(shè)計中須要包括轉(zhuǎn)換和安裝嗎?(13)系統(tǒng)的設(shè)計須要支持不同組織的多次安裝嗎?(14)應(yīng)用設(shè)計便利用戶運用和修改嗎?每個問題的回答可運用從0(不重要的)到5(確定重要的)來確定,這樣就可算出最終的功能點數(shù)。功能點困難度量度(續(xù))最終,有了功能點的最終數(shù),就可以計算出很多有用數(shù)據(jù)。這些數(shù)據(jù)是依據(jù)生產(chǎn)實際大量的統(tǒng)計數(shù)據(jù),用最小二乘法擬合給出的估算公式:質(zhì)量:必需訂正錯誤的數(shù)目=X1.25(個)人力資源:開發(fā)所需各類技術(shù)人員的總數(shù)=X/150(人)開發(fā)周期:完成任務(wù)所需的周期=X0.4(月)其中X為功能點的最終數(shù)。功能點困難度量度(續(xù))例:一個檢查英文單詞拼法有否錯誤的程序輸入文件:文件名稱(檢查拼法是否正確的文件)輸出文件:三個輸出:檢查單詞的總數(shù);找出拼法的錯誤數(shù);列出有錯單詞的表交互查詢:用戶可通過交互式詢問,得到目前為止的處理單詞的總數(shù)一個內(nèi)部文件:詞典。一個外部文件:須要檢查的文件。這樣程序共有1+3+1+1+1=7個特征。其二,依據(jù)每個特征的困難性(低、中、高)而賜予不同的權(quán)重。依據(jù)IFPUG制定的具體規(guī)則,假如本例7個特征的困難性均為中等,則其功能點加權(quán)和為40第三,總的功能點得數(shù),依據(jù)軟件系統(tǒng)困難性而確定的因素,對功能點總數(shù)進(jìn)行上下調(diào)后才能給出功能點困難度量度(續(xù))從上可見,功能點量度的主要問題是如何計算一個要開發(fā)系統(tǒng)的功能點。它的好處是:假如一起先就確定了功能點,那么開發(fā)機(jī)構(gòu)在未著手起先工作時,甚至一行代碼都沒有寫出,就可以計算出我們?nèi)扛袗酆玫挠杏脭?shù)據(jù)。特殊是這種方法可以定量計算從一些報導(dǎo):一個字處理程序(435000行代碼),約3500個功能點;一個日常事務(wù)處理程序(包括字處理、表處理、數(shù)據(jù)庫應(yīng)用、統(tǒng)計工具和其它專用程序等),其功能點超過25000個;一個一般的操作系統(tǒng),其功能點多過10萬個廣心(二)軟件牢靠性軟件牢靠性(Softwarereliability)與其它質(zhì)量因素不同,它可以干脆度量,也可以用歷史或開發(fā)數(shù)據(jù)計算:軟件牢靠性是指在特定的環(huán)境(硬件、軟件和人)下和確定的時間內(nèi)一個計算機(jī)程序無故障運行的概率問題是什么是故障?故障就是程序與需求不一樣的地方。怎樣確定故障?如編碼中一個符號錯誤,幾秒鐘即可改正;如需求錯誤,幾周、甚至幾個月都無法改正,而且在修改中,還可能引入新的錯誤硬件故障非來自于設(shè)計或制造缺陷;而軟件故障,在很大程度上,是由于人的水平、疏忽或錯誤造成的,因此故障差別很大建立軟件牢靠性模型一般接受宏觀分析的方法。目前可用于度量軟件牢靠性模型的有三類基于硬件的牢靠性模型盡管至今仍有爭論,但軟件牢靠性模型仍以硬件牢靠性模型為依據(jù)按硬件牢靠性假設(shè):(1)錯誤出現(xiàn)之間的解除時間與錯誤出現(xiàn)率呈指數(shù)關(guān)系,而錯誤出現(xiàn)率正比于遺留錯誤數(shù)(2)每個被發(fā)覺的錯誤可馬上被解除,而且不產(chǎn)生新的錯誤,事實上是不行能的(3)錯誤之間的故障為常數(shù),實際有誤差基于硬件的牢靠性模型(續(xù))Shooman1983年關(guān)于軟件牢靠性的探討中驗證了這種假設(shè):基于硬件的牢靠性模型(續(xù))探討報告同時給出了程序錯誤的數(shù)量和估算:(1)各測試組內(nèi)和組間、大程序和小程序之間,所測得的錯誤數(shù)量(ET(錯誤總數(shù))/IT(指令總數(shù)))基本一樣(2)ET/IT=0.5×10-2~2×10-2≈1/100(3)小程序,70%錯誤可在單元測試中發(fā)覺,25%在組裝測試中發(fā)覺,少于5%在運行和維護(hù)中發(fā)覺(4)在OS的開發(fā)中,組裝測試中發(fā)覺的55%錯誤,運行和維護(hù)中發(fā)覺45%基于硬件的牢靠性模型(續(xù))基于硬件牢靠性模型的軟件牢靠性模型:假設(shè)由于偶然地通過程序中隱藏著軟件的缺陷部分,則發(fā)生軟件錯誤。由此,可寫出概率表達(dá)式:即在無故障操作t小時后的△t時間間隔內(nèi)遇到一個錯誤,并假設(shè)這個概率正比于遺留錯誤的εr(τ)數(shù)目,得:P(t<tf≤t+△t|tf>t)=Z(t)△t=Kεr(τ)△tZ(t)=Kεr(τ)=K[(ET/IT)-εc(τ)]其中:tf為故障操作時間(發(fā)生軟件錯誤)。P(t<tf≤t+△t|tf>t)為無故障狀況下,△t時間間隔內(nèi)故障的概率對于εr(τ)=(ET/IT)-εc(τ)可以作這樣的說明:即對于任何規(guī)模的程序,都不行能解除全部錯誤。所以,當(dāng)τ很大時,εr(τ)<ET/IT,εr(τ)>0基于硬件的牢靠性模型(續(xù))依據(jù)概率理論,并假設(shè)K和εr(τ)獨立于操作時間,則牢靠性為:將此式代入牢靠性公式,就可計算出故障間時間:式中MTTF為MeanTimeFailure。2.基于程序固有特性計算軟件中存在的錯誤數(shù)基于程序固有特性計算軟件中存在的錯誤數(shù)(1)操作符、操作數(shù)計算(2)環(huán)路困難性計算可將所得計算數(shù)與一個給定的程序期望的錯誤數(shù)進(jìn)行比較,就可得到須要的軟件牢靠性。3.種子模型種子模型(又叫植入模型或插入模型)這種方法的實質(zhì)是用一組測試用例“錯誤發(fā)覺實力”的度量來求得軟件的牢靠性。式中:J為求錯誤的總數(shù),j為J中發(fā)覺的錯誤數(shù);K為植入的錯誤數(shù),k為K中發(fā)覺的錯誤數(shù)軟件牢靠性模型的用處1.預(yù)料2.分析比較3.開發(fā)限制軟件牢靠性模型的用處(續(xù))1.預(yù)料一般合同規(guī)定:驗收聯(lián)機(jī)運行,7天不能出現(xiàn)故障在實際應(yīng)用和運行中,故障出現(xiàn)都是按系統(tǒng)來講的。所以,探討軟件牢靠性要從系統(tǒng)牢靠性講起系統(tǒng)牢靠性:Rsy=R(H、S、O)=R(H)R(S/H)R(O/H、S)假如:H、S、O三者相互獨立。則:Rsy=R(H)R(S)R(O)=RHRSRO由此可見:要達(dá)到系統(tǒng)要求的牢靠性,H、S。O的牢靠性必需超過系統(tǒng)的牢靠性。一般要求軟件的MTTFS至少應(yīng)等于硬件的MTTFH,而操作人員的MTTFO一般應(yīng)大于軟件或硬件的五倍軟件牢靠性模型的用處(續(xù))假如軟、硬件都有固定的故障率(指數(shù)關(guān)系),而且全部故障都是系統(tǒng)故障,則牢靠性為:R(t)=exp[-(λH+λS+λO)t]式中:λH、λS、λO分別為H、S、O的故障率。則得:如H、S、O的MTTF分別為500、500、2500小時,則系統(tǒng)的MTTF邁丫近似為227小時。軟件牢靠性模型的用處(續(xù))2.分析比較系統(tǒng)方案的分析比較,牢靠性是其中重要指標(biāo)之一。因此,確定要對全部方案中關(guān)于H、S、O和系統(tǒng)的牢靠性做出評價3.開發(fā)限制通過系統(tǒng)操作,并與軟件牢靠性模型結(jié)合,就可對當(dāng)前開發(fā)狀態(tài)作出評價,即其是否巳達(dá)到可以接受的水平?還有多少問題須要解決?(三)軟件可用性軟件可用性(availability)是一個程序,依據(jù)需求,在特定的環(huán)境和時間內(nèi),其可運行的概率:可用性=式中:MTTF和MTTR分別為平均無故障時間和平均修復(fù)時間。假如MTTR可以忽視不計的話,假如在時間0到t內(nèi),系統(tǒng)無故障,這就是系統(tǒng)的牢靠性,而時間t就是可用性。所以,牢靠性和可用性都是時間的函數(shù)??捎眯粤慷仍谛┠承┏绦蛏?,對MTTR比MTTF更敏感,可用性也是軟件可維護(hù)性的一種間接量度。(四)軟件平安性軟件平安性(safety)也是一種質(zhì)量保證活動,它集中在應(yīng)付潛在危急的識別和評價。這些潛在危急可能使整個系統(tǒng)癱瘓。假如能在軟件工程過程的早期發(fā)覺這些危急,不僅能確保軟件設(shè)計的要求,而且能消退或限制這些潛在的危急:作為軟件平安性的問題,要進(jìn)行分析和模擬處理。1.應(yīng)依據(jù)系統(tǒng)中一些關(guān)鍵和風(fēng)險程序,對其進(jìn)行識別和分類。例如,用于汽車駕駛與計算機(jī)限制有關(guān)的危急可能是:(1)引起不能限制的加速(2)踩下剎車板無反應(yīng)(3)換檔器動作無嚙合(4)加速和減速都慢軟件平安性(續(xù))2.一且識別了這些系統(tǒng)級的危急,可應(yīng)用分析技術(shù)來確定其嚴(yán)峻性和發(fā)生的概率。為了使分析有效,必需對整個軟件系統(tǒng)進(jìn)行分析??蛇\用的分析技術(shù):(1)故障分析樹這是構(gòu)造一個可能導(dǎo)致危急事務(wù)或系統(tǒng)狀態(tài)的依次和并發(fā)組合的圖形模型。運用一個開發(fā)完善的故障樹,有可能視察到一組發(fā)生在不同系統(tǒng)構(gòu)件中的相互聯(lián)系的故障的后果(2)實時邏輯這是通過特定事務(wù)和活動來建立系統(tǒng)模型。它可以用來分析運用邏輯操作測試系統(tǒng)構(gòu)件及其定時的平安性要求(3)Petri網(wǎng)這是一種系統(tǒng)的數(shù)學(xué)和圖形的描述和分折工具。對于具有并發(fā)、異步、分布、并行、不確定性和隨機(jī)性的信息處理系統(tǒng)都可以利用這種工具構(gòu)造出要開發(fā)的Petri網(wǎng)模型。然后,對其進(jìn)行分析,即可得到有關(guān)系統(tǒng)結(jié)構(gòu)和動態(tài)行為方面的信息。依據(jù)這些信息,就可以對要開發(fā)的系統(tǒng)進(jìn)行評價和改進(jìn)、軟件平安性(續(xù))這里還要提及的,軟件平安性與軟件牢靠性緊密相關(guān),但了解它們間的差別亦是很重要的。軟件牢靠性是用統(tǒng)計學(xué)的分析方法來確定軟件故障的出現(xiàn)。但出現(xiàn)故障不確定導(dǎo)致危急和不幸。而軟件平安性則是檢查可能導(dǎo)致不幸故障條件的方法。也就是說,不是在真空中考慮故障,而是在一個基于計算機(jī)完整的系統(tǒng)中來考慮故障。如軟件保密、軟件運用權(quán)限、軟件不被破壞,包括近年來計算機(jī)和軟件病毒的破壞。請閱讀有關(guān)專著,不在此探討二、面對對象軟件的量度OO軟件量度的運用和發(fā)展要比傳統(tǒng)軟件晚得多,其量度的主要目的與傳統(tǒng)軟件一樣任何產(chǎn)品的量度都取決于產(chǎn)品的特性。OO軟件與運用傳統(tǒng)方法開發(fā)的軟件根本不同。Berard定義了OO軟件五個特殊量度的特性:1.局域性(localization)2.封裝性(encapsulation)3.信息隱藏(informationhiding)4.繼承性(inheritance)5.抽象(abstraction)1.局域性局域性(localization)是指信息被集中在一個程序內(nèi)的方式:(1)傳統(tǒng)方法數(shù)據(jù)與過程分別,功能分解和圍繞功能的局域化。其典型的實現(xiàn)形式為過程模塊,工作時用數(shù)據(jù)驅(qū)動功能(2)OO方法局域性基于對象,因為類是OO系統(tǒng)的基本單元,對象封裝數(shù)據(jù)和過程。因此,應(yīng)把類(對象)作為一個完整實體的量度另外,操作(功能)和類之間的關(guān)聯(lián)不必是一對一,必需能適應(yīng)一對多和多對一的關(guān)聯(lián)。2.封裝性封裝性(encapsulation)是一個項集合的包裝(結(jié)合在一起)(1)傳統(tǒng)方法紀(jì)錄、數(shù)組,只數(shù)據(jù)無過程,為低層次的封裝;過程、函數(shù)、子例程和段,只是過程多數(shù)據(jù),為中層次的封裝。其量度的重點分別在代碼行的計數(shù)和環(huán)路的困難性(2)OO方法OO系統(tǒng)封裝擁有類的職責(zé),包括類的屬性和操作,以及特定屬性值定義的類的狀態(tài)其量度和重點不是單一的模塊,而是包含數(shù)據(jù)(屬性)和過程(操作)的包。另外,封裝還促使在抽象較高層上的量度3.信息隱藏信息隱藏(informationhiding)是指隱藏(刪掉)了程序構(gòu)件操作的細(xì)微環(huán)節(jié),只將訪問該構(gòu)件所必需的信息供應(yīng)應(yīng)那些訪問該構(gòu)件的其它構(gòu)件這點,OO方法和傳統(tǒng)方法基本一樣。因此,OO系統(tǒng)應(yīng)支持信息隱藏、除供應(yīng)隱藏級別說明的量度外,還應(yīng)供應(yīng)OO設(shè)計質(zhì)量指標(biāo)4.繼承性繼承性(inheritance)是指一個對象的屬性和操作能夠傳遞給其它對象的機(jī)制。繼承性的發(fā)生貫穿于一個類層次的全部層次一般說,傳統(tǒng)軟件不支持這種特性。而對OO系統(tǒng)來說繼承性是一個重要的關(guān)鍵性的特性。因此,很多OO系統(tǒng)的量度則都以此為重點。如子的數(shù)量(類干脆的實例數(shù)量)、父的數(shù)量(干脆上一代數(shù)量),以及類層次的嵌套層次(在一個繼承層次中,類的深度)5.抽象抽象(abstraction)是一種機(jī)制,它使設(shè)計者只關(guān)切一個程序構(gòu)件的主要細(xì)微環(huán)節(jié)(數(shù)據(jù)和過程兩者),而不考慮低層的細(xì)微環(huán)節(jié)抽象也是一種相對概念,抽象在OO和傳統(tǒng)開發(fā)方法中都有用。如處于抽象的較高層次時,我們可忽視更多更多的細(xì)微環(huán)節(jié),即只供應(yīng)一個關(guān)于概念或項一個更一般的視圖;當(dāng)處于抽象的較低層次時,可引入更多的細(xì)微環(huán)節(jié),即供應(yīng)一個關(guān)于概念或項的更具體的視圖。在OO中,由于類是一個抽象,它可以從很多不同的細(xì)微環(huán)節(jié)層次和用很多不同的方式(如作為一個操作的列表、一個狀態(tài)的序列、一組合作)來視察。OO量度可用一個類度量的項作為抽象的表示。如每個應(yīng)用類的實例化的數(shù)量、每個應(yīng)用類被參數(shù)化的數(shù)量,以及類被參數(shù)化與未被參數(shù)化的比例等(一)對OO設(shè)計模型的量度Whitmire給出了九個關(guān)于OO設(shè)計獨特的且可度量的特性:(1)規(guī)模(size)可以從總量、容量、長度和功能來定義總量對OO實體(如類或操作)的靜態(tài)計數(shù)容量相同。但它是在給定的時間點動態(tài)收集來的長度是對互連的設(shè)計元素鏈的度量功能是一種間接表示(2)困難性(complexity)可通過OO設(shè)計的類如何關(guān)聯(lián),從結(jié)構(gòu)特性上檢查困難性(3)耦合性(coupling)OO設(shè)計元素相互間的實際連接(類間的協(xié)作數(shù)量或?qū)ο箝g傳遞消息的數(shù)量)(4)足夠性(sufficiency)一個抽象擁有其所需特性的程度或一個設(shè)計構(gòu)件擁有其抽象中特性的程度。對OO設(shè)計模型的量度(續(xù))九個關(guān)于OO設(shè)計獨特的且可度量的特性(續(xù)):(5)完備性(completeness)完備性與足夠性的唯一不同是:足夠性是從當(dāng)前應(yīng)用觀點來比較抽象;完備性則是要考慮多個觀點和詢問的問題。這是完備性的準(zhǔn)則要求,不僅要比較抽象的特征集,還要比較設(shè)計構(gòu)件的特征集(6)聚合度(cohesion)與傳統(tǒng)軟件一樣。一個吳的類的聚合度是通過檢查它擁有的特征集是問題域或設(shè)計域的部分程度來確定的(7)原始性(primitiveness)是一個操作是原子或一個類只封裝原始操作的程度(8)相像性(similarity)兩個或多個類,其結(jié)構(gòu)、功能、行為或目的被顯示相像的程度(9)易變性(volatility)一個OO設(shè)計構(gòu)件的易變性是對一個修改將發(fā)生可能性的度量(二)面對類的量度類是OO系統(tǒng)的基本單元。所以,一個單一類、類的層次和類的合作的度量和量度,對一個必需評價設(shè)計質(zhì)量的軟件工程來講是特別重要的1.CK量度組2.LK量度組3.MOOD量度卜1.CK量度組CK量度組由Chidamber和Kemerer提出:用六種基于類設(shè)計的量度,通稱為CK量度組(1)每個類的加權(quán)方法,WMC(WeighedmethodsperClass)WMC=ΣCi(I=1到n)其中Ci為一個類的各個方法的困難性,其相當(dāng)于傳統(tǒng)方法中的環(huán)路困難性,Ci可相加(2)繼承樹的深度DIT(DepthofInheritanceTree)定義為從結(jié)點到樹根的最大長度(3)子的數(shù)量NOC(NumberOfChildren)子數(shù)量的增大,重用也增加。但父類抽象的表示可能削減,即子類中的一些有可能不是父類的真正成員。測試數(shù)量也將增加CK量度組(續(xù))(4)對象類間的耦合CBD(CouplingBetweenObjectClasses)CBD是指一個類列合作的數(shù)量。當(dāng)CBD增大時,不僅使其可重用性可能降低,而且使其修改后的測試變得困難。(5)對一個類的響應(yīng)RFC(ResponseforaClasses)一個類的響應(yīng)是一組方法,它可能被執(zhí)行用來響應(yīng)接收到的那個對象的消息。RFC定義為響應(yīng)方法的數(shù)量。(6)方法中聚合的不足LCOM(LackofCohesioninMethods)一個類內(nèi)的每種方法訪問一個或多個屬性(也稱實例變量),LCOM是訪問一個或多個相同屬性方法的數(shù)量。這里講的耦合與聚合與傳統(tǒng)軟件一樣,我們希望高聚合和低耦合。廠2.LK量度組LK量度組Lorenz和Kidd提出。他們把基于類的量度分為規(guī)模、繼承、內(nèi)部特性和外部特性四類(1)類的規(guī)模CS(ClassSize),可由以下量度來確定:在類中被封裝的操作(繼承和私有實例的操作)的總量在類中被封裝的屬性(繼承和私有實例的屬性)的數(shù)量CK量度組中的WMC也是一種類規(guī)模加權(quán)的量度(2)一個子類覆蓋的操作數(shù)量NOO((NumberofOperationsOverriddenbyaSubclass)當(dāng)一個子類有些實例,為了類自身的運用,用一個特定版本代替從超類繼承操作,這稱為覆蓋。該子類是超類的一個特例化(3)一個子類增加的操作數(shù)量NOA(NumberofOperationsbyaSubclass)子類是通過增加私有操作和屬性來實現(xiàn)特例化的(4)特例化索引SI(SpecializationIndex)SI=(NOOxlevel)M_其中:NOO為一子類覆蓋的操作數(shù)量,level表示在類層次結(jié)構(gòu)中類在其中駐留的層次,M_為類方法的總數(shù)。SI為OO系統(tǒng)中的每一個類供應(yīng)了特例化的等級3.MOOD量度MOOD量度Harrison、Counsell和Nithi提出了一組面對對象設(shè)計量度,它們供應(yīng)了OO設(shè)計特征的量化指標(biāo)(1)方法繼承因子MIF(MethodInheritanceFactor)(2)耦合因子CF(CouplingFactor)(3)多態(tài)因子PF(PolymorphismFactor)(1)方法繼承因子方法繼承因子MIF(MethodInheritanceFactor)一個OO系統(tǒng)的類體系結(jié)構(gòu)對方法(操作)和屬性而運用繼承的程度MIF=ΣMi(Ci)/ΣMi(Ci)這里是對i從1到TC求和。TC為體系結(jié)構(gòu)中的總數(shù),Ci為體系結(jié)構(gòu)中一個類,而且Ma(Ci)=Md(Ci)+Mi(Ci)式中:Ma(Ci)為與Ci關(guān)聯(lián)中被引用方法的數(shù)量Md(Ci)為類Ci中聲明方法的數(shù)量Mi(Ci)為類Ci中繼承(沒有被覆蓋)方法的數(shù)量屬性繼承因子AIF(AttributeInheritanceFactor)的值,可用于與MIF類似的方法定義MIF和AIF供應(yīng)了方法和屬性繼承對OO軟件影響的指標(biāo)(2)耦合因子CF耦合因子CF(CouplingFactor)耦合是對OO設(shè)計元素間關(guān)聯(lián)的指標(biāo)。CF=ΣiΣjis-clie

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論