軟件工程課件01導(dǎo)論_第1頁(yè)
軟件工程課件01導(dǎo)論_第2頁(yè)
軟件工程課件01導(dǎo)論_第3頁(yè)
軟件工程課件01導(dǎo)論_第4頁(yè)
軟件工程課件01導(dǎo)論_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程概述軟件工程概述什么是工程?什么是工程?你了解哪些工程?工程定義為“以某組設(shè)想的目標(biāo)為依據(jù),應(yīng)用有關(guān)的科學(xué)知識(shí)和技術(shù)手段,通過(guò)一群人的有組織活動(dòng)將某個(gè)(或某些)現(xiàn)有實(shí)體(自然的或人造的)轉(zhuǎn)化為具有預(yù)期 使用價(jià)值的人造產(chǎn)品過(guò)程”。簡(jiǎn)單說(shuō),工程就是由一群人為達(dá)到某種目的,使用工具,借助技術(shù)協(xié)作活動(dòng)生產(chǎn)某種產(chǎn)品的過(guò)程。什么是軟件工程?什么是軟件工程?軟件工程相比其他行業(yè)的工程有什么區(qū)別?學(xué)習(xí)軟件工程有什么用處?目錄目錄1.1 軟件危機(jī)1.2 軟件工程1.3 軟件生命周期1.4 軟件過(guò)程1.5 軟件工程方法學(xué)1.6 小結(jié)丹佛新國(guó)際機(jī)場(chǎng)地下行李傳送系統(tǒng)丹佛新國(guó)際機(jī)場(chǎng)地下行李傳送系統(tǒng)拉布雷阿的焦油

2、坑焦油坑(Mural of La Brea Tar Pits)1.1 軟件危機(jī)軟件危機(jī)軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。概括地說(shuō),軟件危機(jī)包含下述兩方面的問(wèn)題:如何開(kāi)發(fā)軟件,以有限的資源滿足對(duì)軟件日益增長(zhǎng)的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件。1.1.1 軟件危機(jī)典型現(xiàn)象軟件危機(jī)典型現(xiàn)象對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確 用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生,軟件產(chǎn)品的質(zhì)量往往靠不住 軟件常常是不可維護(hù)的,通常沒(méi)有適當(dāng)?shù)南嚓P(guān)文檔資料軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升 軟件開(kāi)發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)1.1

3、.2 產(chǎn)生軟件危機(jī)的原因產(chǎn)生軟件危機(jī)的原因一方面與軟件本身的特點(diǎn)有關(guān),另一方面也和軟件開(kāi)發(fā)與維護(hù)的方法不正確有關(guān)。軟件是一種純粹的邏輯產(chǎn)品,不具備物理形態(tài),這使得管理和控制軟件開(kāi)發(fā)過(guò)程相當(dāng)困難軟件的一個(gè)顯著特點(diǎn)是規(guī)模龐大,而且程序復(fù)雜性將隨著程序規(guī)模的增加而呈指數(shù)上升軟件規(guī)模軟件規(guī)模對(duì)用戶要求沒(méi)有完整準(zhǔn)確的認(rèn)識(shí)就匆忙著手編寫(xiě)程序是許多軟件開(kāi)發(fā)工程失敗的主要原因之一在開(kāi)發(fā)時(shí)期沒(méi)有對(duì)軟件進(jìn)行設(shè)計(jì)程序編寫(xiě)完之后沒(méi)有經(jīng)過(guò)大量的測(cè)試工作在后期引入一個(gè)變動(dòng)比在早期引入相同變動(dòng)所需付出的代價(jià)高23個(gè)數(shù)量級(jí)1.1.2 產(chǎn)生軟件危機(jī)的原因產(chǎn)生軟件危機(jī)的原因變動(dòng)代價(jià)變動(dòng)代價(jià)軟件維護(hù)通常意味著改正或修改原來(lái)的設(shè)計(jì)輕

