第1章 軟件工程概述(3h)_第1頁(yè)
第1章 軟件工程概述(3h)_第2頁(yè)
第1章 軟件工程概述(3h)_第3頁(yè)
第1章 軟件工程概述(3h)_第4頁(yè)
第1章 軟件工程概述(3h)_第5頁(yè)
已閱讀5頁(yè),還剩62頁(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)介

課程簡(jiǎn)介為什么要學(xué)這門(mén)課程?這門(mén)課程學(xué)什么?怎么學(xué)這門(mén)課程?原因一:

軟件工程是你職業(yè)生涯必不要可少的知識(shí)。為什么要學(xué)習(xí)這門(mén)課為什么要學(xué)習(xí)這門(mén)課軟件工程師(JSE)職位描述:參與需求分析與系統(tǒng)設(shè)計(jì),負(fù)責(zé)軟件開(kāi)發(fā)和測(cè)試。任職要求:大學(xué)本科及以上學(xué)歷,計(jì)算機(jī)相關(guān)專(zhuān)業(yè);2.精通Java編程,熟悉spring等開(kāi)源框架。做過(guò)至少2個(gè)以上J2EE相關(guān)技術(shù)的項(xiàng)目;3.熟悉主流應(yīng)用服務(wù)器(Weblogic,Websphere)和數(shù)據(jù)庫(kù)系統(tǒng)(Oracle,DB2),熟悉Unix或Linux操作系統(tǒng);4.熟悉常用設(shè)計(jì)模式,熟練使用RationalRose,Visio等設(shè)計(jì)工具;5.易于溝通、具有強(qiáng)烈的團(tuán)隊(duì)意識(shí)。

在該招聘啟示,你們?nèi)笔裁茨芰Γ繛槭裁葱枰@些能力?了解常用設(shè)計(jì)模式和設(shè)計(jì)方法,讓你知道開(kāi)發(fā)軟件的流程,提高開(kāi)發(fā)效率,從而提高軟件生產(chǎn)率。培養(yǎng)你的溝通能力和團(tuán)隊(duì)協(xié)作能力,保證多人開(kāi)發(fā)的代碼能正常運(yùn)行為什么要學(xué)習(xí)這門(mén)課PHP高級(jí)工程師1、熟悉PHP編程語(yǔ)言,熟悉面向?qū)ο蟮能浖O(shè)計(jì)方法,熟練掌握XHTML、CSS、DIV、Javascript等頁(yè)面技術(shù);2、熟悉Mysql數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā),具備數(shù)據(jù)庫(kù)的設(shè)計(jì)及優(yōu)化能力;3、熟悉Unix/Linux操作系統(tǒng)及常用命令,熟悉Shell腳本編程;4、具備良好的代碼編程習(xí)慣及較強(qiáng)的文檔編寫(xiě)能力;5、具備團(tuán)隊(duì)合作精神,有良好的溝通及協(xié)調(diào)能力;在該招聘啟示,你們?nèi)笔裁茨芰??為什么需要這些能力?培養(yǎng)你的編程習(xí)慣及編寫(xiě)文檔的能力軟件架構(gòu)師1、理解和分析客戶(hù)的業(yè)務(wù)需求,確定項(xiàng)目或產(chǎn)品的技術(shù)架構(gòu)和技術(shù)路線(xiàn);2、負(fù)責(zé)產(chǎn)品架構(gòu)分析,提出軟件架構(gòu)整體設(shè)計(jì),數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)計(jì)方案,3、劃分基本的軟件功能模塊,指導(dǎo)其他工程師的設(shè)計(jì)工作;4、參與項(xiàng)目在技術(shù)架構(gòu)方面的立項(xiàng)評(píng)審;5、負(fù)責(zé)核心技術(shù)問(wèn)題的攻關(guān),系統(tǒng)優(yōu)化;協(xié)助解決項(xiàng)目開(kāi)發(fā)過(guò)程中的技術(shù)難題;6、制定開(kāi)發(fā)規(guī)范,參與制定技術(shù)標(biāo)準(zhǔn),編寫(xiě)相應(yīng)的技術(shù)文檔;7、配合項(xiàng)目的整體計(jì)劃和安排,對(duì)技術(shù)人員進(jìn)行技術(shù)培訓(xùn)和指導(dǎo);在該招聘啟示,你們?nèi)笔裁茨芰??為什么需要這些能力?管理項(xiàng)目由此可以看出,你的軟件工程知識(shí)掌握的越好,你就離該職位不遠(yuǎn)了。為什么要學(xué)習(xí)這門(mén)課原因二:

