軟件工程學(xué)概述共4學(xué)時(shí)課件_第1頁(yè)
軟件工程學(xué)概述共4學(xué)時(shí)課件_第2頁(yè)
軟件工程學(xué)概述共4學(xué)時(shí)課件_第3頁(yè)
軟件工程學(xué)概述共4學(xué)時(shí)課件_第4頁(yè)
軟件工程學(xué)概述共4學(xué)時(shí)課件_第5頁(yè)
已閱讀5頁(yè),還剩131頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章軟件工程學(xué)概述(共4學(xué)時(shí))學(xué)習(xí)要求:1、了解軟件危機(jī)產(chǎn)生的原因和消除軟件危機(jī)的根本途徑;2、

掌握軟件工程,軟件工程學(xué),軟件生命周期和軟件過(guò)程的概念;3、理解軟件工程的基本原理;4、

掌握常見(jiàn)的幾種開(kāi)發(fā)模型(過(guò)程);9/19/20231第1章軟件工程學(xué)概述(共4學(xué)時(shí))學(xué)習(xí)要求:8/6/2023第1章軟件工程學(xué)概述1.1軟件危機(jī)軟件危機(jī)的定義,產(chǎn)生原因,解決途徑1.2軟件工程軟件工程的概念、基本原理和軟件工程方法學(xué)1.3軟件的生命周期1.4軟件過(guò)程介紹瀑布模型、快速原型模型、增量模型、螺旋模型9/19/20232第1章軟件工程學(xué)概述1.1軟件危機(jī)8/6/20232第1章軟件工程學(xué)概述1.1軟件危機(jī)1、20世紀(jì)60年代中期之前軟件規(guī)模小,編寫(xiě)和應(yīng)用在自己的小范圍,軟件=程序。2、20世紀(jì)60——70年代中期出現(xiàn)“軟件作坊”,軟件的數(shù)量急劇膨脹,軟件維護(hù)工作量和費(fèi)用驚人增長(zhǎng),個(gè)別軟件不可維護(hù);軟件危機(jī)出現(xiàn)。一、軟件危機(jī)及其表現(xiàn)9/19/20233第1章軟件工程學(xué)概述1.1軟件危機(jī)1、20世紀(jì)60年代中1、什么是軟件危機(jī)?軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。(1)、如何開(kāi)發(fā)軟件滿(mǎn)足用戶(hù)的需要。(2)、如何維護(hù)大量的已有軟件。2、軟件危機(jī)的典型表現(xiàn)(1)、對(duì)軟件開(kāi)發(fā)的成本和進(jìn)度估計(jì)常常不準(zhǔn)確。(2)、用戶(hù)對(duì)“已完成”的軟件系統(tǒng)不滿(mǎn)意的現(xiàn)象常發(fā)生。(3)、軟件產(chǎn)品的質(zhì)量時(shí)??坎蛔?。(4)、軟件常常不可維護(hù)。(5)、軟件沒(méi)有適當(dāng)?shù)奈臋n資料。9/19/202341、什么是軟件危機(jī)?軟件危機(jī)是指在計(jì)算機(jī)軟件的(6)、軟件成本在計(jì)算機(jī)的系統(tǒng)總成本中所占的比列逐年上升。(7)、軟件開(kāi)發(fā)的生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)不及計(jì)算機(jī)應(yīng)用普及的速度。二、軟件危機(jī)產(chǎn)生的原因1、軟件本身的特點(diǎn)有關(guān)(邏輯部件)(1)、缺乏“可見(jiàn)性”,管理和控制軟件開(kāi)發(fā)的過(guò)程困難。(2)、由于是邏輯部件,所以在使用過(guò)程中不會(huì)“用壞”。2、軟件開(kāi)發(fā)與維護(hù)的方法有關(guān)三、消除軟件危機(jī)的途徑9/19/20235(6)、軟件成本在計(jì)算機(jī)的系統(tǒng)總成本中所占的比列逐年上升。(1、軟件危機(jī)可以被消滅嗎?不能消滅,因?yàn)椋海?)、軟件的特點(diǎn)沒(méi)有改變(2)、用戶(hù)的需求在不斷的增長(zhǎng),任何軟件從縱向來(lái)看不可能永遠(yuǎn)滿(mǎn)足用戶(hù)的需要,必然要出現(xiàn)軟件危機(jī)。2、消除軟件危機(jī)的途徑(1)、對(duì)計(jì)算機(jī)軟件和軟件開(kāi)發(fā)有一個(gè)正確的認(rèn)識(shí)。(2)、技術(shù)措施使用實(shí)踐證明成功的技術(shù)和方法,開(kāi)發(fā)和使用更好的軟件工具。9/19/202361、軟件危機(jī)可以被消滅嗎?不能消滅,因?yàn)椋?、消除(3)、管理措施使用科學(xué)的方法管理和組織計(jì)算機(jī)軟件的開(kāi)發(fā)。1.2軟件工程一、軟件工程的介紹1、什么是軟件工程?采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間和實(shí)踐證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就稱(chēng)為軟件工程。2、軟件工程的特性9/19/20237(3)、管理措施1.2軟件工程一、軟件工程的介紹1、什么是軟(1)、軟件工程關(guān)注于大型軟件的構(gòu)造(2)、軟件工程的中心課題是控制復(fù)雜性(3)、軟件經(jīng)常變化(4)、注重開(kāi)發(fā)軟件的效率(5)、和諧的合作是開(kāi)發(fā)軟件的關(guān)鍵(6)、軟件必須有效地支持它的用戶(hù)的工作(7)、在軟件工程領(lǐng)域中是具有一種文化背景的替具有另一種文化背景的創(chuàng)造產(chǎn)品二、軟件工程的基本原理B.W.Boehm在1983的一篇論文中提出了軟件工程的7條基本原理。9/19/20238(1)、軟件工程關(guān)注于大型軟件的構(gòu)造(2)、軟件工程的中心課1、用分階段的生命周期計(jì)劃嚴(yán)格管理2、堅(jiān)持進(jìn)行階段評(píng)審3、實(shí)行嚴(yán)格的產(chǎn)品控制4、采用現(xiàn)代程序設(shè)計(jì)技術(shù)5、結(jié)果應(yīng)能清楚地審查6、開(kāi)發(fā)小組的成員應(yīng)盡量少而精7、承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性三、軟件工程方法學(xué)9/19/202391、用分階段的生命周期計(jì)劃嚴(yán)格管理2、堅(jiān)持進(jìn)行階段評(píng)審3、實(shí)1、什么是軟件工程方法學(xué)?通常把軟件生命周期過(guò)程中使用的一整套技術(shù)和方法的集合稱(chēng)為軟件工程方法學(xué),也稱(chēng)范型。2、軟件工程方法學(xué)的要素(1)、方法完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,“怎樣做”。(2)、工具為運(yùn)用方法而提供的軟件支撐環(huán)境。(3)、過(guò)程為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。9/19/2023101、什么是軟件工程方法學(xué)?通常把軟件生命周期過(guò)程中3、目前常用的軟件工程方法學(xué)(1)、傳統(tǒng)方法學(xué)又稱(chēng)為生命周期方法學(xué)或結(jié)構(gòu)化范型。(2)、面向?qū)ο蠓椒▽W(xué)它是以數(shù)據(jù)為主線(xiàn),把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)合起來(lái)的方法學(xué)。A、把對(duì)象作為唯一的軟件結(jié)構(gòu)B、把所有對(duì)象劃分成類(lèi)C、按照父類(lèi)與子類(lèi)的關(guān)系,把相關(guān)類(lèi)組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)D、對(duì)象之間只能通過(guò)發(fā)送消息相互聯(lián)系9/19/2023113、目前常用的軟件工程方法學(xué)(1)、傳統(tǒng)方法學(xué)(2)、面向?qū)?.3軟件生命周期一、軟件生命周期1、什么是軟件生命周期?軟件從定義、開(kāi)發(fā)、使用和維護(hù),直到最終被廢棄,所經(jīng)歷的漫長(zhǎng)的時(shí)期稱(chēng)為軟件的生命周期。2、軟件生命周期的若干階段(1)、軟件定義時(shí)期A、問(wèn)題定義回答系統(tǒng)“要解決的問(wèn)題是什么”。B、可行性研究回答“對(duì)上面確定的問(wèn)題是否有行得通的解決辦法”。9/19/2023121.3軟件生命周期一、軟件生命周期1、什么是軟件生命周期?C、需求分析確定“為了解決這個(gè)問(wèn)題,目標(biāo)系統(tǒng)必須做什么”,即目標(biāo)系統(tǒng)應(yīng)該有那些功能。(2)、開(kāi)發(fā)時(shí)期A、總體設(shè)計(jì)解決“怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?”。B、詳細(xì)設(shè)計(jì)解決“應(yīng)該怎樣具體實(shí)現(xiàn)目標(biāo)系統(tǒng)?”。C、編碼和單元測(cè)試寫(xiě)出正確、易理解和維護(hù)的程序模塊。9/19/202313C、需求分析(2)、開(kāi)發(fā)時(shí)期A、總體設(shè)計(jì)8/6/202313D、綜合測(cè)試通過(guò)各種類(lèi)型的測(cè)試使軟件達(dá)到預(yù)定的要求。(3)、運(yùn)行維護(hù)期使軟件持久滿(mǎn)足用戶(hù)的需要直到廢棄。改正性維護(hù):改正系統(tǒng)中存在的錯(cuò)誤。適應(yīng)性維護(hù):使軟件適應(yīng)軟硬件環(huán)境的變化。完善性維護(hù):根據(jù)用戶(hù)要求使軟件更加完善。預(yù)防性維護(hù):為將來(lái)的維護(hù)活動(dòng)預(yù)先做準(zhǔn)備。9/19/202314D、綜合測(cè)試(3)、運(yùn)行維護(hù)期8/6/2023141.4軟件過(guò)程軟件過(guò)程是近十年來(lái)人們關(guān)注的焦點(diǎn)。軟件過(guò)程是為開(kāi)發(fā)高質(zhì)量軟件所需要完成的任務(wù)的框架。軟件工程是有創(chuàng)造力、有知識(shí)的人在定義好的、成熟的軟件過(guò)程框架中進(jìn)行的。9/19/2023151.4軟件過(guò)程軟件過(guò)程是近十年來(lái)人們軟件過(guò)程軟件過(guò)程層次圖質(zhì)量焦點(diǎn)過(guò)程方法工具9/19/202316軟件過(guò)程軟件過(guò)程層次圖質(zhì)量焦點(diǎn)過(guò)程方法工具8/6/20231軟件過(guò)程

