軟件工程課件第1章 軟件工程概述_第1頁
軟件工程課件第1章 軟件工程概述_第2頁
軟件工程課件第1章 軟件工程概述_第3頁
軟件工程課件第1章 軟件工程概述_第4頁
軟件工程課件第1章 軟件工程概述_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章軟件工程概述本章內(nèi)容:1、軟件危機(jī)出現(xiàn)、爆發(fā)的原因和軟件危機(jī)的表現(xiàn)2、軟件工程的概念、軟件生存期、軟件工程方法和工具3、七種典型的軟件生存期engineeringSoftware1.1軟件危機(jī)和軟件工程

20世紀(jì)60年代以前,軟件設(shè)計(jì)往往只是為了特定的應(yīng)用在指定的計(jì)算機(jī)上設(shè)計(jì)和編制,采用密切依賴于計(jì)算機(jī)的機(jī)器代碼或匯編語言,軟件的規(guī)模比較小,通常也不存在文檔資料,很少使用系統(tǒng)化的開發(fā)方法,設(shè)計(jì)軟件往往等同于編制程序,基本上是個(gè)人設(shè)計(jì)、個(gè)人使用、自給自足的私人化的軟件生產(chǎn)方式。60年代中期,大容量、高速度計(jì)算機(jī)的出現(xiàn),使計(jì)算機(jī)的應(yīng)用范圍迅速擴(kuò)大;高級(jí)語言的出現(xiàn)、操作系統(tǒng)的發(fā)展和第一代數(shù)據(jù)庫管理系統(tǒng)的誕生,使得軟件系統(tǒng)規(guī)模越來越大、軟件可靠性問題也越來越突出,私人化的軟件生產(chǎn)方式不能滿足社會(huì)日益增長(zhǎng)的軟件需求。軟件的發(fā)展速度遠(yuǎn)遠(yuǎn)滯后于硬件的發(fā)展速度,60年代末軟件危機(jī)爆發(fā)。engineeringSoftware軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。這些問題絕不僅僅是“不能正常運(yùn)行的”軟件才具有的,實(shí)際上幾乎所有軟件都不同程度地存在這些問題。軟件危機(jī)主要表現(xiàn),如:對(duì)軟件開發(fā)成本和進(jìn)度估計(jì)不準(zhǔn)確、軟件產(chǎn)品的質(zhì)量靠不住、用戶對(duì)“已完成的”軟件系統(tǒng)不滿意、軟件開發(fā)速度跟不上、軟件不可維護(hù)以及沒有適當(dāng)?shù)奈臋n資料等等。1.1.1軟件危機(jī)爆發(fā)的原因

engineeringSoftware軟件危機(jī)爆發(fā)的主要原因有:(1)軟件,作為計(jì)算機(jī)系統(tǒng)的邏輯部件,很難檢驗(yàn)開發(fā)的正確性且開發(fā)的質(zhì)量。一旦在軟件維護(hù)階段發(fā)現(xiàn)錯(cuò)誤,常意味著要修改原來的設(shè)計(jì),維護(hù)的費(fèi)用十分驚人。(2)軟件開發(fā)的過程是多人分工、分階段完成的,人員之間的溝通和配合十分重要。但是,由于在實(shí)踐的過程中沒有采用工程化的方法,或多或少采用了一些錯(cuò)誤的方法和技術(shù),這是造成軟件危機(jī)的主要原因。(3)開發(fā)和管理人員只重視開發(fā)而輕視問題的定義,使軟件產(chǎn)品無法滿足用戶的要求。1.1.1軟件危機(jī)爆發(fā)的原因