保證在有限的成本下,迅速開(kāi)發(fā)一個(gè)高質(zhì)量的軟件。為什么要學(xué)習(xí)這門(mén)課為什么要開(kāi)發(fā)軟件?對(duì)于軟件公司來(lái)說(shuō):賺錢(qián)對(duì)于單位(用戶(hù))來(lái)說(shuō):輔助人進(jìn)行工作。如果你是軟件公司的員工,那你的任務(wù)就是給老板賺錢(qián)怎樣才能賺錢(qián)呀?就是讓你開(kāi)發(fā)的軟件花最少的成本,成為讓用戶(hù)滿(mǎn)意的軟件怎么讓用戶(hù)滿(mǎn)意呢?一、迅速二、符合用戶(hù)的習(xí)慣如果你是用戶(hù),那你的任務(wù)就是想辦法讓軟件以最快的速度和最低的花費(fèi)開(kāi)發(fā)成功,提高你的工作效率,得到領(lǐng)導(dǎo)的嘉獎(jiǎng),為升職創(chuàng)造條件。怎樣才能做到呢?有效地與軟件開(kāi)發(fā)人員進(jìn)行溝通怎樣才能保證溝通有效呀?1、要與開(kāi)發(fā)人員有共同語(yǔ)言2、懂計(jì)算機(jī)相關(guān)知識(shí)最終目標(biāo):在一定的成本下,迅速開(kāi)發(fā)一個(gè)讓用戶(hù)滿(mǎn)意的軟件為什么要學(xué)這門(mén)課?綜上所述,學(xué)好此課程的理由:職業(yè)的需要保證在有限的成本下,迅速開(kāi)發(fā)一個(gè)高質(zhì)量的軟件是否要把這門(mén)課學(xué)好呀?想盡辦法一定要把它學(xué)好。這門(mén)課程學(xué)什么?常用的開(kāi)發(fā)方法文檔的編寫(xiě)軟件設(shè)計(jì)和開(kāi)發(fā)工具團(tuán)隊(duì)的管理項(xiàng)目的管理大家看了這些內(nèi)容,有什么感覺(jué)?這門(mén)課學(xué)什么?介紹軟件工程的基本術(shù)語(yǔ),文檔的編寫(xiě)、在軟件工程中用到的原理、方法和管理技術(shù)。怎樣學(xué)好這門(mén)課呢?一定要結(jié)合自己以前的編程經(jīng)驗(yàn)多看書(shū),結(jié)合現(xiàn)實(shí)中例子來(lái)進(jìn)行理解從總體上去把握,關(guān)鍵要理解總的來(lái)說(shuō):理論聯(lián)系實(shí)際軟件工程第1章軟件工程概述第1章軟件工程概述1.1軟件1.2軟件工程的概念1.3軟件生命周期1.4軟件生命周期模型1.5軟件開(kāi)發(fā)方法和工具本章學(xué)習(xí)目標(biāo):1、理解與軟件工程相關(guān)的一些基本的概念和知識(shí),其中包括軟件與軟件的特點(diǎn)、軟件工程的概念等。2、掌握軟件生命周期的基本概念,熟悉一些典型的軟件生命周期模型。3、了解有關(guān)軟件開(kāi)發(fā)方法和開(kāi)發(fā)工具的知識(shí)。第1章軟件工程概述1.1軟件1.1.1軟件與軟件的特點(diǎn)1.1.2軟件危機(jī)1.1.1軟件與軟件的特點(diǎn)一、軟件定義:

軟件=程序+數(shù)據(jù)+文檔程序:完成特定功能和滿(mǎn)足性能要求的指令序列數(shù)據(jù):程序運(yùn)行的基礎(chǔ)和操作的對(duì)象文檔:與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文材料獨(dú)唱-->小合唱-->合唱-->萬(wàn)人大合唱 |||簡(jiǎn)單程序較復(fù)雜程序軟件

