版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件工程軟件工程第一章第一章 軟件工程概述軟件工程概述學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)軟件危機(jī)和軟件工程的起源軟件危機(jī)和軟件工程的起源軟件生命周期和軟件過(guò)程模型軟件生命周期和軟件過(guò)程模型傳統(tǒng)軟件生命周期傳統(tǒng)軟件生命周期敏捷過(guò)程敏捷過(guò)程beginsensor_get(vertical_veloc_sensor);sensor_get(horizontal_veloc_sensor);vertical_veloc_bias := integer(vertical_veloc_sensor);horizontal_veloc_bias := integer(horizontal_veloc_sensor);.exc
2、eptionwhen numeric_error = calculate_vertical_veloc();when others = use_irs1();end;航空:控制慣性導(dǎo)航系統(tǒng)的計(jì)算機(jī)向控制引擎噴嘴的計(jì)算機(jī)發(fā)送了航空:控制慣性導(dǎo)航系統(tǒng)的計(jì)算機(jī)向控制引擎噴嘴的計(jì)算機(jī)發(fā)送了一個(gè)無(wú)效數(shù)據(jù),僅僅將一個(gè)一個(gè)無(wú)效數(shù)據(jù),僅僅將一個(gè)64位浮點(diǎn)數(shù)轉(zhuǎn)換成位浮點(diǎn)數(shù)轉(zhuǎn)換成16位有符號(hào)整數(shù)時(shí),位有符號(hào)整數(shù)時(shí),產(chǎn)生的溢出,表明在將一個(gè)產(chǎn)生的溢出,表明在將一個(gè)64位浮點(diǎn)數(shù)轉(zhuǎn)換成位浮點(diǎn)數(shù)轉(zhuǎn)換成16位有符號(hào)整數(shù)時(shí),位有符號(hào)整數(shù)時(shí),產(chǎn)生了溢出。產(chǎn)生了溢出。 溢出值測(cè)量的是火箭的水平速率,這比早先的溢出值測(cè)量的是火箭的
3、水平速率,這比早先的Ariane 4火箭所能達(dá)到的高出了火箭所能達(dá)到的高出了5倍。在設(shè)計(jì)倍。在設(shè)計(jì)Ariane 4火箭的軟件火箭的軟件時(shí),他們小心地分析了數(shù)字值,并且確定水平速率絕不會(huì)超出一個(gè)時(shí),他們小心地分析了數(shù)字值,并且確定水平速率絕不會(huì)超出一個(gè)16位的數(shù)。不幸的是,他們?cè)谖坏臄?shù)。不幸的是,他們?cè)贏riane 5火箭的系統(tǒng)中簡(jiǎn)單地重新使火箭的系統(tǒng)中簡(jiǎn)單地重新使用了這一部分,而沒(méi)有檢查它所基于的假設(shè)。用了這一部分,而沒(méi)有檢查它所基于的假設(shè)。這個(gè)錯(cuò)誤導(dǎo)致這個(gè)錯(cuò)誤導(dǎo)致1996年年6月月4日,日,Ariane 5火箭初次發(fā)射后僅僅火箭初次發(fā)射后僅僅37秒,秒,火箭偏離它的飛行路徑,解體并爆炸了?;?/p>
4、箭上載有價(jià)值火箭偏離它的飛行路徑,解體并爆炸了?;鸺陷d有價(jià)值5億美元億美元的通信衛(wèi)星。的通信衛(wèi)星。6億美元付之一炬。億美元付之一炬。發(fā)生在我們身邊的事件發(fā)生在我們身邊的事件醫(yī)療:最廣為人知的是加拿大原子能公司制造的醫(yī)療:最廣為人知的是加拿大原子能公司制造的Therac25線性加速放射器致人死亡事件。該機(jī)線性加速放射器致人死亡事件。該機(jī)器由計(jì)算機(jī)控制,耗資百萬(wàn)元以上,由于器由計(jì)算機(jī)控制,耗資百萬(wàn)元以上,由于5次連續(xù)次連續(xù)性的錯(cuò)誤造成放射過(guò)量,性的錯(cuò)誤造成放射過(guò)量,5位病人死亡,位病人死亡,2人重傷。人重傷。死亡病人接受了超過(guò)正常劑量死亡病人接受了超過(guò)正常劑量100倍以上的放射。倍以上的放射。
5、證券:因市場(chǎng)數(shù)據(jù)分配系統(tǒng)出現(xiàn)故障,日本東京證券交易證券:因市場(chǎng)數(shù)據(jù)分配系統(tǒng)出現(xiàn)故障,日本東京證券交易所所2012年年2月月2日中斷日中斷241支股票的早盤交易。東京支股票的早盤交易。東京證交所證交所年月耗資億日元(約合年月耗資億日元(約合.億美元)引億美元)引進(jìn)名為進(jìn)名為“箭頭箭頭”的高速交易系統(tǒng)。這套系統(tǒng)處理每單交易的高速交易系統(tǒng)。這套系統(tǒng)處理每單交易耗時(shí)大約耗時(shí)大約千分之二秒。千分之二秒。由于由于2005年?yáng)|京交易所的系統(tǒng)故障致使瑞穗證券公司蒙受年?yáng)|京交易所的系統(tǒng)故障致使瑞穗證券公司蒙受了巨額損失,東京地方法院了巨額損失,東京地方法院2011年年12月判處東京交易所賠月判處東京交易所賠償瑞
6、穗證券公司償瑞穗證券公司107億日元。億日元。 。2007-10-30日由于官方票務(wù)網(wǎng)站流量曾瞬時(shí)達(dá)到每小時(shí)日由于官方票務(wù)網(wǎng)站流量曾瞬時(shí)達(dá)到每小時(shí)800萬(wàn)次,超過(guò)了系統(tǒng)設(shè)計(jì)的每小時(shí)萬(wàn)次,超過(guò)了系統(tǒng)設(shè)計(jì)的每小時(shí)100萬(wàn)次的承受量萬(wàn)次的承受量。啟動(dòng)啟動(dòng)后第一小時(shí)從各售價(jià)渠道瞬時(shí)提交到票務(wù)系統(tǒng)的門后第一小時(shí)從各售價(jià)渠道瞬時(shí)提交到票務(wù)系統(tǒng)的門票達(dá)到票達(dá)到20萬(wàn)萬(wàn)張張(每秒每秒56張張) ,也超過(guò)了系統(tǒng)設(shè)計(jì)的每小時(shí)也超過(guò)了系統(tǒng)設(shè)計(jì)的每小時(shí)銷售銷售15萬(wàn)萬(wàn)張張(每秒每秒42張張)的的票務(wù)處理能力票務(wù)處理能力。北京北京奧組委不得不作出停止售票的決定。從初步的情況奧組委不得不作出停止售票的決定。從初步的情況分
7、析,并不是帶寬的問(wèn)題,主要還是系統(tǒng)后臺(tái)的數(shù)據(jù)庫(kù)分析,并不是帶寬的問(wèn)題,主要還是系統(tǒng)后臺(tái)的數(shù)據(jù)庫(kù)的處理能力,在設(shè)計(jì)、規(guī)劃方面,還有待改進(jìn)。的處理能力,在設(shè)計(jì)、規(guī)劃方面,還有待改進(jìn)。1.11.1軟件危機(jī)軟件危機(jī)軟件危機(jī)的表現(xiàn)軟件危機(jī)的表現(xiàn)u軟件開(kāi)發(fā)費(fèi)用和進(jìn)度失控。軟件開(kāi)發(fā)費(fèi)用和進(jìn)度失控。u軟件的可靠性差。軟件的可靠性差。u生產(chǎn)出來(lái)的軟件難以維護(hù)。生產(chǎn)出來(lái)的軟件難以維護(hù)。軟件危機(jī)的背后軟件危機(jī)的背后u軟件的類型變得更多,從簡(jiǎn)單的嵌入式系統(tǒng)到復(fù)軟件的類型變得更多,從簡(jiǎn)單的嵌入式系統(tǒng)到復(fù)雜的全球信息系統(tǒng)雜的全球信息系統(tǒng)u技術(shù)、業(yè)務(wù)和社會(huì)的快速變革導(dǎo)致不斷增長(zhǎng)的需技術(shù)、業(yè)務(wù)和社會(huì)的快速變革導(dǎo)致不斷增長(zhǎng)的需
8、求求u大規(guī)模應(yīng)用帶來(lái)影響大規(guī)模應(yīng)用帶來(lái)影響?yīng)毩⒌膽?yīng)用、交易為特征的交互式應(yīng)用、獨(dú)立的應(yīng)用、交易為特征的交互式應(yīng)用、嵌入式控制系統(tǒng)、批處理系統(tǒng)、娛樂(lè)系統(tǒng)嵌入式控制系統(tǒng)、批處理系統(tǒng)、娛樂(lè)系統(tǒng)建模和仿真系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、集成系統(tǒng)建模和仿真系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、集成系統(tǒng)1.2 1.2 軟件工程的概念軟件工程的概念今天,計(jì)算機(jī)系統(tǒng)開(kāi)發(fā)成本的分配發(fā)生了戲今天,計(jì)算機(jī)系統(tǒng)開(kāi)發(fā)成本的分配發(fā)生了戲劇性的變化。軟件,而不是硬件,是最大的劇性的變化。軟件,而不是硬件,是最大的成本項(xiàng)。成本項(xiàng)。u管理者和很多開(kāi)發(fā)人員面臨著同樣的問(wèn)題為什管理者和很多開(kāi)發(fā)人員面臨著同樣的問(wèn)題為什么需要那么長(zhǎng)時(shí)間才能結(jié)束開(kāi)發(fā)?么需要那么長(zhǎng)時(shí)
9、間才能結(jié)束開(kāi)發(fā)?u什么樣的開(kāi)發(fā)過(guò)程才能保證軟件的質(zhì)量?什么樣的開(kāi)發(fā)過(guò)程才能保證軟件的質(zhì)量?這些問(wèn)題以及其它許多問(wèn)題都表明了對(duì)軟件這些問(wèn)題以及其它許多問(wèn)題都表明了對(duì)軟件及其開(kāi)發(fā)的方式是必須關(guān)注了及其開(kāi)發(fā)的方式是必須關(guān)注了這種關(guān)注這種關(guān)注最終導(dǎo)致了軟件工程實(shí)踐的出現(xiàn)。最終導(dǎo)致了軟件工程實(shí)踐的出現(xiàn)。軟件工程的定義軟件工程的定義起源起源u19681968年北約組織在德國(guó)幕尼黑召開(kāi)的一次關(guān)于軟年北約組織在德國(guó)幕尼黑召開(kāi)的一次關(guān)于軟件的學(xué)術(shù)會(huì)議上提出了件的學(xué)術(shù)會(huì)議上提出了“軟件危機(jī)軟件危機(jī)”問(wèn)題問(wèn)題, ,并提并提出了軟件工程的概念出了軟件工程的概念. .什么是軟件工程什么是軟件工程u軟件工程是為了經(jīng)濟(jì)地獲
10、得可靠的和能在實(shí)際機(jī)軟件工程是為了經(jīng)濟(jì)地獲得可靠的和能在實(shí)際機(jī)器上高效運(yùn)行的軟件而確立和使用的健全的工程器上高效運(yùn)行的軟件而確立和使用的健全的工程原理(方法)。原理(方法)?!? Feitz Bauer- Feitz Bauer軟件工程的定義軟件工程的定義軟件工程的幾種定義uB.W.Boehm(1981): 運(yùn)用現(xiàn)代科學(xué)技術(shù)來(lái)設(shè)計(jì)并構(gòu)造運(yùn)用現(xiàn)代科學(xué)技術(shù)來(lái)設(shè)計(jì)并構(gòu)造計(jì)算機(jī)程序計(jì)算機(jī)程序,以及開(kāi)發(fā)、運(yùn)行和維護(hù)這些程序所必需以及開(kāi)發(fā)、運(yùn)行和維護(hù)這些程序所必需的相關(guān)資料的相關(guān)資料.uIEEE(1993):軟件工程將系統(tǒng)化的、規(guī)范的、可度:軟件工程將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和
11、維護(hù)的過(guò)程量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)的過(guò)程,即即將工程化應(yīng)用于軟件中將工程化應(yīng)用于軟件中.軟件工程的定義將各種定義的共性歸納有下幾點(diǎn):u針對(duì)軟件而言;u研究對(duì)象涉及到軟件的開(kāi)發(fā)和維護(hù)過(guò)程;u重視規(guī)范化的文檔和資料.傳統(tǒng)軟件工程的特點(diǎn):u規(guī)范化:多人共同開(kāi)發(fā)和維護(hù)軟件時(shí),人人都必須遵循相同的約束規(guī)范.u文檔化:在軟件開(kāi)發(fā)的各階段都要有相關(guān)的文檔,用于描述設(shè)計(jì)思想、設(shè)計(jì)過(guò)程和具體實(shí)現(xiàn)技術(shù)等信息,以便開(kāi)發(fā)和維護(hù)時(shí)參考.u工程化:按照工程化的思想開(kāi)發(fā)和維護(hù)軟件產(chǎn)品.軟件工程的定義(Cont.)軟件工程的本質(zhì)u關(guān)注于大型軟件產(chǎn)品的構(gòu)造關(guān)注于大型軟件產(chǎn)品的構(gòu)造u控制軟件的復(fù)雜性控制軟件的復(fù)雜性u(píng)
12、提高開(kāi)發(fā)軟件的效率提高開(kāi)發(fā)軟件的效率u在開(kāi)發(fā)軟件過(guò)程中合作在開(kāi)發(fā)軟件過(guò)程中合作u滿足用戶的需求滿足用戶的需求軟件工程的多樣性軟件工程的多樣性軟件類型的多樣性軟件類型的多樣性u(píng)獨(dú)立的應(yīng)用、交易為特征的交互式應(yīng)用、嵌入式獨(dú)立的應(yīng)用、交易為特征的交互式應(yīng)用、嵌入式控制系統(tǒng)、批處理系統(tǒng)、娛樂(lè)系統(tǒng)、建模和仿真控制系統(tǒng)、批處理系統(tǒng)、娛樂(lè)系統(tǒng)、建模和仿真系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、集成系統(tǒng)系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、集成系統(tǒng)不同類型的系統(tǒng)可能需要不同的軟件工程技術(shù)不同類型的系統(tǒng)可能需要不同的軟件工程技術(shù)u涉及到人身安全的系統(tǒng),其安全性和可靠性要求涉及到人身安全的系統(tǒng),其安全性和可靠性要求極高;極高;u某些嵌入式控制系統(tǒng),其
13、測(cè)試成本昂貴。某些嵌入式控制系統(tǒng),其測(cè)試成本昂貴。軟件工程的基本原理著名軟件工程專家著名軟件工程專家B.W.BoehmB.W.Boehm綜合軟件專家、學(xué)者們提綜合軟件專家、學(xué)者們提出的關(guān)于軟件開(kāi)發(fā)的意見(jiàn)出的關(guān)于軟件開(kāi)發(fā)的意見(jiàn), ,并結(jié)合其在并結(jié)合其在TRWTRW公司多年開(kāi)發(fā)公司多年開(kāi)發(fā)軟件的經(jīng)驗(yàn)軟件的經(jīng)驗(yàn), ,于是于是19831983年在一篇論文中提出了軟件工程年在一篇論文中提出了軟件工程的的7 7條基本原理?xiàng)l基本原理. .(1) (1) 用分階段的生命周期計(jì)劃嚴(yán)格管理用分階段的生命周期計(jì)劃嚴(yán)格管理u把軟件生命周期劃分成若干個(gè)階段把軟件生命周期劃分成若干個(gè)階段; ;u制定切實(shí)可行的計(jì)劃制定切實(shí)
14、可行的計(jì)劃; ;u嚴(yán)格按照計(jì)劃對(duì)軟件開(kāi)發(fā)和維護(hù)進(jìn)行管理嚴(yán)格按照計(jì)劃對(duì)軟件開(kāi)發(fā)和維護(hù)進(jìn)行管理. .(2) (2) 堅(jiān)持進(jìn)行階段評(píng)審堅(jiān)持進(jìn)行階段評(píng)審u在每個(gè)階段完成時(shí)都要進(jìn)行嚴(yán)格的評(píng)審在每個(gè)階段完成時(shí)都要進(jìn)行嚴(yán)格的評(píng)審; ;u盡早發(fā)現(xiàn)并改正錯(cuò)誤盡早發(fā)現(xiàn)并改正錯(cuò)誤. .(3) 實(shí)行嚴(yán)格的產(chǎn)品版本控制u在開(kāi)發(fā)和維護(hù)過(guò)程中在開(kāi)發(fā)和維護(hù)過(guò)程中,不允許隨意修改軟件成份不允許隨意修改軟件成份;u必須對(duì)軟件進(jìn)行修改時(shí)必須對(duì)軟件進(jìn)行修改時(shí),實(shí)施嚴(yán)格的配置管理實(shí)施嚴(yán)格的配置管理,以保證軟以保證軟件各成份的一致性件各成份的一致性.(4) 采用現(xiàn)代程序設(shè)計(jì)技術(shù)u結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)u結(jié)構(gòu)分析結(jié)構(gòu)分析(S
15、A)與結(jié)構(gòu)設(shè)計(jì)與結(jié)構(gòu)設(shè)計(jì)(SD)技術(shù)技術(shù)u面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)u構(gòu)件程序設(shè)計(jì)技術(shù)構(gòu)件程序設(shè)計(jì)技術(shù)(5) 結(jié)果便于審查(文檔支持)u軟件產(chǎn)品是一種邏輯產(chǎn)品軟件產(chǎn)品是一種邏輯產(chǎn)品,其可見(jiàn)性差其可見(jiàn)性差,難以度量難以度量;u為了更好地進(jìn)行管理和評(píng)價(jià)為了更好地進(jìn)行管理和評(píng)價(jià),應(yīng)明確規(guī)定開(kāi)發(fā)組織的責(zé)應(yīng)明確規(guī)定開(kāi)發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn)任和產(chǎn)品標(biāo)準(zhǔn),使所得到地結(jié)果能夠清楚地審查使所得到地結(jié)果能夠清楚地審查.(6) 人員少而精u開(kāi)發(fā)組人員素質(zhì)高開(kāi)發(fā)組人員素質(zhì)高;u人數(shù)越少越好人數(shù)越少越好.(7) 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性u(píng)積極主動(dòng)地采納新的軟件技術(shù)積極主動(dòng)地采納新的軟件技術(shù);u軟件
16、積極主動(dòng)地采納新的軟件技術(shù)軟件積極主動(dòng)地采納新的軟件技術(shù);u不斷總結(jié)經(jīng)驗(yàn)不斷總結(jié)經(jīng)驗(yàn).1.3 軟件生命周期生命周期生命周期(life cycle)(life cycle):u當(dāng)過(guò)程涉及到建造某種產(chǎn)品時(shí)當(dāng)過(guò)程涉及到建造某種產(chǎn)品時(shí), ,常將過(guò)程稱之為常將過(guò)程稱之為“生命周期生命周期”. .軟件生命周期軟件生命周期SLC(Software Life Cycle):SLC(Software Life Cycle):u 軟件開(kāi)發(fā)和維護(hù)的過(guò)程稱之為軟件生命周期軟件開(kāi)發(fā)和維護(hù)的過(guò)程稱之為軟件生命周期, ,它它描述了軟件產(chǎn)品從設(shè)想到實(shí)現(xiàn)、提交、使用和維描述了軟件產(chǎn)品從設(shè)想到實(shí)現(xiàn)、提交、使用和維護(hù)的過(guò)程護(hù)的過(guò)程
17、. .軟件開(kāi)發(fā)通常包括的幾個(gè)階段:軟件開(kāi)發(fā)通常包括的幾個(gè)階段:軟件定義階段軟件定義階段問(wèn)題定義問(wèn)題定義可行性分析可行性分析項(xiàng)目估算項(xiàng)目估算項(xiàng)目計(jì)劃項(xiàng)目計(jì)劃建模建模需求分析需求分析軟件設(shè)計(jì)軟件設(shè)計(jì)構(gòu)建構(gòu)建編碼編碼測(cè)試測(cè)試部署維護(hù)部署維護(hù)安裝交付安裝交付支持維護(hù)支持維護(hù)軟件生命周期與開(kāi)發(fā)模型有關(guān)軟件生命周期與開(kāi)發(fā)模型有關(guān). .u在開(kāi)發(fā)一個(gè)較大規(guī)模的軟件項(xiàng)目時(shí)在開(kāi)發(fā)一個(gè)較大規(guī)模的軟件項(xiàng)目時(shí), ,必須首先確必須首先確定生命周期的過(guò)程模型定生命周期的過(guò)程模型( (開(kāi)發(fā)模型開(kāi)發(fā)模型) )。u在開(kāi)發(fā)過(guò)程中在開(kāi)發(fā)過(guò)程中, ,嚴(yán)格按照過(guò)程模型進(jìn)行。嚴(yán)格按照過(guò)程模型進(jìn)行。一個(gè)成熟的軟件公司一個(gè)成熟的軟件公司, ,
18、對(duì)于每類軟件項(xiàng)目都應(yīng)有對(duì)于每類軟件項(xiàng)目都應(yīng)有固定的過(guò)程模型固定的過(guò)程模型, ,以及過(guò)程模型的標(biāo)準(zhǔn)和范本以及過(guò)程模型的標(biāo)準(zhǔn)和范本. .1.3.11.3.1軟件過(guò)程模型軟件過(guò)程模型軟件過(guò)程軟件過(guò)程u是指軟件整個(gè)生命周期,從需求獲取,需求分析,是指軟件整個(gè)生命周期,從需求獲取,需求分析,設(shè)計(jì),實(shí)現(xiàn),測(cè)試,發(fā)布和維護(hù)一個(gè)過(guò)程模型。設(shè)計(jì),實(shí)現(xiàn),測(cè)試,發(fā)布和維護(hù)一個(gè)過(guò)程模型。u一個(gè)軟件過(guò)程定義了軟件開(kāi)發(fā)中采用的方法,但軟一個(gè)軟件過(guò)程定義了軟件開(kāi)發(fā)中采用的方法,但軟件工程還包含該過(guò)程中應(yīng)用的技術(shù)件工程還包含該過(guò)程中應(yīng)用的技術(shù)技術(shù)方法和自技術(shù)方法和自動(dòng)化工具。動(dòng)化工具。區(qū)別區(qū)別u一個(gè)過(guò)程是為達(dá)到目標(biāo)的部分按序
19、排列步驟的集合一個(gè)過(guò)程是為達(dá)到目標(biāo)的部分按序排列步驟的集合;在軟件工程中,目標(biāo)是構(gòu)造一個(gè)軟件產(chǎn)品,或增強(qiáng);在軟件工程中,目標(biāo)是構(gòu)造一個(gè)軟件產(chǎn)品,或增強(qiáng)一個(gè)現(xiàn)存產(chǎn)品;過(guò)程工程的目標(biāo)是開(kāi)發(fā)一個(gè)和增強(qiáng)一一個(gè)現(xiàn)存產(chǎn)品;過(guò)程工程的目標(biāo)是開(kāi)發(fā)一個(gè)和增強(qiáng)一個(gè)過(guò)程。個(gè)過(guò)程。軟件工程的層次(Cont.)Software EngineeringSoftware Engineeringa quality focusprocessmethodstoolsn方法方法: 開(kāi)發(fā)軟件的技術(shù)開(kāi)發(fā)軟件的技術(shù).n工具工具: 在方法中使用的自動(dòng)化或半自動(dòng)化支撐環(huán)境在方法中使用的自動(dòng)化或半自動(dòng)化支撐環(huán)境. n過(guò)程過(guò)程: 獲得高質(zhì)量軟件
20、所需要的一系列活動(dòng)、約束和資源獲得高質(zhì)量軟件所需要的一系列活動(dòng)、約束和資源.軟件工程方法學(xué)的三要素軟件工程方法學(xué)的三要素軟件過(guò)程模型軟件開(kāi)發(fā)過(guò)程模型軟件開(kāi)發(fā)過(guò)程模型u是軟件開(kāi)發(fā)全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。是軟件開(kāi)發(fā)全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。它能直觀表達(dá)軟件開(kāi)發(fā)全過(guò)程,明確規(guī)定要完成它能直觀表達(dá)軟件開(kāi)發(fā)全過(guò)程,明確規(guī)定要完成的主要活動(dòng)、任務(wù)和開(kāi)發(fā)策略。的主要活動(dòng)、任務(wù)和開(kāi)發(fā)策略。軟件開(kāi)發(fā)過(guò)程模型也常稱為:軟件開(kāi)發(fā)過(guò)程模型也常稱為:u軟件過(guò)程模型軟件過(guò)程模型u軟件生命周期模型軟件生命周期模型u軟件工程范型軟件工程范型1.3.21.3.2瀑布模型瀑布模型問(wèn)題定義問(wèn)題定義需求分析需求分析可行
21、性研究可行性研究軟件項(xiàng)目計(jì)劃軟件項(xiàng)目計(jì)劃總體設(shè)計(jì)總體設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)測(cè)試測(cè)試發(fā)布與實(shí)施發(fā)布與實(shí)施瀑布模型瀑布模型維護(hù)維護(hù)傳統(tǒng)生命周期傳統(tǒng)生命周期 線性順序模型線性順序模型瀑布模型瀑布模型“瀑布瀑布”模型模型(Waterfall Model)(Waterfall Model)是最早使用的模型是最早使用的模型, ,是由是由Winston RoyceWinston Royce于于19701970年提出的年提出的, ,該模型的出現(xiàn)成為軟件開(kāi)發(fā)史該模型的出現(xiàn)成為軟件開(kāi)發(fā)史上的一個(gè)重要轉(zhuǎn)折點(diǎn)上的一個(gè)重要轉(zhuǎn)折點(diǎn). .u瀑布模型就象瀑布一樣,一級(jí)一級(jí)地實(shí)現(xiàn).下一個(gè)階段開(kāi)始之前,前一個(gè)階段必須完成。u瀑布模
22、型從一種較高的觀點(diǎn)看待軟件開(kāi)發(fā),必須事先將每一個(gè)階段都安排好,開(kāi)發(fā)時(shí)只需按模型的順序進(jìn)行即可。u每個(gè)階段都是一個(gè)里程碑(Milestone)或基線(Baseline),在每個(gè)里程碑處都有明確的評(píng)價(jià)標(biāo)準(zhǔn),并進(jìn)行嚴(yán)格的評(píng)審與審計(jì),通過(guò)后才能進(jìn)入下一個(gè)階段,這樣項(xiàng)目經(jīng)理就能控制好項(xiàng)目的開(kāi)發(fā)進(jìn)度、成本和質(zhì)量.瀑布模型(Cont.)瀑布模型的優(yōu)點(diǎn)瀑布模型的優(yōu)點(diǎn): :u 結(jié)構(gòu)簡(jiǎn)單結(jié)構(gòu)簡(jiǎn)單, ,強(qiáng)調(diào)軟件開(kāi)發(fā)過(guò)程的階段性和順序性強(qiáng)調(diào)軟件開(kāi)發(fā)過(guò)程的階段性和順序性; ;u 對(duì)軟件開(kāi)發(fā)管理嚴(yán)格對(duì)軟件開(kāi)發(fā)管理嚴(yán)格, ,文檔齊全文檔齊全( (里程碑驅(qū)動(dòng)或稱文檔驅(qū)動(dòng)里程碑驅(qū)動(dòng)或稱文檔驅(qū)動(dòng)),),注重復(fù)審注重復(fù)審, ,保證
23、保證了軟件的質(zhì)量了軟件的質(zhì)量; ;u 軟件開(kāi)發(fā)的支持工具比較齊全軟件開(kāi)發(fā)的支持工具比較齊全; ;u 支持推遲實(shí)現(xiàn)的觀點(diǎn)支持推遲實(shí)現(xiàn)的觀點(diǎn), ,盡可能將編碼向后推遲盡可能將編碼向后推遲. .瀑布模型的缺點(diǎn)瀑布模型的缺點(diǎn): :u 實(shí)際項(xiàng)目很少按照該模型給出的順序進(jìn)行實(shí)際項(xiàng)目很少按照該模型給出的順序進(jìn)行u 重視需求規(guī)格說(shuō)明重視需求規(guī)格說(shuō)明, ,然而獲得一個(gè)完整的規(guī)格說(shuō)明是非常困難的然而獲得一個(gè)完整的規(guī)格說(shuō)明是非常困難的, ,導(dǎo)致了開(kāi)發(fā)導(dǎo)致了開(kāi)發(fā)出來(lái)的系統(tǒng)最終需求與最初需求不一致出來(lái)的系統(tǒng)最終需求與最初需求不一致, ,大大地降低了實(shí)用性大大地降低了實(shí)用性. .u 由于強(qiáng)調(diào)軟件開(kāi)發(fā)的階段性由于強(qiáng)調(diào)軟件開(kāi)
24、發(fā)的階段性, ,反饋信息慢反饋信息慢, ,拖延了開(kāi)發(fā)進(jìn)度拖延了開(kāi)發(fā)進(jìn)度; ;u 由于是文檔驅(qū)動(dòng)的由于是文檔驅(qū)動(dòng)的, ,因此耗費(fèi)了太多的時(shí)間和精力因此耗費(fèi)了太多的時(shí)間和精力; ;u 錯(cuò)誤具有放大效應(yīng)錯(cuò)誤具有放大效應(yīng)u 推遲實(shí)現(xiàn)加大了失敗的風(fēng)險(xiǎn)推遲實(shí)現(xiàn)加大了失敗的風(fēng)險(xiǎn)瀑布模型瀑布模型選擇瀑布模型的條件:選擇瀑布模型的條件:u在開(kāi)發(fā)時(shí)間內(nèi)需求不變化或變化較少的項(xiàng)目在開(kāi)發(fā)時(shí)間內(nèi)需求不變化或變化較少的項(xiàng)目; ;u分析設(shè)計(jì)人員對(duì)應(yīng)用領(lǐng)域較熟悉的項(xiàng)目分析設(shè)計(jì)人員對(duì)應(yīng)用領(lǐng)域較熟悉的項(xiàng)目; ;u低風(fēng)險(xiǎn)的項(xiàng)目低風(fēng)險(xiǎn)的項(xiàng)目; ;u用戶使用環(huán)境相對(duì)穩(wěn)定的項(xiàng)目用戶使用環(huán)境相對(duì)穩(wěn)定的項(xiàng)目; ;盡管有許多不足盡管有許多不足
25、, ,盡管有許多新的過(guò)程模型出現(xiàn)盡管有許多新的過(guò)程模型出現(xiàn), ,瀑布模型仍是瀑布模型仍是使用最廣泛的過(guò)程模型。有效應(yīng)用瀑布模型的策略:使用最廣泛的過(guò)程模型。有效應(yīng)用瀑布模型的策略:u微軟公司:嚴(yán)格的里程碑制度微軟公司:嚴(yán)格的里程碑制度uCMMCMM:嚴(yán)格的過(guò)程管理:嚴(yán)格的過(guò)程管理u加入原型特征:允許反復(fù)加入原型特征:允許反復(fù)原型模型原型模型原型模型原型模型(Prototype Model)(Prototype Model)由客戶和開(kāi)發(fā)者進(jìn)行初步需求分析后由客戶和開(kāi)發(fā)者進(jìn)行初步需求分析后, ,產(chǎn)生初步產(chǎn)生初步的系統(tǒng)規(guī)格說(shuō)明書的系統(tǒng)規(guī)格說(shuō)明書, ,根據(jù)該規(guī)格說(shuō)明書快速產(chǎn)生一個(gè)可運(yùn)行的原型產(chǎn)品根據(jù)該
26、規(guī)格說(shuō)明書快速產(chǎn)生一個(gè)可運(yùn)行的原型產(chǎn)品. .u 向客戶展示該原型產(chǎn)品向客戶展示該原型產(chǎn)品, ,對(duì)客戶進(jìn)行培訓(xùn)對(duì)客戶進(jìn)行培訓(xùn), ,讓客戶試用讓客戶試用, ,與客戶一起評(píng)價(jià)規(guī)格與客戶一起評(píng)價(jià)規(guī)格說(shuō)明書的完整性、準(zhǔn)確性和一致性說(shuō)明書的完整性、準(zhǔn)確性和一致性; ;u 根據(jù)評(píng)價(jià)結(jié)果根據(jù)評(píng)價(jià)結(jié)果, ,進(jìn)一步修改規(guī)格說(shuō)明書進(jìn)一步修改規(guī)格說(shuō)明書; ;u 根據(jù)修改過(guò)的規(guī)格說(shuō)明書根據(jù)修改過(guò)的規(guī)格說(shuō)明書, ,對(duì)原型進(jìn)行修改對(duì)原型進(jìn)行修改, ,產(chǎn)生一個(gè)新的原型產(chǎn)生一個(gè)新的原型, ,讓客戶試用讓客戶試用, ,再與客戶一起評(píng)價(jià)該原型再與客戶一起評(píng)價(jià)該原型,u 這一過(guò)程可重復(fù)多次這一過(guò)程可重復(fù)多次, ,直到最終的規(guī)格說(shuō)明演
27、化成與用戶和客戶一致的、可直到最終的規(guī)格說(shuō)明演化成與用戶和客戶一致的、可執(zhí)行的系統(tǒng)為止執(zhí)行的系統(tǒng)為止. .原型需求、設(shè)計(jì)或試用的次數(shù):取決于原型的目標(biāo)原型需求、設(shè)計(jì)或試用的次數(shù):取決于原型的目標(biāo)原型模型的總體目標(biāo):降低開(kāi)發(fā)的風(fēng)險(xiǎn)和不確定因素原型模型的總體目標(biāo):降低開(kāi)發(fā)的風(fēng)險(xiǎn)和不確定因素原型法的分類:拋棄式模型、進(jìn)化式模型原型法的分類:拋棄式模型、進(jìn)化式模型1. 1. 拋棄式模型拋棄式模型(Throwaway Model)(Throwaway Model)u由H.Gomaa于1981年提出的,該模型用于確認(rèn)需求和設(shè)計(jì),而不是設(shè)計(jì)實(shí)際可用的系統(tǒng)。u首先制定一個(gè)開(kāi)發(fā)計(jì)劃,然后進(jìn)行需求分析、設(shè)計(jì)、編碼
28、、測(cè)試,由用戶或客戶評(píng)價(jià),如果不滿意再返回需求分析部分或設(shè)計(jì)部分或編碼部分,直到滿意為止.u該模型開(kāi)發(fā)的結(jié)果不是為最后使用,而是為了理解需求和開(kāi)發(fā)方法,驗(yàn)證那些模糊的、沒(méi)有把握的需求.u任務(wù)完成后該模型被拋棄,真正的系統(tǒng)開(kāi)發(fā)將依據(jù)該模型的結(jié)果從頭開(kāi)始.2. 2. 進(jìn)化式模型進(jìn)化式模型(Evolutionary Model)(Evolutionary Model)u首先設(shè)計(jì)一個(gè)全局性框架,然后建立一個(gè)初始的穩(wěn)定模型,運(yùn)行該原型,并反復(fù)添加、修改和完善,逐步向目標(biāo)系統(tǒng)進(jìn)化.每一次進(jìn)化,都產(chǎn)生一個(gè)逼近目標(biāo)的新版本.u該模型在進(jìn)化過(guò)程中,始終強(qiáng)調(diào)可靠性、可維護(hù)性、適應(yīng)性和效率等軟件質(zhì)量問(wèn)題.u該模型的
29、最終成果就是投入使用的系統(tǒng).u這種方法的優(yōu)點(diǎn)是客戶可跟蹤開(kāi)發(fā)過(guò)程,及時(shí)了解并建議修改開(kāi)發(fā)的過(guò)程,最終系統(tǒng)能令用戶滿意,但開(kāi)發(fā)進(jìn)度和成本難以控制.修改表修改表修改表修改表修改表修改表原型需求原型需求測(cè)試測(cè)試原型實(shí)現(xiàn)原型實(shí)現(xiàn)原型設(shè)計(jì)原型設(shè)計(jì)修訂修訂原型原型用戶用戶/客戶客戶審查審查系統(tǒng)需求系統(tǒng)需求(有時(shí)是非正有時(shí)是非正式的式的,或未完成的)或未完成的)提交的系統(tǒng)提交的系統(tǒng)丟棄型原型丟棄型原型進(jìn)化型原型進(jìn)化型原型原型模型(Cont.)原型模型原型模型(Cont.)(Cont.)原型模型的優(yōu)點(diǎn):原型模型的優(yōu)點(diǎn):u使客戶了解最終產(chǎn)品的大致?tīng)顩r使客戶了解最終產(chǎn)品的大致?tīng)顩r; ;u使客戶和開(kāi)發(fā)人員深入理解項(xiàng)
30、目的實(shí)質(zhì)使客戶和開(kāi)發(fā)人員深入理解項(xiàng)目的實(shí)質(zhì); ;u共同討論一些雙方難以達(dá)成一致的部分共同討論一些雙方難以達(dá)成一致的部分; ;u降低軟件開(kāi)發(fā)的風(fēng)險(xiǎn)降低軟件開(kāi)發(fā)的風(fēng)險(xiǎn). .原型模型的缺點(diǎn):原型模型的缺點(diǎn):u由于有了一個(gè)原型產(chǎn)品由于有了一個(gè)原型產(chǎn)品, ,不利于開(kāi)發(fā)人員的創(chuàng)新不利于開(kāi)發(fā)人員的創(chuàng)新; ;u開(kāi)發(fā)進(jìn)度可能難以控制開(kāi)發(fā)進(jìn)度可能難以控制. .原型模型原型模型(Cont.)(Cont.)選擇原型模型的條件選擇原型模型的條件: :u用戶定義了軟件的一組一般性目標(biāo),但不能標(biāo)識(shí)用戶定義了軟件的一組一般性目標(biāo),但不能標(biāo)識(shí)出詳細(xì)的輸入、處理及輸出需求;出詳細(xì)的輸入、處理及輸出需求;u開(kāi)發(fā)者可能不能確定算法的
31、有效性、操作系統(tǒng)的開(kāi)發(fā)者可能不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機(jī)交互的形式。適應(yīng)性或人機(jī)交互的形式。u投標(biāo)時(shí)向客戶展示產(chǎn)品的框架投標(biāo)時(shí)向客戶展示產(chǎn)品的框架; ;u為對(duì)于不熟悉的領(lǐng)域或行業(yè)開(kāi)發(fā)項(xiàng)目為對(duì)于不熟悉的領(lǐng)域或行業(yè)開(kāi)發(fā)項(xiàng)目; ;快速原型法快速原型法u用進(jìn)化式原型法快速開(kāi)發(fā)規(guī)模不大的軟件產(chǎn)品用進(jìn)化式原型法快速開(kāi)發(fā)規(guī)模不大的軟件產(chǎn)品. .1.3.21.3.2演化軟件過(guò)程模型演化軟件過(guò)程模型背景:背景:u業(yè)務(wù)和產(chǎn)品需求隨著開(kāi)發(fā)的發(fā)展常常發(fā)生改變,想找到最終產(chǎn)品的一業(yè)務(wù)和產(chǎn)品需求隨著開(kāi)發(fā)的發(fā)展常常發(fā)生改變,想找到最終產(chǎn)品的一條直線路徑是不可能的;緊迫的市場(chǎng)期限使得難于完成一個(gè)完善的軟條直線
32、路徑是不可能的;緊迫的市場(chǎng)期限使得難于完成一個(gè)完善的軟件產(chǎn)品,但可以先提交一個(gè)有限的版本以對(duì)付競(jìng)爭(zhēng)的或商業(yè)的壓力;件產(chǎn)品,但可以先提交一個(gè)有限的版本以對(duì)付競(jìng)爭(zhēng)的或商業(yè)的壓力;只要核心產(chǎn)品或系統(tǒng)需求能夠被很好地理解,而產(chǎn)品或系統(tǒng)的細(xì)節(jié)部只要核心產(chǎn)品或系統(tǒng)需求能夠被很好地理解,而產(chǎn)品或系統(tǒng)的細(xì)節(jié)部分可以進(jìn)一步定義。分可以進(jìn)一步定義。要求:要求:u在這些情況及其他類似情況下,軟件工程師需要一個(gè)過(guò)程模型,以便在這些情況及其他類似情況下,軟件工程師需要一個(gè)過(guò)程模型,以便能明確設(shè)計(jì),同時(shí)又能適應(yīng)隨時(shí)間演化的產(chǎn)品的開(kāi)發(fā)。能明確設(shè)計(jì),同時(shí)又能適應(yīng)隨時(shí)間演化的產(chǎn)品的開(kāi)發(fā)。 模型:模型:u演化模型是利用一種迭代和
33、增量的思想方法。它的特征是使軟件工程演化模型是利用一種迭代和增量的思想方法。它的特征是使軟件工程師漸進(jìn)地開(kāi)發(fā),逐步完善的軟件版本。師漸進(jìn)地開(kāi)發(fā),逐步完善的軟件版本。 增量模型增量增量模型模型(Incremental Model)u根據(jù)需求規(guī)模說(shuō)明書將系統(tǒng)按功能分解成若干個(gè)子系統(tǒng).開(kāi)始開(kāi)發(fā)一個(gè)子系統(tǒng)的功能,經(jīng)過(guò)設(shè)計(jì)、實(shí)現(xiàn)、集成、測(cè)試后交付使用,然后再開(kāi)發(fā)其他子系統(tǒng),再加入已有的系統(tǒng)中,逐漸構(gòu)成能完成全部功能的完整系統(tǒng).規(guī)格說(shuō)明規(guī)格說(shuō)明設(shè)計(jì)設(shè)計(jì)實(shí)現(xiàn)和集成實(shí)現(xiàn)和集成交付客戶交付客戶規(guī)格說(shuō)明規(guī)格說(shuō)明設(shè)計(jì)設(shè)計(jì)實(shí)現(xiàn)和集成實(shí)現(xiàn)和集成交付客戶交付客戶規(guī)格說(shuō)明規(guī)格說(shuō)明設(shè)計(jì)設(shè)計(jì)實(shí)現(xiàn)和集成實(shí)現(xiàn)和集成交付客戶交付客戶
34、增量增量1增量增量2增量增量3增量增量n增量模型(Cont.)增量模型的優(yōu)點(diǎn)增量模型的優(yōu)點(diǎn): :u項(xiàng)目可以分解為多個(gè)子系統(tǒng)項(xiàng)目可以分解為多個(gè)子系統(tǒng), ,子系統(tǒng)之間邊界清子系統(tǒng)之間邊界清楚楚; ;u任務(wù)或功能模塊驅(qū)動(dòng)任務(wù)或功能模塊驅(qū)動(dòng), ,可分階段提交產(chǎn)品可分階段提交產(chǎn)品; ;u系統(tǒng)本身具有良好的模塊化特征系統(tǒng)本身具有良好的模塊化特征, ,模塊內(nèi)部高內(nèi)模塊內(nèi)部高內(nèi)聚聚, ,模塊之間低耦合模塊之間低耦合, ,模塊本身信息隱蔽模塊本身信息隱蔽; ;增量模型的缺點(diǎn)增量模型的缺點(diǎn): :u不適合各部分聯(lián)系緊密的項(xiàng)目不適合各部分聯(lián)系緊密的項(xiàng)目; ;u系統(tǒng)整體結(jié)構(gòu)的一致性可能較差系統(tǒng)整體結(jié)構(gòu)的一致性可能較差;
35、 ;u各子系統(tǒng)風(fēng)格可能不一致各子系統(tǒng)風(fēng)格可能不一致. .選擇增量模型的條件:選擇增量模型的條件:u在整個(gè)開(kāi)發(fā)過(guò)程中在整個(gè)開(kāi)發(fā)過(guò)程中, ,需求都可能發(fā)生變化需求都可能發(fā)生變化, ,客戶接受分階客戶接受分階段交付產(chǎn)品的項(xiàng)目段交付產(chǎn)品的項(xiàng)目; ;u分析設(shè)計(jì)人員對(duì)應(yīng)用領(lǐng)域不熟悉的項(xiàng)目分析設(shè)計(jì)人員對(duì)應(yīng)用領(lǐng)域不熟悉的項(xiàng)目; ;u中高等風(fēng)險(xiǎn)項(xiàng)目中高等風(fēng)險(xiǎn)項(xiàng)目; ;u用戶可參與到整個(gè)開(kāi)發(fā)過(guò)程中的項(xiàng)目用戶可參與到整個(gè)開(kāi)發(fā)過(guò)程中的項(xiàng)目; ;u使用面向?qū)ο笳Z(yǔ)言或第四代語(yǔ)言開(kāi)發(fā)的項(xiàng)目使用面向?qū)ο笳Z(yǔ)言或第四代語(yǔ)言開(kāi)發(fā)的項(xiàng)目; ;u軟件公司自己有較好的類庫(kù)軟件公司自己有較好的類庫(kù), ,構(gòu)件庫(kù)構(gòu)件庫(kù); ;u大型軟件系統(tǒng)。開(kāi)
36、發(fā)周期較長(zhǎng)大型軟件系統(tǒng)。開(kāi)發(fā)周期較長(zhǎng)( (超過(guò)超過(guò)1 1年年).).u分批投資的項(xiàng)目分批投資的項(xiàng)目. .螺旋模型螺旋模型螺旋模型(Spiral Model)(Spiral Model)是是BoehmBoehm提出來(lái)的提出來(lái)的, ,他從風(fēng)險(xiǎn)角度看待他從風(fēng)險(xiǎn)角度看待軟件開(kāi)發(fā)過(guò)程軟件開(kāi)發(fā)過(guò)程, ,建議螺旋模型將風(fēng)險(xiǎn)管理結(jié)合到開(kāi)發(fā)活動(dòng)中建議螺旋模型將風(fēng)險(xiǎn)管理結(jié)合到開(kāi)發(fā)活動(dòng)中, ,以以最小化風(fēng)險(xiǎn)并可控制風(fēng)險(xiǎn)最小化風(fēng)險(xiǎn)并可控制風(fēng)險(xiǎn). .u先進(jìn)行需求分析和生命周期計(jì)劃先進(jìn)行需求分析和生命周期計(jì)劃, ,包括預(yù)算、方案、約束包括預(yù)算、方案、約束, ,進(jìn)行進(jìn)行評(píng)審評(píng)審, ,然后進(jìn)行風(fēng)險(xiǎn)分析然后進(jìn)行風(fēng)險(xiǎn)分析, ,建
37、立原型建立原型1,1,明確操作方法明確操作方法. .u修正預(yù)算、方案和約束修正預(yù)算、方案和約束, ,再評(píng)審再評(píng)審, ,進(jìn)行風(fēng)險(xiǎn)分析進(jìn)行風(fēng)險(xiǎn)分析, ,建立原型建立原型2,2,明明確軟件需求確軟件需求, ,確認(rèn)需求確認(rèn)需求, ,制定開(kāi)發(fā)計(jì)劃制定開(kāi)發(fā)計(jì)劃. .u修正預(yù)算、方案和約束修正預(yù)算、方案和約束, ,再評(píng)審再評(píng)審, ,進(jìn)行風(fēng)險(xiǎn)分析進(jìn)行風(fēng)險(xiǎn)分析, ,建立原型建立原型3,3,進(jìn)進(jìn)行軟件設(shè)計(jì)行軟件設(shè)計(jì), ,確認(rèn)并驗(yàn)證設(shè)計(jì)確認(rèn)并驗(yàn)證設(shè)計(jì), ,做集成和測(cè)試計(jì)劃做集成和測(cè)試計(jì)劃. .u修正預(yù)算、方案和約束修正預(yù)算、方案和約束, ,再評(píng)審再評(píng)審, ,進(jìn)行風(fēng)險(xiǎn)分析進(jìn)行風(fēng)險(xiǎn)分析, ,建立原型建立原型4,4,進(jìn)進(jìn)
38、行詳細(xì)設(shè)計(jì)行詳細(xì)設(shè)計(jì), ,編碼編碼, ,單元測(cè)試單元測(cè)試, ,系統(tǒng)測(cè)試系統(tǒng)測(cè)試, ,驗(yàn)收測(cè)試驗(yàn)收測(cè)試, ,實(shí)現(xiàn)計(jì)劃實(shí)現(xiàn)計(jì)劃. .螺旋模型(Cont.)螺旋模型的優(yōu)點(diǎn):螺旋模型的優(yōu)點(diǎn):u強(qiáng)調(diào)風(fēng)險(xiǎn)管理強(qiáng)調(diào)風(fēng)險(xiǎn)管理, ,開(kāi)發(fā)大型軟件時(shí)可降低風(fēng)險(xiǎn)開(kāi)發(fā)大型軟件時(shí)可降低風(fēng)險(xiǎn). .實(shí)際實(shí)際上是一個(gè)過(guò)程管理模型,而非開(kāi)發(fā)模型上是一個(gè)過(guò)程管理模型,而非開(kāi)發(fā)模型u每一次循環(huán)可以采用不同的模型,適應(yīng)風(fēng)險(xiǎn)變化每一次循環(huán)可以采用不同的模型,適應(yīng)風(fēng)險(xiǎn)變化模型的缺點(diǎn):模型的缺點(diǎn):u開(kāi)發(fā)進(jìn)度可能難以控制開(kāi)發(fā)進(jìn)度可能難以控制. .RUPRUPRUPRUPRUPRUP(Rational Unified ProcessRation
39、al Unified Process)u統(tǒng)一軟件開(kāi)發(fā)過(guò)程,統(tǒng)一軟件過(guò)程統(tǒng)一軟件開(kāi)發(fā)過(guò)程,統(tǒng)一軟件過(guò)程) )是一個(gè)面向是一個(gè)面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開(kāi)發(fā)方法論。對(duì)象且基于網(wǎng)絡(luò)的程序開(kāi)發(fā)方法論。uRUPRUP中的每個(gè)階段可以進(jìn)一步分解為迭代。一個(gè)中的每個(gè)階段可以進(jìn)一步分解為迭代。一個(gè)迭代是一個(gè)完整的開(kāi)發(fā)循環(huán),產(chǎn)生一個(gè)可執(zhí)行的迭代是一個(gè)完整的開(kāi)發(fā)循環(huán),產(chǎn)生一個(gè)可執(zhí)行的產(chǎn)品版本,是最終產(chǎn)品的一個(gè)子集,它增量式地產(chǎn)品版本,是最終產(chǎn)品的一個(gè)子集,它增量式地發(fā)展,從一個(gè)迭代過(guò)程到另一個(gè)迭代過(guò)程到成為發(fā)展,從一個(gè)迭代過(guò)程到另一個(gè)迭代過(guò)程到成為最終的系統(tǒng)。最終的系統(tǒng)。RUPRUP現(xiàn)在軟件產(chǎn)業(yè)界普遍認(rèn)為,開(kāi)發(fā)復(fù)雜
40、軟件項(xiàng)目必現(xiàn)在軟件產(chǎn)業(yè)界普遍認(rèn)為,開(kāi)發(fā)復(fù)雜軟件項(xiàng)目必須采用須采用: :u基于基于UMLUML的的u以構(gòu)架為中心以構(gòu)架為中心u用例驅(qū)動(dòng)和風(fēng)險(xiǎn)驅(qū)動(dòng)相結(jié)合的迭代式增量開(kāi)發(fā)過(guò)用例驅(qū)動(dòng)和風(fēng)險(xiǎn)驅(qū)動(dòng)相結(jié)合的迭代式增量開(kāi)發(fā)過(guò)程程RUPRUP具有很多長(zhǎng)處具有很多長(zhǎng)處u提高了團(tuán)隊(duì)生產(chǎn)力,在迭代的開(kāi)發(fā)過(guò)程、需求管理、基提高了團(tuán)隊(duì)生產(chǎn)力,在迭代的開(kāi)發(fā)過(guò)程、需求管理、基于組件的體系結(jié)構(gòu)、可視化軟件建模、驗(yàn)證軟件質(zhì)量及控于組件的體系結(jié)構(gòu)、可視化軟件建模、驗(yàn)證軟件質(zhì)量及控制軟件變更等方面,針對(duì)所有關(guān)鍵的開(kāi)發(fā)活動(dòng)為每個(gè)開(kāi)發(fā)制軟件變更等方面,針對(duì)所有關(guān)鍵的開(kāi)發(fā)活動(dòng)為每個(gè)開(kāi)發(fā)成員提供了必要的準(zhǔn)則、模板和工具指導(dǎo),并確保全體成成員
41、提供了必要的準(zhǔn)則、模板和工具指導(dǎo),并確保全體成員共享相同的知識(shí)基礎(chǔ)。它建立了簡(jiǎn)潔和清晰的過(guò)程結(jié)構(gòu)員共享相同的知識(shí)基礎(chǔ)。它建立了簡(jiǎn)潔和清晰的過(guò)程結(jié)構(gòu),為開(kāi)發(fā)過(guò)程提供較大的通用性。,為開(kāi)發(fā)過(guò)程提供較大的通用性。u但同時(shí)它也存在一些不足:但同時(shí)它也存在一些不足: RUPRUP只是一個(gè)開(kāi)發(fā)過(guò)程,并只是一個(gè)開(kāi)發(fā)過(guò)程,并沒(méi)有涵蓋軟件過(guò)程的全部?jī)?nèi)容,例如它缺少關(guān)于軟件運(yùn)行沒(méi)有涵蓋軟件過(guò)程的全部?jī)?nèi)容,例如它缺少關(guān)于軟件運(yùn)行和支持等方面的內(nèi)容;此外,它沒(méi)有支持多項(xiàng)目的開(kāi)發(fā)結(jié)和支持等方面的內(nèi)容;此外,它沒(méi)有支持多項(xiàng)目的開(kāi)發(fā)結(jié)構(gòu)構(gòu)敏捷開(kāi)發(fā)敏捷開(kāi)發(fā)是一種從是一種從19901990年代開(kāi)始逐漸引起廣泛關(guān)注的一些新型軟件
42、開(kāi)發(fā)年代開(kāi)始逐漸引起廣泛關(guān)注的一些新型軟件開(kāi)發(fā)方法,是一種應(yīng)對(duì)快速變化的需求的一種軟件開(kāi)發(fā)能力。方法,是一種應(yīng)對(duì)快速變化的需求的一種軟件開(kāi)發(fā)能力。u人和交互人和交互 重于重于 過(guò)程和工具。過(guò)程和工具。u可以工作的軟件可以工作的軟件 重于重于 求全責(zé)備的文檔。求全責(zé)備的文檔。u客戶協(xié)作客戶協(xié)作 重于重于 合同談判。合同談判。u隨時(shí)應(yīng)對(duì)變化隨時(shí)應(yīng)對(duì)變化 重于重于 遵循計(jì)劃遵循計(jì)劃。敏捷方法有時(shí)候被誤認(rèn)為是無(wú)計(jì)劃性和紀(jì)律性的方法,實(shí)際上敏捷方法有時(shí)候被誤認(rèn)為是無(wú)計(jì)劃性和紀(jì)律性的方法,實(shí)際上更確切的說(shuō)法是敏捷方法強(qiáng)調(diào)適應(yīng)性而非預(yù)見(jiàn)性。更確切的說(shuō)法是敏捷方法強(qiáng)調(diào)適應(yīng)性而非預(yù)見(jiàn)性。適應(yīng)性的方法集中在快速適應(yīng)現(xiàn)實(shí)的變化。當(dāng)項(xiàng)目的需求起了適應(yīng)性的方法集中在快速適應(yīng)現(xiàn)實(shí)的變化。當(dāng)項(xiàng)目的需求起了變化,團(tuán)隊(duì)?wèi)?yīng)該迅速適應(yīng)。這個(gè)團(tuán)隊(duì)可能很難確切描述未來(lái)將變化,團(tuán)隊(duì)?wèi)?yīng)該迅速適
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ù)中心運(yùn)營(yíng)維護(hù)合同
- 2024年建筑工程設(shè)計(jì)與咨詢合同
- 2024年度航空公司機(jī)票代理合同
- 2024年度環(huán)保工程與技術(shù)咨詢合同
- 幼兒食品課件教學(xué)課件
- 美術(shù)課件價(jià)格教學(xué)課件
- 尿道異物課件教學(xué)課件
- 2024年塑料纖維生產(chǎn)加工許可合同
- 2024年建筑人才中介服務(wù)協(xié)議
- 2024年度南京市存量房購(gòu)買合同
- 供電線路維護(hù)合同
- 胸部術(shù)后護(hù)理科普
- 鞋子工廠供貨合同模板
- 2024碼頭租賃合同范本
- 木材采運(yùn)智能決策支持系統(tǒng)
- 【產(chǎn)業(yè)圖譜】2024年青島市重點(diǎn)產(chǎn)業(yè)規(guī)劃布局全景圖譜(附各地區(qū)重點(diǎn)產(chǎn)業(yè)、產(chǎn)業(yè)體系布局、未來(lái)產(chǎn)業(yè)發(fā)展規(guī)劃等)
- 上海市市轄區(qū)(2024年-2025年小學(xué)四年級(jí)語(yǔ)文)部編版期末考試(下學(xué)期)試卷及答案
- 認(rèn)識(shí)梯形(課件)四年級(jí)上冊(cè)人教版
- 【期中考后反思】《反躬自省,砥礪奮進(jìn)》-2022-2023學(xué)年初中主題班會(huì)課件
- 2019新教材人教版生物必修1教材課后習(xí)題答案
- 2024年中國(guó)白酒行業(yè)數(shù)字化轉(zhuǎn)型研究報(bào)告-36氪-202409
評(píng)論
0/150
提交評(píng)論