版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
綜述軟件過程定義了軟件開發(fā)中采用的方法。軟件工程是集成計算機軟件開發(fā)的過程、方法和工具的學科。軟件工程的一般視圖:定義階段(做什么)、開發(fā)階段(如何做)、支持階段(變化)。線性順序模型有時被稱為“傳統(tǒng)生存周期或瀑布模型”。活動包括:系統(tǒng)/信息工程和建模、軟件需求分析、設計、代碼生成、測試、支持為什么線性模型有時候不能奏效?建議:雖然線性模型經(jīng)常被嘲笑為“舊式的”,但是,在需求被很好理解的情況下,它仍然是一種合理的方法。缺點:1、實際的項目大部分情況難以按照該模型給出的順序進行,而且這種模型的迭代是間接的,這很容易由微小的變化而造成大的混亂。2、經(jīng)常情況下客戶難以表達真正的需求,而這種模型卻要求如此,這種模型是不歡迎具有二義性問題存在的。3、客戶要等到開發(fā)周期的晚期才能看到程序運行的測試版本,而在這時發(fā)現(xiàn)大的錯誤時,可能引起客戶的驚慌,而后果也可能是災難性的。4、采用這種線性模型,會經(jīng)常在過程的開始和結(jié)束時碰到等待其他成員完成其所依賴的任務才能進行下去,有可能花在等待的時間比開發(fā)的時間要長。我們稱之為“堵賽狀態(tài)”。優(yōu)點:1、它提供了一個摸板,這個摸板使得分析、設計、編碼、測試和支持的方法可以在該摸板下有一個共同的指導。2、雖然有不少缺陷但比在軟件開發(fā)中隨意的狀態(tài)要好得多。瀑布模型將軟件開發(fā)活動分為需求分析、設計、編碼、測試等幾個階段,這幾個階段是對工程活動的劃分,瀑布模型沒有再涉及其它方面的活動,因此瀑布模型關(guān)注于工程活動。關(guān)于選取開發(fā)模型
有時開發(fā)模型的選取不是很容易判斷的,這里面有時不單是需求及開發(fā)的問題,對于開發(fā)商有開發(fā)周期、開發(fā)費用的問題,對于用戶同樣有內(nèi)部計劃、公司發(fā)展計劃等因素進行影響。
一般來說對于應用開發(fā)―――為客戶開發(fā)軟件,客戶在開發(fā)及測試完畢軟件后就要實際開始使用,那么就使用瀑布模型。
當然在需求明確的情況下自然也要使用瀑布模型
對于自主開發(fā)及客戶需求不明并有較長的設計時間―――可以用演化模型。
而螺旋模型適于適合于大型軟件開發(fā),吸收了"演化"概念,不過有時也用于用戶需求不明的情況下。
當然還有其他開發(fā)模型,沒有在本文討論。
名詞定義:
瀑布模型:規(guī)定了各項軟件工程活動。包括:制定開發(fā)計劃、進行需求分析和說明、軟件設計、程序編碼、測試及維護。
特點:自上而下,相互銜接的固定次序,如瀑布流水、逐級下落。
演化模型:第一次只是試驗開發(fā),其目標只在于探索可行性,弄清軟件需求;第二次則在此基礎上獲得較為滿意的軟件產(chǎn)品,通常把一次得到的試驗性產(chǎn)品稱"原型"。
特點:減少由于軟件需求不明確而給開發(fā)帶來的風險。
螺旋模型:將瀑布模型及演化螺旋模型結(jié)合起來,并且加入被兩種模型都忽略了的風險分析,彌補了兩者的不足。瀑布模型的特點:①
瀑布模型為軟件的開發(fā)和維護提供了一種有效有管理模式,對保證軟件產(chǎn)品的質(zhì)量有重要的作用;②
可根據(jù)這一模式制定出開發(fā)計劃,進行成本預算,組織開發(fā)力量,以項目的階段評審和文檔控制為手段,有效地對整個開發(fā)過程進行指導;③
在一定程度上消除非結(jié)構(gòu)化軟件、降低軟件的復雜度、促進軟件開發(fā)工程化方面起到顯著作用;④
瀑布模型缺乏靈活性、無法通過開發(fā)活動來澄清本來不夠確切的需求,這將導致直到軟件開發(fā)完成時發(fā)現(xiàn)所開發(fā)的軟件并非是用戶所需求的。原型實現(xiàn)模型原型實現(xiàn)范型定義:需求收集快速設計原型實現(xiàn)模型是迭代的,是幫助客戶或開發(fā)者理解需求的,總體上講,并不是交付一個最終產(chǎn)品系統(tǒng)。其流程從聽取客戶意見開始、隨后是建造/修改原型、客戶測試運行原型、然后回頭往復循環(huán)直到客戶對原型滿意為止。由于這種模型可以讓客戶快速的感受到實際的系統(tǒng)(雖然這個系統(tǒng)不帶有任何質(zhì)量的保證),所以客戶和開發(fā)者都比較喜歡這種過程模型(對于那些僅僅用來演示軟件功能的公司而言或從來不考慮軟件質(zhì)量和不害怕長期維護的公司而言)。缺點:1、沒有考慮軟件的整體質(zhì)量和長期的可維護性。2、大部分情況是不合適的操作算法被采用目的為了演示功能,不合適的開發(fā)工具被采用僅僅為了它的方便,還有不合適的操作系統(tǒng)被選擇等等。3、由于達不到質(zhì)量要求產(chǎn)品可能被拋棄,而采用新的模型重新設計。優(yōu)點:1、如果客戶和開發(fā)者達成一致協(xié)議:原型被建造僅為了定義需求,之后就被拋棄或者部分拋棄,那么這種模型很合適了。2、迷惑客戶搶占市場,這是一個首選的模型。原型實現(xiàn)仍然是軟件工程的一個有效范型。關(guān)鍵是定義開始時的游戲規(guī)則,即客戶和開發(fā)者達成一致:原型被建造僅是為了定義需求,之后就被拋棄了(或至少部分被拋棄),實際的軟件在充分考慮了質(zhì)量和可維護性之后才被開發(fā)。建議:當你的客戶有一個合理的續(xù)簽,但對細節(jié)沒有任務線索時,先開發(fā)一個原型。WINWIN螺旋模型螺旋模型提出了強調(diào)客戶交流的一個框架活動。該活動的目標是從客戶處誘導項目需求。在理想情況下,開發(fā)者簡單地詢問客戶需要什么,而客戶提供足夠的細節(jié)進行下去。不幸的是這種情形很少發(fā)生。在現(xiàn)實中,客戶和開發(fā)者進入一個談判過程,客戶被要求在成本和應市之間的約束下平衡功能、性能、和其它產(chǎn)品或系統(tǒng)特征。最好的談判追求“雙贏”結(jié)果,也就是說通過談判客戶獲得大部份系統(tǒng)的功能,而開發(fā)者則獲得現(xiàn)實的和可達到的預算和時限。對客戶的交流定義了下面的活動:1、系統(tǒng)或子系統(tǒng)的關(guān)鍵“風險承擔者”的標識。2、風險承擔者的“贏條件”的確定。3、風險承擔者的贏條件談判,以將它們協(xié)調(diào)為一組滿足各方考慮的雙贏條件。缺點:1、需要額外的談判技巧。優(yōu)點:1、客戶和開發(fā)者達到一種平衡。并發(fā)開發(fā)模型這種模型關(guān)注于多個任務的并發(fā)執(zhí)行,表示為一系列的主要技術(shù)活動、任務及它們的相關(guān)狀態(tài)。并發(fā)過程模型是由客戶要求、管理決策、評審結(jié)果驅(qū)動的。該模型不是將軟件工程活動限定為一個順序的事件序列,而是定義了一個活動網(wǎng)絡。網(wǎng)絡上的每一個活動均可于其它活動同時發(fā)生。這種模型可以提供一個項目的當前狀態(tài)的準確視圖。缺點:暫時無優(yōu)點:1、可用于所有類型的軟件開發(fā),而對于客戶/服務器結(jié)構(gòu)更加有效。2、可以隨時查閱到開發(fā)的狀態(tài)?;跇?gòu)件的開發(fā)模型面向?qū)ο蟮募夹g(shù)為軟件工程的基于構(gòu)件的過程模型提供了技術(shù)框架。面向?qū)ο竽P蛷娬{(diào)了類的創(chuàng)建、類的封裝了的數(shù)據(jù)、操縱該數(shù)據(jù)的算法。一般來講經(jīng)過合適的設計和實現(xiàn),面向?qū)ο蟮念惪梢栽诓煌膽眉盎谟嬎銠C的系統(tǒng)的體系結(jié)構(gòu)中復用?;跇?gòu)件的開發(fā)模型融合了螺旋模型的許多特征,它本質(zhì)上是演化形的,要求軟件創(chuàng)建的迭代方法。然而基于構(gòu)件的開發(fā)模型是利用預先包裝好的軟件構(gòu)件(有時成為類)來構(gòu)造應用。開發(fā)活動從候選類的標識開始,這一步是通過檢查將被應用系統(tǒng)操縱的數(shù)據(jù)及用于實現(xiàn)該操縱的算法來完成的。相關(guān)的數(shù)據(jù)和算法被封裝成一個類。缺點:過分依賴于構(gòu)件,構(gòu)件庫的質(zhì)量影響著產(chǎn)品質(zhì)量。優(yōu)點:1、構(gòu)件可復用。提高了開發(fā)效率。2、采用了面向?qū)ο蟮募夹g(shù)。形式化方法模型形式化方法模型包含了一組活動,他們導致了計算機軟件的數(shù)學規(guī)約。形式化方法使得軟件工程師們能夠通過應用一個嚴格的數(shù)學符號體系來規(guī)約、開發(fā)、和驗證基于計算機的系統(tǒng)。這種方法的一個變種,稱為凈室軟件工程,已經(jīng)被一些組織所采用。在開發(fā)中使用形式化方法時,它們提供了一種機制,能夠消除使用其它軟件過程模型難以克服的很多問題。二義性、不完整性、不一致性能被更容易地發(fā)現(xiàn)和糾正,而不是通過專門的評審,是通過對應用的數(shù)學分析。形式化方法提供了可以產(chǎn)生無缺陷軟件的承諾。缺點:1、開發(fā)費用昂貴(對開發(fā)人員需要多方面的培訓),而且需要的時間較長。2、不能將這種模型作為對客戶通信的機制,因為客戶對這些數(shù)學語言一無所知。3、目前還不流行。優(yōu)點:1、形式化規(guī)約可直接作為程序驗證的基礎,可以盡早的發(fā)現(xiàn)和糾正錯誤(包括那些其它情況下不能發(fā)現(xiàn)的錯誤)。2、開發(fā)出來的軟件具有很高的安全性和健壯性,特別適合安全部門或者軟件錯誤會造成經(jīng)濟損失的開發(fā)者。3、具有開發(fā)無缺陷軟件的承諾。第四代技術(shù)一系列的軟件工具的使用,是第四代技術(shù)的特點。這些工具有一個共同的特點:能夠使軟件工程師們在較高級別上規(guī)約軟件的某些特征,然后根據(jù)開發(fā)者的規(guī)約自動生成源代碼。我們知道,軟件在越高的級別上被規(guī)約,就越能被快速的建造出程序。軟件工程的4GT模型集中于規(guī)約軟件的能力:使用特殊的語言形式或一種采用客戶可以理解的術(shù)語描述待解決問題的圖形符號體系。和其它模型一樣,4GT也是從需求收集這一步開始的,要將一個4GT實現(xiàn)變成最終產(chǎn)品,開發(fā)者還必須進行徹底的測試、開發(fā)有意義的文檔,并且同樣要完成其它模型中同樣要求的所有集成活動??偠灾?,4GT已經(jīng)成為軟件工程的一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度租賃物維修保養(yǎng)合同服務內(nèi)容與責任劃分
- 2024年度智能穿戴設備采購供應合同
- 2024企業(yè)間就市場營銷合作合同
- 2024云計算服務提供商股權(quán)轉(zhuǎn)讓合同
- 2024年體育賽事贊助合同贊助金額與權(quán)益分配
- 2024年北京市影視作品制作委托合同
- 2024年企業(yè)碳足跡監(jiān)測與減排合同
- 2024年度:保密協(xié)議標準模板(加工)
- 2024年度搬運服務提供商合同
- 2024醫(yī)療耗材生產(chǎn)商質(zhì)量保證與售后服務合同
- 青少年毒品預防教育教學課件
- 科室高風險患者管理記錄登記表
- 重慶建筑施工安全教育小程序
- 高邊坡專項施工方案 (需專家論證)
- 餐飲服務和管理說課名師優(yōu)質(zhì)課賽課一等獎市公開課獲獎課件
- DB21T 3314-2020 生物炭直接還田技術(shù)規(guī)程
- 涂漆檢驗報告(面漆)
- (中職)化工總控工應會技能基礎模塊1 化工生產(chǎn)準備-1-化工生產(chǎn)過程認知教學課件
- 小學主管后勤副校長崗位職責共3篇 學校后勤副校長崗位職責
- 以“政府績效與公眾信任”為主題撰寫一篇小論文6篇
- 捅馬蜂窩-完整版獲獎課件
評論
0/150
提交評論