1.1.1軟件與軟件的特點(diǎn)二、軟件的特點(diǎn) 1、計(jì)算機(jī)軟件是一種抽象的邏輯產(chǎn)品。 2、軟件的生產(chǎn)與硬件不同。 3、軟件產(chǎn)品不會(huì)用壞,不存在硬件產(chǎn)品那樣的機(jī)械磨損、老化等問(wèn)題。

圖1-1軟硬件失效率曲線(xiàn)1.1.1軟件與軟件的特點(diǎn)4、軟件產(chǎn)品的生產(chǎn)主要是腦力勞動(dòng)。5、軟件費(fèi)用不斷增加,軟件成本相當(dāng)昂貴。6、軟件工作涉及到各種社會(huì)因素。硬件年份軟件50年70年85年20608010040成本計(jì)算機(jī)系統(tǒng)軟、硬件成本比例的變化情況軟件的分類(lèi)按軟件的功能進(jìn)行劃分:系統(tǒng)軟件操作系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)備驅(qū)動(dòng)程序通信處理程序等支撐軟件文本編輯程序文件格式化程序磁盤(pán)向磁帶向數(shù)據(jù)傳輸?shù)某绦虺绦驇?kù)系統(tǒng)支持需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和支持管理的軟件軟件的分類(lèi)應(yīng)用軟件商業(yè)數(shù)據(jù)處理軟件工程與科學(xué)計(jì)算軟件計(jì)算機(jī)輔助設(shè)計(jì)/制造軟件系統(tǒng)仿真軟件智能產(chǎn)品嵌入軟件醫(yī)療、制藥軟件事務(wù)管理、辦公自動(dòng)化軟件計(jì)算機(jī)輔助教學(xué)軟件軟件的分類(lèi)按軟件規(guī)模進(jìn)行劃分:類(lèi)別參加人員數(shù) 研制期限源程序行數(shù)

微型

1 1~4周0.5k小型

1 1~6月1k~2k中型

2~5 1~2年5k~50k大型

5~20 2~3年50k~100k甚大型

100~10004~5年

1M(=1000k)極大型

2000~50005~10年1M~10M

軟件的分類(lèi)按軟件工作方式劃分:實(shí)時(shí)處理軟件分時(shí)軟件交互式軟件批處理軟件軟件的分類(lèi)1.1.2軟件危機(jī)定義: 軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。軟件危機(jī)包含下述兩方面的問(wèn)題:如何開(kāi)發(fā)軟件,以滿(mǎn)足對(duì)軟件的日益增長(zhǎng)的需求;如何維護(hù)數(shù)量不斷膨脹的軟件。軟件危機(jī)典型表現(xiàn):對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估算很不準(zhǔn)確用戶(hù)很不滿(mǎn)意質(zhì)量很不可靠軟件常常是不可維護(hù)的沒(méi)有完整的文檔軟件成本比重上升,特別是軟件維護(hù)成本迅速增加,已經(jīng)占據(jù)軟硬件總成本的40%~75%供不應(yīng)求:軟件開(kāi)發(fā)生產(chǎn)率跟不上計(jì)算機(jī)應(yīng)用迅速深入的趨勢(shì)1.1.2軟件危機(jī)硬件軟件開(kāi)發(fā)軟件維護(hù)1955年1970年1985年100%80%60%40%20%軟件、硬件成本變化趨勢(shì)1、1993年距倫敦90英里的塞茲韋爾核電站正式投入運(yùn)行,但是,工作人員很快發(fā)現(xiàn)核電站的反應(yīng)堆內(nèi)溫度控制失靈。事后查明,在反應(yīng)堆的主要保護(hù)系統(tǒng)中,有個(gè)10萬(wàn)行代碼的控制軟件幾乎有一半未能通過(guò)測(cè)試。幾個(gè)典型的由軟件質(zhì)量問(wèn)題引發(fā)的事故2、80年代中期,加拿大一家原子能公司生產(chǎn)的、由微處理機(jī)控制的癌癥治療儀,在美國(guó)和加拿大的多家醫(yī)院使用,致使6個(gè)病人因超劑量輻射而受到嚴(yán)重傷害甚至死亡。幾個(gè)典型的由軟件質(zhì)量問(wèn)題引發(fā)的事故3、海灣戰(zhàn)爭(zhēng)中,一個(gè)軟件故障打亂了“愛(ài)國(guó)者”導(dǎo)彈雷達(dá)跟蹤系統(tǒng),使導(dǎo)彈發(fā)射后未能迎擊對(duì)方的“飛毛腿”導(dǎo)彈,反而轟擊了自己的軍營(yíng),造成了28名士兵喪生,98人受傷。幾個(gè)典型的由軟件質(zhì)量問(wèn)題引發(fā)的事故4、1996年歐洲航天局發(fā)射的阿麗亞娜5型火箭,在發(fā)射40秒后爆炸,發(fā)射場(chǎng)上2名法國(guó)士兵當(dāng)場(chǎng)死亡。這個(gè)耗資10億美元、歷時(shí)9年的航天計(jì)劃嚴(yán)重受挫,引起了國(guó)際宇航界的震驚。事故發(fā)生后,專(zhuān)家組的調(diào)查分析報(bào)告指明,爆炸的原因在于慣性導(dǎo)航系統(tǒng)軟件中技術(shù)要求和設(shè)計(jì)錯(cuò)誤。幾個(gè)典型的由軟件質(zhì)量問(wèn)題引發(fā)的事故5、德國(guó)曾由于電話(huà)計(jì)費(fèi)系統(tǒng)的軟件問(wèn)題而發(fā)生用戶(hù)需多交付不合理電話(huà)費(fèi)的事件,引起了公眾的抗議。幾個(gè)典型的由軟件質(zhì)量問(wèn)題引發(fā)的事故1.1.2軟件危機(jī)造成軟件危機(jī)的原因:

