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

下載本文檔

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

文檔簡介

1、軟件工程導(dǎo)論(第5版),普通高校本科計(jì)算機(jī)專業(yè)特色教材精選,張海藩 編著,主講: 徐怡 E-mail: ,主要內(nèi)容,第1章 軟件工程學(xué)概述 第2章 可行性研究 第3章 需求分析 第5章 總體設(shè)計(jì) 第6章 詳細(xì)設(shè)計(jì) 第7章 實(shí)現(xiàn) 第8章 維護(hù) 第9章 面向?qū)ο蠓椒▽W(xué)引論,成 績,期末考試(70%) 平時(shí)成績(30%) 考勤,作業(yè),課堂練習(xí) 上機(jī)成績(單獨(dú)給成績),參考書籍,軟件工程技術(shù)概論 朱三元 科學(xué)出版社 實(shí)用軟件工程 鄭人杰 清華出版社 現(xiàn)代軟件工程 周之英 科學(xué)出版社,第1章 軟件工程學(xué)概述,1.1 軟件危機(jī) 1.2 軟件工程 1.3 軟件生命周期 1.4 軟件過程 1.5 小結(jié),本章要

2、點(diǎn),1.了解軟件的發(fā)展和軟件危機(jī) 2.掌握軟件工程和軟件生存周期的概念 3.了解軟件過程,引言,1.什么是軟件 2.軟件的特點(diǎn),什么是軟件,軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。軟件=程序+數(shù)據(jù)+文檔 程序是按事先設(shè)計(jì)的功能要求執(zhí)行的指令序列。程序 = 算法 + 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu) 文檔是與程序開發(fā),維護(hù)和使用有關(guān)的圖文資料,軟件的特點(diǎn),軟件是一種邏輯實(shí)體,具有抽象性。人們無法看到軟件本身的形態(tài),必須通過觀察、分析、思考、判斷才能了解它的功能和性能。 軟件在使用過程中無磨損問題;卻要根據(jù)硬件、環(huán)境、需求變化而修改,這些

3、修改不可避免引入錯(cuò)誤,導(dǎo)致軟件失效率升高,從而軟件退化;當(dāng)修改成本難以承受時(shí),軟件被拋棄。 軟件對(duì)硬件和環(huán)境有不同程度的依賴,這導(dǎo)致了移植問題。,軟件開發(fā)至今尚無法擺脫手工作坊式的開發(fā)方 式,生產(chǎn)效率低。 軟件本身是復(fù)雜的。 軟件成本相當(dāng)昂貴。 軟件工作涉及到很多社會(huì)因素。 機(jī)構(gòu)、體制和管理方式;人們的觀念和心理; 這些因素,常常成為軟件開發(fā)的困難所在,直接影響到項(xiàng)目的成敗,個(gè)體化開發(fā)階段(20世紀(jì)60年代中期以前) 計(jì)算機(jī)系統(tǒng)發(fā)展的初期,軟件帶有強(qiáng)烈的個(gè)人色 彩,采用個(gè)體化開發(fā)方式;軟件開發(fā)沒有方法可 尋,軟件設(shè)計(jì)是在人們頭腦中完成的,除了程序 清單之外,沒有其他文檔資料保存下來。 軟件作坊

4、時(shí)期(60年代中期到70年代) “軟件作坊”,軟件作為一種產(chǎn)品被廣泛使用;但 是仍然使用早期的個(gè)體化開發(fā)方式。,1.1 軟件危機(jī),隨著軟件數(shù)量的增加及軟件需求的日趨復(fù)雜,維護(hù)難度越來越大,開發(fā)成本高,質(zhì)量低。更嚴(yán)重的是,許多程序的個(gè)體化特性使得它們最終成為不可維護(hù)的。導(dǎo)致“軟件危機(jī)”。 1968年北大西洋公約組織的計(jì)算機(jī)科學(xué)家在聯(lián)邦德國召開國際會(huì)議,討論軟件危機(jī)問題,在這次會(huì)議上正式提出并使用了“軟件工程”這個(gè)名詞,一門新興的工程學(xué)科就此誕生了。,軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中 所遇到的一系列嚴(yán)重問題。 概括地說,軟件危機(jī)包含下述兩方面的問題: 如何開發(fā)軟件,以滿足對(duì)軟件日益增長的