軟件過(guò)程提供了一個(gè)框架,在該框架下可以建立一個(gè)軟件開(kāi)發(fā)的綜合計(jì)劃:若干框架活動(dòng)適用于所有軟件項(xiàng)目,而不在乎其規(guī)模和復(fù)雜性。若干不同任務(wù)的集合----每一個(gè)集合都由任務(wù)、里程碑、交付物以及質(zhì)量保證點(diǎn)組成----使得框架活動(dòng)適應(yīng)于不同軟件項(xiàng)目的特征和項(xiàng)目組的需求。若干保護(hù)性活動(dòng)----如軟件質(zhì)量保證、軟件配置管理、測(cè)試與度量----它們貫穿于整個(gè)過(guò)程模型之中。保護(hù)性活動(dòng)獨(dú)立于任何一個(gè)框架活動(dòng),且貫穿于整個(gè)過(guò)程之中。9/19/202317軟件過(guò)程軟件過(guò)程提供了一個(gè)框架,在該框架下可軟件過(guò)程里程碑、交付物SQA點(diǎn)公共過(guò)程框架框架活動(dòng)保護(hù)性活動(dòng)任務(wù)集合工作任務(wù)9/19/202318軟件過(guò)程里程碑、交付物SQA點(diǎn)公共過(guò)程框架框架活動(dòng)保護(hù)性活動(dòng)軟件過(guò)程軟件過(guò)程可分為三大類(lèi):基本過(guò)程類(lèi):是構(gòu)成軟件生存周期主要部分的那些過(guò)程,包括獲取、供應(yīng)、開(kāi)發(fā)、操作、維護(hù)等過(guò)程。支持過(guò)程類(lèi):可穿插到基本過(guò)程中提供支持的一系列過(guò)程,包括文檔開(kāi)發(fā)、配置管理、質(zhì)量保證、驗(yàn)證、確認(rèn)、聯(lián)合評(píng)審、審計(jì)、問(wèn)題解決等過(guò)程。組織過(guò)程類(lèi):一個(gè)組織用來(lái)建立、實(shí)施一種基礎(chǔ)結(jié)構(gòu)、并不斷改進(jìn)該基礎(chǔ)結(jié)構(gòu)的過(guò)程,包括管理、基礎(chǔ)、改進(jìn)、培訓(xùn)等過(guò)程。9/19/202319軟件過(guò)程軟件過(guò)程可分為三大類(lèi):8/6/202319軟件過(guò)程模型軟件過(guò)程模型是軟件開(kāi)發(fā)的指導(dǎo)思想和全局性框架,軟件過(guò)程模型的提出和發(fā)展反映了人們對(duì)軟件過(guò)程的某種認(rèn)識(shí)觀,體現(xiàn)了人們對(duì)軟件過(guò)程認(rèn)識(shí)的提高和飛躍。9/19/202320軟件過(guò)程模型軟件過(guò)程模型是軟件開(kāi)發(fā)的指什么是過(guò)程?軟件工程中的目標(biāo)就是開(kāi)發(fā)和維護(hù)軟件及相關(guān)產(chǎn)品NeworchangedrequirementsNeworchangedsystemSoftwareEngineeringProcess9/19/202321什么是過(guò)程?軟件工程中的目標(biāo)就是開(kāi)發(fā)和維護(hù)軟件及相關(guān)產(chǎn)品Ne當(dāng)前主流的軟件過(guò)程CMMRUPMSFXP9/19/202322當(dāng)前主流的軟件過(guò)程CMM8/6/202322過(guò)程鐵三角過(guò)程:把各部分集成在一起--CMM規(guī)程人技術(shù)和工具9/19/202323過(guò)程鐵三角過(guò)程:把各部分集成在一起--CMM規(guī)程人技術(shù)軟件過(guò)程了解軟件過(guò)程掌握軟件過(guò)程模型:瀑布模型、原型模型、增量模型、迭代模型了解RUP了解XP9/19/202324軟件過(guò)程了解軟件過(guò)程8/6/202324過(guò)程過(guò)程就是針對(duì)某一給定目標(biāo)的一系列運(yùn)作步驟,[IEEE-STD-610]是在過(guò)程環(huán)境下的一系列有序活動(dòng)。所謂活動(dòng)(Activity)就是過(guò)程對(duì)象一次狀態(tài)改變,也叫過(guò)程步(Step)?;顒?dòng)起始態(tài)和活動(dòng)結(jié)果態(tài)表征了活動(dòng)的進(jìn)行??梢哉f(shuō)一切事物的發(fā)生、發(fā)展、消亡都離不開(kāi)過(guò)程,都寓于過(guò)程之中。9/19/202325過(guò)程過(guò)程就是針對(duì)某一給定目標(biāo)的一系列運(yùn)作步驟,[IEEE-S過(guò)程的一般定義9/19/202326過(guò)程的一般定義8/6/202326煮蛋的啟示9/19/202327煮蛋的啟示8/6/202327軟件過(guò)程軟件過(guò)程是將用戶(hù)的需求轉(zhuǎn)化成有效的軟件解決方案的一系列活動(dòng)。許多軟件組織無(wú)法正確定義和控制這一過(guò)程,但這恰恰是組織改進(jìn)的關(guān)鍵。9/19/202328軟件過(guò)程軟件過(guò)程是將用戶(hù)的需求轉(zhuǎn)化成有效的軟件解決方案的一軟件過(guò)程(Cont.)過(guò)程的好壞由結(jié)果狀態(tài)與預(yù)期狀態(tài)的差異決定,也就是目標(biāo)成果質(zhì)量的好壞。規(guī)程(Procedure)是人們對(duì)客觀事物運(yùn)動(dòng)規(guī)律的理解和掌握,使規(guī)范了的過(guò)程。軟件過(guò)程是為了獲得高質(zhì)量軟件產(chǎn)品所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件過(guò)程必須科學(xué)、合理,才能開(kāi)發(fā)出高質(zhì)量的軟件產(chǎn)品。9/19/202329軟件過(guò)程(Cont.)過(guò)程的好壞由結(jié)果狀態(tài)與預(yù)期狀態(tài)的差異決軟件過(guò)程(Cont.)軟件過(guò)程又稱(chēng)軟件生存周期過(guò)程,是軟件生存周期內(nèi)為達(dá)到一定目標(biāo)而必須實(shí)施的一系列相關(guān)過(guò)程的集合。 早期: 立項(xiàng)、需求分析、設(shè)計(jì)、編碼、 測(cè)試、交付、維護(hù)、退役9/19/202330軟件過(guò)程(Cont.)軟件過(guò)程又稱(chēng)軟件生存周期過(guò)程,是軟件生軟件過(guò)程(Cont.)項(xiàng)目計(jì)劃就是安排實(shí)際的過(guò)程,制作項(xiàng)目計(jì)劃首先要定義過(guò)程。項(xiàng)目計(jì)劃是某個(gè)軟件過(guò)程模型的實(shí)例。軟件過(guò)程是人類(lèi)制作產(chǎn)物的一系列活動(dòng),而過(guò)去的軟件工程師把產(chǎn)物和人分離,只研究產(chǎn)品過(guò)程及其質(zhì)量,假定人力、物力資源是無(wú)限大、無(wú)限好?,F(xiàn)在認(rèn)識(shí)到面對(duì)實(shí)際資源實(shí)施軟件過(guò)程學(xué),求相對(duì)最佳質(zhì)量才是有效的。9/19/202331軟件過(guò)程(Cont.)項(xiàng)目計(jì)劃就是安排實(shí)際的過(guò)程,制作項(xiàng)目計(jì)軟件過(guò)程(Cont.)現(xiàn)在的軟件生命周期過(guò)程包括: 早期:

立項(xiàng)、需求分析、設(shè)計(jì)、編碼、 測(cè)試、交付、維護(hù)、退役 又加入了:

管理各種活動(dòng)、質(zhì)量保證 環(huán)境基礎(chǔ)設(shè)施配置、文檔管理等。

9/19/202332軟件過(guò)程(Cont.)現(xiàn)在的軟件生命周期過(guò)程包括:8/6/2軟件開(kāi)發(fā)—問(wèn)題的循環(huán)解決過(guò)程狀態(tài)描述問(wèn)題定義技術(shù)開(kāi)發(fā)方案綜述9/19/202333軟件開(kāi)發(fā)—問(wèn)題的循環(huán)解決過(guò)程狀態(tài)描述8/6/202333軟件開(kāi)發(fā)過(guò)程為開(kāi)發(fā)小組的活動(dòng)順序提供向?qū)г敿?xì)說(shuō)明那些制品將被開(kāi)發(fā),以及什么時(shí)候開(kāi)發(fā)指導(dǎo)每一個(gè)開(kāi)發(fā)人員和整個(gè)開(kāi)發(fā)組的工作為監(jiān)控和度量項(xiàng)目的產(chǎn)品和活動(dòng)提供準(zhǔn)則9/19/202334軟件開(kāi)發(fā)過(guò)程為開(kāi)發(fā)小組的活動(dòng)順序提供向?qū)?/6/202334軟件工程—方法學(xué)傳統(tǒng)方法學(xué)面向?qū)ο蟮姆椒▽W(xué)9/19/202335軟件工程—方法學(xué)傳統(tǒng)方法學(xué)8/6/202335傳統(tǒng)方法學(xué)(生命周期方法學(xué))仍然是使用十分廣泛的軟件工程方法學(xué)。采用結(jié)構(gòu)化技術(shù)來(lái)完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來(lái)支持結(jié)構(gòu)化技術(shù)的運(yùn)用。從上而下,順序地完成軟件開(kāi)發(fā)的各階段任務(wù)。9/19/202336傳統(tǒng)方法學(xué)(生命周期方法學(xué))仍然是使用十分廣泛的軟件工程方法軟件過(guò)程模型瀑布模型(Waterfall)原型模型(Prototype)增量模型(Incremental)螺旋模型(Spiral)迭代模型(Iterative)9/19/202337軟件過(guò)程模型瀑布模型(Waterfall)8/6/2023瀑布模型(線(xiàn)性順序模型)瀑布式模型包含以下活動(dòng):系統(tǒng)/信息工程和建模軟件需求分析設(shè)計(jì)代碼生成測(cè)試維護(hù)9/19/202338瀑布模型(線(xiàn)性順序模型)瀑布式模型包含以下活動(dòng):8/6/20基本概念軟件生存期(過(guò)程)模型:軟件生存期是軟件產(chǎn)品或系統(tǒng)一系列相關(guān)活動(dòng)的全周期。從形成概念開(kāi)始,經(jīng)過(guò)研制,交付使用,在使用中不斷增補(bǔ)修訂,直到最后被淘汰,讓位于新的軟件產(chǎn)品的過(guò)程。對(duì)軟件生存期的不同劃分,形成了不同的軟件生存期模型。9/19/202339基本概念軟件生存期(過(guò)程)模型:8/6/202339軟件工程的傳統(tǒng)途徑—生命周期方法學(xué)