1、軟件的規(guī)模越來(lái)越大,結(jié)構(gòu)越來(lái)越復(fù)雜。

2、軟件開(kāi)發(fā)管理困難。現(xiàn)代軟件一般規(guī)模大,結(jié)構(gòu)復(fù)雜,需要組織眾多開(kāi)發(fā)人員共同完成。

3、軟件開(kāi)發(fā)技術(shù)落后。

4、軟件產(chǎn)品生產(chǎn)方式落后。

5、軟件開(kāi)發(fā)工具落后。

6、用戶(hù)對(duì)軟件需求的描述不精確,軟件開(kāi)發(fā)人員對(duì)用戶(hù)需求的理解有偏差。

1.2軟件工程的概念1.2.1軟件工程的定義1.2.2軟件工程的基本目標(biāo)1.2.3軟件工程的基本原理

為了解決軟件危機(jī),既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。軟件工程正是從管理和技術(shù)方面研究如何更好地開(kāi)發(fā)和維護(hù)計(jì)算機(jī)軟件的學(xué)科。軟件工程的有多種定義:FritzBauer(弗里茨鮑爾)給出的軟件工程的定義是:軟件工程是為了經(jīng)濟(jì)地獲得可靠的能在實(shí)際機(jī)器上高效運(yùn)行的軟件而確立和使用的一系列完善的工程原理(方法)。1.2.1軟件工程的定義1.2.1軟件工程的定義Boehm(布恩)對(duì)軟件工程的定義為:軟件工程是現(xiàn)代科學(xué)技術(shù)知識(shí)在設(shè)計(jì)和構(gòu)造計(jì)算機(jī)程序中的實(shí)際應(yīng)用,其中包括管理在開(kāi)發(fā)、運(yùn)行和維護(hù)這些程序的過(guò)程中所必需的相關(guān)文檔資料。1983年IEEE(國(guó)際電氣與電子工程師協(xié)會(huì))在其《IEEE軟件工程標(biāo)準(zhǔn)術(shù)語(yǔ)》中對(duì)軟件工程下的定義為:軟件工程是開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法。其中的“軟件”是指計(jì)算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料和程序運(yùn)行所必需的數(shù)據(jù)。1993年,IEEE給出了一個(gè)更加綜合的定義:①將系統(tǒng)的、規(guī)范的、可度量的工程化方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)的全過(guò)程。②研究①中所提到的方法。1.2.1軟件工程的定義軟件工程的定義雖多,但其主要思想都是在強(qiáng)調(diào)軟件開(kāi)發(fā)中應(yīng)用工程化原則的重要性。這種工程化的思想一直貫穿需求分析、設(shè)計(jì)、實(shí)現(xiàn)和維護(hù)整個(gè)軟件生命過(guò)程。軟件工程研究的主要內(nèi)容包括:軟件工程管理軟件開(kāi)發(fā)技術(shù)軟件工程管理主要是研究:軟件管理學(xué)軟件經(jīng)濟(jì)學(xué)軟件心理學(xué)軟件開(kāi)發(fā)技術(shù)主要研究:軟件開(kāi)發(fā)方法學(xué)軟件開(kāi)發(fā)過(guò)程軟件開(kāi)發(fā)工具和環(huán)境1.2.1軟件工程的定義軟件工程三要素1.2.2軟件工程的基本目標(biāo)軟件項(xiàng)目的成功主要是要達(dá)到以下幾個(gè)目標(biāo):

