版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2024/2/261第一章緒論軟件工程產(chǎn)生的背景軟件工程的有關(guān)概念軟件生存周期及軟件過(guò)程模型軟件開(kāi)發(fā)方法軟件開(kāi)發(fā)工具2024/2/2621.1軟件的特點(diǎn)、發(fā)展及軟件危機(jī)⒈軟件的概念及其特點(diǎn)◆軟件是⑴當(dāng)它被執(zhí)行時(shí)提供希望功能和性能的程序,⑵使得程序能夠適當(dāng)?shù)牟僮餍畔⒌臄?shù)據(jù)結(jié)構(gòu),以及⑶描述程序被開(kāi)發(fā)和運(yùn)行過(guò)程中有關(guān)功能、結(jié)構(gòu)、操作和使用的文檔?!糗浖卣鳎?/p>
?軟件是邏輯的而不是有形的產(chǎn)品,它是被開(kāi)發(fā)或設(shè)計(jì)出的,而非傳統(tǒng)意義上的被制造的。軟件成本和軟件質(zhì)量集中于開(kāi)發(fā)上。
?軟件不會(huì)“磨損”。軟件并不受到引起硬件磨損的環(huán)境因素的影響。2024/2/2632024/2/264
?軟件生產(chǎn)正走向基于構(gòu)件的組裝發(fā)展(如圖形用戶(hù)界面),但目前多數(shù)軟件仍是定做的。
?軟件的研制需要投入大量的、復(fù)雜的腦力勞動(dòng),成本高。⒉軟件的發(fā)展◆雙重角色:它是一個(gè)產(chǎn)品,通過(guò)計(jì)算機(jī)硬件所體現(xiàn)的計(jì)算潛能,它產(chǎn)生、管理、獲取、修改、顯示或傳送信息,這些信息簡(jiǎn)單到一個(gè)bit,復(fù)雜到一個(gè)多媒體信息;它是產(chǎn)品交付使用的載體,是計(jì)算機(jī)控制的基礎(chǔ)(操作系統(tǒng))、信息通信的基礎(chǔ)及其它軟件的創(chuàng)建和控制的基礎(chǔ)(軟件工具和環(huán)境)。
2024/2/265
◆角色的演化:早期(50年代初-60年代中期):
?自定義軟件
?面向批處理第二階段(60年代中期-70年代末期):
?多用戶(hù)
?實(shí)時(shí)
?數(shù)據(jù)庫(kù)
?軟件產(chǎn)品軟件危機(jī)出現(xiàn)!2024/2/266
第三階段(70年代中期-80年代中期):
?分布式系統(tǒng)
?嵌入式“智能”軟件
?低成本硬件
?大眾化第四階段(80年代中期至今):
?強(qiáng)大的桌面系統(tǒng)
?面向?qū)ο蠹夹g(shù)
?人工智能
?神經(jīng)網(wǎng)絡(luò)
?并行計(jì)算
…2024/2/267
3.軟件危機(jī)(crisis)
60年代中期,隨著硬件技術(shù)的發(fā)展,軟件應(yīng)用范圍的擴(kuò)展,軟件越來(lái)越大型化、復(fù)雜化,產(chǎn)生了上萬(wàn)行的源程序。當(dāng)發(fā)現(xiàn)錯(cuò)誤是需要對(duì)這些程序進(jìn)行修改;當(dāng)用戶(hù)需求發(fā)生變化是需要修改;當(dāng)硬件環(huán)境更新時(shí)需要修改。這些活動(dòng)(稱(chēng)為軟件維護(hù))的費(fèi)用以驚人的速度增加。更糟糕的是,許多程序的個(gè)性化特性使得它們根本不能維護(hù)?!败浖C(jī)”出現(xiàn)了!
2024/2/268
◆表現(xiàn):
?
開(kāi)發(fā)的軟件不能滿(mǎn)足用戶(hù)要求。
?
無(wú)完整、規(guī)范的文檔,難以維護(hù)。
?
項(xiàng)目計(jì)劃不周,進(jìn)度拖延。
?
軟件質(zhì)量差。
◆原因:
?
缺乏正確的理論指導(dǎo),開(kāi)發(fā)人員各行其是。
?
軟件規(guī)模越來(lái)越大,無(wú)開(kāi)發(fā)管理經(jīng)驗(yàn)。
?
軟件復(fù)雜度越來(lái)越高,而開(kāi)發(fā)技術(shù)不相適應(yīng)。
?
缺少先進(jìn)的開(kāi)發(fā)工具,開(kāi)發(fā)方式落后。2024/2/2691.2軟件工程的有關(guān)概念
為了克服軟件危機(jī),科學(xué)家們從其他產(chǎn)業(yè)(如機(jī)械制造、建筑等)的工程化生產(chǎn)得到啟示,于1968年在北大西洋公約組織的學(xué)術(shù)會(huì)上提出了“軟件工程”的概念。工程是對(duì)技術(shù)(或社會(huì))實(shí)體的分析、設(shè)計(jì)、構(gòu)造、驗(yàn)證和管理。這里只針對(duì)一個(gè)實(shí)體—計(jì)算機(jī)軟件?!舳x根據(jù)IEEE(TheInstituteforElectricalandElectronicengineers)的定義:
軟件工程是使用系統(tǒng)化的、規(guī)范的、可量化的方法指導(dǎo)軟件開(kāi)發(fā)、運(yùn)行和維護(hù)的一門(mén)學(xué)科,它涉及到計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等領(lǐng)域的綜合性知識(shí)及實(shí)踐的應(yīng)用,它的目的是為建造高質(zhì)量的軟件提供一個(gè)框架。2024/2/2610
◆軟件工程層次圖該圖展現(xiàn)了軟件工程研究的內(nèi)容及關(guān)注的焦點(diǎn)。
2024/2/2611
過(guò)程:定義了一系列活動(dòng):
技術(shù)方法的采用,工程產(chǎn)品(模型、文檔、數(shù)據(jù))的產(chǎn)生,里程碑(milestone)的建立,質(zhì)量的保證及變化的管理。該層構(gòu)成了軟件項(xiàng)目的管理控制的基礎(chǔ)。
方法:提供了建造軟件在技術(shù)上“如何做”。方法覆蓋了一系列任務(wù):需求分析、設(shè)計(jì)、編程、測(cè)試和支持(如糾錯(cuò)、適應(yīng)、增強(qiáng)、預(yù)防)。
工具:對(duì)過(guò)程和方法提供了自動(dòng)或半自動(dòng)的支持。2024/2/2612
如果不考慮應(yīng)用領(lǐng)域、項(xiàng)目規(guī)模和復(fù)雜性,與軟件工程相關(guān)的工作可分為三個(gè)一般的階段:
⑴定義階段集中于“做什么”。搞清楚要處理什么信息,預(yù)期完成什么功能和性能,系統(tǒng)將有什么樣的行為,建立什么樣的界面,有什么設(shè)計(jì)約束,以及建立一個(gè)成功系統(tǒng)的確認(rèn)標(biāo)準(zhǔn)是什么。
⑵開(kāi)發(fā)階段集中于“如何做”。即數(shù)據(jù)如何被結(jié)構(gòu)化,功能如何被表示于軟件體系結(jié)構(gòu)中,過(guò)程細(xì)節(jié)及界面如何實(shí)現(xiàn),設(shè)計(jì)描述如何被翻譯成程序語(yǔ)言,如何進(jìn)新測(cè)試等活動(dòng)。⑶支持階段關(guān)注于“變化”。為糾正錯(cuò)誤而做的修改,為適應(yīng)環(huán)境的演化而做的修改,為增強(qiáng)用戶(hù)的需求而做的修改以及使軟件能被更好的維護(hù)而進(jìn)行的軟件再工程。2024/2/2613
軟件通過(guò)應(yīng)用這三個(gè)階段實(shí)現(xiàn)工程化生產(chǎn)。
還有一些庇護(hù)性活動(dòng)補(bǔ)充上述階段的工作并貫穿于整個(gè)軟件工程過(guò)程中,如:軟件項(xiàng)目跟蹤與控制、軟件質(zhì)量保證、軟件配置管理等等?!裟芰Τ墒於饶P虲MM
近年來(lái),“過(guò)程成熟度”成為人們關(guān)注的焦點(diǎn)。美國(guó)Carnegie-Meilon大學(xué)的軟件工程研究所(SEI)提出了一個(gè)綜合模型,定義了當(dāng)一個(gè)組織達(dá)到不同的過(guò)程成熟度時(shí)應(yīng)該具有的軟件工程能力。這個(gè)綜合模型稱(chēng)為能力成熟度模型(CapabilityMaturityModel,CMM)。2024/2/2614
該模型定義了5個(gè)級(jí)別及每個(gè)級(jí)別上所需的關(guān)鍵活動(dòng):
⑴初始級(jí)(initial):無(wú)嚴(yán)格定義的活動(dòng),項(xiàng)目的成功只依賴(lài)于關(guān)鍵人物的能力。⑵可重復(fù)級(jí)(repeatable):建立了基本的項(xiàng)目管理過(guò)程:需求管理、項(xiàng)目計(jì)劃與跟蹤、質(zhì)量管理、配置管理、合同管理。有類(lèi)似項(xiàng)目成功的案例和經(jīng)驗(yàn)。⑶已定義級(jí)(defined):包含了第2級(jí)的所有特征。要求制定組織內(nèi)部的工程化標(biāo)準(zhǔn),包括管理和開(kāi)發(fā)都需要一套文檔化的標(biāo)準(zhǔn),并集成到內(nèi)部的軟件過(guò)程中去。即所有項(xiàng)目都使用統(tǒng)一的、文檔化的、組織過(guò)程認(rèn)可的版本來(lái)開(kāi)發(fā)和維護(hù)軟件。2024/2/2615
⑷已管理級(jí)(managed):包含了第3級(jí)的所有特征。該級(jí)的管理指量化的管理,即所有的過(guò)程需建立相應(yīng)的度量方式,所有產(chǎn)品的質(zhì)量要有明確的度量指標(biāo)。量化控制使軟件開(kāi)發(fā)真正變成工業(yè)生產(chǎn)活動(dòng)。⑸優(yōu)化級(jí)(optimizing):包含了第4級(jí)的所有特征。能根據(jù)反饋信息進(jìn)行不斷的過(guò)程改進(jìn),這些反饋信息來(lái)自于前期過(guò)程執(zhí)行或試驗(yàn)新方法新技術(shù)而得到。達(dá)到這一級(jí)表明該企業(yè)能夠根據(jù)實(shí)際的項(xiàng)目性質(zhì)、技術(shù)等因素,不斷調(diào)整軟件生產(chǎn)過(guò)程。
2024/2/2616
CMM對(duì)軟件企業(yè)有什么指導(dǎo)作用?
CMM建立了軟件過(guò)程評(píng)價(jià)與改善及軟件生產(chǎn)能力評(píng)估的基礎(chǔ),為軟件企業(yè)提供一整套提高其軟件生產(chǎn)能力的先進(jìn)思路和方法,并通過(guò)評(píng)估使企業(yè)可對(duì)外證明其在軟件產(chǎn)品提供方面具有的質(zhì)量保證能力,受到全球各軟件企業(yè)的重視和廣泛采用并實(shí)施評(píng)估。西安交大博通資訊股份有限公司于2002年12月獲得CMM3級(jí)認(rèn)證。
CMM用于改進(jìn)一個(gè)軟件企業(yè)的管理能力。另外TSP(TeamSoftwareProcess)以提高一個(gè)開(kāi)發(fā)團(tuán)隊(duì)的有效性;PSP(PersonalSoftwareProcess)則增強(qiáng)個(gè)人的技能與紀(jì)律。2024/2/26171.3軟件生存周期及軟件過(guò)程模型
軟件生存周期是指一個(gè)軟件從定義開(kāi)始經(jīng)過(guò)開(kāi)發(fā)、運(yùn)行、維護(hù),直到最后被廢棄的全過(guò)程。引入此概念,可以把軟件生存周期劃分為若干階段。一般劃分為:軟件定義、需求分析、軟件設(shè)計(jì)、編碼、測(cè)試及軟件維護(hù)等幾個(gè)階段。每一階段有明確的任務(wù),把規(guī)模大、結(jié)構(gòu)復(fù)雜、管理復(fù)雜的軟件開(kāi)發(fā)變得容易控制和管理。各個(gè)階段的活動(dòng)如何銜接,開(kāi)發(fā)過(guò)程中采用什么樣的策略,應(yīng)遵守什么樣的規(guī)定和制約,將這些活動(dòng)框架(忽略不必要的細(xì)節(jié))用一種模型表示出來(lái),稱(chēng)為軟件過(guò)程模型(或軟件開(kāi)發(fā)模型)。2024/2/2618
軟件過(guò)程模型的選擇基于項(xiàng)目和應(yīng)用的性質(zhì)、采用的方法工具以及需要的控制和交付的產(chǎn)品。幾種典型的模型:
⑴瀑布模型(線性順序模型)
2024/2/2619
特點(diǎn):
?
提供了軟件過(guò)程模型的基本框架。
?
強(qiáng)調(diào)了每一階段活動(dòng)的嚴(yán)格順序。
?
質(zhì)量保證觀點(diǎn):以經(jīng)過(guò)評(píng)審確認(rèn)了的階段工作產(chǎn)品(文檔)驅(qū)動(dòng)下一階段的工作。
?
是一種整體開(kāi)發(fā)模型,程序的物理實(shí)現(xiàn)集中在開(kāi)發(fā)階段的后期,用戶(hù)在最后才能看到自己的產(chǎn)品。
?
適合于用戶(hù)需求明確、完整、無(wú)重大變化的軟件項(xiàng)目開(kāi)發(fā)。
2024/2/2620
⑵原型模型
在用戶(hù)不能給出完整、準(zhǔn)確的需求說(shuō)明,或者開(kāi)發(fā)者不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機(jī)交互的形式等許多情況下,可以根據(jù)用戶(hù)的一組基本需求,快速建造一個(gè)原型(可運(yùn)行的軟件),然后進(jìn)行評(píng)估,進(jìn)一步精化、調(diào)整原型,使其滿(mǎn)足用戶(hù)的要求,也使開(kāi)發(fā)者對(duì)將要做的事情有更好的理解。
2024/2/2621
原型的分類(lèi):
?
拋棄型:主要用于需求分析階段,針對(duì)開(kāi)發(fā)目標(biāo)模糊、用戶(hù)與開(kāi)發(fā)者對(duì)項(xiàng)目都缺乏經(jīng)驗(yàn)的情況。建立原型的目的是為了搞清用戶(hù)的需求,確定所期望的特性,探索各種方案的可行性。產(chǎn)生完整、一致、準(zhǔn)確的需求說(shuō)明。
?
實(shí)驗(yàn)型:主要用于設(shè)計(jì)階段,通過(guò)原型驗(yàn)證設(shè)計(jì)方案的可行性。原型或成為設(shè)計(jì)結(jié)果的一部分或拋棄。
?
演化型:用于整個(gè)開(kāi)發(fā)階段。原型經(jīng)過(guò)不斷擴(kuò)充,演化為最終的軟件系統(tǒng)。2024/2/2622
存在的問(wèn)題:
⑴為了使原型盡快的工作,沒(méi)有考慮軟件的總體質(zhì)量和長(zhǎng)期的可維護(hù)性。
⑵為了演示,可能采用不合適的操作系統(tǒng)、編程語(yǔ)言、效率低的算法,這些不理想的選擇成了系統(tǒng)的組成部分。
⑶開(kāi)發(fā)過(guò)程不便于管理。
有效的使用原型模式是:建造原型僅是為了定義需求,之后就被拋棄(或被部分拋棄),實(shí)際的軟件在充分考慮了質(zhì)量和可維護(hù)性之后才被開(kāi)發(fā)。2024/2/2623
⑶增量模型
是一種漸進(jìn)地開(kāi)發(fā)逐步完善的軟件版本的模型。
2024/2/2624
特點(diǎn):
?
反復(fù)的應(yīng)用瀑布模型的基本成分和原型模型的迭代特征,每一個(gè)線型過(guò)程產(chǎn)生一個(gè)“增量”的發(fā)布或提交,該增量均是一個(gè)可運(yùn)行的產(chǎn)品。
?
早期的版本實(shí)現(xiàn)用戶(hù)的基本需求,并提供給用戶(hù)評(píng)估的平臺(tái)。
⑷螺旋模型
對(duì)于復(fù)雜的大型軟件,開(kāi)發(fā)一個(gè)原型往往達(dá)不到要求。螺旋模型將瀑布模型和增量模型結(jié)合起來(lái),加入了風(fēng)險(xiǎn)分析。在該模型中,軟件開(kāi)發(fā)使一系列的增量發(fā)布,早期的迭代中,發(fā)布的增量可能是一個(gè)紙上的模型或原型,在以后的迭代中,逐步產(chǎn)生系統(tǒng)更加完善的版本。螺旋模型將開(kāi)發(fā)過(guò)程劃分為幾個(gè)螺旋周期,每個(gè)周期有三到六個(gè)任務(wù)區(qū)域,見(jiàn)下圖。2024/2/2625
2024/2/2626
螺旋的第一圈可能產(chǎn)生產(chǎn)品的規(guī)格說(shuō)明,再下面的螺旋可能用于開(kāi)發(fā)一個(gè)原型,隨后可能是軟件的更完善的版本。每一圈還要根據(jù)用戶(hù)評(píng)估的反饋對(duì)項(xiàng)目計(jì)劃(包括進(jìn)度、費(fèi)用)進(jìn)行調(diào)整。特點(diǎn):
?
適合于大型系統(tǒng)的軟件開(kāi)發(fā),隨著過(guò)程的進(jìn)展演化,開(kāi)發(fā)者和用戶(hù)能夠更好的識(shí)別和對(duì)待每一個(gè)演化級(jí)別上的風(fēng)險(xiǎn)。
?
需要相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專(zhuān)門(mén)知識(shí),使該模型的應(yīng)用受到一定限制。
?
隨著迭代次數(shù)的增加,工作量加大,軟件開(kāi)發(fā)成本增加。2024/2/2627
⑸形式化方法模型
是基于形式化語(yǔ)言和程序變換的模型,因此,也稱(chēng)變換模型。從軟件需求形式化說(shuō)明開(kāi)始,經(jīng)過(guò)一系列的數(shù)學(xué)變換和正確性證明,最終得到系統(tǒng)的目標(biāo)程序。形式化方法使開(kāi)發(fā)者應(yīng)用一個(gè)嚴(yán)格的數(shù)學(xué)符號(hào)體系來(lái)表示、構(gòu)造和驗(yàn)證系統(tǒng),從而大大提高軟件的可靠性。模型見(jiàn)下圖:2024/2/2628
變換模型
形式化規(guī)格說(shuō)明與需求比較后修正形式化開(kāi)發(fā)記錄變換n變換2變換1測(cè)試系統(tǒng)需求目標(biāo)系統(tǒng)…2024/2/2629
兩種技術(shù):
?
基于模型的規(guī)格說(shuō)明及其變換技術(shù)基于模型的技術(shù)使用數(shù)學(xué)上的結(jié)構(gòu)如集合和函數(shù)為系統(tǒng)建模。它們能展現(xiàn)系統(tǒng)的狀態(tài)以簡(jiǎn)化對(duì)某些行為的描述?;谀P偷拿枋稣Z(yǔ)言及方法如Z、VDM(ViennaDefinitionMethod)、B、PetriNets等。
?
基于代數(shù)結(jié)構(gòu)及其變換技術(shù)代數(shù)方法適合于對(duì)接口的描述。這里接口被定義為一組對(duì)象類(lèi)或抽象數(shù)據(jù)類(lèi)型的集合,用接口操作之間的關(guān)系來(lái)刻畫(huà)系統(tǒng)。2024/2/2630
特點(diǎn):
?
該模型迫使對(duì)系統(tǒng)需求的分析在軟件開(kāi)發(fā)的早期階段完成。在這個(gè)階段改正錯(cuò)誤比在系統(tǒng)被交付之后修改錯(cuò)誤要經(jīng)濟(jì)得多。
?
形式化描述是對(duì)非形式化描述技術(shù)的補(bǔ)充??梢杂脕?lái)精化非形式化的詳細(xì)的系統(tǒng)需求描述。描述是精確的和無(wú)二義的,避免了由于語(yǔ)言誤解而產(chǎn)生的一些問(wèn)題。
?
最適合用于安全性、可靠性和保密性等性能要求極高的系統(tǒng)。
?
開(kāi)發(fā)成本較高。
?
需要嚴(yán)格的數(shù)學(xué)理論和開(kāi)發(fā)環(huán)境的支持。
?
難以與用戶(hù)進(jìn)行通信。2024/2/2631
形式化過(guò)程模型的一個(gè)擴(kuò)展,稱(chēng)為凈室軟件工程(cleanroomsoftwareengineering)或凈室模型,它除了強(qiáng)調(diào)分析和設(shè)計(jì)上的嚴(yán)格性,以及使用基于數(shù)學(xué)的正確性證明來(lái)對(duì)設(shè)計(jì)模型的每個(gè)元素進(jìn)行形式化驗(yàn)證外,還強(qiáng)調(diào)了統(tǒng)計(jì)質(zhì)量控制技術(shù)。基本思想:力求在分析和設(shè)計(jì)階段就消除錯(cuò)誤,確保正確,然后在無(wú)缺陷或“潔凈”的狀態(tài)下實(shí)現(xiàn)軟件的制作。關(guān)鍵技術(shù):
?
基于統(tǒng)計(jì)過(guò)程控制之下的增量開(kāi)發(fā)
?
基于函數(shù)的規(guī)范、設(shè)計(jì)、驗(yàn)證
?
統(tǒng)計(jì)測(cè)試和軟件認(rèn)證模型見(jiàn)下圖:2024/2/2632
凈室模型盒結(jié)構(gòu)規(guī)約需求收集形式化設(shè)計(jì)正確性驗(yàn)證代碼檢查測(cè)試計(jì)劃統(tǒng)計(jì)性使用測(cè)試驗(yàn)證增量#1盒結(jié)構(gòu)規(guī)約需求收集形式化設(shè)計(jì)正確性驗(yàn)證代碼檢查測(cè)試計(jì)劃統(tǒng)計(jì)性使用測(cè)試驗(yàn)證增量#2盒結(jié)構(gòu)規(guī)約需求收集形式化設(shè)計(jì)正確性驗(yàn)證代碼檢查測(cè)試計(jì)劃統(tǒng)計(jì)性使用測(cè)試驗(yàn)證增量#1............2024/2/2633
⑹構(gòu)件組裝模型
構(gòu)件(component)也稱(chēng)為組件,是一段實(shí)現(xiàn)一系列有確定接口的程序體,具有自己的功能和邏輯,能同其他構(gòu)件組裝起來(lái)協(xié)調(diào)工作。該模型支持軟件重用,對(duì)縮短軟件開(kāi)發(fā)周期、降低項(xiàng)目成本有重要的現(xiàn)實(shí)意義。同時(shí),建造符合某應(yīng)用領(lǐng)域體系結(jié)構(gòu)標(biāo)準(zhǔn)的構(gòu)件,可以用來(lái)搭建分布式的、跨越不同操作平臺(tái)的軟件,擴(kuò)展了軟件的應(yīng)用前景,促進(jìn)了軟件標(biāo)準(zhǔn)化、商品化的發(fā)展。因此,在此基礎(chǔ)上專(zhuān)家們又提出了“基于構(gòu)件的軟件工程”(CBSE)。構(gòu)件組裝模型如下圖所示:
2024/2/2634
構(gòu)件組裝模型2024/2/2635
軟件體系結(jié)構(gòu)被建立后,必須用構(gòu)件去充實(shí),這些構(gòu)件可從復(fù)用庫(kù)中獲得,或者根據(jù)專(zhuān)門(mén)需要而開(kāi)發(fā)。整個(gè)過(guò)程可以演化地進(jìn)行,面向?qū)ο蠓椒ńo予技術(shù)上的支持。構(gòu)件技術(shù)目前主要有三種流行標(biāo)準(zhǔn):
?OMG的CORBA:
對(duì)象管理組織發(fā)布的公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(CommonObjectRequestBrokerArchitecture)。一個(gè)對(duì)象請(qǐng)求代理(ORB)提供一系列服務(wù),使得一個(gè)構(gòu)件和其他構(gòu)件通信,而不管它們?cè)谙到y(tǒng)中的位置,實(shí)現(xiàn)了遠(yuǎn)程對(duì)象通過(guò)接口進(jìn)行通信的機(jī)制。
2024/2/2636
?
微軟的COM/DCOM:微軟開(kāi)發(fā)了構(gòu)件對(duì)象模型(ComponentObjectModel),它提供了運(yùn)行于windows之上的單個(gè)應(yīng)用系統(tǒng)使用不同廠商生產(chǎn)的構(gòu)件的規(guī)約?;诜植际江h(huán)境下的COM稱(chēng)為DCOM(DistributeCOM)。
?SUN的EJB(EnterpriseJavaBean):隨著Java在企業(yè)級(jí)應(yīng)用的地位日趨重要,Sun提出了一個(gè)統(tǒng)一的企業(yè)級(jí)Java平臺(tái)—J2EE。在J2EE中,EJB負(fù)責(zé)最核心的業(yè)務(wù)處理。它為服務(wù)器端的應(yīng)用程序提供了一種與廠商無(wú)關(guān)的Java接口,讓任何符合EJB規(guī)范的構(gòu)件都可以運(yùn)行在每一臺(tái)這樣的服務(wù)器上。2024/2/2637
⑺統(tǒng)一軟件開(kāi)發(fā)過(guò)程
是由Rational公司的Booch、Jacobson、Rumbaugh提出的軟件過(guò)程模型,也稱(chēng)RUP(RationalUnifiedProcess)。RUP重復(fù)一系列周期,每個(gè)周期由一個(gè)交付給用戶(hù)的產(chǎn)品結(jié)束。每個(gè)周期劃分為初始、細(xì)化、構(gòu)造和移交四個(gè)階段,每個(gè)階段圍繞著五個(gè)核心工作流(需求、分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試)分別迭代。模型見(jiàn)下圖:
2024/2/26382024/2/2639
初始階段:進(jìn)行問(wèn)題定義,確定目標(biāo),評(píng)估其可行性,降低關(guān)鍵風(fēng)險(xiǎn)。
細(xì)化階段:制定項(xiàng)目計(jì)劃、配置各類(lèi)資源、建立系統(tǒng)架構(gòu)(包括各類(lèi)視圖)。
構(gòu)造階段:開(kāi)發(fā)整個(gè)產(chǎn)品,并確保產(chǎn)品可移交給用戶(hù)。
移交階段:產(chǎn)品發(fā)布、安裝、用戶(hù)培訓(xùn)。在每個(gè)階段的每次迭代的最后,用例模型、分析模型、設(shè)計(jì)模型、實(shí)現(xiàn)模型都會(huì)增量,每個(gè)階段結(jié)束的里程碑處,管理層做出是否繼續(xù)、進(jìn)度、預(yù)算、是否給下一階段提供資助等決定。不同階段工作流的側(cè)重點(diǎn)不同,前兩階段大部分工作集中在需求、分析和架構(gòu)設(shè)計(jì)上;在構(gòu)造階段,重點(diǎn)轉(zhuǎn)移到詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試上。
2024/2/26401.4軟件開(kāi)發(fā)方法
1.
結(jié)構(gòu)化方法(SA、SD、IDEF)2.面向數(shù)據(jù)結(jié)構(gòu)的方法(Jackson、Warnier-On)3.形式化開(kāi)發(fā)方法(VDM)4.面向?qū)ο蟮拈_(kāi)發(fā)方法
Coad-Yourdon、Booch、Rumbaugh、Jacobson5.
敏捷(agile)開(kāi)發(fā)方法極限編程
(ExtremeProgramming,XP)是其中的一種主要方法。支持需求變化、遞增式開(kāi)發(fā)。每一遞增周期的代碼必須充分測(cè)試(單元測(cè)試),用戶(hù)和開(kāi)發(fā)組在一起,隨時(shí)保證做出的功能滿(mǎn)足用戶(hù)的需求,項(xiàng)目組成員在同一地點(diǎn)工作,保證高效的面對(duì)面交流,要經(jīng)常性的(如每個(gè)周期結(jié)束)進(jìn)行回顧,隨時(shí)調(diào)整方法與過(guò)程以達(dá)到最有效的開(kāi)發(fā)。2024/2/26411.5軟件開(kāi)發(fā)工具
軟件開(kāi)發(fā)工具對(duì)軟件過(guò)程和方法提供了自動(dòng)的或半自動(dòng)的支持。
1.工具箱:各種工具的組合,界面不統(tǒng)一。
2.軟件開(kāi)發(fā)環(huán)境:各階段使用的軟件工具集合成一個(gè)完整的整體,支持軟件開(kāi)發(fā)的全過(guò)程。如Delphi。
3.
計(jì)算機(jī)輔助軟件工程(ComputerAidedSoftwareEngineering,CASE):方法與工具的結(jié)合,支持某種方法論,支持某種過(guò)程模型,幫助軟件開(kāi)發(fā)人員進(jìn)一步提高軟件開(kāi)發(fā)的效率和質(zhì)量。CASE可以簡(jiǎn)單到輔助某特定的軟件工程活動(dòng)(如分析建模),也可以復(fù)雜到一個(gè)完整的環(huán)境,它包含工具、數(shù)據(jù)庫(kù)、人員、硬件、網(wǎng)絡(luò)、操作系統(tǒng)、標(biāo)準(zhǔn)及其它部件。2024/2/2642
CASE的構(gòu)造積木塊如圖所示:
2024/2/2643
⑴
環(huán)境體系結(jié)構(gòu):由硬件平臺(tái)和系統(tǒng)支持(包括網(wǎng)絡(luò)軟件、數(shù)據(jù)庫(kù)管理和對(duì)象管理服務(wù))構(gòu)成,是CASE的基石。
⑵可移植服務(wù):提供了工具及其集成框架與環(huán)境體系結(jié)構(gòu)的橋梁,即允許工具及其集成框架能跨越不同硬件平臺(tái)和操作系統(tǒng)使用,而不需要做大量的適應(yīng)性修改。
⑶集成框架:是一組專(zhuān)用程序,它們使得個(gè)體的CASE工具可以和其他工具相互通信,能夠建立項(xiàng)目數(shù)據(jù)庫(kù),以及向開(kāi)發(fā)人員展示相同的界面。
2024/2/2644
集成框架有如下結(jié)構(gòu):
?
用戶(hù)界面層:包含標(biāo)準(zhǔn)的界面工具箱和公共的表示協(xié)議(給予CASE工具相同界面的一組指導(dǎo)原則:屏幕布局約定、菜單名和組織、圖符、對(duì)象名、鍵盤(pán)和鼠標(biāo)的使用以及工具訪問(wèn)機(jī)制等表示協(xié)議)。
?
工具管理層:協(xié)調(diào)工具的使用。
?
對(duì)象管理層:提供配置管理服務(wù)。
?
共享數(shù)據(jù)庫(kù)層:完成對(duì)象管理層與數(shù)據(jù)庫(kù)的訪問(wèn)控制。
⑷
工具:項(xiàng)目管理工具、分析與設(shè)計(jì)工具、編程工具、測(cè)試工具、原型建造工具、界面開(kāi)發(fā)工具、風(fēng)險(xiǎn)分析工具、文檔工具以及再工程工具等。西安交通大學(xué)劉海巖45第2章軟件項(xiàng)目管理軟件項(xiàng)目管理的概念軟件度量軟件項(xiàng)目計(jì)劃項(xiàng)目進(jìn)度安排與跟蹤軟件質(zhì)量管理軟件配置管理西安交通大學(xué)劉海巖462.1軟件項(xiàng)目管理的概念
?
項(xiàng)目:以一套獨(dú)特而相互聯(lián)系的任務(wù)為前提,有效的利用資源,為實(shí)現(xiàn)一個(gè)特定目標(biāo)所作的工作。項(xiàng)目的成功受以下幾個(gè)因素的制約:技術(shù)范圍、成本、進(jìn)度、用戶(hù)滿(mǎn)意度、人員等。
?
項(xiàng)目管理的職責(zé):確保項(xiàng)目目標(biāo)的實(shí)現(xiàn),即在預(yù)算內(nèi)按時(shí)完成質(zhì)量合格的產(chǎn)品。
?
軟件項(xiàng)目管理:是對(duì)傳統(tǒng)項(xiàng)目管理進(jìn)行軟件工程化的一種擴(kuò)展與拓延,是它在軟件工程的任何技術(shù)活動(dòng)之前開(kāi)始,并持續(xù)貫穿于整個(gè)軟件定義、開(kāi)發(fā)和支持階段的庇護(hù)性活動(dòng),是決定一個(gè)產(chǎn)品或項(xiàng)目能否成功最重要的指標(biāo)之一。
西安交通大學(xué)劉海巖474個(gè)P(People、Product、Process、Project)對(duì)軟件項(xiàng)目管理有實(shí)質(zhì)性的影響:
人員必須被組織成有效的開(kāi)發(fā)團(tuán)隊(duì)。
產(chǎn)品需求被劃分成較小的組成部分,便于分配給軟件開(kāi)發(fā)小組。開(kāi)發(fā)過(guò)程應(yīng)根據(jù)人員和產(chǎn)品選擇合適的開(kāi)發(fā)模型。
項(xiàng)目必須被組織成便于控制和管理的方式,使有計(jì)劃的進(jìn)行。西安交通大學(xué)劉海巖48◆
人員:人員是一個(gè)成功軟件項(xiàng)目中最重要的因素??煞譃?類(lèi):⑴高級(jí)管理者:負(fù)責(zé)定義業(yè)務(wù)問(wèn)題,影響著項(xiàng)目。⑵技術(shù)管理者:組織、激勵(lì)和控制開(kāi)發(fā)人員。⑶開(kāi)發(fā)人員:負(fù)責(zé)開(kāi)發(fā)一個(gè)產(chǎn)品或應(yīng)用所需的技術(shù)。⑷客戶(hù)(customer):負(fù)責(zé)說(shuō)明待開(kāi)發(fā)的軟件需求。⑸最終用戶(hù)(user):直接使用發(fā)布的軟件。西安交通大學(xué)劉海巖49
每一個(gè)軟件項(xiàng)目都有上述的人員參與。必須被組織成有效的小組,最大限度的發(fā)輝每個(gè)人的技術(shù)和能力,激勵(lì)他們進(jìn)行高質(zhì)量的工作,并協(xié)調(diào)他們實(shí)現(xiàn)有效的通信。Constantine提出4個(gè)“組織范型”:(1)封閉式范型:傳統(tǒng)的控制層次,垂直通信,難以創(chuàng)新。(2)隨機(jī)式范型:小組管理較松散,依賴(lài)于成員個(gè)人的主動(dòng)性。不適合“有次序地完成”。(3)開(kāi)放式范型:具有封閉式范型的控制性,又包含隨機(jī)式范型的創(chuàng)新性。適合于解決復(fù)雜問(wèn)題??赡懿幌衿渌?lèi)型小組那么有效率。(4)同步式范型:依賴(lài)于問(wèn)題的自然劃分,小組成員各自解決問(wèn)題的獨(dú)立部分。主動(dòng)通信差。建立一個(gè)有凝聚力的小組,要有團(tuán)隊(duì)精神。西安交通大學(xué)劉海巖50
◆
產(chǎn)品:進(jìn)行項(xiàng)目計(jì)劃之前,應(yīng)該首先定義產(chǎn)品的目的和范圍,考慮可選的解決方案,標(biāo)識(shí)技術(shù)和管理的約束。無(wú)這些信息,就不可能進(jìn)行合理的、準(zhǔn)確的成本估算、有效的風(fēng)險(xiǎn)評(píng)估、適當(dāng)?shù)捻?xiàng)目任務(wù)劃分、可管理的項(xiàng)目進(jìn)度安排。
“目的”指從用戶(hù)的角度標(biāo)識(shí)出該產(chǎn)品的總體目標(biāo)而不考慮這些目標(biāo)如何實(shí)現(xiàn)。
“范圍”指標(biāo)識(shí)出與產(chǎn)品相關(guān)的主要數(shù)據(jù)、功能和行為。確定了目的和范圍,就可以根據(jù)產(chǎn)品交付的期限、預(yù)算的限制、可用的人員、技術(shù)接口及各種其他因素,選擇最好的解決方案途徑。
西安交通大學(xué)劉海巖51◆過(guò)程
根據(jù)以下條件選擇一個(gè)合適的軟件過(guò)程模型:⑴開(kāi)發(fā)人員及需要該產(chǎn)品的用戶(hù)⑵產(chǎn)品本身的特征⑶項(xiàng)目組的工作環(huán)境采用如下的框架活動(dòng)集合:客戶(hù)交流、計(jì)劃、風(fēng)險(xiǎn)分析、工程實(shí)施、構(gòu)造及發(fā)布、用戶(hù)評(píng)估。這些活動(dòng)可被修改以適應(yīng)不同軟件項(xiàng)目的特征和項(xiàng)目組的需求。每個(gè)活動(dòng)可被分解為更詳細(xì)的工作任務(wù)。如客戶(hù)交流活動(dòng)可能需要下列任務(wù):西安交通大學(xué)劉海巖52
⑴列出需要澄清問(wèn)題的清單⑵安排與用戶(hù)進(jìn)行討論的會(huì)議⑶評(píng)審用戶(hù)要求及范圍的陳述⑷研究推薦的解決方案⑸為正式的會(huì)議準(zhǔn)備工作文檔⑹共同制訂能反映軟件的數(shù)據(jù)、功能和行為特征的規(guī)約,形成軟件范圍的文檔⑺評(píng)審文檔⑻根據(jù)需求修改文檔
……庇護(hù)性活動(dòng)貫穿于整個(gè)過(guò)程。西安交通大學(xué)劉海巖53
◆項(xiàng)目有計(jì)劃的控制軟件項(xiàng)目,Boehm提出了一種方法,強(qiáng)調(diào)項(xiàng)目目標(biāo)、里程碑、進(jìn)度、責(zé)任、管理和技術(shù)方法以及需要的資源,稱(chēng)之為W5H2原則。通過(guò)下面一系列的提問(wèn)和回答,可以導(dǎo)出項(xiàng)目的關(guān)鍵特征并產(chǎn)生項(xiàng)目計(jì)劃的大綱:⑴為什么(Why)該系統(tǒng)被開(kāi)發(fā)?值得嗎?⑵將做什么(What)?什么時(shí)候(When)做?建立項(xiàng)目進(jìn)度,標(biāo)識(shí)關(guān)鍵的項(xiàng)目任務(wù)和里程碑。⑶某功能由誰(shuí)(Who)負(fù)責(zé)?開(kāi)發(fā)人員的角色和責(zé)任。⑷哪里需要(Where)?客戶(hù)、用戶(hù)和其他投資者也有責(zé)任。⑸工作將如何(How)進(jìn)行?定義項(xiàng)目的管理和技術(shù)策略。⑹資源需要多少(Howmuch)?
西安交通大學(xué)劉海巖54
軟件項(xiàng)目管理中的主要元素及之間的關(guān)系
開(kāi)發(fā)人員、小組、角色、任務(wù)、工作產(chǎn)品、進(jìn)度表(UML類(lèi)圖)之間的關(guān)系西安交通大學(xué)劉海巖55
軟件項(xiàng)目管理的主要內(nèi)容:
?定義問(wèn)題(確定新系統(tǒng)的作用域-目標(biāo))
?確認(rèn)項(xiàng)目的可行性
?建立項(xiàng)目的進(jìn)度計(jì)劃
?建立項(xiàng)目的質(zhì)量保證體系
?建立項(xiàng)目配置管理體系和準(zhǔn)則
?項(xiàng)目版本變更管理?
跟蹤、監(jiān)控項(xiàng)目的進(jìn)展
?風(fēng)險(xiǎn)管理
?團(tuán)隊(duì)建設(shè)(人員管理,包括績(jī)效評(píng)估等)
西安交通大學(xué)劉海巖562.2可行性研究
1、可行性研究的任務(wù)和目的GB8566-88《計(jì)算機(jī)軟件開(kāi)發(fā)規(guī)范》中指出:
可行性研究的主要任務(wù)是了解客戶(hù)的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等方面研究并論證本軟件項(xiàng)目的可行性,編寫(xiě)可行性研究報(bào)告供項(xiàng)目管理人員評(píng)審,以便作出是否開(kāi)發(fā)軟件項(xiàng)目的決策。西安交通大學(xué)劉海巖57◆技術(shù)可行性
度量一個(gè)系統(tǒng)解決方案的實(shí)用性及技術(shù)資源的可用性??紤]的問(wèn)題:(1)開(kāi)發(fā)風(fēng)險(xiǎn)分析(2)資源分析(3)相關(guān)技術(shù)的發(fā)展(現(xiàn)有技術(shù)能否實(shí)現(xiàn)新系統(tǒng)、技術(shù)難點(diǎn)、建議采用技術(shù)的先進(jìn)性)西安交通大學(xué)劉海巖58◆經(jīng)濟(jì)可行性
主要內(nèi)容:成本/效益分析不可能得到精確的分析結(jié)果?系統(tǒng)成本:①軟件開(kāi)發(fā)費(fèi)用②購(gòu)置并安裝軟硬件機(jī)有關(guān)設(shè)備的費(fèi)用估算③系統(tǒng)安裝、運(yùn)行和維護(hù)費(fèi)用④人員培訓(xùn)費(fèi)用?系統(tǒng)效益包括經(jīng)濟(jì)效益和社會(huì)效益經(jīng)濟(jì)效益:可通過(guò)直接的或統(tǒng)計(jì)的方法估算社會(huì)效益:定性的方法估算西安交通大學(xué)劉海巖59◆社會(huì)因素可行性
政策、法律、使用、環(huán)境等2、可行性研究的步驟(1)復(fù)查確認(rèn)系統(tǒng)目標(biāo)、規(guī)模(2)研究現(xiàn)行系統(tǒng)的工作流程(3)導(dǎo)出目標(biāo)系統(tǒng)高層邏輯模型(4)導(dǎo)出和評(píng)價(jià)供選擇的方案(5)推薦可行的方案(6)編寫(xiě)可行性研究報(bào)告,送審西安交通大學(xué)劉海巖603、可行性研究報(bào)告的編寫(xiě)提示(1)引言:編寫(xiě)目的、背景、定義、參考資料;(2)可行性研究的前提:要求、目標(biāo)、條件、假定和限制、進(jìn)行可行性研究的方法、評(píng)價(jià)尺度;(3)對(duì)現(xiàn)有系統(tǒng)的分析:工作流程、工作負(fù)荷、費(fèi)用開(kāi)支、人員、設(shè)備、局限性;(4)所建議的系統(tǒng):說(shuō)明、數(shù)據(jù)流程和處理流程、改進(jìn)之處、影響、局限性、技術(shù)條件的可行性;(5)可選擇的其它系統(tǒng)方案;(6)投資及收益分析:支出、收益、收益/投資比、投資回收期等;(7)社會(huì)條件方面的可行性(法律、使用)。
西安交通大學(xué)劉海巖61例:一個(gè)軟件系統(tǒng)的開(kāi)發(fā)費(fèi)用(一次):人員:2名系統(tǒng)分析員(450小時(shí)/名,45美元/小時(shí))$40,500
5名系統(tǒng)開(kāi)發(fā)人員(275小時(shí)/名,36美元/小時(shí))$49,5001名數(shù)據(jù)通訊專(zhuān)家(60小時(shí)/名,42美元/小時(shí))$2,520
1名數(shù)據(jù)庫(kù)管理員(30小時(shí)/名,42美元/小時(shí))$1,2602名技術(shù)寫(xiě)作者(120小時(shí)/名,25美元/小時(shí))$6,0001名秘書(shū)(160小時(shí)/名,15美元/小時(shí))$2,4002名在轉(zhuǎn)換期間數(shù)據(jù)輸入人員$960(40小時(shí)/名,12美元/小時(shí))
西安交通大學(xué)劉海巖62培訓(xùn):三天的開(kāi)發(fā)人員內(nèi)部培訓(xùn)課程$7,00030個(gè)用戶(hù),三天的內(nèi)部培訓(xùn)課程$10,000復(fù)印$500磁盤(pán)、紙張等消耗品$650購(gòu)買(mǎi)硬件、軟件:20臺(tái)工作站W(wǎng)indows軟件$1,00020臺(tái)工作站內(nèi)存升級(jí)$8,000網(wǎng)絡(luò)軟件$17,50020臺(tái)工作站辦公軟件產(chǎn)品$20,000系統(tǒng)開(kāi)發(fā)總費(fèi)用$167,790(成本)西安交通大學(xué)劉海巖63
一個(gè)系統(tǒng)的年運(yùn)行費(fèi)用(每年):人員:維護(hù)程序員/分析員(250小時(shí)/年,42美元/小時(shí))$10,500網(wǎng)絡(luò)管理員(300小時(shí)/年,50美元/小時(shí))$15,000購(gòu)買(mǎi)硬件、軟件升級(jí):硬件$5,000軟件$6,000物資和雜項(xiàng)$3,500每年總運(yùn)行費(fèi)用$40,000西安交通大學(xué)劉海巖642.3軟件度量
軟件度量(metrics)域分為過(guò)程度量、項(xiàng)目度量和產(chǎn)品度量。對(duì)過(guò)程、項(xiàng)目及產(chǎn)品的特定屬性進(jìn)行度量產(chǎn)生指導(dǎo)管理及技術(shù)動(dòng)作的指標(biāo),使得管理者和開(kāi)發(fā)者能夠:
?
改善軟件過(guò)程
?
輔助軟件項(xiàng)目計(jì)劃
?
跟蹤及控制軟件項(xiàng)目的進(jìn)展
?
評(píng)價(jià)軟件產(chǎn)品的質(zhì)量西安交通大學(xué)劉海巖65
軟件度量的方式:直接度量間接度量
?軟件工程過(guò)程的直接度量包括所投入的成本和工作量。
?軟件產(chǎn)品的直接度量包括產(chǎn)生的代碼行數(shù)(LOC)、執(zhí)行速度、存儲(chǔ)量大小、在某種時(shí)間周期中所報(bào)告的錯(cuò)誤數(shù)。
?軟件產(chǎn)品的間接度量包括功能性、復(fù)雜性、效率、可靠性、可維護(hù)性和許多其它的質(zhì)量特性。西安交通大學(xué)劉海巖661.過(guò)程和項(xiàng)目的度量
◆過(guò)程度量:
使一個(gè)組織從戰(zhàn)略上考察已有過(guò)程的功效,如開(kāi)發(fā)范型、工程任務(wù)的劃分、工作產(chǎn)品、里程碑等,使管理者評(píng)估那些部分起了作用。度量數(shù)據(jù)的收集跨越所有的項(xiàng)目,經(jīng)歷較長(zhǎng)的時(shí)間,目的是改善軟件過(guò)程。間接的度量一個(gè)軟件過(guò)程的功效:
?軟件發(fā)布之前發(fā)現(xiàn)的錯(cuò)誤數(shù)
?交付給用戶(hù)后報(bào)告的缺陷數(shù)
?花費(fèi)的工作量、時(shí)間、成本
?與進(jìn)度計(jì)劃是否一致
西安交通大學(xué)劉海巖67
個(gè)體軟件過(guò)程(如PSP)提供了表格、腳本、標(biāo)準(zhǔn)以幫助開(kāi)發(fā)人員估算、計(jì)劃以及度量、跟蹤自己工作的方法。過(guò)程度量對(duì)于一個(gè)組織(如企業(yè))提高其總體的過(guò)程成熟度能提供很大的幫助。如一個(gè)產(chǎn)品中,需求規(guī)約缺陷占了25.5%,原因如圖所示。通過(guò)分析一個(gè)完整的魚(yú)骨圖可以導(dǎo)出能改進(jìn)軟件過(guò)程以降低錯(cuò)誤和缺陷率的頻率。
西安交通大學(xué)劉海巖68
◆項(xiàng)目度量:
是戰(zhàn)術(shù)的,使項(xiàng)目管理者能夠以實(shí)時(shí)的方式改進(jìn)項(xiàng)目的工作流程及技術(shù)方法,如軟件項(xiàng)目的工作量及時(shí)間的估算。
項(xiàng)目度量的基礎(chǔ)是歷史項(xiàng)目中收集的數(shù)據(jù)。隨著項(xiàng)目的進(jìn)展,所花費(fèi)的工作量及時(shí)間和預(yù)算的值進(jìn)行比較,從而控制項(xiàng)目的進(jìn)展。另外,可根據(jù)文檔的頁(yè)數(shù)、評(píng)審的時(shí)間、功能點(diǎn)及源代碼行數(shù)來(lái)度量軟件的生產(chǎn)率。
西安交通大學(xué)劉海巖69
項(xiàng)目度量可在項(xiàng)目進(jìn)行的基礎(chǔ)上評(píng)估產(chǎn)品的質(zhì)量,以指導(dǎo)在必要時(shí)修改技術(shù)方法以改進(jìn)質(zhì)量。軟件項(xiàng)目度量建議每個(gè)項(xiàng)目都應(yīng)該測(cè)量:
?輸入:完成工作所需要的資源(如人員、環(huán)境);
?輸出:軟件工程過(guò)程中產(chǎn)生的工作產(chǎn)品;
?結(jié)果:最終產(chǎn)品的有效性。項(xiàng)目度量集成起來(lái)產(chǎn)生對(duì)整個(gè)軟件組織公用的過(guò)程度量。
西安交通大學(xué)劉海巖702.軟件度量的方法
(1)面向規(guī)模的度量
是對(duì)軟件和軟件開(kāi)發(fā)過(guò)程的直接度量??梢越⒁粋€(gè)面向規(guī)模的數(shù)據(jù)表格來(lái)記錄項(xiàng)目的某些信息。該表格列出了在過(guò)去幾年完成的每一個(gè)軟件開(kāi)發(fā)項(xiàng)目和關(guān)于這些項(xiàng)目的相應(yīng)面向規(guī)模的數(shù)據(jù)。
西安交通大學(xué)劉海巖71
基于所生產(chǎn)軟件的“規(guī)?!保褂么a行作為其他計(jì)算的規(guī)范化因子。計(jì)算:
?每千行代碼(KLOC)的錯(cuò)誤數(shù)。
?每KLOC
的缺陷數(shù)。
?每個(gè)LOC的花費(fèi)成本。
?每KLOC的文檔頁(yè)數(shù)
?每人月的錯(cuò)誤數(shù)。
?每人月的代碼行。
?每頁(yè)文檔的成本。
西安交通大學(xué)劉海巖72
可制作一個(gè)如下的表:
對(duì)該方法的有效性有爭(zhēng)議:
支持:易計(jì)算,很多軟件估算模型以它為關(guān)鍵的輸入。
反對(duì):LOC依賴(lài)于語(yǔ)言,不適用于非過(guò)程化語(yǔ)言,在分析與設(shè)計(jì)完成之前難以估算。項(xiàng)目名KLOC工作量(人月)成本(萬(wàn)元)文檔頁(yè)數(shù)錯(cuò)誤缺陷人員BETA1236101556085西安交通大學(xué)劉海巖73
(2)面向功能的度量
“功能”不能直接測(cè)量,利用其他的測(cè)量數(shù)據(jù)間接地導(dǎo)出。Albrecht提出來(lái)的一種稱(chēng)為功能點(diǎn)的度量。用下表計(jì)算5個(gè)信息域的值:
西安交通大學(xué)劉海巖74其中:
?用戶(hù)輸入數(shù):每個(gè)用戶(hù)向系統(tǒng)提供的不同應(yīng)用的輸入數(shù)據(jù)。
?用戶(hù)輸出數(shù):系統(tǒng)向每個(gè)用戶(hù)提供的信息,如報(bào)表、屏幕信息、出錯(cuò)信息等。
?用戶(hù)查詢(xún)數(shù):每個(gè)不同的詢(xún)問(wèn)/響應(yīng)的交互操作。
?文件數(shù):可以是數(shù)據(jù)庫(kù)的一部分或是一個(gè)獨(dú)立的文件。
?外部接口數(shù):與系統(tǒng)中其他設(shè)備通過(guò)外部接口讀寫(xiě)信息的次數(shù)。
“簡(jiǎn)單、平均、復(fù)雜”中的常量值是加權(quán)因子,根據(jù)經(jīng)驗(yàn)確定。
西安交通大學(xué)劉海巖75
利用以下公式計(jì)算功能點(diǎn)(FP):FP=總計(jì)數(shù)值×(0.65+0.01×
Fi)
其中Fi(i=1~14)是回答14個(gè)方面問(wèn)題而得到的復(fù)雜度調(diào)整值(值域?yàn)?~5),如輸入、輸出、查詢(xún)及內(nèi)部處理復(fù)雜嗎?代碼復(fù)用嗎?有分布處理嗎等等(詳見(jiàn)p64)。計(jì)算出功能點(diǎn)。就可進(jìn)行以下度量:
?每個(gè)功能點(diǎn)的錯(cuò)誤數(shù)。
?每個(gè)功能點(diǎn)的缺陷數(shù)。
?每個(gè)功能點(diǎn)的成本。
?每個(gè)功能點(diǎn)的文檔頁(yè)數(shù)。
?每人月完成的功能點(diǎn)數(shù)。西安交通大學(xué)劉海巖76代碼行和功能點(diǎn)度量之間的關(guān)系依賴(lài)于實(shí)現(xiàn)軟件所采用的程序設(shè)計(jì)語(yǔ)言及設(shè)計(jì)的質(zhì)量。下面給出了在不同的程序設(shè)計(jì)語(yǔ)言中建造一個(gè)功能點(diǎn)所需的平均代碼行數(shù)的統(tǒng)計(jì):程序設(shè)計(jì)語(yǔ)言LOC/FP
匯編語(yǔ)言320
C128FORTRAN106Pascal90C++64Java46VisualBASIC32PowerBuilder16SQL12
西安交通大學(xué)劉海巖77
3、軟件質(zhì)量度量
軟件工程的目標(biāo)是產(chǎn)生高質(zhì)量的系統(tǒng)或產(chǎn)品。質(zhì)量依賴(lài)于描述問(wèn)題的需求、建模、設(shè)計(jì)、編碼、測(cè)試。質(zhì)量度量貫穿于軟件工程的全過(guò)程中以及軟件交付用戶(hù)使用之后。應(yīng)評(píng)估分析與設(shè)計(jì)模型、源代碼、測(cè)試案例的質(zhì)量。
西安交通大學(xué)劉海巖78
在軟件交付之前得到的度量數(shù)據(jù)可作為判斷設(shè)計(jì)和測(cè)試質(zhì)量好壞的依據(jù)。這一類(lèi)度量包括程序復(fù)雜性、有效的模塊性和總的程序規(guī)模。
在軟件交付之后的度量數(shù)據(jù)則把注意力集中于還未發(fā)現(xiàn)的缺陷數(shù)和系統(tǒng)的可維護(hù)性方面。
McCall提出了影響軟件質(zhì)量的11個(gè)因素(詳見(jiàn)P367),其中重要的有以下幾點(diǎn):
?正確性:軟件完成所需功能的程度,最常用
“缺陷數(shù)/kLoc”來(lái)測(cè)量。西安交通大學(xué)劉海巖79
?可維護(hù)性:遇到錯(cuò)誤時(shí)程序能被修改的容易程度、環(huán)境變化時(shí)程序能被適應(yīng)的容易程度、用戶(hù)希望改變需求時(shí)程序能被增強(qiáng)的容易程度,一種最簡(jiǎn)單的測(cè)量方法是計(jì)算平均修改時(shí)間(MTTC)。
?完整性:測(cè)量系統(tǒng)在安全方面的抗攻擊性。
完整性=Σ[(1-威脅)×(1-安全性)]
其中威脅是某個(gè)特定類(lèi)型的攻擊在給定時(shí)間內(nèi)發(fā)生的可能性。安全性是某個(gè)特定類(lèi)型的攻擊將被擊退的可能性。
?可用性:用戶(hù)友好性。另外還有可靠性、效率、可測(cè)試性、可移植性、可復(fù)用性等等。
西安交通大學(xué)劉海巖802.4軟件項(xiàng)目計(jì)劃
項(xiàng)目計(jì)劃既指出了項(xiàng)目組織未來(lái)努力的方向和奮斗目標(biāo),又是當(dāng)前行動(dòng)的準(zhǔn)則。針對(duì)不同工作目標(biāo),軟件項(xiàng)目計(jì)劃有:
?項(xiàng)目實(shí)施計(jì)劃(軟件開(kāi)發(fā)計(jì)劃)這是軟件開(kāi)發(fā)的綜合性計(jì)劃,通常應(yīng)包括任務(wù)、進(jìn)度、人力、環(huán)境、資源、組織等多個(gè)方面。
?質(zhì)量保證計(jì)劃把軟件開(kāi)發(fā)的質(zhì)量要求具體規(guī)定為每個(gè)開(kāi)發(fā)階段可以檢查的質(zhì)量保證活動(dòng)。
?軟件測(cè)試計(jì)劃規(guī)定測(cè)試活動(dòng)的任務(wù)、測(cè)試方法、進(jìn)度、資源、人員職責(zé)等。
西安交通大學(xué)劉海巖81
?文檔編制計(jì)劃規(guī)定所開(kāi)發(fā)項(xiàng)目應(yīng)編制的文檔種類(lèi)、內(nèi)容、進(jìn)度、人員職責(zé)等。
?用戶(hù)培訓(xùn)計(jì)劃規(guī)定對(duì)用戶(hù)進(jìn)行培訓(xùn)的目標(biāo)、要求、進(jìn)度、人員職責(zé)等。
?綜合支持計(jì)劃規(guī)定軟件開(kāi)發(fā)過(guò)程中所需要的支持,以及如何獲取和利用這些支持。
?軟件發(fā)布計(jì)劃軟件開(kāi)發(fā)項(xiàng)目完成后,如何提交給用戶(hù)。這里,主要針對(duì)綜合計(jì)劃來(lái)介紹。西安交通大學(xué)劉海巖82項(xiàng)目管理是一個(gè)創(chuàng)造的過(guò)程,項(xiàng)目早期的不確定性因素,使計(jì)劃不可能在啟動(dòng)階段就全部一次完成,需逐步展開(kāi)和不斷修正,這又取決于計(jì)劃執(zhí)行情況的反饋與及時(shí)的信息交流。制訂項(xiàng)目基準(zhǔn)計(jì)劃(BaselinePlan)的步驟:①定義項(xiàng)目目標(biāo),確定軟件范圍②把項(xiàng)目按項(xiàng)目范圍分解為多個(gè)任務(wù)③確定對(duì)應(yīng)每個(gè)任務(wù)必須執(zhí)行的活動(dòng)④將每個(gè)任務(wù)分配給一個(gè)小組,并為每個(gè)開(kāi)發(fā)者分配角色和職責(zé)⑤用Gantt圖或PERT圖表示出項(xiàng)目的進(jìn)度
西安交通大學(xué)劉海巖831、軟件項(xiàng)目估算項(xiàng)目計(jì)劃的一個(gè)重要的前提是項(xiàng)目估算(有時(shí)在可行性研究階段完成),一般以團(tuán)隊(duì)的歷史經(jīng)驗(yàn)為基礎(chǔ),讓團(tuán)隊(duì)中的一線人員參與估算,才能保證項(xiàng)目計(jì)劃的可行性。成本及工作量的估算不是一門(mén)精確的科學(xué),有幾種選擇:
?
基于已完成的類(lèi)似項(xiàng)目進(jìn)行估算;
?使用分解技術(shù)以生成項(xiàng)目成本及工作量的估算;
?使用一個(gè)或多個(gè)經(jīng)驗(yàn)?zāi)P停?/p>
(1)分解技術(shù)分解技術(shù)采用“分而治之”的策略進(jìn)行軟件項(xiàng)目估算。將項(xiàng)目分解成若干主要功能及相關(guān)的軟件過(guò)程活動(dòng),通過(guò)逐步求精的方式進(jìn)行成本及工作量估算。具體方法為:
西安交通大學(xué)劉海巖84
劃分主要的軟件功能,接著估算:①Loc的數(shù)量②對(duì)于FP,估算每個(gè)信息域特征(輸入、輸出、數(shù)據(jù)文件、查詢(xún)、外部接口)及14個(gè)復(fù)雜度調(diào)整值③實(shí)現(xiàn)每個(gè)功能所需的人月數(shù)④每個(gè)軟件過(guò)程活動(dòng)所需人月數(shù)基本的估算方法:
?自頂向下估算:總成本按階段、步驟、工作單元?自底向上估算:先劃分,分別估算每個(gè)子任務(wù)所需的工作量,然后∑。
西安交通大學(xué)劉海巖85?差別估算法:與類(lèi)似項(xiàng)目比較,估算每個(gè)不同之處對(duì)成本的影響。還有專(zhuān)家估算法等等。(2)經(jīng)驗(yàn)估算模型經(jīng)驗(yàn)估算模型可用于補(bǔ)充分解技術(shù),并提供一種潛在有價(jià)值的估算方法。該模型是基于經(jīng)驗(yàn)(歷史數(shù)據(jù))的,可以用下面的形式表示:
=?(
)其中
是要估算的值(如工作量、成本、項(xiàng)目持續(xù)時(shí)間)之一,
是選擇出來(lái)的獨(dú)立參數(shù)(如被估算的Loc或FP)。西安交通大學(xué)劉海巖86
由經(jīng)驗(yàn)導(dǎo)出的公式,最著名的是COCOMO模型,構(gòu)造型成本模型(COnstructiveCOstMOdel)。初期的模型廣泛的使用于軟件成本估算,發(fā)展到反映不同階段的成本。
初始模型的分類(lèi):?基本COCOMO模型是靜態(tài)單變量模型,用源代碼行數(shù)(LOC)為自變量的經(jīng)驗(yàn)函數(shù)計(jì)算軟件開(kāi)發(fā)工作量。?中間COCOMO模型該模型在用LOC為自變量的函數(shù)計(jì)算軟件開(kāi)發(fā)工作量的基礎(chǔ)上,用涉及產(chǎn)品、硬件、人員、項(xiàng)目等方面的影響因素調(diào)整工作量估算。?詳細(xì)COCOMO模型該模型包括中間COCOMO模型的所有特性,但用上述各種影響因素調(diào)整工作量估算時(shí),還要考慮對(duì)軟件工程過(guò)程中每一步驟(分析、設(shè)計(jì)等)的影響。
西安交通大學(xué)劉海巖87
模型的擴(kuò)展:COCOCOMⅡ使用對(duì)象點(diǎn)、功能點(diǎn)、源代碼行作為不同層次模型的參數(shù)。
對(duì)象點(diǎn)只是一種間接軟件測(cè)量數(shù),使用以下計(jì)數(shù):①用戶(hù)界面上的屏幕數(shù)②報(bào)表數(shù)③建立應(yīng)用軟件需要的構(gòu)件數(shù)。每個(gè)對(duì)象實(shí)例(如一個(gè)屏幕或一個(gè)報(bào)表)給出三個(gè)復(fù)雜度權(quán)數(shù)(簡(jiǎn)單、中等、復(fù)雜),如一個(gè)屏幕的權(quán)簡(jiǎn)單為1,中等為2,復(fù)雜為3。通過(guò)以下公式計(jì)算總對(duì)象點(diǎn)數(shù):西安交通大學(xué)劉海巖88Σ(初始的對(duì)象實(shí)例數(shù)×加權(quán)因子)=總的對(duì)象點(diǎn)(NOP)當(dāng)應(yīng)用基于構(gòu)件的開(kāi)發(fā)時(shí),對(duì)象點(diǎn)計(jì)數(shù)調(diào)整為:NOP=NOP×[(100-%復(fù)用)/100]進(jìn)而計(jì)算:生產(chǎn)率=NOP/人月針對(duì)不同級(jí)別的開(kāi)發(fā)者經(jīng)驗(yàn)和開(kāi)發(fā)環(huán)境成熟度,給出對(duì)象點(diǎn)的生產(chǎn)率:非常低低額定高非常高47132550項(xiàng)目工作量=NOP/生產(chǎn)率西安交通大學(xué)劉海巖89
2、項(xiàng)目進(jìn)度安排項(xiàng)目計(jì)劃中的一個(gè)重要內(nèi)容是建立進(jìn)度表,該表對(duì)項(xiàng)目進(jìn)度進(jìn)行科學(xué)度量、調(diào)整項(xiàng)目計(jì)劃起很重要的作用。在眾多軟件項(xiàng)目中,缺乏合理的進(jìn)度安排是造成項(xiàng)目泄后的最主要原因。進(jìn)度安排為項(xiàng)目管理者和開(kāi)發(fā)者建立了一張行路圖。
(1)進(jìn)度安排的指導(dǎo)原則:
?劃分:項(xiàng)目分解成若干易于管理的任務(wù)。如何進(jìn)行任務(wù)的分解呢?可從兩個(gè)方面獲得幫助:①軟件開(kāi)發(fā)模型:模型幫助將整個(gè)項(xiàng)目進(jìn)行階段性的劃分,這些階段可以做計(jì)劃中很重要的里程碑。
②
軟件開(kāi)發(fā)需求:開(kāi)發(fā)模型只給項(xiàng)目計(jì)劃提供了個(gè)框架,需求的整理與規(guī)格化,是細(xì)化項(xiàng)目計(jì)劃的基礎(chǔ)。
西安交通大學(xué)劉海巖90
?
相互依賴(lài)性:各個(gè)被劃分的活動(dòng)或任務(wù)之間的相互關(guān)系必須是確定的。有些任務(wù)必須順序進(jìn)行,有些可以并發(fā)進(jìn)行。
?
時(shí)間分配:必須為每個(gè)被調(diào)度的任務(wù)分配一定數(shù)量的工作單位(如,人天、人月),并指定開(kāi)始和結(jié)束日期。
?
工作量確認(rèn):每個(gè)項(xiàng)目都有預(yù)定數(shù)量的人員參與。在進(jìn)行時(shí)間分配時(shí),必須確保在任意時(shí)段中分配給任務(wù)的人員數(shù)量不會(huì)超過(guò)項(xiàng)目組中的人員總量。
?
定義的責(zé)任:每個(gè)被調(diào)度的任務(wù)都應(yīng)該指定某個(gè)特定的小組成員來(lái)負(fù)責(zé)。
?
定義的結(jié)果:每個(gè)被調(diào)度的任務(wù)都應(yīng)該有一個(gè)定義好的輸出結(jié)果,輸出結(jié)果通常是一個(gè)工作產(chǎn)品或某個(gè)工作產(chǎn)品的一部分。
?
定義的里程碑:每個(gè)任務(wù)或任務(wù)組都應(yīng)該與一個(gè)項(xiàng)目里程碑相關(guān)聯(lián)。當(dāng)一個(gè)或多個(gè)工作產(chǎn)品經(jīng)過(guò)質(zhì)量評(píng)審并且得到認(rèn)可時(shí),標(biāo)志著一個(gè)里程碑的完成。
西安交通大學(xué)劉海巖91(2)工作量分配(指導(dǎo)原則)計(jì)劃需求分析設(shè)計(jì)編碼測(cè)試
2%~3%10%~25%20%~25%15%~20%30%~40%(3)進(jìn)度表(圖)
?
甘特圖(GanttChart)
也稱(chēng)時(shí)間表,所有的項(xiàng)目任務(wù)都在左邊的欄目中列出。水平條表示每個(gè)任務(wù)的持續(xù)時(shí)間,當(dāng)同一時(shí)間段中存在多個(gè)水平條時(shí),表示任務(wù)之間存在并發(fā)。
?
PERT(ProgramEvaluationReviewTechnique)圖也稱(chēng)任務(wù)網(wǎng)絡(luò)圖,表示一個(gè)項(xiàng)目的任務(wù)流程,刻畫(huà)了各項(xiàng)任務(wù)、任務(wù)之間的依賴(lài)關(guān)系及任務(wù)的持續(xù)時(shí)間。它的最簡(jiǎn)單形式可當(dāng)作宏觀進(jìn)度表使用。西安交通大學(xué)劉海巖92
Gantt圖Gantt圖可清晰的表達(dá)每個(gè)任務(wù)活動(dòng)的進(jìn)展以及并發(fā)活動(dòng)。水平條的顏色既可以表示概要任務(wù)和詳細(xì)任務(wù)的分解,也可以表示任務(wù)完成的情況。用一個(gè)特定的符號(hào)(如黑菱形)表示一個(gè)活動(dòng)的結(jié)束(里程碑),以便檢查階段成果和最后成果。
西安交通大學(xué)劉海巖93
PERT圖PERT圖另一個(gè)重要的用途是用來(lái)判斷關(guān)鍵路徑,關(guān)鍵路徑表明了完成該項(xiàng)目可能需要的最小時(shí)間,并能識(shí)別最有可能成為瓶頸的活動(dòng),該路徑上的活動(dòng)是項(xiàng)目負(fù)責(zé)人或小組長(zhǎng)抓的主要工作。非關(guān)鍵路徑上的活動(dòng)延遲,不會(huì)導(dǎo)致項(xiàng)目總體進(jìn)度偏離。下圖是一個(gè)項(xiàng)目的總的PERT圖。
西安交通大學(xué)劉海巖94西安交通大學(xué)劉海巖95說(shuō)明:①考慮進(jìn)度表中的變化:建立進(jìn)度表時(shí),項(xiàng)目分解為哪些任務(wù)以及任務(wù)持續(xù)的時(shí)間往往根據(jù)歷史數(shù)據(jù)估算而來(lái),項(xiàng)目進(jìn)展過(guò)程中未預(yù)料到的事件,如需求的變化或較晚發(fā)現(xiàn)的設(shè)計(jì)缺陷,都會(huì)打亂進(jìn)度表,因此在進(jìn)度表中為將來(lái)可能的變化留有余地。②進(jìn)度表可有不同的抽象層次:高層進(jìn)度表反映整個(gè)項(xiàng)目的進(jìn)度,應(yīng)包括所有可交付產(chǎn)品的期限,底層進(jìn)度表是任務(wù)和時(shí)間的分解??芍谱鞫唐趦?nèi)的進(jìn)度表,其余部分在項(xiàng)目進(jìn)行過(guò)程中完成。底層進(jìn)度表可用于指導(dǎo)每個(gè)小組的進(jìn)度。③每個(gè)里程碑可以附帶一個(gè)標(biāo)識(shí)進(jìn)度值的百分比,用來(lái)說(shuō)明項(xiàng)目完成了多少,如:30%。
西安交通大學(xué)劉海巖96
項(xiàng)目開(kāi)展階段管理活動(dòng)圖(UML活動(dòng)圖)
2.5項(xiàng)目進(jìn)度的跟蹤
西安交通大學(xué)劉海巖97
1、項(xiàng)目啟動(dòng)
進(jìn)行項(xiàng)目計(jì)劃
2、項(xiàng)目開(kāi)展
項(xiàng)目的監(jiān)督與跟蹤
(1)收集狀況信息的方式
?
定期報(bào)告:非正式的會(huì)議和交流,報(bào)告工作產(chǎn)品、進(jìn)度誤差等需要及早溝通的信息。
?
里程碑的監(jiān)督與驗(yàn)證:里程碑可以是事件,也可以是工作產(chǎn)品,驗(yàn)證是否在預(yù)定時(shí)間內(nèi)完成。
?
項(xiàng)目檢查:正式會(huì)議,所有開(kāi)發(fā)人員交換活動(dòng)進(jìn)展?fàn)顩r,比較各項(xiàng)任務(wù)實(shí)際開(kāi)始日期與計(jì)劃開(kāi)始日期。
?
代碼檢查:同事之間的正式代碼檢查。
?
原型示范:原型是為了驗(yàn)證需求或?yàn)榱嗽u(píng)估技術(shù)和功能而部分實(shí)現(xiàn)的系統(tǒng),可用來(lái)估算初始進(jìn)度。
西安交通大學(xué)劉海巖98
?
度量:主要是修正錯(cuò)誤數(shù)目的度量,即還需要付出多少努力的估量。
(2)項(xiàng)目再計(jì)劃根據(jù)項(xiàng)目的變化動(dòng)態(tài)更新項(xiàng)目計(jì)劃,應(yīng)對(duì)一些新的需求、新的變化、突發(fā)因素做出響應(yīng),或解決問(wèn)題以適應(yīng)計(jì)劃,或調(diào)整計(jì)劃以保證最后按時(shí)交付產(chǎn)品。
(3)風(fēng)險(xiǎn)管理風(fēng)險(xiǎn)是一些不利因素實(shí)際發(fā)生的可能性。如:人員跳槽,管理層變更,硬件缺乏,需求變化,描述延遲,低估了系統(tǒng)的規(guī)模,工具性能差,技術(shù)變更,產(chǎn)品竟?fàn)幍鹊取?/p>
西安交通大學(xué)劉海巖99風(fēng)險(xiǎn)管理的活動(dòng)有:
?風(fēng)險(xiǎn)識(shí)別:確定風(fēng)險(xiǎn)的類(lèi)型(管理、技術(shù))。
?風(fēng)險(xiǎn)分析:評(píng)估風(fēng)險(xiǎn)出現(xiàn)的可能性及其后果。
?風(fēng)險(xiǎn)規(guī)劃:制定避免或降低風(fēng)險(xiǎn)的策略。
?風(fēng)險(xiǎn)控制:定期進(jìn)行風(fēng)險(xiǎn)評(píng)估,及時(shí)修正緩解風(fēng)險(xiǎn)的計(jì)劃。3、項(xiàng)目總結(jié)
?用戶(hù)驗(yàn)收:根據(jù)項(xiàng)目協(xié)議中規(guī)定的驗(yàn)收標(biāo)準(zhǔn)對(duì)系統(tǒng)進(jìn)行評(píng)價(jià),并通過(guò)場(chǎng)景演示,測(cè)試系統(tǒng)功能性和非功能性需求。
?安裝:在目標(biāo)環(huán)境下安裝、運(yùn)行系統(tǒng)并提交文檔。
?總結(jié):總結(jié)經(jīng)驗(yàn)教訓(xùn),建立團(tuán)隊(duì)工作效率的歷史檔案,以便提高個(gè)人和團(tuán)隊(duì)整體的軟件工程能力。西安交通大學(xué)劉海巖1002.6軟件質(zhì)量保證
1、概述軟件質(zhì)量是軟件產(chǎn)品、體系或過(guò)程的一組固有特性滿(mǎn)足(顧客和其他相關(guān)方)要求的程度。軟件質(zhì)量保證(SoftwareQualityAssurance,SQA)是一種應(yīng)用于整個(gè)軟件過(guò)程的庇護(hù)性活動(dòng),包含:
?質(zhì)量管理方法
?有效的軟件工程方法和工具
?過(guò)程中采用的正式技術(shù)評(píng)審
?多層次的測(cè)試策略
?對(duì)軟件文檔及其修改的控制
?保證與開(kāi)發(fā)標(biāo)準(zhǔn)符合的規(guī)程
?軟件度量及報(bào)告機(jī)制等等方面的內(nèi)容西安交通大學(xué)劉海巖101
軟件質(zhì)量保證的對(duì)象一般有三方面:產(chǎn)品、過(guò)程和質(zhì)量體系實(shí)施軟件質(zhì)量保證需運(yùn)用幾種支持過(guò)程作為質(zhì)量保證的手段。
?驗(yàn)證或確認(rèn):通過(guò)提供客觀證據(jù)對(duì)規(guī)定要求已得到滿(mǎn)足的認(rèn)定。
?評(píng)審或?qū)徍耍捍_定主題事項(xiàng)達(dá)到規(guī)定目標(biāo)的適應(yīng)性、充分性和有效性所進(jìn)行的活動(dòng)。聯(lián)合評(píng)審是由任何兩方(評(píng)價(jià)方和被評(píng)價(jià)方)用來(lái)在適當(dāng)時(shí)機(jī)對(duì)項(xiàng)目的某個(gè)活動(dòng)的狀態(tài)和產(chǎn)品進(jìn)行評(píng)價(jià)并可能形成文件的過(guò)程。
西安交通大學(xué)劉海巖102
2、軟件質(zhì)量保證過(guò)程中的數(shù)據(jù)
SQA過(guò)程中必然產(chǎn)生有關(guān)產(chǎn)品、過(guò)程和體系質(zhì)量的多種數(shù)據(jù),是進(jìn)行下一步工作的決策依據(jù),對(duì)于提高質(zhì)量管理效果和改進(jìn)質(zhì)量管理過(guò)程至關(guān)重要。要收集、存儲(chǔ)、及時(shí)分析和使用這些數(shù)據(jù),才能做好質(zhì)量保證工作。質(zhì)量數(shù)據(jù)有多種:
?項(xiàng)目規(guī)模:FP表示軟件大小,以功能點(diǎn)計(jì)數(shù);
?工作量E:表示項(xiàng)目的人力總投入,以人月計(jì)數(shù);
?生產(chǎn)率:
P=FP/E;
?缺陷數(shù):D1表示軟件交付前發(fā)現(xiàn)的錯(cuò)誤數(shù),D2表示交付后發(fā)現(xiàn)的缺陷數(shù);
?質(zhì)量:Q=D2/FP,表示每個(gè)功能點(diǎn)包含多少交付的缺陷,
?缺陷引入率:DI=(D1+D2)/FP,整個(gè)項(xiàng)目生存期中每個(gè)功能點(diǎn)發(fā)現(xiàn)的缺陷數(shù);?缺陷排除率:
DR=D1/DI西安交通大學(xué)劉海巖103
3、SQA的實(shí)施(1)SQA小組的職責(zé)
SQA活動(dòng)與兩
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 職業(yè)健康促進(jìn)的精準(zhǔn)醫(yī)學(xué)策略
- 禁毒普法知識(shí)講座課件
- 職業(yè)健康促進(jìn)與職業(yè)健康管理創(chuàng)新
- 黑龍江2025年黑龍江省知識(shí)產(chǎn)權(quán)局所屬事業(yè)單位招聘筆試歷年參考題庫(kù)附帶答案詳解
- 遂寧四川遂寧蓬溪縣鄉(xiāng)鎮(zhèn)事業(yè)單位從大學(xué)生志愿服務(wù)西部人員中招聘5人筆試歷年參考題庫(kù)附帶答案詳解
- 茂名廣東茂名高新區(qū)招聘社會(huì)化工會(huì)工作者筆試歷年參考題庫(kù)附帶答案詳解
- 鹽城2025年江蘇鹽城建湖縣人民醫(yī)院招聘合同制工作人員22人筆試歷年參考題庫(kù)附帶答案詳解
- 湖北2025年湖北長(zhǎng)江職業(yè)學(xué)院招聘年薪制工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 浙江浙江省農(nóng)業(yè)科學(xué)院科院中藥材創(chuàng)新中心招聘筆試歷年參考題庫(kù)附帶答案詳解
- 滄州2025年河北滄州運(yùn)河區(qū)招聘事業(yè)編制教師140人筆試歷年參考題庫(kù)附帶答案詳解
- 2026新疆阿合奇縣公益性崗位(鄉(xiāng)村振興專(zhuān)干)招聘44人考試參考題庫(kù)及答案解析
- 耳鼻喉科2025年工作總結(jié)及2026年工作規(guī)劃
- 廢舊材料回收合同范本
- 2025年張家界航空工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握校ㄓ?jì)算機(jī))測(cè)試備考題庫(kù)附答案
- 充電樁施工技術(shù)方案范本
- 鐵路治安管理大講堂課件
- 《綜合智慧能源管理》課件-項(xiàng)目四 新能源管理的應(yīng)用HomerPro仿真軟件
- 2026屆山東省高考質(zhì)量測(cè)評(píng)聯(lián)盟大聯(lián)考高三上學(xué)期12月聯(lián)考?xì)v史試題(含答案)
- 2025年鐵嶺衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試模擬測(cè)試卷附答案
- 銷(xiāo)售執(zhí)行流程標(biāo)準(zhǔn)化體系
- 2025-2026學(xué)年蘇教版六年級(jí)數(shù)學(xué)上學(xué)期期中試卷及參考解析
評(píng)論
0/150
提交評(píng)論