engineeringSoftware軟件危機(jī)爆發(fā)的主要原因有:(4)軟件管理技術(shù)不能滿足現(xiàn)代軟件開發(fā)的需要,沒有統(tǒng)一的軟件質(zhì)量管理規(guī)范。沒有完整、一致的文檔資料;資金分配混亂,人員組織不合理,進(jìn)度安排無序等等。(5)在軟件的開發(fā)和維護(hù)關(guān)系問題上存在錯(cuò)誤的觀念。軟件維護(hù)工作通常是在軟件完成之后進(jìn)行的,因此是極端艱巨復(fù)雜的工作,需要花費(fèi)很大的代價(jià)。在軟件開發(fā)的不同階段進(jìn)行修改需要付出的代價(jià)是很不相同的。必須把軟件維護(hù)的觀念引入軟件開發(fā)的各個(gè)階段,建立起軟件開發(fā)與維護(hù)的正確關(guān)系。1.1.1軟件危機(jī)爆發(fā)的原因

engineeringSoftware為了解決軟件危機(jī),1968和1969年連續(xù)兩次召開的NATO會(huì)議中,提出了軟件工程的概念。FritzBauer對(duì)軟件工程的定義是:“軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實(shí)際機(jī)器上有效運(yùn)行的軟件,而建立和使用的完善的工程原理?!敝能浖こ虒<褺.W.Boehm綜合了學(xué)者們的意見并總結(jié)了TRW公司多年開發(fā)軟件的經(jīng)驗(yàn),于1983年在一篇論文中提出了軟件工程的七條基本原理。1.1.2軟件工程的概念

engineeringSoftware軟件工程的七條基本原理:(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)開發(fā)小組的人員應(yīng)該少而精(7)承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性1.1.2軟件工程的概念

engineeringSoftware軟件工程可以給出這樣一個(gè)解釋:軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好技術(shù)結(jié)合起來,從而經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。1.1.2軟件工程的概念

engineeringSoftware軟件也有一個(gè)孕育、誕生、成長(zhǎng)、成熟和衰亡的生存過程,我們稱這個(gè)過程為軟件生命周期或軟件生存期。人類解決復(fù)雜問題時(shí)普遍采用對(duì)問題進(jìn)行分解然后再分別解決各個(gè)子問題的策略。軟件工程采用的生存期方法學(xué)就是從時(shí)間角度對(duì)軟件開發(fā)和維護(hù)的復(fù)雜問題進(jìn)行分解,把軟件生命的漫長(zhǎng)周期劃分為若干個(gè)階段,每個(gè)階段有相對(duì)獨(dú)立的任務(wù)。此方法學(xué)可以大大提高軟件開發(fā)的生產(chǎn)率和成功率。1.2軟件生存期engineeringSoftware軟件生命周期:軟件定義、軟件開發(fā)和軟件維護(hù)三個(gè)時(shí)期。軟件定義時(shí)期:確定軟件開發(fā)必須完成的總目標(biāo)和可行性;導(dǎo)出實(shí)現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計(jì)完成該項(xiàng)工程需要的資源和成本,并且制定工程進(jìn)度表。軟件定義時(shí)期分成三個(gè)階段:?jiǎn)栴}定義、可行性研究和需求分析。開發(fā)時(shí)期:具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件,通常包括四個(gè)階段:總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試。維護(hù)時(shí)期:使軟件持久地滿足用戶的需要。主要包括:改正錯(cuò)誤;改進(jìn)軟件適應(yīng)新的環(huán)境或滿足用戶的新需要。1.2軟件生存期

engineeringSoftware1.問題定義回答的關(guān)鍵問題是:“要解決的問題是什么?”

2.可行性研究回答的關(guān)鍵問題是:“對(duì)于上一個(gè)階段所確定的問題有行得通的解決辦法嗎?”3.需求分析這個(gè)階段準(zhǔn)確地確定“為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須做什么”,主要是確定目標(biāo)系統(tǒng)必須具備哪些功能。4.總體設(shè)計(jì)回答的關(guān)鍵問題是:“概括地說明,應(yīng)該如何解決這個(gè)問題?”5.詳細(xì)設(shè)計(jì)回答的關(guān)鍵問題:“應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢?”1.2軟件生存期