4、視維護(hù),實(shí)際上用于軟件維護(hù)的費(fèi)用占軟件總費(fèi)用的55%70%1.1.2 產(chǎn)生軟件危機(jī)的原因產(chǎn)生軟件危機(jī)的原因1.1.3 怎么消除軟件危機(jī)怎么消除軟件危機(jī)清楚地定義什么是軟件:徹底消除在計(jì)算機(jī)系統(tǒng)早期發(fā)展階段形成的“軟件就是程序”的錯(cuò)誤觀念,一個(gè)軟件必須由一個(gè)完整的配置組成,事實(shí)上,軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。1983年IEEE為軟件下的定義是:計(jì)算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料以及在計(jì)算機(jī)上運(yùn)行程序時(shí)所必需的數(shù)據(jù)。必須充分認(rèn)識(shí)到軟件開(kāi)發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧,而應(yīng)該是一種組織良好、管理嚴(yán)密、各類(lèi)人員協(xié)同配合、共同完成的工程項(xiàng)目。必須充分吸取和借鑒人類(lèi)長(zhǎng)期以來(lái)從事其它各種工程項(xiàng)目

5、所積累的行之有效的原理、技術(shù)和方法,特別要吸取幾十年來(lái)人類(lèi)從事計(jì)算機(jī)硬件研究和開(kāi)發(fā)的經(jīng)驗(yàn)教訓(xùn)。應(yīng)該推廣使用在實(shí)踐中總結(jié)出來(lái)的開(kāi)發(fā)軟件的成功的技術(shù)和方法,并且研究探索更好更有效的技術(shù)和方法,盡快消除在計(jì)算機(jī)系統(tǒng)早期發(fā)展階段形成的一些錯(cuò)誤概念和做法。1.1.3 怎么消除軟件危機(jī)怎么消除軟件危機(jī)1.1.3 怎么消除軟件危機(jī)怎么消除軟件危機(jī)應(yīng)該開(kāi)發(fā)和使用更好的軟件工具。如果把各個(gè)階段使用的軟件工具有機(jī)地集合成一個(gè)整體,支持軟件開(kāi)發(fā)的全過(guò)程,則稱(chēng)為軟件工程環(huán)境(SEE)。計(jì)算機(jī)輔助軟件工程 (CASE),CASE是一組工具和方法的集合,用來(lái)輔助軟件開(kāi)發(fā)生命周期各階段EclipseWinrunnerWin

6、CVSProject Planner1.2 軟件工程軟件工程為了解決軟件危機(jī)組織、管理措施技術(shù)措施(方法和工具)軟件工程正是從管理和技術(shù)兩方面研究如何更好地開(kāi)發(fā)和維護(hù)計(jì)算機(jī)軟件的一門(mén)新興學(xué)科。1.2.1 軟件工程定義軟件工程定義概括地說(shuō),軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的一門(mén)工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。1.2.2 軟件工程的基本原理軟件工程的基本原理軟件工程專(zhuān)家B.W.Boehm于1983年在一篇論文中提出了軟件工程的7條基本原理

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)能清楚地審查6. 開(kāi)發(fā)小組的人員應(yīng)該少而精7. 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性1.2.3 軟件工程學(xué)的主要內(nèi)容軟件工程學(xué)的主要內(nèi)容將軟件生命周期劃分成階段,根據(jù)每個(gè)階段的不同特性,對(duì)軟件生產(chǎn)的產(chǎn)品、人員和質(zhì)量進(jìn)行管理 對(duì)軟件生命周期各階段所采用的規(guī)格說(shuō)明、分析設(shè)計(jì)方法和形式化描述技術(shù)等進(jìn)行研究; 提供各種軟件工具以改進(jìn)軟件質(zhì)量和生產(chǎn)效率; 研究軟件生產(chǎn)的質(zhì)量保證體系; 研究軟件系統(tǒng)的項(xiàng)目管理、人員組織、成本估算等各種度量方法終極目標(biāo):軟件生產(chǎn)自動(dòng)化1.2.4 軟件工程的特性