生命周期方法學(xué)的基本內(nèi)容從時(shí)間角度對(duì)軟件開(kāi)發(fā)和維護(hù)的復(fù)雜問(wèn)題進(jìn)行分解,把軟件生命的漫長(zhǎng)周期依次劃分為若干個(gè)階段,每個(gè)階段有相對(duì)獨(dú)立的任務(wù),然后逐步完成每個(gè)階段的任務(wù)。

生命周期方法學(xué)的應(yīng)用方法從對(duì)任務(wù)的抽象邏輯分析開(kāi)始,一個(gè)階段一個(gè)階段地進(jìn)行開(kāi)發(fā);前一個(gè)階段任務(wù)的完成是后一個(gè)階段工作的前提和基礎(chǔ),而后一個(gè)階段任務(wù)通常是使前一階段提出的解法更進(jìn)一步的具體化,加進(jìn)了更多的實(shí)現(xiàn)細(xì)節(jié)。

階段過(guò)渡方法每一個(gè)階段的開(kāi)始和結(jié)束都有嚴(yán)格標(biāo)準(zhǔn),前一階段結(jié)束的標(biāo)準(zhǔn)是后一階段工作開(kāi)始的標(biāo)準(zhǔn)。技術(shù)審查和管理復(fù)審?;靖拍?/p>