1、付出較低的軟件開(kāi)發(fā)成本;

2、達(dá)到用戶(hù)所要求的軟件功能;

3、取得較好的軟件性能;

4、所開(kāi)發(fā)的軟件易于移植、可重用性好;

5、需要較低的軟件維護(hù)費(fèi)用;

6、能按時(shí)完成開(kāi)發(fā)任務(wù),及時(shí)交付使用。1.2.2軟件工程的基本目標(biāo)圖1-2軟件工程目標(biāo)之間的關(guān)系1.2.3軟件工程的基本原理軟件工程的7條原理: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)該能清楚地審查(產(chǎn)品標(biāo)準(zhǔn))6、開(kāi)發(fā)小組的人員應(yīng)該少而精

7、承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性1.3軟件生命周期軟件生命周期:指軟件產(chǎn)品從形成概念開(kāi)始,經(jīng)過(guò)定義、開(kāi)發(fā)、使用和維護(hù),直到最后退役的全過(guò)程。一般來(lái)說(shuō),軟件生命周期包括:

軟件定義

軟件開(kāi)發(fā)

軟件的使用、維護(hù)和退役1.3.1軟件定義軟件定義的基本任務(wù):弄清待開(kāi)發(fā)的軟件系統(tǒng)要做什么,即軟件開(kāi)發(fā)工程必須完成的總目標(biāo)。

1、問(wèn)題定義。

2、可行性研究。

3、需求分析。1.3.2軟件開(kāi)發(fā)軟件開(kāi)發(fā)過(guò)程:即軟件的設(shè)計(jì)和實(shí)現(xiàn)。軟件開(kāi)發(fā)過(guò)程主要分為以下幾個(gè)階段:概要設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)(編碼)測(cè)試1.3.3軟件的使用、維護(hù)和退役軟件的維護(hù):為了延長(zhǎng)軟件的壽命而對(duì)軟件產(chǎn)品進(jìn)行修改或?qū)浖枨笞兓龀鲰憫?yīng)的過(guò)程。軟件的維護(hù)是軟件生命周期中時(shí)間最長(zhǎng)的階段,軟件維護(hù)的工作量可能占了軟件生命周期全部工作量的70%以上。軟件的退役:即軟件的停止使用。退役意味著軟件生存周期的結(jié)束,表明軟件系統(tǒng)已不再具有維護(hù)價(jià)值。1.4軟件生命周期模型軟件生存周期模型:又稱(chēng)為軟件開(kāi)發(fā)模型(SoftwareDevelopModel),軟件過(guò)程模型(SoftwareProcessModel)等。軟件生存周期模型是軟件工程的一個(gè)重要的概念。它主要指的是反映整個(gè)軟件生命期中系統(tǒng)的開(kāi)發(fā)、運(yùn)行、維護(hù)等實(shí)施活動(dòng)的一種結(jié)構(gòu)框架。瀑布模型原型模型螺旋模型增量模型基于構(gòu)件的開(kāi)發(fā)模型噴泉模型1.4.1瀑布模型瀑布模型的基本思想:嚴(yán)格按照軟件生存周期各個(gè)階段來(lái)進(jìn)行開(kāi)發(fā),上一階段的輸出即是下一階段的輸入,并強(qiáng)調(diào)每一階段的嚴(yán)格性。它規(guī)定了各階段的任務(wù)和應(yīng)提交的成果及文檔,每一階段的任務(wù)完成后,都必須對(duì)其階段性產(chǎn)品(主要是文檔)進(jìn)行評(píng)審,通過(guò)后才能開(kāi)始下一階段的工作。因此,它是一種以文檔作為驅(qū)動(dòng)的模型。1.4.1瀑布模型圖1-3瀑布模型1.4.1瀑布模型瀑布模型的主要特點(diǎn):