5、需求; 如何維護(hù)數(shù)量不斷膨脹的已有軟件。,1.1.1 軟件危機(jī)的介紹,具體地說,軟件危機(jī)主要有以下一些典型表現(xiàn)。 (1) 對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。 (2) 用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。 (3) 軟件產(chǎn)品的質(zhì)量往往靠不住。 (4) 軟件常常是不可維護(hù)的。 (5) 軟件通常沒有適當(dāng)?shù)奈臋n資料。 (6) 軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。 (7) 軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。,一方面與軟件本身的特點(diǎn)有關(guān),另一方面也和軟件開發(fā)與維護(hù)的方法不正確有關(guān)。具體包括以下幾個(gè)方面: 1、軟件是邏輯部件,缺乏“可見性”,軟件開

6、發(fā)過程的進(jìn)展情況較難衡量;開發(fā)質(zhì)量較難評(píng)價(jià),開發(fā)過程管理和控制較難;運(yùn)行過程才能暴露沒有檢測(cè)出來的事故,相當(dāng)于修改設(shè)計(jì),軟件維護(hù)困難。 2、軟件規(guī)模龐大,有技術(shù)問題,也有管理方法問題。 3、早期開發(fā)的個(gè)體化;忽視需求分析;認(rèn)為軟件開發(fā)就是寫程序,文檔資料不齊全,輕視軟件維護(hù)等。 4、對(duì)用戶要求沒有完整準(zhǔn)確的認(rèn)識(shí)就匆忙著手編寫程序是許多軟件開發(fā)工程失敗的主要原因之一。所以對(duì)前期工作不能忽視,做好軟件定義時(shí)期的工作,這是降低成本,提高軟件質(zhì)量的關(guān)鍵。 5、在軟件開發(fā)的不同階段進(jìn)行修改需要付出的代價(jià)是很不相同的(后期是前期的2-3個(gè)數(shù)量級(jí))。 6、輕視維護(hù)是一個(gè)最大的錯(cuò)誤。軟件維護(hù)是極端艱巨復(fù)雜的工

7、作, (費(fèi)用占軟件總費(fèi)用的55%70%)。,1.1.2 產(chǎn)生軟件危機(jī)的原因,圖1.1 引入同一變動(dòng)付出的代價(jià)隨時(shí)間變化的趨勢(shì),(1)正確認(rèn)識(shí)計(jì)算機(jī)軟件(軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合) (2)很好地借鑒前人在開發(fā)和使用計(jì)算機(jī)系統(tǒng)的長期實(shí)踐中積累和總結(jié)的寶貴經(jīng)驗(yàn) (3)積極開發(fā)和使用計(jì)算機(jī)輔助軟件工程工具 總之,為了解決軟件危機(jī),既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。軟件工程正是從管理和技術(shù)兩方面研究如何更好地開發(fā)和維護(hù)計(jì)算機(jī)軟件的一門新興學(xué)科。,1.1.3 消除軟件危機(jī)的途徑,概括地說,軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。 采用工程的概念、原理、技術(shù)和方法

8、來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。 軟件工程的三要素:工程方法+軟件開發(fā)技術(shù)+軟件項(xiàng)目管理。,1.2 軟件工程 1.2.1 軟件工程的介紹,軟件工程具有下述的本質(zhì)特性。 1. 軟件工程關(guān)注于大型程序的構(gòu)造 2. 軟件工程的中心課題是控制復(fù)雜性 3. 軟件經(jīng)常變化 4. 開發(fā)軟件的效率非常重要 5. 和諧地合作是開發(fā)軟件的關(guān)鍵 6. 軟件必須有效地支持它的用戶 7. 在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品,軟件工程的7條基本原理(確保軟件產(chǎn)品質(zhì)量和

9、開發(fā)效率的原理的最小集合) 1. 用分階段的生存周期計(jì)劃嚴(yán)格管理 2. 堅(jiān)持進(jìn)行階段評(píng)審 3. 嚴(yán)格實(shí)行產(chǎn)品控制 4. 采用現(xiàn)代程序設(shè)計(jì)技術(shù) 5. 結(jié)果應(yīng)能清楚地審查 6. 開發(fā)小組的人員應(yīng)該少而精 7. 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性,1.2.2 軟件工程的基本原理,通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué)(methodology),也稱為范型(paradigm)。 軟件工程方法學(xué)包含3個(gè)要素:方法、工具和過程。 方法是完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“怎樣做”的問題; 工具是為運(yùn)用方法而提供的自動(dòng)的或半自動(dòng)的軟件工程支撐環(huán)境; 過程是為了獲得高質(zhì)量的軟件所需