文檔及其作用。生命周期各階段的基本任務(wù)

問(wèn)題定義→可行性研究→需求分析→總體設(shè)計(jì)(概要設(shè)計(jì))→詳細(xì)設(shè)計(jì)→編碼和單元測(cè)試→綜合測(cè)試→軟件維護(hù)。

9/19/202340軟件工程的傳統(tǒng)途徑—生命周期方法學(xué)8/6/202340軟件工程(生命周期各階段的基本任務(wù))問(wèn)題定義可行性研究需求分析總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼與單元測(cè)試綜合測(cè)試軟件維護(hù)要解決的問(wèn)題是什么?問(wèn)題性質(zhì)、工程目標(biāo)和規(guī)模的報(bào)告分析員:實(shí)際用戶(hù)+負(fù)責(zé)人是否有解決辦法?分析員高層邏輯模型,準(zhǔn)確和具體的工程規(guī)模和目標(biāo),成本/效益分析等可行性報(bào)告為了解決的問(wèn)題,目標(biāo)系統(tǒng)必須做什么?準(zhǔn)確確定系統(tǒng)的功能系統(tǒng)的邏輯模型(數(shù)據(jù)流圖+數(shù)據(jù)字典+簡(jiǎn)要算法)如何解決這些問(wèn)題模塊劃分軟件結(jié)構(gòu)如何具體地實(shí)現(xiàn)系統(tǒng):每個(gè)模塊的流程圖(程序的詳細(xì)規(guī)格說(shuō)明)通過(guò)各種類(lèi)型的測(cè)試,使軟件達(dá)到預(yù)定的要求寫(xiě)出正確的容易理解和容易維護(hù)的程序模塊通過(guò)各種必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿(mǎn)足用戶(hù)的需要9/19/202341軟件工程(生命周期各階段的基本任務(wù))問(wèn)題定義可行性研究需求分生命周期法各階段的工作小結(jié)生命周期法各階段的工作小結(jié)生命周期法各階段的工作小結(jié)生命周期法各階段的工作小結(jié)“生命周期法”的特點(diǎn)階段具有順序性和依賴(lài)性推遲實(shí)現(xiàn)的觀點(diǎn)質(zhì)量保證的觀點(diǎn)每個(gè)階段都必須完成規(guī)定的文檔每個(gè)階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問(wèn)題,改正錯(cuò)誤。9/19/202344“生命周期法”的特點(diǎn)8/6/202344軟件工程——瀑布模型瀑布模型

問(wèn)題定義特點(diǎn):1)階段間具有順序性和依賴(lài)性2)推遲實(shí)現(xiàn)的觀點(diǎn)3)質(zhì)量保證的觀點(diǎn)??尚行匝芯啃枨蠓治隹傮w設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼與單元測(cè)試綜合測(cè)試軟件維護(hù)軟件定義時(shí)期軟件開(kāi)發(fā)時(shí)期軟件維護(hù)時(shí)期9/19/202345軟件工程——瀑布模型瀑布模型問(wèn)題定義特點(diǎn):1)階段間具有順軟件開(kāi)發(fā)過(guò)程模型瀑布模型的特征從上一項(xiàng)活動(dòng)中接受該項(xiàng)活動(dòng)的工作對(duì)象,作為輸入。利用這一輸入實(shí)施該項(xiàng)活動(dòng)應(yīng)完成的內(nèi)容給出該項(xiàng)活動(dòng)的工作成果,作為輸出傳給下一項(xiàng)活動(dòng)對(duì)該項(xiàng)活動(dòng)實(shí)施的工作進(jìn)行評(píng)審。若其工作得到確認(rèn),則繼續(xù)下一項(xiàng)活動(dòng)。9/19/202346軟件開(kāi)發(fā)過(guò)程模型瀑布模型的特征8/6/202346瀑布模型—特點(diǎn)文檔驅(qū)動(dòng)的模型階段間具有順序性和依賴(lài)性推遲實(shí)現(xiàn)的觀點(diǎn)質(zhì)量保證的觀點(diǎn)9/19/202347瀑布模型—特點(diǎn)文檔驅(qū)動(dòng)的模型8/6/202347思考????

傳統(tǒng)瀑布模型存在什么問(wèn)題?9/19/202348思考????8/6/202348傳統(tǒng)的瀑布模型—存在什么問(wèn)題???

傳統(tǒng)的瀑布模型過(guò)于理想化了,事實(shí)上,人在工作過(guò)程中不可能不犯錯(cuò)誤。在設(shè)計(jì)階段可能發(fā)生規(guī)格說(shuō)明文檔中的錯(cuò)誤。而設(shè)計(jì)上的缺陷或錯(cuò)誤可能在實(shí)現(xiàn)過(guò)程中顯現(xiàn)出來(lái)。在綜合測(cè)試階段將發(fā)現(xiàn)需求分析、設(shè)計(jì)或編碼階段的許多錯(cuò)誤。9/19/202349傳統(tǒng)的瀑布模型—存在什么問(wèn)題???傳統(tǒng)的瀑布模型過(guò)于理

TomGilb:

“假如你不積極地解決你項(xiàng)目中存在的風(fēng)險(xiǎn),它們就會(huì)積極地解決掉你”瀑布方法會(huì)掩飾項(xiàng)目中真正的風(fēng)險(xiǎn),當(dāng)你太晚發(fā)現(xiàn)它們時(shí)已無(wú)濟(jì)于事。9/19/202350TomGilb:8/6/202350瀑布模型—問(wèn)題實(shí)際項(xiàng)目很少按照該模型給出的順序進(jìn)行用戶(hù)常常難以清楚地給出所有需求用戶(hù)必須有耐心開(kāi)發(fā)者常常被不必要地耽擱9/19/202351瀑布模型—問(wèn)題實(shí)際項(xiàng)目很少按照該模型給出的順序進(jìn)行8/6軟件開(kāi)發(fā)過(guò)程模型瀑布模型的缺點(diǎn):從認(rèn)識(shí)論角度看,人的認(rèn)識(shí)是一個(gè)多次反復(fù)循環(huán)的過(guò)程,不可能一次完成。但瀑布模型中劃分的幾個(gè)階段,沒(méi)有反映出這種認(rèn)識(shí)過(guò)程的反復(fù)性。軟件開(kāi)發(fā)是一個(gè)知識(shí)密集型的開(kāi)發(fā)活動(dòng),需要相互合作完成,但瀑布模型沒(méi)有體現(xiàn)這一點(diǎn)。9/19/202352軟件開(kāi)發(fā)過(guò)程模型瀑布模型的缺點(diǎn):8/6/202352瀑布模型—實(shí)際的瀑布模型