8、軟件工程的特性軟件工程關(guān)注于大型程序的構(gòu)造軟件工程的中心課題是控制復(fù)雜性軟件經(jīng)常變化開(kāi)發(fā)軟件的效率非常重要和諧地合作是開(kāi)發(fā)軟件的關(guān)鍵軟件必須有效地支持它的用戶1.3 軟件生命周期軟件生命周期軟件生命周期分為三個(gè)時(shí)期軟件定義軟件開(kāi)發(fā)運(yùn)行維護(hù)每個(gè)時(shí)期又進(jìn)一步劃分成若干個(gè)階段。瀑布模型瀑布模型需求分析需求分析總體設(shè)計(jì)總體設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼編碼 & 單元測(cè)試單元測(cè)試集成集成 & 系統(tǒng)測(cè)試系統(tǒng)測(cè)試軟件定義軟件定義軟件開(kāi)發(fā)軟件開(kāi)發(fā)交付交付 & 維護(hù)維護(hù)軟件維護(hù)軟件維護(hù)可行性研究可行性研究問(wèn)題定義問(wèn)題定義1.3.1 軟件定義時(shí)期軟件定義時(shí)期軟件定義時(shí)期的任務(wù)是:確定軟件開(kāi)發(fā)工程

9、必須完成的總目標(biāo);確定工程的可行性;導(dǎo)出實(shí)現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計(jì)完成該項(xiàng)工程需要的資源和成本,并且制定工程進(jìn)度表。這個(gè)時(shí)期的工作通常又稱(chēng)為系統(tǒng)分析,由系統(tǒng)分析員負(fù)責(zé)完成軟件定義時(shí)期通常進(jìn)一步劃分成3個(gè)階段問(wèn)題定義可行性研究需求分析1.3.2 軟件開(kāi)發(fā)時(shí)期軟件開(kāi)發(fā)時(shí)期開(kāi)發(fā)時(shí)期具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件,它通常由下述4個(gè)階段組成:總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼和單元測(cè)試集成和系統(tǒng)測(cè)試其中前兩個(gè)階段又稱(chēng)為系統(tǒng)設(shè)計(jì),后兩個(gè)階段又稱(chēng)為系統(tǒng)實(shí)現(xiàn)。1.3.3 軟件維護(hù)時(shí)期軟件維護(hù)時(shí)期維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。當(dāng)軟件在使用過(guò)程中發(fā)現(xiàn)錯(cuò)誤時(shí)應(yīng)該加以改正;當(dāng)環(huán)境改

10、變時(shí)應(yīng)該修改軟件以適應(yīng)新的環(huán)境;當(dāng)用戶有新要求時(shí)應(yīng)該及時(shí)改進(jìn)軟件以滿足用戶的新需要。通常對(duì)維護(hù)時(shí)期不再進(jìn)一步劃分階段,但是每一次維護(hù)活動(dòng)本質(zhì)上都是一次壓縮和簡(jiǎn)化了的定義和開(kāi)發(fā)過(guò)程。傳統(tǒng)方法學(xué)各階段任務(wù)傳統(tǒng)方法學(xué)各階段任務(wù)1.4 軟件過(guò)程軟件過(guò)程軟件過(guò)程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。生命周期模型規(guī)定了把生命周期劃分成哪些階段及各個(gè)階段的執(zhí)行順序,因此,也稱(chēng)為過(guò)程模型。1.4.1 瀑布模型瀑布模型1. 階段間具有順序性和依賴(lài)性這個(gè)特點(diǎn)有兩重含義: 必須等前一階段的工作完成之后,才能開(kāi)始后一階段的工作; 前一階段的輸出文檔就是后一階段的輸入文檔,因