各階段之間具有順序性和依賴(lài)性。它嚴(yán)格按照軟件生存周期各個(gè)階段來(lái)進(jìn)行開(kāi)發(fā),前一階段工作的結(jié)果輸出是后一階段工作的輸入。瀑布模型的局限性:

1、軟件開(kāi)發(fā)的各個(gè)階段特別是定義階段的正確性和完整性很難保證。

2、模型的風(fēng)險(xiǎn)控制能力較弱。用戶(hù)和項(xiàng)目負(fù)責(zé)人要經(jīng)過(guò)設(shè)計(jì)、編碼和測(cè)試等相當(dāng)長(zhǎng)的時(shí)間后才能得到軟件的初始版本。

3、瀑布模型是一種理想的線(xiàn)性開(kāi)發(fā)模式,缺乏靈活性。1.4.2原型模型(PrototypingModel)原型模型又稱(chēng)為快速原型模型。這種方法的核心思想是:在軟件開(kāi)發(fā)的早期軟件開(kāi)發(fā)人員根據(jù)用戶(hù)提出的軟件基本需求快速建立目標(biāo)軟件系統(tǒng)的原型,反復(fù)讓用戶(hù)對(duì)原型進(jìn)行評(píng)估并提出修改意見(jiàn),然后開(kāi)發(fā)人員根據(jù)用戶(hù)意見(jiàn)對(duì)原型進(jìn)行修補(bǔ)和完善,直到用戶(hù)對(duì)所開(kāi)發(fā)的系統(tǒng)原型滿(mǎn)意為止。1.4.2原型模型快速原型模型的開(kāi)發(fā)過(guò)程如圖1-4所示。圖1-4原型模型1.4.2原型模型快速開(kāi)發(fā)原型的途徑通常有以下三種:

1、僅模擬軟件系統(tǒng)的人機(jī)界面和人機(jī)交互方式。

2、開(kāi)發(fā)一個(gè)工作原型,實(shí)現(xiàn)軟件系統(tǒng)中部分重要的或容易產(chǎn)生誤解的功能。

3、找來(lái)一個(gè)或幾個(gè)正在運(yùn)行的類(lèi)似軟件系統(tǒng)進(jìn)行比較,向客戶(hù)展示軟件需求中的部分或全部功能。

實(shí)際應(yīng)用中的原型使用可采取以下兩種不同的策略:

廢棄策略

追加策略

原型模型的適應(yīng)場(chǎng)合:

1、原型模型比瀑布模型更符合人們認(rèn)識(shí)事物的過(guò)程和規(guī)律,是一種較實(shí)用的開(kāi)發(fā)框架。

2、它適合于那些不能預(yù)先確切定義需求的軟件系統(tǒng)的開(kāi)發(fā)。1.4.2原型模型1.4.3螺旋模型(SpiralModel)螺旋模型:綜合了瀑布模型和原型模型的優(yōu)點(diǎn),即將兩者結(jié)合,并加入了風(fēng)險(xiǎn)分析機(jī)制。螺旋模型的每一個(gè)周期包括:計(jì)劃(需求定義)風(fēng)險(xiǎn)分析工程實(shí)現(xiàn)評(píng)審1.4.3螺旋模型圖1-5螺旋模型螺旋模型的優(yōu)點(diǎn):

1、支持用戶(hù)需求的動(dòng)態(tài)變化。具有良好的可擴(kuò)充性和可修改性。也支持軟件系統(tǒng)的可維護(hù)性,每次維護(hù)過(guò)程只是沿螺旋模型繼續(xù)多走一兩個(gè)周期。

2、原型易于用戶(hù)和開(kāi)發(fā)人員共同理解需求,還可作為繼續(xù)開(kāi)發(fā)的基礎(chǔ),并為用戶(hù)參與所有關(guān)鍵決策提供了方便。