10、要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。 使用得最廣泛的軟件工程方法學(xué):傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。,1.2.3 軟件工程方法學(xué),傳統(tǒng)方法學(xué) 傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。它采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來完成軟件開發(fā)的各項(xiàng)任務(wù)。 把軟件生命周期的全過程依次劃分為若干個(gè)階段,順序地完成每個(gè)階段的任務(wù)。前一個(gè)階段任務(wù)的完成是開始進(jìn)行后一個(gè)階段工作的前提和基礎(chǔ),而后一階段任務(wù)的完成通常是使前一階段提出的解法更進(jìn)一步具體化。,在每一階段結(jié)束前都進(jìn)行管理復(fù)審和技術(shù)審查。 管理復(fù)審:主要任務(wù)是對(duì)工程項(xiàng)目的成本,實(shí)際花費(fèi)的經(jīng)費(fèi),投資回收的前景,項(xiàng)目的進(jìn)

11、度等經(jīng)濟(jì)因素從管理角度進(jìn)行審查。 技術(shù)審查是保證軟件質(zhì)量和降低開發(fā)成本的重要措施。,2. 面向?qū)ο蠓椒▽W(xué) 傳統(tǒng)方法學(xué)把數(shù)據(jù)和操作分離成兩個(gè)獨(dú)立的部分,當(dāng)軟件規(guī)模龐大,或者對(duì)軟件的需求是模糊的或會(huì)隨時(shí)間而變化的時(shí)候,使用傳統(tǒng)方法學(xué)開發(fā)軟件往往不成功,此外,使用傳統(tǒng)方法學(xué)開發(fā)出的軟件,維護(hù)起來仍然很困難。 面向?qū)ο蠓椒▽W(xué)盡量模擬人類習(xí)慣的思維方式,把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)合起來,使開發(fā)軟件的方法與過程盡可能接近人類認(rèn)識(shí)世界解決問題的方法與過程,從而使描述問題的問題空間(也稱為問題域)與實(shí)現(xiàn)解法的解空間(也稱為求解域)在結(jié)構(gòu)上盡可能一致。,概括地說,面向?qū)ο蠓椒▽W(xué)具有下述4個(gè)要點(diǎn)。 (1) 把對(duì)

12、象(object)作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件。也就是說,用對(duì)象分解取代了傳統(tǒng)方法的功能分解。 (2) 把所有對(duì)象都劃分成類(class)。每個(gè)類都定義了一組數(shù)據(jù)和一組操作,類是對(duì)具有相同數(shù)據(jù)和相同操作的一組相似對(duì)象的定義。 (3) 按照父類(或稱為基類)與子類(或稱為派生類)的關(guān)系,把若干個(gè)相關(guān)類組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級(jí))。在類等級(jí)中,下層派生類自動(dòng)擁有上層基類中定義的數(shù)據(jù)和操作,這種現(xiàn)象稱為繼承。 (4) 對(duì)象彼此間僅能通過發(fā)送消息互相聯(lián)系。也就是說,對(duì)象的所有私有信息都被封裝在該對(duì)象內(nèi),不能從外界直接訪問,這就是通常所說的封裝性。,一個(gè)軟件從定義、開發(fā)、

13、使用和維護(hù),直到最終被廢棄,要經(jīng)歷一個(gè)漫長的時(shí)期。通常把這個(gè)漫長的時(shí)期稱為生命周期。 軟件生命周期由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)(也稱為軟件維護(hù))3個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分成若干個(gè)階段。,1.3 軟件生命周期,軟件定義時(shí)期的任務(wù)是: 確定軟件開發(fā)工程必須完成的總目標(biāo);確定工程的可行性;導(dǎo)出實(shí)現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計(jì)完成該項(xiàng)工程需要的資源和成本,并且制定工程進(jìn)度表。 這個(gè)時(shí)期的工作通常又稱為系統(tǒng)分析,由系統(tǒng)分析員負(fù)責(zé)完成。軟件定義時(shí)期通常進(jìn)一步劃分成3個(gè)階段,即問題定義、可行性研究和需求分析。,開發(fā)時(shí)期具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件,它通常由下述4個(gè)階段組