11、此,只有前一階段的輸出文檔正確,后一階段的工作才能獲得正確的結(jié)果。2. 推遲實(shí)現(xiàn)的觀點(diǎn)對(duì)于規(guī)模較大的軟件項(xiàng)目來(lái)說(shuō),往往編碼開(kāi)始得越早最終完成開(kāi)發(fā)工作所需要的時(shí)間反而越長(zhǎng)。這是因?yàn)?,前面階段的工作沒(méi)做或做得不扎實(shí),過(guò)早地考慮進(jìn)行程序?qū)崿F(xiàn),往往導(dǎo)致大量返工,有時(shí)甚至發(fā)生無(wú)法彌補(bǔ)的問(wèn)題,帶來(lái)災(zāi)難性后果。3. 質(zhì)量保證的觀點(diǎn)軟件工程的基本目標(biāo)是優(yōu)質(zhì)、高產(chǎn)。為了保證所開(kāi)發(fā)的軟件的質(zhì)量,在瀑布模型的每個(gè)階段都應(yīng)堅(jiān)持兩個(gè)重要做法:(1) 每個(gè)階段都必須完成規(guī)定的文檔,沒(méi)有交出合格的文檔就是沒(méi)有完成該階段的任務(wù)。(2) 每個(gè)階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問(wèn)題,改正錯(cuò)誤。圖1.3 實(shí)際的瀑布

12、模型瀑布模型有許多優(yōu)點(diǎn):可強(qiáng)迫開(kāi)發(fā)人員采用規(guī)范的方法(例如,結(jié)構(gòu)化技術(shù)); 嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過(guò)質(zhì)量保證小組的仔細(xì)驗(yàn)證?!捌俨寄P褪怯晌臋n驅(qū)動(dòng)的”這個(gè)事實(shí)也是它的一個(gè)主要缺點(diǎn)。在可運(yùn)行的軟件產(chǎn)品交付給用戶之前,用戶只能通過(guò)文檔來(lái)了解產(chǎn)品是什么樣的??傊?,由于瀑布模型幾乎完全依賴(lài)于書(shū)面的規(guī)格說(shuō)明,很可能導(dǎo)致最終開(kāi)發(fā)出的軟件產(chǎn)品不能真正滿足用戶的需要。1.4.2 快速原型模型快速原型模型1.5.2 快速原型模型所謂快速原型是快速建立起來(lái)的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。圖1.4 快速原型模型Proto

13、typing Modellistentocustomerbuild/revisemock-upcustomertest-drivesmock-upThe prototype must be thrown away.1.4.3 增量模型增量模型1.5.3 增量模型把軟件產(chǎn)品作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、編碼、集成和測(cè)試。把軟件產(chǎn)品分解成增量構(gòu)件時(shí),應(yīng)該使構(gòu)件的規(guī)模適中,規(guī)模過(guò)大或過(guò)小都不好。分解時(shí)惟一必須遵守的約束條件是,當(dāng)把新構(gòu)件集成到現(xiàn)有軟件中時(shí),所形成的產(chǎn)品必須是可測(cè)試的。增量模型的另一個(gè)優(yōu)點(diǎn)是,逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶組織帶

14、來(lái)的沖擊。使用增量模型的困難是,在把每個(gè)新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時(shí),必須不破壞原來(lái)已經(jīng)開(kāi)發(fā)出的產(chǎn)品。軟件體系結(jié)構(gòu)必須是開(kāi)放的。圖1.6 風(fēng)險(xiǎn)更大的增量模型1.4.4 螺旋模型螺旋模型1.4.4 螺旋模型螺旋模型的基本思想是,使用原型及其他方法來(lái)盡量降低風(fēng)險(xiǎn)。圖1.7 簡(jiǎn)化的螺旋模型圖1.8 完整的螺旋模型螺旋模型有許多優(yōu)點(diǎn):對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開(kāi)發(fā)的一個(gè)重要目標(biāo)減少了過(guò)多測(cè)試(浪費(fèi)資金)或測(cè)試不足(產(chǎn)品故障多)所帶來(lái)的風(fēng)險(xiǎn);更重要的是,在螺旋模型中維護(hù)只是模型的另一個(gè)周期,在維護(hù)和開(kāi)發(fā)之間并沒(méi)有本質(zhì)區(qū)別。螺旋模型主要適用于內(nèi)部開(kāi)