需求分析驗(yàn)證規(guī)格說(shuō)明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測(cè)試綜合測(cè)試維護(hù)變化的需求驗(yàn)證9/19/202353瀑布模型—實(shí)際的瀑布模型需求分析驗(yàn)證規(guī)格說(shuō)明驗(yàn)證設(shè)計(jì)驗(yàn)軟件開(kāi)發(fā)過(guò)程模型具有維護(hù)循環(huán)的軟件生存期的瀑布模型9/19/202354軟件開(kāi)發(fā)過(guò)程模型具有維護(hù)循環(huán)的軟件生存期的瀑布模型8/6/2軟件開(kāi)發(fā)過(guò)程模型——原型模型基本思想在獲取一組基本的需求定義后,利用高級(jí)軟件工具的可開(kāi)發(fā)環(huán)境,快速地建立一個(gè)目標(biāo)系統(tǒng)的最初版本,并把它交給用戶(hù)試用、補(bǔ)充和修改,再進(jìn)行新的版本開(kāi)發(fā)。反復(fù)進(jìn)行這個(gè)過(guò)程,直到得出系統(tǒng)的“精確解”,即用戶(hù)滿(mǎn)意為止。經(jīng)過(guò)這樣一個(gè)反復(fù)補(bǔ)充和修改的過(guò)程,應(yīng)用系統(tǒng)的“最初版本”就逐步演變?yōu)橄到y(tǒng)的“最終版本”。9/19/202355軟件開(kāi)發(fā)過(guò)程模型——原型模型基本思想8/6/202355原型模型快速建立起來(lái)的可以在計(jì)算機(jī)上運(yùn)行的程序,他所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。9/19/202356原型模型快速建立起來(lái)的可以在計(jì)算機(jī)上運(yùn)行的程序,他所能完成的原型模型—適用情況用戶(hù)定義了一組一般性目標(biāo),但不能標(biāo)識(shí)出詳細(xì)的輸入、處理及輸出需求;開(kāi)發(fā)者可能不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機(jī)交互的形式;……

原型模型可能是最好的選擇

9/19/202357原型模型—適用情況用戶(hù)定義了一組一般性目標(biāo),但不能標(biāo)識(shí)出原型模型(Cont.)原型模型從需求收集開(kāi)始。開(kāi)發(fā)者和用戶(hù)在一起定義軟件的總體目標(biāo),標(biāo)識(shí)出已知的需求,并規(guī)劃出進(jìn)一步定義的區(qū)域。然后是“快速設(shè)計(jì)”,快速設(shè)計(jì)集中于軟件那些對(duì)用戶(hù)可見(jiàn)部分的表示?!翱焖僭O(shè)計(jì)”導(dǎo)致原型的建造。原型由用戶(hù)評(píng)估,并進(jìn)一步精化待開(kāi)發(fā)軟件的需求,逐步調(diào)整原型使其滿(mǎn)足客戶(hù)的要求。同時(shí)開(kāi)發(fā)者對(duì)將要做的事情有更好的理解,這個(gè)過(guò)程是迭代的。9/19/202358原型模型(Cont.)原型模型從需求收集開(kāi)始。開(kāi)發(fā)者和用戶(hù)原型模型(Cont.)

快速原型驗(yàn)證規(guī)格說(shuō)明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測(cè)試綜合測(cè)試維護(hù)變化的需求驗(yàn)證維護(hù)過(guò)程開(kāi)發(fā)過(guò)程9/19/202359原型模型(Cont.)快速原型驗(yàn)證規(guī)格說(shuō)明驗(yàn)證設(shè)計(jì)驗(yàn)證編原型模型—存在的問(wèn)題用戶(hù)似乎看到的是軟件的工作版本,其實(shí)……開(kāi)發(fā)者常常需要實(shí)現(xiàn)上的折衷,以使原型能夠盡快工作9/19/202360原型模型—存在的問(wèn)題用戶(hù)似乎看到的是軟件的工作版本,其實(shí)……原型模型在“需求分析”、“原型設(shè)計(jì)”兩個(gè)階段中,開(kāi)發(fā)者和用戶(hù)一起為想象中的系統(tǒng)的某些主要部分定義需求和規(guī)格說(shuō)明,并由開(kāi)發(fā)者在規(guī)格說(shuō)明級(jí)用原型描述語(yǔ)言構(gòu)造一個(gè)系統(tǒng)原型,它代表了部分系統(tǒng),包括那些為滿(mǎn)足用戶(hù)需求的必要屬性。該原型可用來(lái)幫助分析和設(shè)計(jì)工作,而不是一個(gè)軟件產(chǎn)品。

