版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1
廈門大學(xué)軟件學(xué)院
高星ADVANCEDSoftwareEngineering軟件工程基礎(chǔ)主要內(nèi)容軟件工程的基本理念軟件過程軟件生命周期軟件開發(fā)模型2解決軟件危機(jī)之路提高軟件產(chǎn)品的質(zhì)量!
降低軟件開發(fā)的成本!3過程管理與目標(biāo)管理理念:通過保證過程保證結(jié)果以小孩教育為例4軟件工程原則B.W.Boehm(1983):用分階段的生存周期計(jì)劃嚴(yán)格管理軟件開發(fā)進(jìn)行階段評(píng)審實(shí)行產(chǎn)品版本控制采用現(xiàn)代程序設(shè)計(jì)技術(shù)結(jié)果應(yīng)能清楚的審查開發(fā)小組成員應(yīng)少而精承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性5二八定律對(duì)軟件項(xiàng)目進(jìn)度和工作量的估計(jì):認(rèn)為完成80%的工作量,實(shí)際上只完成了20%。對(duì)程序中存在問題的估計(jì):80%的問題存在于20%的程序中。對(duì)模塊功能的估計(jì):20%的模塊實(shí)現(xiàn)了80%的功能。對(duì)人力資源的估計(jì):20%的人解決了軟件中80%的問題。對(duì)投入資金的估計(jì):企業(yè)信息系統(tǒng)中,80%的問題可以用20%的資金耒解決。6軟件工程視角與剖面企業(yè)角度計(jì)算角度信息角度工程角度政策、操作......7軟件開發(fā)模型-軟件生命周期模型瀑布模型(WaterfallModel1970W.Royce)8漸增模型(IncrementalModel)910快速原型模型(RapidPrototypingModel)11螺旋模型(SpiralModel)12V模型13圖1-7V模型14圖1-8V模型改進(jìn)-W模型噴泉模型15構(gòu)件集成模型16圖1-10構(gòu)建集成模型智能模型17圖1-11智能模型轉(zhuǎn)換模型18圖1-11智能模型軟件過程基礎(chǔ)
任何工程方法(包括軟件工程)必須以有組織的質(zhì)量保證為基礎(chǔ).全面的質(zhì)量管理和類似的理念刺激了不斷的過程改進(jìn),正是這種改進(jìn)導(dǎo)致了更加成熟的軟件工程方法的不斷出現(xiàn).支持軟件工程的根基就在于對(duì)質(zhì)量的關(guān)注.建造計(jì)算機(jī)軟件是一個(gè)迭代學(xué)習(xí)的過程。軟件工程與軟件過程的關(guān)系軟件過程是為開發(fā)高質(zhì)量軟件所需要完成的任務(wù)的框架.軟件工程是有創(chuàng)造力,有知識(shí)的人在定義好的,成熟的軟件過程框架中進(jìn)行的.該過程適合于他們建造的產(chǎn)品和他們的市場(chǎng)需要。一個(gè)軟件過程定義了軟件開發(fā)中采用的方法,而軟件工程還包含該過程中應(yīng)用的技術(shù)----技術(shù)方法和自動(dòng)工具。軟件的一般視圖
工程是對(duì)技術(shù)(或社會(huì))實(shí)體的分析、設(shè)計(jì)、建造、驗(yàn)證和管理。拋開要工程化的實(shí)體,下列問題是必須首先回答的:要解決的問題是什么?要用于解決該問題的實(shí)體具有什么特點(diǎn)?如何實(shí)現(xiàn)該實(shí)體(解決方案)?如何建造該實(shí)體?采用什么方法去發(fā)現(xiàn)該實(shí)體設(shè)計(jì)和建造過程中產(chǎn)生的錯(cuò)誤?當(dāng)該實(shí)體的用戶要求修改、適應(yīng)和增強(qiáng)時(shí),如何支持這些活動(dòng)?軟件的一般視圖
與軟件工程相關(guān)的工作可分為三個(gè)一般的階段:(1)定義階段:集中于“做什么”;三個(gè)主要任務(wù):系統(tǒng)工程、項(xiàng)目計(jì)劃、需求分析(2)開發(fā)階段:集中于“如何做”;三個(gè)特定任務(wù):設(shè)計(jì)、編碼、測(cè)試(3)支持階段:關(guān)注于“變化”四類可能遇到的變化:糾錯(cuò)、適應(yīng)、增強(qiáng)、預(yù)防軟件過程一個(gè)軟件過程包含以下內(nèi)容:一個(gè)公共過程框架:通過定義若干框架活動(dòng)來建立的,這些活動(dòng)可應(yīng)用于所有軟件項(xiàng)目,不考慮其規(guī)模和復(fù)雜性。若干任務(wù)集合:每個(gè)集合都由軟件工程工作任務(wù)、項(xiàng)目里程碑、軟件工程產(chǎn)品和質(zhì)量保證點(diǎn)組成。最后是庇護(hù)性活動(dòng):軟件質(zhì)量保證、軟件配置管理和測(cè)度。軟件過程可分為三大類基本過程類:是構(gòu)成軟件生存周期主要部分的那些過程,包括獲取,供應(yīng),開發(fā),操作,維護(hù)等過程.支持過程類:可穿插到基本過程中提供支持的一系列過程,包括文檔開發(fā),配置管理,質(zhì)量保證,驗(yàn)證,確認(rèn),聯(lián)合評(píng)審,審計(jì),問題解決等過程.組織過程類:一個(gè)組織用來建立,實(shí)施一種基礎(chǔ)結(jié)構(gòu),并不斷改進(jìn)該基礎(chǔ)結(jié)構(gòu)的過程,包括管理,基礎(chǔ),改進(jìn),培訓(xùn)等過程.軟件工程過程
軟件工程過程(SoftwareEngineeringProcess)是為獲得軟件產(chǎn)品,在軟件工具支持下由軟件工程師完成的一系列軟件工程活動(dòng)。軟件工程的過程則是將軟件工程的方法和工具綜合起來以達(dá)到合理、及時(shí)地進(jìn)行計(jì)算機(jī)軟件開發(fā)的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理、及軟件開發(fā)各個(gè)階段完成的里程碑。軟件工程過程通常包含四種基本的過程活動(dòng)
P(Plan)軟件規(guī)格說明:
規(guī)定軟件的功能及其運(yùn)行的限制;
D(Do)軟件開發(fā):
產(chǎn)生滿足規(guī)格說明的軟件
C(Check)軟件確認(rèn):
確認(rèn)軟件能夠完成客戶提出的要求
A(Action)軟件演進(jìn):
為滿足客戶的變更要求,軟件必須在使用的過程中演進(jìn)軟件過程模型所有軟件開發(fā)都可被刻畫為一個(gè)問題解決環(huán),其中包括四個(gè)不同的階段:狀態(tài)描述、問題定義、技術(shù)開發(fā)和解決集成。軟件有一個(gè)孕育、誕生、成長、成熟、衰亡的生存過程。這個(gè)過程即為計(jì)算機(jī)軟件的生存期。軟件生存期的六個(gè)步驟,即制定計(jì)劃、需求分析、設(shè)計(jì)、程序編碼、測(cè)試及運(yùn)行維護(hù)。軟件生存期模型(也稱軟件開發(fā)模型、軟件過程模型、軟件工程范型)是跨越整個(gè)生存期的系統(tǒng)開發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。簡單地說,是軟件產(chǎn)品或軟件系統(tǒng)從設(shè)計(jì)、投入使用到被淘汰的全過程。所謂模型就是一種開發(fā)策略,這種策略針對(duì)軟件工程的各個(gè)階段提供了一套范型,使工程的進(jìn)展達(dá)到預(yù)期的目的。軟件生存周期模型編碼修復(fù)模型編碼修復(fù)模型是所有模型中最古老也是最簡單的模型。編碼測(cè)試交付編碼修復(fù)模型的特點(diǎn)它幾乎不執(zhí)行任何預(yù)先的計(jì)劃,該模型的使用者很快就進(jìn)入了所開發(fā)產(chǎn)品的編碼階段。典型的情況是,完成大量的編碼,然后測(cè)試產(chǎn)品并且糾正所發(fā)現(xiàn)的錯(cuò)誤。編碼和測(cè)試工作一直持續(xù)到產(chǎn)品開發(fā)工作全部完成并將產(chǎn)品交付給客戶。缺點(diǎn):缺乏預(yù)先的計(jì)劃和不正規(guī)的開發(fā);軟件產(chǎn)品的質(zhì)量低于用其他模型實(shí)現(xiàn)的產(chǎn)品質(zhì)量;產(chǎn)品的設(shè)計(jì)沒有認(rèn)真計(jì)劃及文檔化,代碼很難維護(hù)。優(yōu)點(diǎn):簡單快捷,適合于很小且很簡單的項(xiàng)目。軟件過程技術(shù)過程技術(shù)工具可以幫助軟件組織分析它們當(dāng)前的過程,組織工作任務(wù),控制和監(jiān)管進(jìn)度,以及管理技術(shù)質(zhì)量。一旦創(chuàng)建了一個(gè)可接受的過程,就可以使用其他過程技術(shù)工具來分配、監(jiān)管、甚至控制過程模型中定義的所有軟件工程任務(wù)。產(chǎn)品和過程如果過程很弱,最終產(chǎn)品不可避免會(huì)出問題。但過分依賴過程也是很危險(xiǎn)的。企業(yè)的目的
根本目的:合法地賺取盡可能多的利潤,使企業(yè)利益最大化。為了使企業(yè)利益最大化,軟件產(chǎn)品(項(xiàng)目)應(yīng)當(dāng)“做得好、做得快并且少花錢”
企業(yè)的迫切愿望尋求“提高產(chǎn)品質(zhì)量、提高生產(chǎn)率并且降低成本”的解決方案,包括方法論和工具。CMM能力成熟度模型
(CapabilityMaturityModel)
人員方法與規(guī)程技術(shù)與工具過程產(chǎn)品軟件過程改進(jìn)概述過程的基本概念
過程就是人們使用相應(yīng)的方法、規(guī)程、技術(shù)、工具等將原始材料(輸入)轉(zhuǎn)化成用戶需要的產(chǎn)品。過程的3個(gè)基本要素是:人、方法與規(guī)程、技術(shù)與工具。過程被文檔化后才能成為規(guī)范。過程與產(chǎn)品存在因果關(guān)系。即好的過程才能得到好的產(chǎn)品,而差的過程只會(huì)得到差的產(chǎn)品。
企業(yè)領(lǐng)導(dǎo)關(guān)心過程嗎?為什么要監(jiān)控過程?何為過程可視性?什么是軟件過程改進(jìn)從20世紀(jì)90年代至今,軟件過程改進(jìn)成為軟件工程學(xué)科的一個(gè)主流研究方向,其中CMM和CMMI是該領(lǐng)域舉世矚目的重大成果。提高軟件過程能力的實(shí)踐通稱為軟件過程改進(jìn)(SoftwareProcessImprovement)。軟件過程改進(jìn)的根本目的是:提高質(zhì)量、提高生產(chǎn)率并且降低開發(fā)成本。
主要的軟件過程域工程類的主要過程域:需求開發(fā)、系統(tǒng)設(shè)計(jì)、軟件實(shí)現(xiàn)、軟件測(cè)試、軟件維護(hù)等等;管理類的主要過程域:項(xiàng)目規(guī)劃、項(xiàng)目監(jiān)控、需求管理、質(zhì)量管理、配置管理等等。上述過程域中的任何活動(dòng)都會(huì)影響產(chǎn)品的質(zhì)量、生產(chǎn)率和成本。CMM發(fā)展簡史CMM是什么CMM(CapabilityMaturityModel)是用于衡量軟件過程能力的事實(shí)上的標(biāo)準(zhǔn),同時(shí)也是目前軟件過程改進(jìn)最好的參考標(biāo)準(zhǔn)。美國卡內(nèi)基-梅隆大學(xué)軟件工程研究所(SEI)研制.發(fā)展簡史CMM1.0于1991年制定。
CMM1.1于1993發(fā)布,該版本應(yīng)用最廣泛。
CMM2.0草案于1997年制定(未廣泛應(yīng)用)。
到2000年,CMM演化成為CMMI(CapabilityMaturityModelIntegration),CMM2.0成為CMMI1.0的主要組成部分。
CMMI-SE/SW1.1(CMMIforSystemEngineeringandSoftwareEngineering)于2002年1月正式推出。
軟件工程研究所(SEI)提出了—個(gè)綜合模型,定義了當(dāng)一個(gè)組織達(dá)到不同的過程成熟度時(shí)應(yīng)該具有的軟件工程能力。為了確定一個(gè)組織目前的過程成熟度,SEI使用了一個(gè)五級(jí)的評(píng)估方案,即能力成熟度模型CMM.該模型定義了在不同的過程成熟度級(jí)別上所需要的關(guān)鍵活動(dòng).CMM重要概念5個(gè)成熟度等級(jí):Initial,Repeatable,Defined,Managed,Optimizing18個(gè)關(guān)鍵過程域。關(guān)鍵過程域指出為了達(dá)到某個(gè)成熟度等級(jí)必須要解決的一族問題。第一級(jí):初始級(jí)—軟件過程的特征是無序的,有時(shí)甚至是混亂的。幾乎沒有過程定義,成功完全取決于個(gè)人的能力。第二級(jí):可重復(fù)級(jí)建立了基本的項(xiàng)目管理過程,能夠追蹤費(fèi)用、進(jìn)度和功能。有適當(dāng)?shù)谋匾倪^程規(guī)范,使得可以重現(xiàn)以前類似項(xiàng)目的成功.第三級(jí):定義級(jí)用于管理和工程活動(dòng)的軟件過程已經(jīng)文檔化、標(biāo)準(zhǔn)化,并與整個(gè)組織的軟件過程相集成。所有項(xiàng)目都使用文檔化的、組織認(rèn)可的過程來開發(fā)和維護(hù)軟件。本級(jí)包含了第二級(jí)的所有特征。第四級(jí):管理級(jí)軟件過程和產(chǎn)品質(zhì)量的詳細(xì)度量數(shù)據(jù)被收集,通過這些度量數(shù)據(jù),軟件過程和產(chǎn)品能夠被定量地理解和控制。本級(jí)包含了第三級(jí)的所有特征。第五級(jí):優(yōu)化級(jí)通過定量的反饋,進(jìn)行不斷的過程改進(jìn),這些反饋來自于過程或通過測(cè)試新的想法和技術(shù)而得到。本級(jí)包含了第四級(jí)的所有特征。CMM的結(jié)構(gòu)是層次化的結(jié)構(gòu),包括級(jí)、關(guān)鍵過程域(18個(gè))、公共特征(5類)和關(guān)鍵實(shí)施(316個(gè)),劃分了5個(gè)級(jí)別。關(guān)鍵過程域是指一系列相互關(guān)聯(lián)操作活動(dòng),這些活動(dòng)反映了一個(gè)軟件組織改進(jìn)軟件過程時(shí)必須集中力量改進(jìn)的方面。公共特征有效指出了一個(gè)KPA的實(shí)現(xiàn)范圍、結(jié)構(gòu)要求和實(shí)施內(nèi)容,包括:執(zhí)行約定、執(zhí)行能力、實(shí)施活動(dòng)、度量和分析、驗(yàn)證實(shí)施。關(guān)鍵實(shí)踐是一些主要的實(shí)踐活動(dòng),它是組成KPA的單元。比如:遵循已文檔化的規(guī)程制訂項(xiàng)目的軟件開發(fā)計(jì)劃是軟件項(xiàng)目計(jì)劃的一個(gè)關(guān)鍵實(shí)踐。CMM的結(jié)構(gòu)過程成熟度第二級(jí)軟件配置管理軟件質(zhì)量保證軟件子合同管理軟件項(xiàng)目追蹤和查錯(cuò)軟件項(xiàng)目計(jì)劃需求管理過程成熟度第三級(jí)同級(jí)復(fù)審組內(nèi)協(xié)調(diào)軟件產(chǎn)品工程集成的軟件管理培訓(xùn)計(jì)劃組織的過程定義組織的過程焦點(diǎn)過程成熟度第四級(jí)軟件質(zhì)量管理定量的過程管理過程成熟度第五級(jí)過程變化管理技術(shù)變化管理缺陷預(yù)防CMM等級(jí)評(píng)估過程復(fù)雜每一個(gè)CMM等級(jí)評(píng)估周期(從準(zhǔn)備到完成)約需12-30個(gè)月。每一級(jí)別的評(píng)估由SEI授權(quán)的主任評(píng)估師領(lǐng)導(dǎo)一個(gè)評(píng)審小組進(jìn)行,其成員大部分來自企業(yè)內(nèi)部。評(píng)估過程包括員工培訓(xùn)(企業(yè)的高層領(lǐng)導(dǎo)也要參加)、問卷填寫和統(tǒng)計(jì)、文檔審查、數(shù)據(jù)分析、與企業(yè)的高層領(lǐng)導(dǎo)討論和撰寫評(píng)估報(bào)告等。評(píng)估結(jié)束由主任評(píng)估師簽字生效(沒有蓋上公章的證書)取得主任評(píng)估師的資格比較困難
10年以上的軟件開發(fā)經(jīng)驗(yàn)
在SEI接受培訓(xùn),培訓(xùn)費(fèi)用每人約需數(shù)萬美元,非美國人加倍。
經(jīng)過兩次以上CMM評(píng)估的全過程實(shí)習(xí)
主任評(píng)估師的資格并非終身制
評(píng)估費(fèi)用昂貴:大約是ISO認(rèn)證的十倍價(jià)格視客戶需求的多少而定,可以與咨詢公司協(xié)商。2002年參考價(jià):CMM2級(jí)50萬元RMB,CMM3級(jí)80萬元RMB。CMM在中國國內(nèi)IT企業(yè)采用CMM的目的
提高企業(yè)的軟件過程能力,但并不關(guān)心CMM評(píng)估。
既要提高企業(yè)的軟件過程能力,又想通過CMM評(píng)估來提升企業(yè)的威望與知名度。只是為了拿到CMM證書
共性問題:費(fèi)用高、難度大、見效慢企業(yè)做一次比較完整的CMM2-3級(jí)咨詢和評(píng)估大約要花費(fèi)60~100萬元。企業(yè)內(nèi)部組建SEPG的成本并不比咨詢費(fèi)低。軟件工程與項(xiàng)目管理工具比較昂貴(如Rational的產(chǎn)品)。目前國內(nèi)通過CMM2-3級(jí)評(píng)估的企業(yè)屈指可數(shù),而這些企業(yè)的實(shí)際能力也沒有宣傳的那么好。因?yàn)閰⒓覥MM評(píng)估的項(xiàng)目都是精心準(zhǔn)備的,個(gè)別項(xiàng)目或者事業(yè)部通過了CMM評(píng)估并不意味著整個(gè)企業(yè)達(dá)到了那個(gè)水平,這里面的水分相當(dāng)大。國內(nèi)通過CMM等級(jí)評(píng)估的企業(yè)(2002年統(tǒng)計(jì)數(shù)據(jù))
公司名稱 CMM級(jí)別 通過時(shí)間摩托羅拉 L5 2000-09華為印度所 L4 2001-12東大阿爾派 L3 2001-06托普軟件 L3 2001-11聯(lián)想軟件事業(yè)部L3 2002-01鼎新公司 L2 1999-07博通公司 L2 2001-04用友軟件 L2 2001-06浪潮通軟 L2 2001-11東方通科技 L2 2001-12新太科技 L2 2001-12神州數(shù)碼 L2 2002-01
MSF
(Microsoftsolutionframework)MSF是一套大型系統(tǒng)開發(fā)指南,它描述了如何用組隊(duì)模型、過程模型和應(yīng)用模型來開發(fā)Client/Server結(jié)構(gòu)的應(yīng)用程序,是在微軟的工具和技術(shù)的基礎(chǔ)上建立并開發(fā)分布式企業(yè)系統(tǒng)應(yīng)用的參考。將大項(xiàng)目分成若干里程碑式(Milestone)的重要階段,各階段之間有緩沖時(shí)間,但不進(jìn)行單獨(dú)的產(chǎn)品維護(hù)。運(yùn)用想象描述和對(duì)特性的概要說明(Program
Specification)指導(dǎo)項(xiàng)目。根據(jù)用戶行為(User
Behavior)和有關(guān)用戶的資料確定產(chǎn)品特性及其優(yōu)先順序。建立模塊化的和水平式的設(shè)計(jì)結(jié)構(gòu),并使項(xiàng)目結(jié)構(gòu)反映產(chǎn)品結(jié)構(gòu)的特點(diǎn)??總€(gè)人負(fù)責(zé)和固定項(xiàng)目資源實(shí)施控制。微軟的產(chǎn)品定義與開發(fā)過程中遵循五個(gè)原則MSF的最大特性是商業(yè)化,并自始至終地體現(xiàn)在項(xiàng)目的實(shí)施過程中。所謂商業(yè)化意味著客戶的商業(yè)利益??蛻敉度攵嗌?,得到多少回報(bào),客戶要用到哪些最新的技術(shù),最后如何把項(xiàng)目計(jì)劃(Project)變成產(chǎn)品(Product)直至產(chǎn)生效益,等等,這些都是MSF要考慮的問題。
項(xiàng)目組內(nèi)部的工作關(guān)系IE產(chǎn)品部門內(nèi)的行政管理關(guān)系舉例MSF過程模型MSF過程模型是從瀑布模型和螺旋模型發(fā)展而來的,它把瀑布模型中基于里程碑的規(guī)劃的優(yōu)勢(shì)與螺旋模型中增量迭代的長處結(jié)合了起來。MSF過程模型的基本元素是階段和里程碑。所謂“階段”,就是在這一段時(shí)間里團(tuán)隊(duì)集中精力做某一類事情,每個(gè)階段的結(jié)束都代表了項(xiàng)目的進(jìn)展和團(tuán)隊(duì)工作重心的變化。比如在“開發(fā)階段”結(jié)束后,團(tuán)隊(duì)就不再允許設(shè)計(jì)/實(shí)現(xiàn)新的功能,除非有充分理由的“變更請(qǐng)求”。MSF過程模型圖示
MSF里程碑驅(qū)動(dòng)的螺旋模型瀑布模型螺旋模型產(chǎn)品開發(fā)過程的劃分和里程碑設(shè)置MSF特點(diǎn)各個(gè)階段是風(fēng)險(xiǎn)驅(qū)動(dòng)的、漸進(jìn)的“螺旋”式的生命周期模型。計(jì)劃階段的產(chǎn)品是想象性描述與說明文件,用來解釋項(xiàng)目將做什么和怎么做。在開發(fā)和穩(wěn)定化階段的所有時(shí)間中,一個(gè)項(xiàng)目通常會(huì)將2/3的時(shí)間用于開發(fā),1/3的時(shí)間用于穩(wěn)定化。穩(wěn)定化階段著重于對(duì)產(chǎn)品的測(cè)試與調(diào)試。項(xiàng)目在此階段盡量不再增加新的功能,除非是競爭產(chǎn)品或者市場(chǎng)發(fā)生了變化。在整個(gè)產(chǎn)品生產(chǎn)周期中,微軟都使用了緩沖時(shí)間的概念。MSF的版本化發(fā)布項(xiàng)目團(tuán)隊(duì)中的角色劃分MSF將一個(gè)項(xiàng)目中不同階段的工作人員分為六個(gè)角色,通過這六個(gè)角色,項(xiàng)目可以得以迅速、完善地實(shí)施。這也體現(xiàn)了項(xiàng)目開發(fā)的六個(gè)重要質(zhì)量指標(biāo),它們?cè)谌蚴且恢碌?。這六個(gè)角色分別是:
產(chǎn)品經(jīng)理。他了解用戶特征,尤其是商業(yè)特征,明確用戶的需求以及需求的期望值。之所以強(qiáng)調(diào)用戶需求的期望值,是因?yàn)橛脩舻纳虡I(yè)化特征比較強(qiáng),需求無盡,無法界定到底如何才算需求得到了滿足。而確定了需求期望值后,用戶的商業(yè)目的就非常明確,實(shí)施起來也比較順暢。程序管理員他負(fù)責(zé)制定計(jì)劃,每天找出完成該計(jì)劃的風(fēng)險(xiǎn)所在,排除風(fēng)險(xiǎn),每天交付應(yīng)該完成的內(nèi)容,確保計(jì)劃按質(zhì)、按量實(shí)施。用戶教育設(shè)計(jì)友好的用戶界面,對(duì)用戶進(jìn)行培訓(xùn),確保用戶能夠并且愿意和喜歡使用開發(fā)出的產(chǎn)品。開發(fā)開發(fā)者在開發(fā)前期就參與用戶需求分析和項(xiàng)目計(jì)劃制定,他最清楚具體的開發(fā)過程。
在開發(fā)期開始后,他負(fù)責(zé)進(jìn)行代碼開發(fā),在每一個(gè)階段,交付每一項(xiàng)內(nèi)容的代碼。
測(cè)試負(fù)責(zé)開發(fā)出的代碼的測(cè)試。測(cè)試者并不是要找到每一個(gè)開發(fā)者的每一段代碼的每一個(gè)錯(cuò)誤(bug),而是要找到代碼錯(cuò)誤之間的關(guān)系,解決最根本的錯(cuò)誤,掌握錯(cuò)誤的狀態(tài),從而迅速排除錯(cuò)誤。后勤后勤人員負(fù)責(zé)將實(shí)驗(yàn)室的產(chǎn)品商品化,變成實(shí)際可以運(yùn)行的產(chǎn)品,達(dá)到最初制定的商業(yè)目的,取得商業(yè)效益。這項(xiàng)工作在以往的項(xiàng)目中可能比較簡單,因?yàn)閷?shí)驗(yàn)室的環(huán)境可能和實(shí)際環(huán)境幾乎一致或差別不大。而現(xiàn)在卻不同了,實(shí)驗(yàn)室環(huán)境可能十分簡單,而實(shí)際環(huán)境可能非常復(fù)雜,比如分布式環(huán)境、Internet/Intranet環(huán)境等,尤其是大企業(yè),實(shí)際環(huán)境比實(shí)驗(yàn)室環(huán)境復(fù)雜得多,因而將實(shí)驗(yàn)室產(chǎn)品運(yùn)用到實(shí)際環(huán)境中是一項(xiàng)非常重要的工作。這項(xiàng)工作沒有完成好,往往使整個(gè)項(xiàng)目前功盡棄,功虧一簣。產(chǎn)品規(guī)劃流程規(guī)劃階段的均衡三角形跨階段的過程關(guān)系代碼生成的工作流程RationalUnifiedProcess(簡稱RUP)是一套軟件工程過程,主要由TheObjectoryApproch和TheRationalApproch發(fā)展而來。同時(shí),它又是文檔化的軟件工程產(chǎn)品,所有RUP的實(shí)施細(xì)節(jié)及方法導(dǎo)引均以Web文檔的方式集成在一張光盤上,由Rational公司開發(fā)、維護(hù)并銷售,當(dāng)前版本是RUP2000。
RUP又是一套軟件工程方法的框架,各個(gè)組織可根據(jù)自身的實(shí)際情況,以及項(xiàng)目規(guī)模對(duì)RUP進(jìn)行裁剪和修改,以制定出合乎需要的軟件工程過程。RUP簡介
RUP吸收了多種開發(fā)模型的優(yōu)點(diǎn),具有很好的可操作性和實(shí)用性、從它一推出市場(chǎng),憑借Rational在業(yè)界的領(lǐng)導(dǎo)地位、以及與統(tǒng)一建模語言(UnifiedModelLanguage,以下簡稱UML)的良好集成、多種CASE工具的支持、不斷的升級(jí)與維護(hù),迅速得到業(yè)界廣泛的認(rèn)同,越來越多的組織(如IBM、Microsoft、Sun)以它作為軟件開發(fā)模型框架。RUP簡述
RUP二維開發(fā)模型RUP可以用二維坐標(biāo)來描述。橫軸通過時(shí)間組織,是過程展開的生命周期特征,體現(xiàn)開發(fā)過程的動(dòng)態(tài)結(jié)構(gòu),用來描述它的術(shù)語主要包括周期、階段、迭代和里程碑;縱軸以內(nèi)容來組織為自然的邏輯活動(dòng),體現(xiàn)開發(fā)過程的靜態(tài)結(jié)構(gòu),用來描述它的術(shù)語主要包括活動(dòng)、產(chǎn)物)、工作者和工作流。
RUP開發(fā)過程中的各個(gè)階段和里程碑RUP中的軟件生命周期在時(shí)間上被分解為四個(gè)順序的階段,分別是:初始階段、細(xì)化階段、構(gòu)造階段和交付階段。每個(gè)階段結(jié)束于一個(gè)主要的里程碑;每個(gè)階段本質(zhì)上是兩個(gè)里程碑之間的時(shí)間跨度。在每個(gè)階段的結(jié)尾執(zhí)行一次評(píng)估以確定這個(gè)階段的目標(biāo)是否已經(jīng)滿足。如果評(píng)估結(jié)果令人滿意的話,可以允許項(xiàng)目進(jìn)入下一個(gè)階段。RUP的迭代開發(fā)模式圖RUP中的每個(gè)階段可以進(jìn)一步分解為迭代。一個(gè)迭代是一個(gè)完整的開發(fā)循環(huán),產(chǎn)生一個(gè)可執(zhí)行的產(chǎn)品版本,是最終產(chǎn)品的一個(gè)子集,它增量式地發(fā)展,從一個(gè)迭代過程到另一個(gè)迭代過程到成為最終的系統(tǒng)。RUP的特點(diǎn)開發(fā)復(fù)用。減少開發(fā)人員的工作量,并保證軟件質(zhì)量;項(xiàng)目初期可降低風(fēng)險(xiǎn);對(duì)需求進(jìn)行有效管理;可視化建模;使用組件體系結(jié)構(gòu),使軟件體系架構(gòu)更具彈性;貫穿整個(gè)開發(fā)周期的質(zhì)量核查;對(duì)軟件開發(fā)的變更控制。敏捷軟件開發(fā)宣言
我們正在通過親身實(shí)踐以及幫助他人實(shí)踐,揭示更好的軟件開發(fā)方法。通過這項(xiàng)工作,我們認(rèn)為:個(gè)體和交互勝過過程和工具可以工作的軟件勝過面面俱到的文檔客戶合作勝過合同談判響應(yīng)變化勝過遵循計(jì)劃雖然右項(xiàng)也具有價(jià)值,但我們認(rèn)為左項(xiàng)具有更大的價(jià)值。敏捷宣言遵循的原則我們最優(yōu)先要做的是通過盡早的、持續(xù)的交付有價(jià)值的軟件來使客戶滿意。即使到了開發(fā)的后期,也歡迎改變需求。敏捷過程利用變化來為客戶創(chuàng)造競爭優(yōu)勢(shì)。經(jīng)常性地交付可以工作的軟件,交付的間隔可以從幾個(gè)星期到幾個(gè)月,交付的時(shí)間間隔越短越好。在整個(gè)項(xiàng)目開發(fā)期間,業(yè)務(wù)人員和開發(fā)人員必須天天都在一起工作。圍繞被激勵(lì)起來的個(gè)體來構(gòu)建項(xiàng)目。給他們提供所需的環(huán)境和支持,并且信任他們能夠完成工作。在團(tuán)隊(duì)內(nèi)部,最具有效果并且富有效率的傳遞信息的方法,就是面對(duì)面的交談。工作的軟件是首要的進(jìn)度度量標(biāo)準(zhǔn)。敏捷過程提倡可持續(xù)的開發(fā)速度。責(zé)任人、開發(fā)者和用戶應(yīng)該能夠保持一個(gè)長期的、恒定的開發(fā)速度。不斷地關(guān)注優(yōu)秀的技能和好的設(shè)計(jì)會(huì)增強(qiáng)敏捷能力。簡單---使未完成的工作最大化的藝術(shù)--是根本的。最好的構(gòu)架、需求和設(shè)計(jì)出自于自組織的團(tuán)隊(duì)。每隔一定時(shí)間,團(tuán)隊(duì)會(huì)在如何才能更有效地工作方面進(jìn)行反省,然后相應(yīng)地對(duì)自己的行為進(jìn)行調(diào)整。極限編程實(shí)踐
XP完整團(tuán)隊(duì)
XP項(xiàng)目的所有參與者(開發(fā)人員、業(yè)務(wù)分析師、測(cè)試人員等等)一起工作在一個(gè)開放的場(chǎng)所中,他們是同一個(gè)團(tuán)隊(duì)的成員。這個(gè)場(chǎng)所的墻壁上隨意懸掛著大幅的、顯著的圖表以及其他一些顯示他們進(jìn)度的東西。計(jì)劃游戲計(jì)劃是持續(xù)的、循序漸進(jìn)的。每2周,開發(fā)人員就為下2周估算候選特性的成本,而客戶則根據(jù)成本和商務(wù)價(jià)值來選擇要實(shí)現(xiàn)的特性??蛻魷y(cè)試作為選擇每個(gè)所期望的特性的一部分,客戶定義出自動(dòng)驗(yàn)收測(cè)試來表明該特性可以工作。簡單設(shè)計(jì)團(tuán)隊(duì)保持設(shè)計(jì)恰好和當(dāng)前的系統(tǒng)功能相匹配。它通過了所有的測(cè)試,不包含任何重復(fù),表達(dá)出了編寫者想表達(dá)的所有東西,并且包含盡可能少的代碼。結(jié)對(duì)編程所有的產(chǎn)品軟件都是由兩個(gè)程序員、并排坐在一起在同一臺(tái)機(jī)器上構(gòu)建的。測(cè)試驅(qū)動(dòng)開發(fā)程序員以非常短的循環(huán)周期工作,他們先增加一個(gè)失敗的測(cè)試,然后使之通過。改進(jìn)設(shè)計(jì)隨時(shí)改進(jìn)糟糕的代碼。保持代碼盡可能的干凈、具有表達(dá)力。持續(xù)集成團(tuán)隊(duì)總是使系統(tǒng)完整地被集成。集體代碼所有權(quán)任何結(jié)對(duì)的程序員都可以在任何時(shí)候改進(jìn)任何代碼。編碼標(biāo)準(zhǔn)系統(tǒng)中所有的代碼看起來就好像是被單獨(dú)一個(gè)——非常值得勝任的——人編寫的。隱喻團(tuán)隊(duì)提出一個(gè)程序工作原理的公共景像??沙掷m(xù)的速度團(tuán)隊(duì)只有持久才有獲勝的希望。他們以能夠長期維持的速度努力工作。他們保存精力,他們把項(xiàng)目看作是馬拉松長跑,而不是全速短跑。極限編程的核心思想從長遠(yuǎn)看,早期發(fā)現(xiàn)錯(cuò)誤以及降低復(fù)雜度可以節(jié)約成本。極限編程強(qiáng)調(diào)我們將任務(wù)/系統(tǒng)細(xì)分為可以在較短周期解決的一個(gè)個(gè)子任務(wù)/模塊,并且強(qiáng)調(diào)測(cè)試、代碼質(zhì)量和及早發(fā)現(xiàn)問題。通常,通過一個(gè)個(gè)短小的迭代周期,我們就可以獲得一個(gè)個(gè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年工程設(shè)計(jì)技術(shù)服務(wù)合同
- 2024年黑龍江客運(yùn)資格證考試口訣圖片
- 2024年江蘇客運(yùn)資格證摸擬考試題
- 2024年資陽客運(yùn)從業(yè)資格證考試模擬
- 2024年寧德大客車從業(yè)資格證考試
- 2024年度KTV場(chǎng)所酒水庫存管理合同
- 2024年建筑工人雇傭合同模板
- 別墅案例分析
- 副總經(jīng)理招聘面試題與參考回答(某大型國企)2024年
- 軟件資格考試信息系統(tǒng)管理工程師(中級(jí))(基礎(chǔ)知識(shí)、應(yīng)用技術(shù))合卷試題與參考答案
- 大學(xué)思政課價(jià)值觀課件
- 2024年教師普通話培訓(xùn)心得體會(huì)范文3篇
- 車寨礦井及選煤廠1.5Mt-a新建工程環(huán)評(píng)
- 2024年T8聯(lián)考高三第二次學(xué)業(yè)質(zhì)量語文試題答案講評(píng)課件
- 【川教版】一年級(jí)上冊(cè) 《生命 生態(tài) 安全》第一課 我和我的布娃娃 課件
- 設(shè)備管理的標(biāo)準(zhǔn)化與規(guī)范化
- 公司組織架構(gòu)圖
- 藥品非處方藥市場(chǎng)調(diào)研報(bào)告
- 人教版八年級(jí)英語下冊(cè)各單元知識(shí)點(diǎn)匯總
- 體育科學(xué)研究方法-第四章第四節(jié)實(shí)驗(yàn)法
- 一起電動(dòng)自行車火災(zāi)事故原因認(rèn)定和分析
評(píng)論
0/150
提交評(píng)論