15、發(fā)的大規(guī)模軟件項(xiàng)目。螺旋模型的主要優(yōu)勢(shì)在于,它是風(fēng)險(xiǎn)驅(qū)動(dòng)的,但是,這也可能是它的一個(gè)弱點(diǎn)。除非軟件開(kāi)發(fā)人員具有豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和這方面的專(zhuān)門(mén)知識(shí),否則將出現(xiàn)真正的風(fēng)險(xiǎn):當(dāng)項(xiàng)目實(shí)際上正在走向?yàn)?zāi)難時(shí),開(kāi)發(fā)人員可能還認(rèn)為一切正常。1.4.5 噴泉模型噴泉模型1.4.6 Rational 統(tǒng)一過(guò)程統(tǒng)一過(guò)程Rational 統(tǒng)一過(guò)程(Rational Unified Process)是由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ā)出滿足最終用戶需要的高質(zhì)量軟件。誰(shuí)在使用誰(shuí)在使用RUP?電信業(yè)E

16、ricsson、Alcatel、MCI 交通、航空、國(guó)防Lockheed-Martin、British Aerospace制造業(yè)Xerox、Volvo、Intel金融業(yè)Visa、Merrill Lynch、Schwab 系統(tǒng)集成業(yè)Ernst & Young、Oracle、Deloitte & Touche RUP將這些最佳實(shí)踐活動(dòng)以一種適當(dāng)?shù)男问浇Y(jié)合起來(lái),從而適應(yīng)了廣泛的項(xiàng)目和開(kāi)發(fā)組織。RUP 是一個(gè)過(guò)程產(chǎn)品(process product)。Rational (IBM) 軟件公司開(kāi)發(fā)并維護(hù)著這個(gè)產(chǎn)品,并將其與Rational 軟件公司自己的一系列軟件開(kāi)發(fā)工具集成。RUP 有自

17、己的過(guò)程框架 (process framework), 這個(gè)框架可以被改造和擴(kuò)展以適應(yīng)采納此方法的組織。RUP最佳實(shí)踐最佳實(shí)踐1. 迭代地開(kāi)發(fā)軟件2. 管理需求3. 應(yīng)用基于構(gòu)件的構(gòu)架4. 為軟件建立可視化的模型5. 不斷地驗(yàn)證軟件質(zhì)量6. 控制軟件的變更 RUP 二維生命周期模型二維生命周期模型沿時(shí)間軸的組織結(jié)構(gòu)沿內(nèi)容軸的組織結(jié)構(gòu)1.4.7 XP極限編程極限編程XP(Extreme Programming),它是由Kent Beck大師提出的。kent在經(jīng)歷傳統(tǒng)軟件開(kāi)發(fā)的痛苦之后,希望能夠找到一種優(yōu)秀的軟件開(kāi)發(fā)方法。大師總結(jié)了大量的軟件的成功和失敗的因素之后,提出了改進(jìn)軟件開(kāi)發(fā)方法的四個(gè)要素

18、:溝通(communication)、簡(jiǎn)單化(simplicity)、反饋(feedback)、勇氣(courage)。這形成了XP的核心價(jià)值觀。XP最佳實(shí)踐最佳實(shí)踐客戶作為開(kāi)發(fā)團(tuán)隊(duì)的成員使用用戶素材短交付周期驗(yàn)收測(cè)試結(jié)對(duì)編程測(cè)試驅(qū)動(dòng)開(kāi)發(fā)集體所有持續(xù)集成持續(xù)集成可持續(xù)的開(kāi)發(fā)速度開(kāi)放的工作空間及時(shí)調(diào)整計(jì)劃簡(jiǎn)單的設(shè)計(jì)重構(gòu)使用隱喻XP整體開(kāi)發(fā)過(guò)程整體開(kāi)發(fā)過(guò)程 XP迭代過(guò)程迭代過(guò)程 XP開(kāi)發(fā)過(guò)程開(kāi)發(fā)過(guò)程 1.4.8 微軟過(guò)程微軟過(guò)程制定計(jì)劃時(shí)兼顧未來(lái)的不確定因素通過(guò)有效的風(fēng)險(xiǎn)管理減少不確定因素的影響經(jīng)常生成過(guò)渡版本進(jìn)行快速測(cè)試來(lái)提高產(chǎn)品的穩(wěn)定性及可預(yù)測(cè)性快速循環(huán)、遞進(jìn)的開(kāi)發(fā)過(guò)程從產(chǎn)品特性和成本控制出發(fā)