9/19/202361原型模型在“需求分析”、“原型設(shè)計(jì)”兩個(gè)階段中,開(kāi)發(fā)者和用戶(hù)原型模型在演示原型期間,用戶(hù)可以根據(jù)他所期望的系統(tǒng)行為來(lái)評(píng)價(jià)原型的實(shí)際行為。如果原型不能滿(mǎn)意地運(yùn)行,用戶(hù)能立刻找出問(wèn)題和不可接受的地方,并與開(kāi)發(fā)者重新定義需求。該過(guò)程一直持續(xù)到用戶(hù)認(rèn)為該原型能成功地體現(xiàn)想象中的系統(tǒng)的主要部分功能為止。在這期間,用戶(hù)和開(kāi)發(fā)者都不要為程序算法或設(shè)計(jì)技巧等枝節(jié)問(wèn)題分心,而是要確定開(kāi)發(fā)者是否理解了用戶(hù)的意思,同時(shí)試驗(yàn)實(shí)現(xiàn)它們的若干方法。9/19/202362原型模型在演示原型期間,用戶(hù)可以根據(jù)他所期望的系統(tǒng)行為來(lái)評(píng)價(jià)原型模型特征原型特征軟件原型是軟件的最初版本,以最少的費(fèi)用、最短的時(shí)間開(kāi)發(fā)出的、以反映最后軟件的主要特征的系統(tǒng)。它具有以下特征:(1)它是一個(gè)可實(shí)際運(yùn)行的系統(tǒng)。9/19/202363原型模型特征原型特征8/6/202363原型模型特征(2)它沒(méi)有固定的生存期。一種極端是扔掉原型(以最簡(jiǎn)便方式大量借用已有軟件,做出最后產(chǎn)品的模型,證實(shí)產(chǎn)品設(shè)想是成功的,但產(chǎn)品中并不使用);另一種極端是最終產(chǎn)品的一部分即增量原型(先做出最終產(chǎn)品的核心部分,逐步增加補(bǔ)充模塊),演進(jìn)原型居于其中(每一版本扔掉一點(diǎn),增加一點(diǎn),逐步完善至最終產(chǎn)品)。9/19/202364原型模型特征(2)它沒(méi)有固定的生存期。一種極端是扔掉原型(以原型模型特征(3)從需求分析到最終產(chǎn)品都可作原型,即可為不同目標(biāo)作原型。(4)它必須快速、廉價(jià)。(5)它是迭代過(guò)程的集成部分,即每次經(jīng)用戶(hù)評(píng)價(jià)后修改、運(yùn)行,不斷重復(fù)雙方認(rèn)可。9/19/202365原型模型特征(3)從需求分析到最終產(chǎn)品都可作原型,即可為不同原型模型評(píng)價(jià)原型法的評(píng)價(jià)優(yōu)點(diǎn)1.原型法在得到良好的需求定義上比傳統(tǒng)生存周期法好得多,可處理模糊需求,開(kāi)發(fā)者和用戶(hù)可充分通信。2.原型系統(tǒng)可作為培訓(xùn)環(huán)境,有利于用戶(hù)培訓(xùn)和開(kāi)發(fā)同步,開(kāi)發(fā)過(guò)程也是學(xué)習(xí)過(guò)程。3.原型給用戶(hù)以機(jī)會(huì)更改心中原先設(shè)想的、不盡合理的最終系統(tǒng)。4.原型可低風(fēng)險(xiǎn)開(kāi)發(fā)柔性較大的計(jì)算機(jī)系統(tǒng)。5.原型增加使系統(tǒng)更易維護(hù)、對(duì)用戶(hù)更友好的機(jī)會(huì)。6.原型使總的開(kāi)發(fā)費(fèi)用降低,時(shí)間縮短。9/19/202366原型模型評(píng)價(jià)原型法的評(píng)價(jià)8/6/202366缺點(diǎn)1.“模型效應(yīng)”或“管中窺豹”。對(duì)于開(kāi)發(fā)者不熟悉的領(lǐng)域把次要部分當(dāng)作主要框架,做出不切題的原型。2.原型迭代不收斂于開(kāi)發(fā)者預(yù)先的目標(biāo)。即每次更改,為了消除錯(cuò)誤,次要部分越來(lái)越大,“淹沒(méi)”了主要部分。3.原型過(guò)快收斂于需求集合,而忽略了一些基本點(diǎn)。4.資源規(guī)劃和管理較為困難,隨時(shí)更新文檔也帶來(lái)麻煩。5.長(zhǎng)期在原型環(huán)境上開(kāi)發(fā),只注意得到滿(mǎn)意的原型,容易“遺忘”用戶(hù)環(huán)境和原型環(huán)境的差異。原型模型評(píng)價(jià)9/19/202367缺點(diǎn)原型模型評(píng)價(jià)8/6/202367適用范圍:原型開(kāi)發(fā)可以應(yīng)用于軟件生存周期的不同階段,也可以替代生存期的部分或全部階段,具體可以用于以下領(lǐng)域:1.輔助分析和確定用戶(hù)需求的任務(wù)。2.作為軟件設(shè)計(jì)的一種工具。例如:研究系統(tǒng)設(shè)計(jì)的可行性和適應(yīng)性。3.作為一種解決不確定性的工具。例如:研究一種新技術(shù)的效果,逐步使其適應(yīng)預(yù)定的環(huán)境。4.作為一種實(shí)驗(yàn)工具。5.充作同步培訓(xùn)工具。6.“一次性”的應(yīng)用。例如寫(xiě)一個(gè)能運(yùn)行的程序,一旦得到答案,該程序?qū)⒉辉偈褂谩?.作為軟件維護(hù)的輔助工具。特別是在用戶(hù)需求不穩(wěn)定,維護(hù)工作量很大的情況下,要求大量的重新設(shè)計(jì)工作。原型模型評(píng)價(jià)9/19/202368適用范圍:原型開(kāi)發(fā)可以應(yīng)用于軟件生存周期的不同階段,也可以替增量模型融合了瀑布模型的基本成分和原型的迭代特征。采用隨著日程時(shí)間的進(jìn)展而交錯(cuò)的線(xiàn)性序列。9/19/202369增量模型融合了瀑布模型的基本成分和原型的迭代特征。采用隨著日增量模型(Cont.)