3、螺旋模型特別強(qiáng)調(diào)原型的可擴(kuò)充性和可修改性,原型的進(jìn)化貫穿整個(gè)軟件生存周期,這將有助于目標(biāo)軟件的適應(yīng)能力。

4、螺旋模型為項(xiàng)目管理人員及時(shí)調(diào)整管理決策提供了方便,進(jìn)而可降低開(kāi)發(fā)風(fēng)險(xiǎn)。1.4.3螺旋模型螺旋模型的缺點(diǎn)和適應(yīng)場(chǎng)合缺點(diǎn):①如果每次迭代的效率不高,致使迭代次數(shù)過(guò)多,將會(huì)增加成本并推遲提交時(shí)間;②使用該模型需要有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專(zhuān)門(mén)知識(shí),要求開(kāi)發(fā)隊(duì)伍水平較高。適應(yīng)場(chǎng)合:支持需求不明確、特別是大型軟件系統(tǒng)的開(kāi)發(fā),并支持面向規(guī)格說(shuō)明、面向過(guò)程、面向?qū)ο蟮榷喾N軟件開(kāi)發(fā)方法,是一種具有廣闊前景的模型。1.4.3螺旋模型1.4.4增量模型 軟件被作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、實(shí)現(xiàn)、集成和測(cè)試,每一個(gè)構(gòu)件是由多種相互作用的模塊所形成的提供特定功能的代碼片段構(gòu)成。 第一個(gè)增量往往是實(shí)現(xiàn)基本需求的核心產(chǎn)品。核心產(chǎn)品交付用戶(hù)使用后,經(jīng)過(guò)評(píng)價(jià)形成下一個(gè)增量的開(kāi)發(fā)計(jì)劃,它包括對(duì)核心產(chǎn)品的修改和一些新功能的發(fā)布。這個(gè)過(guò)程在每個(gè)增量發(fā)布后不斷重復(fù),直到產(chǎn)生最終的完善產(chǎn)品。1.4.4增量模型增量模型的優(yōu)點(diǎn):增加客戶(hù)對(duì)系統(tǒng)的信心;降低系統(tǒng)失敗風(fēng)險(xiǎn);提高系統(tǒng)可靠性;提高了系統(tǒng)的穩(wěn)定性和可維護(hù)性;增量模型的缺點(diǎn):增量粒度難以選擇;確定所有的基本業(yè)務(wù)服務(wù)比較困難。1.4.5基于構(gòu)件的開(kāi)發(fā)模型基于構(gòu)件的開(kāi)發(fā)模型是面向?qū)ο蠛驮头椒爸赜眉夹g(shù)的綜合。圖1-6基于面向?qū)ο蟮哪P?.4.6噴泉模型(WaterFountainModel)噴泉模型是以面向?qū)ο蟮能浖_(kāi)發(fā)技術(shù)為基礎(chǔ),以用戶(hù)需求為動(dòng)力,以對(duì)象來(lái)驅(qū)動(dòng)的模型。它克服了瀑布模型不支持軟件重用和生存期中多項(xiàng)開(kāi)發(fā)活動(dòng)集成的局限性,使得軟件開(kāi)發(fā)過(guò)程具有迭代和無(wú)間隙的特性。1.4.6噴泉模型圖1-7噴泉模型1.5軟件開(kāi)發(fā)方法和工具1.5.1軟件開(kāi)發(fā)方法

結(jié)構(gòu)化方法面向?qū)ο蠓椒?/p>

1.5.2軟件工具與開(kāi)發(fā)環(huán)境軟件工具分類(lèi):軟件開(kāi)發(fā)工具軟件維護(hù)工具軟件管理和軟件支持工具1.5.2軟件工具與開(kāi)發(fā)環(huán)境1、軟件開(kāi)發(fā)工具(1)需求分析工具 (2)設(shè)計(jì)工具(3)編碼與排錯(cuò)工具(4)測(cè)試和驗(yàn)證工具2、軟件維護(hù)工具(1)版本控制工具 (2)文檔分析工具(3)開(kāi)發(fā)信息庫(kù)工具(4)逆向工程工具(5)再工程工具3、軟件管理和軟件支持工具 (1)項(xià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)論