19、創(chuàng)造性地工作創(chuàng)建確定的進(jìn)度表使用小型項(xiàng)目組并發(fā)完成工作,并設(shè)置多個(gè)同步點(diǎn)1.4.8 微軟過(guò)程微軟過(guò)程將大型項(xiàng)目分解成多個(gè)可管理的單元,以便更快地發(fā)布產(chǎn)品用產(chǎn)品的前景目標(biāo)和概要說(shuō)明指導(dǎo)項(xiàng)目開(kāi)發(fā)工作-先基線、后凍結(jié)避免產(chǎn)品走形使用原型驗(yàn)證概念,進(jìn)行開(kāi)發(fā)前的測(cè)試零缺陷觀念非責(zé)難式的里程碑評(píng)審會(huì)1.5 軟件工程方法學(xué)軟件工程方法學(xué)軟件工程方法學(xué)包含3個(gè)要素:方法方法是完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“怎樣做”的問(wèn)題工具工具是為運(yùn)用方法而提供的自動(dòng)的或半自動(dòng)的軟件工程支撐環(huán)境過(guò)程過(guò)程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟1.5.1 傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)傳

20、統(tǒng)方法學(xué)也稱(chēng)為生命周期方法學(xué)或結(jié)構(gòu)化范型采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來(lái)完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來(lái)支持結(jié)構(gòu)化技術(shù)的運(yùn)用。這種方法學(xué)把軟件生命周期的全過(guò)程依次劃分為若干個(gè)階段,然后順序地完成每個(gè)階段的任務(wù)。采用這種方法學(xué)開(kāi)發(fā)軟件的時(shí)候,從對(duì)問(wèn)題的抽象邏輯分析開(kāi)始,一個(gè)階段一個(gè)階段地進(jìn)行開(kāi)發(fā)。1.5.1 傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)審查的一條主要標(biāo)準(zhǔn)就是每個(gè)階段都應(yīng)該交出“最新式的”(即和所開(kāi)發(fā)的軟件完全一致的)高質(zhì)量的文檔資料,從而保證在軟件開(kāi)發(fā)工程結(jié)束時(shí)有一個(gè)完整準(zhǔn)確的軟件配置交付使用。文檔是通信的工具,它們清楚準(zhǔn)確地說(shuō)明了到這個(gè)時(shí)候?yàn)橹梗P(guān)于該

21、項(xiàng)工程已經(jīng)知道了什么,同時(shí)奠定了下一步工作的基礎(chǔ)。1.5.1 傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)把軟件生命周期劃分成若干個(gè)階段,每個(gè)階段的任務(wù)相對(duì)獨(dú)立,而且比較簡(jiǎn)單,便于不同人員分工協(xié)作,從而降低了整個(gè)軟件開(kāi)發(fā)工程的困難程度;在軟件生命周期的每個(gè)階段都采用科學(xué)的管理技術(shù)和良好的技術(shù)方法,而且在每個(gè)階段結(jié)束之前都從技術(shù)和管理兩個(gè)角度進(jìn)行嚴(yán)格的審查,合格之后才開(kāi)始下一階段的工作,這就使軟件開(kāi)發(fā)工程的全過(guò)程以一種有條不紊的方式進(jìn)行,保證了軟件的質(zhì)量,特別是提高了軟件的可維護(hù)性。傳統(tǒng)方法學(xué)仍然是人們?cè)陂_(kāi)發(fā)軟件時(shí)使用得十分廣泛的軟件工程方法學(xué)。1.5.2 面向?qū)ο蠓椒▽W(xué)面向?qū)ο蠓椒▽W(xué)當(dāng)軟件規(guī)模龐大,或者對(duì)軟件的需求是模糊的或會(huì)隨時(shí)間而變化的時(shí)候,使用傳統(tǒng)方法學(xué)開(kāi)發(fā)軟件往往不成功,此外,使用傳統(tǒng)方法學(xué)開(kāi)發(fā)出的軟件,維護(hù)起來(lái)仍然很困難。結(jié)構(gòu)化范型只能獲得有

溫馨提示

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

評(píng)論

0/150

提交評(píng)論