engineeringSoftware6.編碼和單元測(cè)試關(guān)鍵任務(wù)是寫出正確的容易理解、容易維護(hù)的程序模塊。7.綜合測(cè)試關(guān)鍵任務(wù)是通過各種類型的測(cè)試使軟件達(dá)到預(yù)定的要求。最基本的測(cè)試是集成測(cè)試和驗(yàn)收測(cè)試。8.軟件維護(hù)關(guān)鍵任務(wù)是通過各種必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的需要。通常有四類維護(hù)活動(dòng):改正性維護(hù),適應(yīng)性維護(hù),完善性維護(hù),預(yù)防性維護(hù)。1.2軟件生存期

engineeringSoftware通常將軟件生命周期中使用的一整套技術(shù)方法的集合稱為方法學(xué),就是從時(shí)間角度對(duì)軟件開發(fā)和維護(hù)的復(fù)雜問題進(jìn)行分解,把軟件生命的漫長(zhǎng)周期依次劃分為若干個(gè)階段,每個(gè)階段有相對(duì)獨(dú)立的任務(wù),然后逐步完成每個(gè)階段的任務(wù)。目前使用最廣泛的軟件工程方法學(xué)為結(jié)構(gòu)化方法和面向?qū)ο蠓椒ā\浖こ谭椒▽W(xué)包括三要素:方法、工具和過程。軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù);軟件工程工具為軟件開發(fā)提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境;軟件工程過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。1.3軟件工程方法engineeringSoftware1.3.1結(jié)構(gòu)化方法結(jié)構(gòu)化方法是傳統(tǒng)的軟件開發(fā)方法,面向?qū)ο箝_發(fā)方法出現(xiàn)前應(yīng)用最廣泛。結(jié)構(gòu)化方法的基本思想:用系統(tǒng)工程的思想和工程化的方法,按用戶至上的原則,結(jié)構(gòu)化、模塊化、自頂向下地對(duì)系統(tǒng)進(jìn)行分析與設(shè)計(jì)。具體來說,就是先將整個(gè)系統(tǒng)開發(fā)過程劃分為若干個(gè)相對(duì)獨(dú)立的階段,如系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施等。在前三個(gè)階段堅(jiān)持自頂向下先考慮整體,后考慮局部。在系統(tǒng)實(shí)施階段,則應(yīng)堅(jiān)持自底向上地逐步實(shí)施。從最底層模塊做起(編程),然后按照系統(tǒng)設(shè)計(jì)的結(jié)構(gòu),將模塊一個(gè)個(gè)拼接到一起進(jìn)行調(diào)試,自底向上、逐漸地構(gòu)成整體系統(tǒng)。1.3軟件工程方法engineeringSoftware結(jié)構(gòu)化方法主要特點(diǎn):(1)自頂向下整體性的分析與設(shè)計(jì)和自底向上逐步實(shí)施的系統(tǒng)開發(fā)過程。(2)用戶至上。(3)深入調(diào)查研究。(4)嚴(yán)格區(qū)分工作階段。(5)充分預(yù)計(jì)可能發(fā)生的變化。(6)開發(fā)過程工程化。1.3軟件工程方法engineeringSoftware1.3.2面向?qū)ο蠓椒嫦驅(qū)ο蠓椒?Object-OrientedMethod)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動(dòng)的系統(tǒng)方法。面向?qū)ο蟮姆治?ObjectOrientedAnalysis,簡(jiǎn)稱OOA)面向?qū)ο蟮脑O(shè)計(jì)(ObjectOrientedDesign,簡(jiǎn)稱OOD)面向?qū)ο蟮膶?shí)現(xiàn)(ObjectOrientedImplementation,簡(jiǎn)稱OOI)面向?qū)ο蟮慕UZ言很多,目前使用最廣泛的是統(tǒng)一建模語言(UnifiedModelingLanguage,簡(jiǎn)稱UML),它將Booch、Rumbaugh和Jacobson等各自獨(dú)立的OOA和OOD方法中最優(yōu)秀的特色組合成一個(gè)統(tǒng)一的方法。1.3軟件工程方法engineeringSoftware面向?qū)ο蠓椒ǖ闹饕獌?yōu)點(diǎn):(1)與人類習(xí)慣的思維方法一致,使用者和維護(hù)人員都容易理解,在軟件維護(hù)中可維護(hù)性也較高,并且易于測(cè)試和調(diào)試。(2)穩(wěn)定性好,對(duì)軟件的局部進(jìn)行修改時(shí),不會(huì)引起整體的變化,而且對(duì)局部修改容易實(shí)現(xiàn)。(3)面向?qū)ο蠓椒ǖ目芍赜煤?,而且把大問題分解成相互獨(dú)立的小問題處理,降低了開發(fā)的技術(shù)難度,管理容易,成本降低,容易開發(fā)大型軟件??傊?,在編程方面,結(jié)構(gòu)化方法有著比較強(qiáng)的優(yōu)勢(shì),它思路清晰,條理嚴(yán)謹(jǐn),便于閱讀理解;而面向?qū)ο蠓椒ǜ⒅赜脩舻氖褂?,它操作?jiǎn)單,界面清楚,使用簡(jiǎn)單。1.3軟件工程方法engineeringSoftware軟件工程工具是以計(jì)算機(jī)為基礎(chǔ)的一批軟件工具,能支持軟件生存周期中某一階段(如系統(tǒng)定義、需求分析、設(shè)計(jì)、編碼、測(cè)試或維護(hù)等)的需要。軟件工具通常也稱為計(jì)算機(jī)輔助軟件工程(computeraidedsoftwareengineering,簡(jiǎn)稱CASE)工具。使用這些工具的目的是使軟件工程更加系統(tǒng)化,使得良好定義的動(dòng)作反復(fù)并自動(dòng)地執(zhí)行,減少軟件工程師的重復(fù)性勞動(dòng),而把精力主要放在軟件開發(fā)的創(chuàng)造性方面。1.軟件工具的分類(1)支持軟件開發(fā)過程的工具:需求分析工具、設(shè)計(jì)工具、編碼工具、排錯(cuò)工具、測(cè)試工具等。(2)支持軟件維護(hù)過程的工具:主要有版本控制工具、文檔分析工具等。(3)支持軟件管理過程和支持過程的工具:項(xiàng)目管理工具、配置管理工具等。1.4軟件工程工具