14、成:總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼和單元測(cè)試,綜合測(cè)試。其中前兩個(gè)階段又稱為系統(tǒng)設(shè)計(jì),后兩個(gè)階段又稱為系統(tǒng)實(shí)現(xiàn)。 維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)。每一次維護(hù)活動(dòng)本質(zhì)上都是一次壓縮和簡化了的定義和開發(fā)過程。,下面扼要介紹軟件生命周期每個(gè)階段的基本任務(wù)。 1. 問題定義:要解決的問題是什么? 2. 可行性研究:對(duì)于上一個(gè)階段所確定的問題有行 得通的解決辦法嗎? 3. 需求分析:為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須 做什么? 4. 總體設(shè)計(jì):概括地說,應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)? 5. 詳細(xì)設(shè)計(jì):應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢? 6. 編碼和單元測(cè)試:寫出

15、正確的容易理解、容易維護(hù)的程序模塊并測(cè)試。 7. 綜合測(cè)試:通過各種類型的測(cè)試(及相應(yīng)的調(diào)試)使軟件達(dá)到預(yù)定的要求。 8. 軟件維護(hù):通過各種必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的需要。,軟件過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。 過程定義了運(yùn)用方法的順序、應(yīng)該交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)變化所需要采取的管理措施,以及標(biāo)志軟件開發(fā)各個(gè)階段任務(wù)完成的里程碑。為獲得高質(zhì)量的軟件產(chǎn)品,軟件過程必須科學(xué)、有效。 通常使用生命周期模型簡潔地描述軟件過程。生命周期模型規(guī)定了把生命周期劃分成哪些階段及各個(gè)階段的執(zhí)行順序,因此,也稱為過程模型。 常用軟件開

16、發(fā)模型:瀑布模型,快速原型模型、增量模型、螺旋模型、噴泉模型等。,1.4 軟件過程,瀑布模型又叫流水式過程模型,它是模仿旅游景點(diǎn)的階梯瀑布,由上向下一個(gè)階梯一個(gè)階梯地傾瀉下來,最后進(jìn)入一個(gè)風(fēng)平浪盡的大湖,這個(gè)大湖就是軟件企業(yè)的產(chǎn)品庫。 模型的本意:根據(jù)軟件生存周期是由問題定義、可行性研究、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程、測(cè)試、維護(hù)等階段所組成的,把每個(gè)階段當(dāng)作瀑布中的一個(gè)臺(tái)階,把軟件生存過程比喻成瀑布中的流水,軟件生存過程在這些臺(tái)階中由上向下地奔流。開發(fā)人員按階段開發(fā),管理人員按階段管理。,1.4.1 瀑布模型,圖1.2 傳統(tǒng)的瀑布模型,瀑布模型的特點(diǎn): 1. 階段間具有順序性和依賴性 這

17、個(gè)特點(diǎn)有兩重含義: 必須等前一階段的工作完成之后,才能開始后一階段的工作; 前一階段的輸出文檔就是后一階段的輸入文檔,因此,只有前一階段的輸出文檔正確,后一階段的工作才能獲得正確的結(jié)果。 2. 推遲實(shí)現(xiàn)的觀點(diǎn) 瀑布模型在編碼之前設(shè)置了系統(tǒng)分析與系統(tǒng)設(shè)計(jì)的各個(gè)階段,清楚地區(qū)分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序的物理實(shí)現(xiàn)。 3. 質(zhì)量保證的觀點(diǎn) 在瀑布模型的每個(gè)階段都應(yīng)堅(jiān)持兩個(gè)重要做法: (1) 每個(gè)階段都必須完成規(guī)定的文檔,沒有交出合格的文檔就是沒有完成該階段的任務(wù)。 (2) 每個(gè)階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問題,改正錯(cuò)誤。,傳統(tǒng)的瀑布模型過于理想化了,實(shí)際的瀑布模型是帶“

18、反饋環(huán)”的,如圖1.3所示(圖中實(shí)線箭頭表示開發(fā)過程,虛線箭頭表示維護(hù)過程)。 當(dāng)在后面階段發(fā)現(xiàn)前面階段的錯(cuò)誤時(shí),需要沿圖中左側(cè)的反饋線返回前面的階段,修正前面階段的產(chǎn)品之后再回來繼續(xù)完成后面階段的任務(wù)。,圖1.3 實(shí)際的瀑布模型,模型的優(yōu)缺點(diǎn): (1)文檔驅(qū)動(dòng),使軟件維護(hù)變得比較容易一些 (2)由于逆轉(zhuǎn)性很差,所以返工會(huì)造成重大損失。 (3)錯(cuò)誤的傳遞,會(huì)采取發(fā)散擴(kuò)大的方式。 選擇模型的條件: 不是任何軟件都可以采用瀑布模型的,軟件項(xiàng)目 或產(chǎn)品選擇瀑布模型,必須滿足下列條件: (1)在開發(fā)時(shí)間內(nèi)需求沒有或很少變化。 (2)分析設(shè)計(jì)人員對(duì)應(yīng)用領(lǐng)域很熟悉。 (3)低風(fēng)險(xiǎn)項(xiàng)目(對(duì)目標(biāo)、環(huán)境很熟悉)