需求分析驗(yàn)證規(guī)格說(shuō)明驗(yàn)證設(shè)計(jì)驗(yàn)證維護(hù)針對(duì)每個(gè)構(gòu)件完成詳細(xì)設(shè)計(jì)、編碼和集成,經(jīng)測(cè)試后交付給用戶(hù)9/19/202370增量模型(Cont.)需求分析驗(yàn)證規(guī)格說(shuō)明驗(yàn)證設(shè)計(jì)驗(yàn)證維增量模型(Cont.)分析分析分析分析設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)編碼編碼編碼編碼測(cè)試測(cè)試測(cè)試測(cè)試增量1增量2增量3增量49/19/202371增量模型(Cont.)分析分析分析分析設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)編碼增量模型(Cont.)增量模型融合了瀑布模型的基本成分和原型的迭代特性。例如,使用增量模型開(kāi)發(fā)字處理軟件基本的文件管理、編輯和文檔生成功能。更完善的編輯和文檔生成能力。實(shí)現(xiàn)拼寫(xiě)和文法檢查功能。完成高級(jí)的頁(yè)面布局功能。9/19/202372增量模型(Cont.)增量模型融合了瀑布模型的基本成分和原增量模型(Cont.)第一個(gè)增量往往是核心產(chǎn)品每一個(gè)增量均發(fā)布一個(gè)可操作產(chǎn)品早期的增量是最終產(chǎn)品的“可拆卸”版本9/19/202373增量模型(Cont.)第一個(gè)增量往往是核心產(chǎn)品8/6/20軟件開(kāi)發(fā)過(guò)程模型噴泉模型噴泉模型認(rèn)為軟件生命周期的各個(gè)階段是相互重疊和多次反復(fù)的。主要用于面向?qū)ο蠓椒ㄖ?/19/202374軟件開(kāi)發(fā)過(guò)程模型噴泉模型8/6/202374軟件開(kāi)發(fā)過(guò)程模型——螺旋模型在原型基礎(chǔ)上,進(jìn)行多次原型反復(fù)并增加風(fēng)險(xiǎn)評(píng)估,形成螺旋模型。9/19/202375軟件開(kāi)發(fā)過(guò)程模型——螺旋模型8/6/202375軟件開(kāi)發(fā)過(guò)程模型——螺旋模型9/19/202376軟件開(kāi)發(fā)過(guò)程模型——螺旋模型8/6/202376軟件開(kāi)發(fā)過(guò)程模型——螺旋模型9/19/202377軟件開(kāi)發(fā)過(guò)程模型——螺旋模型8/6/202377螺旋模型分析在螺旋模型結(jié)構(gòu)中,維護(hù)只是螺旋模型的另一個(gè)周期,在維護(hù)和開(kāi)發(fā)之間本質(zhì)上并沒(méi)有區(qū)別,從而解決了做太多測(cè)試或未作足夠測(cè)試所帶來(lái)的風(fēng)險(xiǎn)。適用條件內(nèi)部的大規(guī)模軟件的開(kāi)發(fā),不太適合合同軟件。一般只適用于大規(guī)模軟件的開(kāi)發(fā)軟件開(kāi)發(fā)過(guò)程模型——螺旋模型9/19/202378螺旋模型分析軟件開(kāi)發(fā)過(guò)程模型——螺旋模型8/6/202378迭代模型建立在BarryBoehm的螺旋模型基礎(chǔ)上的。9/19/202379迭代模型建立在BarryBoehm的螺旋模型基礎(chǔ)上的。迭代模型(Cont.)9/19/202380迭代模型(Cont.)8/6/202380迭代模型(Cont.)PlanningRequirementsAnalysis&DesignImplementationDeploymentTestEvaluationManagementEnvironmentEachiterationresultsinanexecutablerelease.9/19/202381迭代模型(Cont.)PlanningRequirement9/19/2023828/6/202382RiskReductionTimeRiskWaterfallRiskIterativeRiskRiskProfiles9/19/202383RiskReductionTimeRiskWaterfal特點(diǎn)這種方法可以在生命周期早期強(qiáng)制性的確定項(xiàng)目中存在的風(fēng)險(xiǎn)。這種方法是一個(gè)連續(xù)地發(fā)現(xiàn)、創(chuàng)造和實(shí)現(xiàn)的過(guò)程。在每個(gè)迭代過(guò)程中,促使開(kāi)發(fā)小組以一種循環(huán)的、可預(yù)測(cè)的方式驅(qū)動(dòng)項(xiàng)目制品的生產(chǎn)和制作。9/19/202384特點(diǎn)這種方法可以在生命周期早期強(qiáng)制性的確定項(xiàng)目中存在的風(fēng)險(xiǎn)提供解決方案:在生命周期的早期,這種方法可以及時(shí)地發(fā)現(xiàn)一些嚴(yán)重的需求理解錯(cuò)誤,此時(shí)還可能修正這些錯(cuò)誤。允許并鼓勵(lì)用戶(hù)反饋信息,以明確系統(tǒng)的真實(shí)需求。這種方法使開(kāi)發(fā)小組重視項(xiàng)目中最關(guān)鍵的問(wèn)題,而屏蔽掉那些使他們遠(yuǎn)離項(xiàng)目真實(shí)風(fēng)險(xiǎn)的問(wèn)題。不斷地迭代測(cè)試能夠給出項(xiàng)目狀況的客觀評(píng)價(jià)。9/19/202385提供解決方案:在生命周期的早期,這種方法可以及時(shí)地發(fā)現(xiàn)一些嚴(yán)提供解決方案:(Cont.)盡早地發(fā)現(xiàn)需求、設(shè)計(jì)和實(shí)現(xiàn)中的不一致。在整個(gè)項(xiàng)目生命周期中更加平均地分配開(kāi)發(fā)組的工作量,特別是測(cè)試小組的工作量。開(kāi)發(fā)組可以不斷打在開(kāi)發(fā)中進(jìn)行學(xué)習(xí)從而改進(jìn)過(guò)程。在整個(gè)生命周期中,項(xiàng)目相關(guān)人員可以通過(guò)具體證據(jù)了解項(xiàng)目狀況。9/19/202386提供解決方案:(Cont.)盡早地發(fā)現(xiàn)需求、設(shè)計(jì)和實(shí)現(xiàn)中的Review:軟件過(guò)程模型瀑布模型原型模型增量模型螺旋模型迭代模型9/19/202387Review:軟件過(guò)程模型瀑布模型8/6/202387軟件開(kāi)發(fā)問(wèn)題的癥狀對(duì)于最終用戶(hù)的需要理解得不夠精確對(duì)需求的改變束手無(wú)策程序塊不兼容軟件不易維護(hù)或不易擴(kuò)展對(duì)項(xiàng)目嚴(yán)重缺陷的發(fā)現(xiàn)較晚軟件質(zhì)量低劣軟件性能令人無(wú)法接受開(kāi)發(fā)組的人員按各自的方式進(jìn)行開(kāi)發(fā),如果有人改變可部分軟件,將很難進(jìn)行重組一個(gè)不可靠的構(gòu)造和發(fā)布過(guò)程9/19/202388軟件開(kāi)發(fā)問(wèn)題的癥狀對(duì)于最終用戶(hù)的需要理解得不夠精確8/6/2SymptomsofSWDevelopmentProblemsUserorbusinessneedsnotmetRequirementschurnModulesdon’tintegrateHardtomaintainLatediscoveryofflawsPoorqualityorend-userexperiencePoorperformanceunderloadNocoordinatedteameffortBuild-and-releaseissues9/19/202389SymptomsofSWDevelopmentPro失敗原因特別的需求管理模糊和不精確的交流脆弱的構(gòu)架過(guò)度復(fù)雜未檢測(cè)出需求、設(shè)計(jì)和實(shí)現(xiàn)之間的不一致測(cè)試的不足對(duì)于項(xiàng)目狀況的評(píng)估過(guò)于主觀未解決存在的風(fēng)險(xiǎn)無(wú)法控制變化的產(chǎn)生和傳播自動(dòng)控制不足9/19/202390失敗原因特別的需求管理8/6/202390RUP現(xiàn)在軟件產(chǎn)業(yè)界普遍認(rèn)為,開(kāi)發(fā)復(fù)雜軟件項(xiàng)目必須采用基于UML的、以構(gòu)架為中心、用例驅(qū)動(dòng)與風(fēng)險(xiǎn)驅(qū)動(dòng)相結(jié)合的迭代式增量開(kāi)發(fā)過(guò)程,他是世界公認(rèn)的開(kāi)發(fā)復(fù)雜軟件項(xiàng)目的最好過(guò)程,已經(jīng)成為軟件界的“圣經(jīng)”。這一開(kāi)發(fā)過(guò)程目前已經(jīng)穩(wěn)定、成熟。 這就是:9/19/202391RUP現(xiàn)在軟件產(chǎn)業(yè)界普遍認(rèn)為,開(kāi)發(fā)復(fù)雜軟件項(xiàng)目必須采用基于URUP

RUP—RationalUnifiedProcess9/19/202392RUP8/6/202392RationalUnifiedProcess—RUP Rational統(tǒng)一過(guò)程是由Rational軟件公司開(kāi)發(fā)和營(yíng)銷(xiāo)的一種軟件工程過(guò)程,是開(kāi)發(fā)組織用以分配與管理任務(wù)和職責(zé)的一種規(guī)范化方法。這個(gè)過(guò)程的目的是在預(yù)定的進(jìn)度和預(yù)算范圍內(nèi),開(kāi)發(fā)出滿(mǎn)足最終用戶(hù)需要的高質(zhì)量軟件。9/19/202393RationalUnifiedProcess—RUP RUP捕獲的6項(xiàng)最佳商業(yè)實(shí)踐