engineeringSoftware2.軟件工具的介紹大部分軟件工程的需求分析和設(shè)計(jì)工具都是集二者于一身的:RationalRose,由Rational開發(fā),后被IBM收購(gòu),是基于UML的可視化建模工具。IBMRationalSoftwareArchitect(RSA),是IBM公司推出的從設(shè)計(jì)到開發(fā)的完整的集成開發(fā)環(huán)境,它支持UML建模、模型驅(qū)動(dòng)開發(fā)等多種建模相關(guān)的活動(dòng)。PowerDesigner,由Sybase開發(fā)的CASE工具集,使用它可以方便地對(duì)管理信息系統(tǒng)進(jìn)行分析設(shè)計(jì),它包括了數(shù)據(jù)庫模型設(shè)計(jì)的全過程。MicrosoftOfficeVisio,由Microsoft開發(fā),是一款便于IT和商務(wù)專業(yè)人員就復(fù)雜信息、系統(tǒng)和流程進(jìn)行可視化處理、分析和交流的軟件,支持各種圖形的繪制和部分UML建模。1.4軟件工程工具engineeringSoftware軟件生存期模型是描述軟件開發(fā)過程中各種活動(dòng)如何執(zhí)行的模型。軟件生存期模型確立了軟件開發(fā)和演繹中各階段的次序限制以及各階段的準(zhǔn)則,確立開發(fā)過程所遵守的規(guī)定和限制,便于各種活動(dòng)的協(xié)調(diào),便于各種人員的有效通信,有利于活動(dòng)重用,有利于活動(dòng)管理。常見的軟件生存期模型有瀑布模型、增量模型、快速原型模型、噴泉模型、螺旋模型、統(tǒng)一過程、敏捷開發(fā)等。1.5軟件生存期模型