19、。 (4)用戶使用環(huán)境很穩(wěn)定。 (5)用戶除提出需求以外,很少參與開發(fā)。,所謂快速原型是快速建立起來的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。 模型本意:在初步需求分析之后,馬上向客戶展示一個(gè)軟件產(chǎn)品原型,對(duì)客戶進(jìn)行培訓(xùn),讓客戶試用,在試用中收集意見,修改原型,再讓客戶試用,反復(fù)循環(huán)幾次,直到客戶確認(rèn)為止。,1.4.2 快速原型模型,為什么要采用快速原型方法? 用戶也很難一次性把其真實(shí)的要求完全提交給軟件公司。 用戶開始階段提出的需求往往只是對(duì)系統(tǒng)的期望和比較模糊的設(shè)想。 軟件公司明確用戶需求的最佳方式就是為用戶提供原型并由用戶進(jìn)行評(píng)價(jià)。,圖1.4 快速

20、原型模型,快速原型模型基本上是線性順序進(jìn)行的。主要原因如下: (1)原型系統(tǒng)已經(jīng)通過與用戶交互而得到驗(yàn)證,在開發(fā)的后續(xù)階段不會(huì)因?yàn)榘l(fā)現(xiàn)了規(guī)格說明文檔的錯(cuò)誤而進(jìn)行較大的返工。 (2)開發(fā)人員通過建立原型系統(tǒng)學(xué)到了許多東西(至少知道了“系統(tǒng)不應(yīng)該做什么,以及怎樣不去做不該做的事情”),減少了在后續(xù)階段需要改正前面階段所犯錯(cuò)誤的可能性。,增量模型也稱為漸增模型。使用增量模型開發(fā)軟件時(shí),把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計(jì)、編碼、集成和測(cè)試。每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定的功能。 把軟件產(chǎn)品分解成增量構(gòu)件時(shí),應(yīng)該使構(gòu)件的規(guī)模適中,分解時(shí)惟一必須遵守的約束條件是,當(dāng)把新構(gòu)件集成到現(xiàn)有

21、軟件中時(shí),所形成的產(chǎn)品必須是可測(cè)試的。,1.4.3 增量模型,圖1.5 增量模型,模型的本意:要開發(fā)一個(gè)大的軟件系統(tǒng),先開發(fā)其中的一個(gè)核心模塊,然后再開發(fā)其他模塊,這樣一個(gè)個(gè)模塊地增加上去,就象搭積木一樣,直至整個(gè)系統(tǒng)開發(fā)完畢為止。 模型的優(yōu)點(diǎn): (1)任務(wù)或功能模塊驅(qū)動(dòng),可以分階段提交產(chǎn)品; (2)逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品。,模型的缺點(diǎn): 若軟件系統(tǒng)的組裝和拆卸性不強(qiáng),或開發(fā)人員全局把握水平不高(沒有數(shù)據(jù)庫設(shè)計(jì)專家進(jìn)行系統(tǒng)集成),或者客戶不同意分階段提交產(chǎn)品,或者開發(fā)人員過剩,都不宜采用這種模型。 選擇模型的條件: (1)在項(xiàng)目開發(fā)過程中,客戶接受分階段交付。 (2)開發(fā)人員對(duì)應(yīng)用領(lǐng)域不熟悉,難以一步到位。 (3)工期過緊的中等或高風(fēng)險(xiǎn)項(xiàng)目。 (4)用戶可參與到整個(gè)軟件開發(fā)過程中。 (5)使用面向?qū)ο笳Z言或第四代語言。 (6)軟件公司自己有較好的類庫、構(gòu)件庫。,圖1.5所示的增量模型表明,必須在開始實(shí)現(xiàn)各個(gè)構(gòu)件之前

溫馨提示

  • 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)論