被證明是解決軟件開(kāi)發(fā)過(guò)程中根本問(wèn)題的方法控制變更迭代開(kāi)發(fā)使用基于構(gòu)件的架構(gòu)管理需求可視化建模質(zhì)量驗(yàn)證9/19/202394RUP捕獲的6項(xiàng)最佳商業(yè)實(shí)踐被證明是解決軟件開(kāi)發(fā)過(guò)程中根本最佳軟件開(kāi)發(fā)實(shí)踐BestPractices迭代地開(kāi)發(fā)軟件DevelopIteratively管理需求ManageRequirements應(yīng)用基于構(gòu)件的構(gòu)架UseComponentArchitectures為軟件建立可視化的模型ModelVisually(UML)不斷地驗(yàn)證軟件質(zhì)量ContinuouslyVerifyQuality控制軟件的變更ManageChange9/19/202395最佳軟件開(kāi)發(fā)實(shí)踐BestPractices迭代地開(kāi)發(fā)軟件RUP的目標(biāo)按照預(yù)先制定的時(shí)間計(jì)劃和經(jīng)費(fèi)預(yù)算,開(kāi)發(fā)出高質(zhì)量的軟件產(chǎn)品以滿(mǎn)足最終用戶(hù)的需求9/19/202396RUP的目標(biāo)按照預(yù)先制定的時(shí)間計(jì)劃和經(jīng)費(fèi)預(yù)算,開(kāi)發(fā)出高質(zhì)量的RUP是什么?是一種軟件工程過(guò)程是一個(gè)過(guò)程產(chǎn)品有自己的過(guò)程框架捕獲了現(xiàn)代軟件開(kāi)發(fā)中的最佳實(shí)踐9/19/202397RUP是什么?是一種軟件工程過(guò)程8/6/202397RUP的三大特點(diǎn)用例驅(qū)動(dòng)以架構(gòu)為中心迭代和增量開(kāi)發(fā)9/19/202398RUP的三大特點(diǎn)用例驅(qū)動(dòng)8/6/202398用例驅(qū)動(dòng)用UseCase作為劃分問(wèn)題的組織單元,分析和設(shè)計(jì)活動(dòng)的局部粒度都遵循這一劃分原則。UseCase的定義反映可系統(tǒng)外部要素根據(jù)特定目標(biāo)使用擬建系統(tǒng)的狀況,能確保問(wèn)題的局部劃分粒度適當(dāng),保持了全局與局部的平衡。9/19/202399用例驅(qū)動(dòng)用UseCase作為劃分問(wèn)題的組織單元,分析和設(shè)計(jì)9/19/20231008/6/2023100RUP的整體架構(gòu)9/19/2023101RUP的整體架構(gòu)8/6/2023101RUP的迭代模型9/19/2023102RUP的迭代模型8/6/2023102RUP的關(guān)鍵概念9/19/2023103RUP的關(guān)鍵概念8/6/2023103RUPRUP將這些最佳實(shí)踐活動(dòng)以一種適當(dāng)?shù)男问浇Y(jié)合起來(lái),從而適應(yīng)了廣泛的項(xiàng)目和開(kāi)發(fā)組織。RUP是一個(gè)過(guò)程產(chǎn)品(processproduct)。Rational(IBM)軟件公司開(kāi)發(fā)并維護(hù)著這個(gè)產(chǎn)品,并將其與Rational軟件公司自己的一系列軟件開(kāi)發(fā)工具集成。9/19/2023104RUPRUP將這些最佳實(shí)踐活動(dòng)以一種適當(dāng)?shù)男问浇Y(jié)合起來(lái),從而RUPRUP有自己的過(guò)程框架(processframework),這個(gè)框架可以被改造和擴(kuò)展以適應(yīng)采納此方法的組織。軟件過(guò)程也是軟件設(shè)計(jì)、開(kāi)發(fā)、交付和維護(hù)9/19/2023105RUPRUP有自己的過(guò)程框架(processframeRUP—簡(jiǎn)要?dú)v史RUP2000RUP5.5RUP5.0ROP4.1ROP4.0Rational方法Objective過(guò)程3.8200019991998199719961995實(shí)時(shí)ROOM業(yè)務(wù)工程配置和變更管理需求學(xué)院Booch方法OMTUML0.8SQA過(guò)程UML1.1數(shù)據(jù)工程UI設(shè)計(jì)UML1.2基于WEB的開(kāi)發(fā)UML1.39/19/2023106RUP—簡(jiǎn)要?dú)v史RUP2000RUP5.5RUP5.誰(shuí)在使用RUP?電信業(yè)Ericsson、Alcatel、MCI交通、航空、國(guó)防Lockheed-Martin、BritishAerospace制造業(yè)Xerox、Volvo、Intel金融業(yè)Visa、MerrillLynch、Schwab系統(tǒng)集成業(yè)Ernst&Young、Oracle、Deloitte&Touche9/19/2023107誰(shuí)在使用RUP?電信業(yè)8/6/2023107RUPRUP核心是解決可操作性問(wèn)題,幫助開(kāi)發(fā)人員盡可能少地依賴(lài)那些“不可描述的經(jīng)驗(yàn)”。他詳細(xì)給出了每個(gè)階段參與該過(guò)程的各種焦色,然后表示在過(guò)程中,該角色創(chuàng)建的制品。9/19/2023108RUPRUP核心是解決可操作性問(wèn)題,幫助開(kāi)發(fā)人員盡可能少RationalUnifiedProcess的主要工件,及這些工件間的信息流9/19/2023109RationalUnifiedProcess的主要工件9/19/20231108/6/20231109/19/20231118/6/20231119/19/20231128/6/20231129/19/20231138/6/20231139/19/20231148/6/20231149/19/20231158/6/2023115增量和迭代開(kāi)發(fā)基于風(fēng)險(xiǎn)前驅(qū)的原則,漸進(jìn)地展開(kāi)分析、設(shè)計(jì)及其相關(guān)活動(dòng),每個(gè)迭代都會(huì)提供一次驗(yàn)證和調(diào)整模型機(jī)會(huì),推動(dòng)軟件質(zhì)量的提升。9/19/2023116增量和迭代開(kāi)發(fā)基于風(fēng)險(xiǎn)前驅(qū)的原則,漸進(jìn)地展開(kāi)分析、設(shè)計(jì)及其相RUP二維過(guò)程結(jié)構(gòu)沿時(shí)間軸的組織結(jié)構(gòu)沿內(nèi)容軸的組織結(jié)構(gòu)9/19/2023117RUP二維過(guò)程結(jié)構(gòu)沿時(shí)間軸的組織結(jié)構(gòu)沿內(nèi)容軸的組織結(jié)構(gòu)8/RUP的生命開(kāi)發(fā)周期9/19/2023118RUP的生命開(kāi)發(fā)周期8/6/2023118RUP的生命開(kāi)發(fā)周期9/19/2023119RUP的生命開(kāi)發(fā)周期8/6/2023119RUP的生命開(kāi)發(fā)周期9/19/2023120RUP的生命開(kāi)發(fā)周期8/6/2023120RUP的生命開(kāi)發(fā)周期9/19/2023121RUP的生命開(kāi)發(fā)周期8/6/2023121主要困難多層次持續(xù)的規(guī)劃與評(píng)估判斷架構(gòu)中關(guān)鍵風(fēng)險(xiǎn)的經(jīng)驗(yàn)高效率的驗(yàn)證和評(píng)價(jià)手段多工種之間的頻繁溝通多版本工作產(chǎn)品的管理

9/19/2023122主要困難多層次持續(xù)的規(guī)劃與評(píng)估8/6/2023122基礎(chǔ)保障核心人員必要的管理與技術(shù)經(jīng)驗(yàn)自動(dòng)化的驗(yàn)證和評(píng)價(jià)工具團(tuán)隊(duì)成員之間有高效的溝通工具軟件配置與變更管理工具9/19/2023123基礎(chǔ)保障核心人員必要的管理與技術(shù)經(jīng)驗(yàn)8/6/2023123RUP的裁減RUP僅僅是一個(gè)通用的過(guò)程框架,需要根據(jù)實(shí)際情況裁減。9/19/2023124RUP的裁減RUP僅僅是一個(gè)通用的過(guò)程框架,需要根據(jù)實(shí)AProcessisnotEnoughtoBuildaSystem9/19/2023125AProcessisnotEnoughtoBuiXPXP(ExtremeProgramming),它是由KentBeck大師提出的。大師在經(jīng)歷傳統(tǒng)軟件開(kāi)發(fā)的痛苦之后,希望能夠找到一種優(yōu)秀的軟件開(kāi)發(fā)方法。大師總結(jié)了大量的軟件的成功和失敗的因素之后,提出了改進(jìn)軟件開(kāi)發(fā)方法的四個(gè)要素:溝通(communication)、簡(jiǎn)單化(simplicity)、反饋(feedback)、勇氣(courage)。這形成了XP的核心價(jià)值觀。在經(jī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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論