engineeringSoftware1.5.1瀑布模型在20世紀(jì)80年代之前,瀑布模型一直是唯一被廣泛采用的軟件生存期模型。核心思想:按工序?qū)栴}化簡(jiǎn),采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法將功能的實(shí)現(xiàn)與設(shè)計(jì)分開,便于分工協(xié)作。將軟件生命周期劃分為六個(gè)基本活動(dòng),并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級(jí)下落。1.5軟件生存期模型

engineeringSoftware瀑布模型的特點(diǎn):(1)階段間具有順序性和依賴性。(2)推遲實(shí)現(xiàn)。瀑布模型在編碼之前設(shè)置了系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的各個(gè)階段,在這兩個(gè)階段主要考慮目標(biāo)系統(tǒng)的邏輯模型,不涉及軟件的物理實(shí)現(xiàn)。(3)質(zhì)量保證。每個(gè)階段都必須完成規(guī)定的文檔,結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問題,改正錯(cuò)誤。1.5軟件生存期模型

engineeringSoftware1.5軟件生存期模型engineeringSoftware實(shí)際的瀑布模型是帶“反饋環(huán)”的。優(yōu)點(diǎn):(1)可強(qiáng)迫開發(fā)人員采用規(guī)范化的方法。(2)嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔。(3)要求每個(gè)階段交出的所有產(chǎn)品都必須是經(jīng)過驗(yàn)證的。缺點(diǎn):(1)由于瀑布模型幾乎完全依賴于書面的規(guī)格說明,很可能導(dǎo)致最終開發(fā)出的軟件產(chǎn)品不能真正滿足用戶的需要。(2)瀑布模型只適用于項(xiàng)目開始時(shí)需求已確定的情況。1.5軟件生存期模型engineeringSoftware1.5.2增量模型增量模型中系統(tǒng)的開發(fā)是建立一系列的版本(增量),每個(gè)版本添加部分功能到先前的版本中。第1個(gè)增量往往是核心的產(chǎn)品,即第1個(gè)增量實(shí)現(xiàn)了基本的需求,但很多補(bǔ)充的特征還沒有發(fā)布。優(yōu)點(diǎn):(1)能在較短時(shí)間內(nèi)向用戶提交可以完成一些有用的工作的產(chǎn)品。(2)逐步增加產(chǎn)品的功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品。(3)項(xiàng)目失敗的風(fēng)險(xiǎn)較低。(4)優(yōu)先級(jí)最高的服務(wù)首先交付。

