




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第二章過程模型第二章過程模型提出問題……在開發產品或構造系統時,由誰指導我們及時交付高質量的產品?所遵循的線路圖就稱為:軟件過程提出問題……在開發產品或構造系統時,由誰指導我們及時交付高質主要內容過程框架CMMI過程模式慣用過程模型專用過程模型主要內容過程框架2.1過程框架將整個軟件過程再進一步細分為各個相對獨立的功能塊,即過程框架。(以工作開展的時間為線索)2.1過程框架將整個軟件過程再進一步細分為各個相對獨立的功圖2-1軟件過程框架定義了若干個框架活動過程框架圖2-1軟件過程框架定義了若干個框架活動過程框架圖2-1軟件過程框架適用于任何一個框架活動普適性活動圖2-1軟件過程框架適用于任何一個框架活動普適性活動圖2-1軟件過程框架五個最基本的框架活動:溝通、策劃、建模、構建和部署框架活動框架活動圖2-1軟件過程框架五個最基本的框架活動:溝通、策劃、建模五個最基本的框架活動溝通:與客戶之間的交流與寫作策劃:為后續的軟件工程工作制定計劃建模:包括分析和設計構建:編碼和測試部署:軟件交付用戶,用戶對其進行評估并反饋意見五個最基本的框架活動溝通:與客戶之間的交流與寫作圖2-1軟件過程框架每個動作包括一系列相互關聯的任務,并產生一個關鍵的工作產品比如“溝通”包含若干個軟件工程動作,比如“獲取需求”軟件工程動作軟件工程動作圖2-1軟件過程框架每個動作包括一系列相互關聯的任務,并產圖2-1軟件過程框架定義了為達到一個軟件工程動作的目標所需要完成的工作。項目不同,任務集或不同任務集任務集圖2-1軟件過程框架定義了為達到一個軟件工程動作的目標所需低于小型、相對簡單的項目而言,獲取需求的任務集可能包括:制定一個項目的共利益者列表邀請所有的共利益者成員參加一個非正式會議咨詢每一個共利益者對于軟件特征和功能的需求討論需求。并確定最終的需求列表劃定需求優先級把不確定的地方標記出來低于小型、相對簡單的項目而言,獲取需求的任務集可能包括:制定低于大型、復雜的軟件工程項目而言,可能有不同的任務集,例如:制定一個項目的共利益者列表和共利益者的每一個成員分別單獨討論,獲取所有的需求?;诓襟E2的調查,建立初步的功能和特征列表安排一系列促進需求獲取的會議舉行一系列會議在每次會議上建立非正式的用戶場景根據共利益者的反饋,進一步細化用戶場景建立一個修正的需求列表使用質量功能部署技術將需求劃分優先級別將需求打包以便軟件可以分批交付注意系統的約束和限制討論系統的驗證方法。低于大型、復雜的軟件工程項目而言,可能有不同的任務集,例如:圖2-1軟件過程框架每個工作任務都完成一部分動作所定義的工作工作任務工作任務圖2-1軟件過程框架每個工作任務都完成一部分動作所定義的工過程流1.線形過程流從溝通到部署線性執行2.迭代過程流在執行下一個活動前重復執行之前的一個或多個活動3.演化過程流采用循環的方式執行各個活動,每次循環都能產生更為完善的軟件版本4.并行過程流將一個或是多個其它活動并行執行(如,軟件一個方面的建模可以同軟件另一個方面的建?;顒硬⑿袌绦校┻^程流1.線形過程流2.1過程框架(續)不同學者依據自己的理解將通用過程框架應用到側重點不同的各個領域,提出了各自的用以描述過程的模型。2.1過程框架(續)不同學者依據自己的理解將通用過程框架應2.1過程框架(續)過程模型的適用性(如軟件需解決的問題、項目特點、開發隊伍和組織文化等)是成功的關鍵!2.1過程框架(續)過程模型的適用性(如軟件需解決的問題、2.2能力成熟度模型集成美國卡內基-梅隆大學軟件工程研究所(SEI)在美國國防部資助下20世紀80年代末建立的能力成熟度模型集成(CMMI),用于預測軟件開發組織所開發的系統和軟件工程能力2.2能力成熟度模型集成美國卡內基-梅隆大學軟件工程研究所CMM的5個能力成熟度等級CMM的5個能力成熟度等級CMMICMMI定義了每一個過程域的“特定目標”,以及達到該目標所需的“特定實踐”任務:查相關資料,了解CMMI每級的目標和實踐CMMICMMI定義了每一個過程域的“特定目標”,以及達到該圖2-4達到成熟度模型等級需要的過程域圖2-4達到成熟度模型等級需要的過程域2.3過程模式所謂過程模式,比通用過程框架中定義的活動相對要具體些,包含這些通用的方面,但依據不同的領域,側重點不一樣,表述方法也不一樣。(注意:模式的定義更寬泛,它可能適用于任何階段,任何方面)2.3過程模式所謂過程模式,比通用過程框架中定義的活動相對一個描述過程模式的模版:模式名稱目的類型(任務模式、步驟模式、階段模式)啟動條件問題解決辦法結束條件相關模式已知應用實例一個描述過程模式的模版:模式名稱軟件工程-過程模型課件2.4慣用過程模型不同過程模型的共同特點:都支持通用過程結構,即都包含其五個要素:溝通、策劃、建模、構建和部署規定了一整套的元素以及他們之間的相互關聯的方式:框架活動、軟件工程動作、任務、工作產品、質量保證以及每個項目的變更控制機制2.4慣用過程模型不同過程模型的共同特點:2.4慣用過程模型(續)慣例過程模型包括:瀑布模型、增量過程模型(增量模型、RAD模型)、演化過程模型(原型開發、螺旋模型、協同開發模型)2.4慣用過程模型(續)慣例過程模型包括:2.4.1瀑布模型也稱為線性模型或傳統生存周期,V模型2.4.1瀑布模型也稱為線性模型或傳統生存周期,V模型瀑布模型(續)適用范圍?通常發生在對一個已有系統進行明確定義的適應性調整和增強的時候對于一個新的項目,需求必須是準確定義和相對穩定的瀑布模型(續)適用范圍?線性順序模型特點:階段間的順序性和依賴性;文檔驅動性;嚴格階段評估;開發初期需要清楚全部需求;開發周期長、風險大。瀑布模型(續)
線性順序模型特點:瀑布模型(續)
瀑布模型(續)瀑布模型的缺點:順序太嚴格。實際工作經常是在多個環節之間來回反饋調整,而不是將一個環節完成后再繼續前進。產品在最后階段才與客戶見面,從心里學的角度講有些考驗客戶。另外,如果此時才發現問題,需要改正,工作量將會很大。
效率可能不高。瀑布模型(續)瀑布模型的缺點:瀑布模型(續)優點:它提供了一個摸板,這個摸板使得分析、設計、編碼、測試和支持的方法可以在該摸板下有一個共同的指導。雖然有不少缺陷但比在軟件開發中隨意的狀態要好得多。
瀑布模型(續)優點:圖實際的帶反饋環的瀑布模型圖實際的帶反饋環的瀑布模型
增量過程模型增量過程模型包括:增量模型RAD模型增量過程模型增量過程模型包括:增量模型以迭代方式運用瀑布模型。增量模型以迭代方式運用瀑布模型。增量模型(續)特點:一般來講,最重要的增量放在前面。每次交付的增量產品都是可用的。適合于功能可以劃分,而且時間不緊迫的情況??梢砸幈芤欢ǖ娘L險。如有些技術還不穩定,將這部分放到后邊。增量模型(續)特點:增量模型(續)例如:采用增量模型開發的字處理軟件:在第1個增量中提供基本的文件管理、編輯和文檔成文功能第2個增量中提供復雜的編輯和文檔生成功能第3個增量中提供拼寫和語法檢查功能第4個增量中提供高級頁面排版功能增量模型(續)例如:RAD模型快速應用程序開發(RapidApplicationDevelopment,RAD)是一種側重于短暫的開發周期的增量軟件模型。
RAD模型快速應用程序開發(RapidApplicatio3.3.2RAD模型(續)3.3.2RAD模型(續)RAD模型(續)瀑布模型的高速變體,通過基于構件的方法快速實現。適于工期緊張,又可細分功能,還要有合適的構件。RAD模型(續)瀑布模型的高速變體,通過基于構件的方法快速實RAD模型(續)缺點:需要投入更多的人力。各團隊要緊密協作。只適應于特殊的系統,必須可以合理模塊化。不適于高性能需求(若需調構件接口)系統需求靈活,現有構件不容易輕易滿足。技術風險很高的情況下,不宜采用該模型。RAD模型(續)缺點:演化過程模型軟件,類似于其他復雜的系統,會隨著時間的推移而演化軟件有技術能力的限制,時間的限制,認識理解的限制,其它客觀因素的限制。演化模型也是一種迭代模型。演化過程模型軟件,類似于其他復雜的系統,會隨著時間的推移而演演化過程模型演化模型包括:原型模型螺旋模型協同開發模型……演化過程模型演化模型包括:原型開發如果出現下面的情況,怎么辦?客戶也不能給出確切的要求開發人員對算法的效率、操作系統的兼容性和人機交互的形式不確定
原型是一個循環的過程,所以也是迭代的過程。原型開發如果出現下面的情況,怎么辦?原型是一個循環的過程,所原型開發(續)原型開發(續)圖:原型法的處理過程圖:原型法的處理過程原型開發(續)對原型的基本要求:體現主要的功能提供基本的界面風格展示比較模糊的部分,以便于確定或進一步明確,防患于未然原型最好是可以運行的,最少要在各主要功能模塊之間能夠建立相互連接原型開發(續)對原型的基本要求:原型開發(續)原型的處理方法:拋棄型在獲取的明確需求的基礎上,重新設計與開發成本相對高,小公司一般慎用演化型在原型的基礎上繼續開發原型開發(續)原型的處理方法:原型開發(續)優點:能讓人(開發者或客戶)很快見到產品,有成就感。能漸進地啟發客戶提出新的要求或任務。原型開發(續)優點:原型開發(續)缺點:容易蒙騙客戶,也可能由此給自己帶來麻煩。往往只為結果,而不考慮技術手段,為今后埋下隱患。系統可能考慮不周全。原型開發(續)缺點:原型開發(續)它與增量模型相比:增量模型在開發以前基本能確定系統的需求,雖然在以后的過程中也可能不斷完善;原型開發適應于預先不太清楚系統的需求。增量模型的反饋可能較少,而原型開發需要不斷的大量反饋信息。原型開發(續)它與增量模型相比:
螺旋模型結合了原形的迭代性質和瀑布模型的系統性和可控性特點風險驅動,引入非常嚴格的風險識別、風險分析和風險控制早期迭代中可能是一個理論模型或原形螺旋模型結合了原形的迭代性質和瀑布模型的系統性和可控性特點螺旋模型(續)螺旋模型(續)螺旋模型(續)螺旋模型與原型相比:螺旋模型雖不像增量模型中對功能有明確界定,但有比原型要清晰一些。螺旋模型的反饋要求持續于產品的整個生命期。適合于大型軟件的開發。螺旋模型(續)螺旋模型與原型相比:協同開發模型(續)又叫協同工程。定義了一個活動的網絡,網絡上每個活動、動作和任務同時存在。過程網絡中某一點產生的事件可以觸發狀態的轉換??蛇m用于所有類型的軟件開發協同開發模型(續)又叫協同工程。演化過程評述演化模型的初衷是采用迭代或者增量的方式開發高質量軟件用演化模型可以強調靈活性、可擴展性和開發速度軟件開發團隊需要在嚴格的項目和產品參數與客戶滿意度之間找到一個平衡點演化過程評述演化模型的初衷是采用迭代或者增量的方式開發高質量2.4.2專用過程模型具有通用過程模型的特點,只適應于一些特定的領域。包括:基于構件的開發形式化方法模型面向方面的軟件開發等2.4.2專用過程模型具有通用過程模型的特點,只適應于一些基于構件的開發利用預先打包的軟件構件開發程序什么是構件?沒有統一的定義GartnerGroup定義:運行時軟件構件是一個可動態綁定的、含一個或多個程序的軟件包,它作為一個獨立單位,通過運行時可辨別的文檔化接口加以管理和存取類似于螺旋模型,本質上是演化模型基于構件的開發利用預先打包的軟件構件開發程序基于構件的開發(續)構件開發的步驟:對所需構件進行評估??紤]構件的集成。設計系統的軟件框架。將構件放入框架。進行測試?;跇嫾拈_發(續)構件開發的步驟:形式化方法模型形式化方法模型的主要活動是生成計算機軟件形式化的數學規格說明。特點:精密、準確。缺點:難度大,成本高,可用人力資源少,用戶不易理解,有時甚至無法完成。方法:有窮狀態機、Petri網、Z語言等。形式化方法模型形式化方法模型的主要活動是生成計算機軟件形式化面向方面的軟件開發將系統分成若干相對較獨立的組成部分,這些部分稱為方面。面向方面技術包括面向對象技術,比它大。系統的方面包括用戶接口、協調工作、發布、持續性、存儲器管理、事務處理、安全、完整性等。還不成熟。具有螺旋型和協同型的共同特點。面向方面的軟件開發將系統分成若干相對較獨立的組成部分,這些部統一過程試圖將傳統軟件模型(慣例軟件模型)和敏捷過程模型的優點結合起來,即統一起來。一些術語:面向對象(Object-Oriented,OO),面向對象分析(Object-OrientedAnalysis,OOA),面向對象分析(Object-OrientedDesign
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025授權合同協議書(以此為準)
- 生物制藥公司合同協議
- 用工合用工合同協議
- 珠寶個人買賣合同協議
- 環保鋼帶箱采購合同協議
- 鹽水鵝供銷合同協議
- 甲級木質門銷售合同協議
- 甲乙雙方協議終止合同
- 電解液采購合同協議
- 電器組裝采購合同協議
- 法人治理主體“1+3”權責表
- 幼兒園中班語言繪本《章魚先生賣雨傘》課件
- 高考高中生物二輪 原因類答題技巧課件
- 廣東省廣州市各縣區鄉鎮行政村村莊村名明細及行政區劃代碼
- Thecleverpig教學課件(省一等獎)
- 醫院突發呼吸心跳驟停搶救演練腳本
- 電梯施工方案-鋼結構安裝專項方案電梯井模版
- 課件-強排方案設計課件
- 駕校安全安全隱患臺帳
- 利益沖突審查表
- 環境社會學整本書課件完整版電子教案全套課件最全教學教程ppt(最新)
評論
0/150
提交評論