1.5軟件生存期模型engineeringSoftware1.5.3快速原型模型快速原型模型是在開發(fā)真實(shí)系統(tǒng)之前,構(gòu)造一個(gè)原型,即快速建立起來可以在計(jì)算機(jī)上運(yùn)行的程序,完成最終產(chǎn)品能完成的功能的一個(gè)子集。然后,在該原型的基礎(chǔ)上,逐漸完成整個(gè)系統(tǒng)的開發(fā)。傳統(tǒng)的瀑布模型本質(zhì)上是一種線性順序模型,在進(jìn)行具體的開發(fā)工作之前,必須通過需求分析預(yù)先定義并“凍結(jié)”軟件需求,然后再一步一步的實(shí)現(xiàn)這些需求。但是實(shí)際在系統(tǒng)建立之前很難只依靠分析就確定出一套完整、準(zhǔn)確、一致和有效的用戶需求,而且用戶需求還可能不斷變化。1.5軟件生存期模型engineeringSoftware快速原型模型的第一步是建造一個(gè)快速原型,實(shí)現(xiàn)用戶與系統(tǒng)的交互,用戶對(duì)原型進(jìn)行評(píng)價(jià),進(jìn)一步細(xì)化待開發(fā)軟件的需求。通過逐步調(diào)整原型使其滿足用戶的要求,開發(fā)人員可以確定用戶的真正需求是什么;第二步則在第一步的基礎(chǔ)上開發(fā)用戶滿意的軟件產(chǎn)品。1.5軟件生存期模型engineeringSoftware優(yōu)點(diǎn):(1)有助于滿足用戶的真實(shí)需求。(2)原型系統(tǒng)已經(jīng)通過與用戶的交互而得到驗(yàn)證,據(jù)此產(chǎn)生的規(guī)格說明文檔能夠正確地描述用戶需求。(3)軟件產(chǎn)品的開發(fā)基本上是按線性順序進(jìn)行。(4)因?yàn)橐?guī)格說明文檔正確地描述了用戶需求,因此,在開發(fā)過程的后續(xù)階段不會(huì)因?yàn)榘l(fā)現(xiàn)規(guī)格說明文檔的錯(cuò)誤而進(jìn)行較大的返工。(5)開發(fā)人員通過建立原型系統(tǒng)已經(jīng)學(xué)到了許多東西,因此,在設(shè)計(jì)和編碼階段發(fā)生錯(cuò)誤的可能性也比較小。(6)快速原型的突出特點(diǎn)是“快速”。節(jié)約軟件開發(fā)成本。1.5軟件生存期模型engineeringSoftware1.5.4噴泉模型噴泉模型是一種以用戶需求為動(dòng)力,以對(duì)象為驅(qū)動(dòng)的模型,主要用于描述面向?qū)ο蟮能浖_發(fā)過程?!皣娙币辉~體現(xiàn)了迭代和無間隙特性。1.5軟件生存期模型engineeringSoftware噴泉模型優(yōu)點(diǎn):各個(gè)階段沒有明顯的界限,開發(fā)人員可以同步進(jìn)行開發(fā)。可以提高軟件項(xiàng)目開發(fā)效率,節(jié)省開發(fā)時(shí)間,適應(yīng)于面向?qū)ο蟮能浖_發(fā)過程。

缺點(diǎn):各個(gè)開發(fā)階段是重疊的,開發(fā)過程中需要大量的開發(fā)人員,不利于項(xiàng)目的管理。另外這種模型要求嚴(yán)格管理文檔,使得審核的難度加大,尤其是面對(duì)可能隨時(shí)加入各種信息、需求與資料的情況。1.5軟件生存期模型engineeringSoftware1.5.5螺旋模型

螺旋模型是一種演化軟件開發(fā)過程模型,它兼顧了快速原型的迭代的特征以及瀑布模型的系統(tǒng)化與嚴(yán)格監(jiān)控。其最大的特點(diǎn)在于引入了其他模型不具備的風(fēng)險(xiǎn)分析。1.5軟件生存期模型engineeringSoftware螺旋模型的應(yīng)用存在限制條件:只適合于大規(guī)模軟件項(xiàng)目;開發(fā)人員需具有豐富的風(fēng)險(xiǎn)評(píng)估知識(shí)和經(jīng)驗(yàn)。優(yōu)點(diǎn):(1)設(shè)計(jì)上的靈活性。(2)以小的分段來構(gòu)建大型系統(tǒng),使成本計(jì)算變得簡(jiǎn)單容易。(3)客戶始終參與每個(gè)階段的開發(fā)??蛻裟軌蚝凸芾韺佑行У亟换?。(4)對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于軟件的重用,以及提高軟件質(zhì)量。缺點(diǎn):螺旋模型是風(fēng)險(xiǎn)驅(qū)動(dòng)的,因此要求軟件開發(fā)人員必須具有豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和這方面的專門知識(shí),否則將出現(xiàn)真正的風(fēng)險(xiǎn)。1.5軟件生存期模型engineeringSoftware

1.5.6統(tǒng)一過程模型是一種以用例驅(qū)動(dòng)、以體系結(jié)構(gòu)為核心、迭代及增量的軟件過程模型,廣泛應(yīng)用于各類面向?qū)ο箜?xiàng)目。按照二維結(jié)構(gòu)組織,橫軸按時(shí)間組織,顯示統(tǒng)一過程的動(dòng)態(tài)特征,縱軸按

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論