




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章IT軟件項目的生命周期3.1IT軟件項目生命周期的劃分3.2IT軟件項目生命周期中各階段任務3.3IT軟件項目生命周期中的重要概念3.4IT軟件項目管理里程碑13.1IT軟件項目生命周期的劃分1.軟件項目生命周期的概念
任何軟件的開發都要經歷一個“生命周期”,從軟件的調研開始到淘汰的全過程,從項目批準到交付的過程。一般將項目分為以下4個階段:識別需求、提出解決方案、執行項目、結束項目21.軟件項目生命周期的概念對于典型的IT軟件項目,項目的生命周期可以從不同的角度認識。從項目承擔方看:項目是從接到合同正式開始的,到完成規定工作結束;從客戶的角度看:項目是從確認有需求開始,到使用項目的成果實現商務目標結束。無論從哪個角度分析,軟件項目的生命周期都包括識別、設計、實施和評估4個階段。典型軟件項目開發的生命周期如圖3.1所示。32.典型軟件項目開發的生命周期圖3.1典型軟件項目開發的生命周期初步需求子系統需求分析概念設計邏輯設計開發概念原型第一次開發風險分析開發結果評估識別設計實施評估系統配置、運行、產品成型系統需求分析物理設計第二次開發開發結果評估整體需求最終設計最終開發測試43.瀑布模型瀑布模型是美國WinstonRoyce向IEEEWESCON(Royce,Winston1970)提交的一篇名為《管理大規模軟件系統的開發》(ManagingtheDevelopmentofLargeSoftwareSystems)的論文中首次提出的。這種方法是從一個階段成瀑布流入下一個階段,所以這個模型就稱為“瀑布模型”。5軟件開發瀑布模型及不同階段之間的交互圖3.2軟件開發瀑布模型及不同階段之間的交互需求分析與定義系統設計與軟件設計系統實施與單元測試系統集成與系統測試系統運行與系統維護6(1)純瀑布模型軟件概念需求分析初步設計編碼和調試詳細設計系統測試①軟件概念:用戶提出對軟件的開發與初步需求;④詳細設計:⑤編碼和調試:選擇合適的計算機語言,完成詳細設計中的各個模塊的編碼并調試;③初步設計:將用戶需求分解成硬件與軟件需求,并建立系統的整體結構模型;②需求分析:開發者與用戶交流,確定系統的目標、服務與約束;將初步設計的整體結構繼續分解為可實施編碼的小模塊,并完成流程圖;⑥系統測試:測試系統的各部分是否滿足需求。7(2)改進的純瀑布模型--生魚片模型軟件概念需求分析初步設計詳細設計編碼和調試系統測試主要缺點:①因為階段重疊,里程碑非常不明確,很難精確地進行過程跟蹤;②并行地執行活動可能導致無效的溝通、錯誤的想法以及低下的效率。
“生魚片模型”,是將模型中的連續的各階段相互有較大幅度的重疊。例如,在需求分析完成之前可以進行初步設計和詳細設計。
主要優點:在項目比較小且定義得很好時,可以有效地減少文檔的產生。是比較有效的模型。
8(2)改進的純瀑布模型--具有子系統的瀑布模型軟件概念需求分析初步設計詳細設計子系統設計編碼和調試詳細設計子系統設計編碼和調試詳細設計子系統設計編碼和調試系統測試初步設計中將系統分成幾個邏輯上相對獨立的子系統,每一個子系統都采用相對獨立的方法進行設計,形成了具有子系統的瀑布模型。圖中,初步設計階段將系統分成3個相對、獨立的子系統,各子系統分別獨立進行詳細設計、編碼和調試及子系統設計,最后統一進行系統測試。9Boehm給出的一些成本數據系統類型階段成本(%)需求/設計實施測試控制系統衛星系統操作系統科學系統商務系統463433444420201726283446503028從表中我們能看出什么特點?104.原型模型原型(Prototype)法是在20世紀80年代初,在總結和歸納結構化分析與設計方法開發軟件項目的基礎上,改進結構化系統分析與設計的過于繁瑣、開發周期長、見效慢等缺點,借助第4代程序開發語言而產生的一種項目開發方法。這種方法是借助先進的軟件開發工具根據用戶提出的軟件需求定義,快速建立一個軟件系統的“原型”,向用戶展示待開發軟件的全部或部分功能,在征求用戶對原型軟件的意見后,反復進行修改、完善、提高和確認,最終實現項目的目標。11(1)漸進原型模型圖用戶提出系統要求識別歸納用戶需求快速建立開發原型修改模型重新設計或選擇模型評價模型確定模型,完成并交付模型滿意模型不滿意模型不可行漸進原型模型是從軟件開發系統概念開始,根據軟件需求定義,快速建立一個軟件系統“原型”的生命周期模型。12(2)漸進原型模型的基本過程原型建立通常是軟件從最顯著的方面開始,向用戶展示待開發系統的全部或者部分功能(通常是完成的部分);然后根據用戶對原型的反饋信息,反復進行修改、完善、提高和確認,直到開發者和用戶都認為原型已經“足夠好”;最終實現項目目標,完成結尾工作,交付作為最終產品的原型。13(3)漸進原型模型的特點直觀、形象,更多地遵循了人們認識事物的規律,因而更容易被人們接受。采用模擬的手段,縮短了用戶和系統分析、設計人員之間的距離。在整個系統開發過程中反饋是及時的,標準是統一的,可及時地暴露問題,確保系統實現的正確性。充分利用了新一代的軟件工具,使得系統開發和運行的效率都大大提高。
14(4)原型法的應用的軟件支撐環境要有一個方便靈活的關系數據系統。要有一套完整的程序生成軟件。要有一個與數據庫對應的、靈活方便的數據字典。有一個可以快速抽象或者能夠容易提煉的原型。155.螺旋模型風險分析風險分析風險分析風險分析原型1原型2原型3可操作原型建模模擬評價軟件需求需求確認操作概念需求計劃開發計劃軟件產品設計設計確認與驗證集成與測試計劃詳細設計編碼單元測試集成測試驗收測試實現確定下階段目標、約束條件風險分析過程迭代開始開發、驗證軟件產品制定下階段計劃評審累計成本構造原型評價方案螺旋模型示意圖16(1)螺旋模型說明1988年Boehm提出“基于風險”的螺旋模型螺旋模型主要由4個部分組成:
需求定義、風險分析、實現和評審螺旋模型是這4個部分組成的迭代模型,軟件開發的過程每迭代一次,螺旋線就增加一周,系統產生一個新的版本,而軟件開發的時間和成本又有新的投入。螺旋模型中的顯著特點是在每個固定階段對項目的風險進行評估。17(2)螺旋模型的迭代每次迭代都包括以下六個步驟:(1)確定下一階段的目標、方案的約束條件;(2)風險分析、評估及解決;(3)為該系統構造合適的原型;(4)評價方案;(5)開發、驗證軟件產品;(6)制定下一階段計劃,交付給下一步驟,開始新的迭代過程。18例1質量螺旋模型(1)目標盡可能提高軟件產品質量約束在三年內完成、沒有大規模的投資、公司標準不會發生大的變化可選方案重用已經有的注冊軟件、引入正式的需求和合格證明、采用新的測試和檢驗工具風險提高質量可能會在很大程度上提高成本、新的方法可能會導致現有員工的流失風險解決辦法詳細調查、駕馭項目、對潛在重用組件的調查、對可得到的支持工具進行評價、對員工培訓和激勵進行研究19例1質量螺旋模型(2)目標盡可能提高軟件產品質量后果對正規方法、經驗的限制難以提高軟件質量公司可得到的工具支持是有限的可得到能重用的組件,但幾乎沒有可重用的工具支持計劃更詳細的調查重用方案開發支持工具原型探索組件合格計劃行動投資將來12個月開發20例2軟件產品螺旋模型(1)目標獲得軟件產品約束在一年內完成必須支持現在軟件產品的類型總成本要低于¥1000000可選方案購買現存的信息恢復軟件購買數據庫并且采用這種數據庫的查詢語言開發軟件產品開發一個特殊目的的軟件產品風險在約束條件內可能獲得不了這些軟件產品軟件產品功能可能不合適21例2軟件產品螺旋模型(2)目標獲得軟件產品風險解決辦法用開發軟件產品的原型來明確需求委托顧問調查現存信息恢復系統的情況放松時間限制后果信息恢復系統靈活性(可移植性)差不能滿足確認的需求采用DBMS開發的原型可能會提高整個系統特殊目的軟件產品的開發成本可能會很高計劃應用現有DBMS提高系統原型和用戶接口,開發軟件產品行動投資將來12個月開發226.編碼修正模型使用編碼修正模型,一般是從一個大致的想法開始工作,可能有一個正式的規范,也可能沒有;然后結合使用一些無論如何都稱不上規范的設計、編碼、調試和測試方法,來完成產品開發。編碼修正模型有兩點好處:①不需要什么成本。不需要在除了純粹編碼工作以外的項目規劃、文檔編制、質量保證、標準實施或任何其他活動中花費時間。②它只需要極少的專業知識。237.為項目選擇最快速的生命周期(1)為項目選擇最有效的生命周期模型,通常可以思考以下問題:(1)在項目開始的時候,開發者和用戶對需求的理解是否充分?在項目進行過程中,對需求的理解有可能出現改變嗎?(2)開發者對系統的整體框架的理解是否充分?是否有可能在項目進展過程中對系統框架進行重大改變?(3)可靠性需求有多大?(4)需要在項目中為未來的版本提前進行多少計劃和設計?247.為項目選擇最快速的生命周期(2)(5)項目要承受多大的風險?(6)是否被迫預先確定進度?(7)需要具備在進展過程中進行變更的能力嗎?(8)需要在項目整個進展過程中提供給用戶可視的進展情況嗎?(9)需要在項目整個進展過程中提供給管理者可視的進展情況嗎?(10)需要多少經驗和技巧來成功地使用這種生命周期模型?253.2IT軟件項目生命周期中各階段任務根據前面對IT軟件項目各個主要模型生命周期的分析,可以將一般的軟件項目開發過程詳細劃分為以下6個主要階段:(如圖3.6所示)項目開發準備階段調查研究階段項目分析階段項目設計階段項目實施階段維護與評價階段26圖3.6軟件項目的開發階段供決策參考提出可行性分析修改意見項目咨詢人員項目開發準備階段調查研究階段項目分析階段項目設計階段項目實施階段維護與評價階段項目咨詢人員項目專業管理人員項目專業管理人員軟件設計人員軟件設計人員操作人員操作人員新的項目準備271.項目開發準備階段當現行軟件系統不滿足業務需要時,公司領導層提出開發新軟件系統的要求。公司管理咨詢人員(或者負責信息化工作的人員)首先進行初步調查,確定是否進行立項,制定出新軟件系統的開發計劃。本階段不屬于項目的分析與設計,但確實是一個不可或缺的重要階段,它往往對項目開發的成敗起著至關重要的作用。如果項目開發采取外包的方式,本階段還包括招標的過程。282.調查研究階段本階段需要采取各種各樣的方式進行調查研究,搞清目前系統的界限、組織分工、業務流程、資源狀況及薄弱環節,需要繪制現行項目的有關圖表。在掌握充分資料的基礎上,與用戶或公司協商討論,提出初步的系統目標和項目計劃。針對用戶的情況和要達到的目標進行新系統開發的可行性研究,并提交可行性研究報告。293.項目分析階段本階段是新系統的邏輯設計階段。管理人員和系統分析人員使用一系列的圖表工具構造出獨立于任何物理設計的系統邏輯模型,并與文字說明、圖表、流程、規范等共同組成系統的邏輯說明書。本階段需要對現行系統中不能適應新項目要求的部分進行處理,必要時對企業的資產和業務流程及管理方式進行優化和重組。本階段是新系統設計方案的優化過程。本階段是各個階段中的關鍵階段。304.項目設計階段本階段是新系統的物理設計階段。根據新系統的邏輯模型進行物理模型的設計,具體地選擇一個物理的計算機信息處理系統。要求具體地進行計算機過程和人工過程的各種詳細設計,進行程序模塊和處理過程(處理邏輯)的設計等。選擇合理的硬件、軟件,進行代碼、輸入界面、輸出界面、文件、數據存儲處理等。系統物理設計的關鍵是模塊化。315.項目實施階段本階段是新系統調試運行階段。對操作人員進行培訓,編制系統設計文檔、使用手冊和有關說明書。程序員對程序進行集成和調試。進行各種文件和數據庫的建立,需要大量人力投入到數據收集、整理和錄入工作中。本階段的工作是十分艱巨的。本階段投入的人力、物力、財力最多,花費時間最長,工作量最大。326.維護與評價階段本階段是新系統調試后到投入運行之間的修改、完善、驗證的階段。本階段完成的工作主要有:系統的處理邏輯、程序、文件、數據等的修改。評價系統的優劣,主要是指系統的工作質量和經濟效益。如:輸出信息的準確性、系統的可靠性和運行質量、系統的開發費用、使用維護費用、經濟效益、工作效率的提高和服務質量的改善等。333.3IT軟件項目生命周期中的重要概念檢查點:是指在規定的時間間隔內對項目進行的檢查與復審工作,它是通過比較實際進展與計劃進度之間的差異,并根據這個差異來進行調整的。里程碑:完成階段性工作的標志,不同類型的項目里程碑不同。里程碑往往是一些重要活動的完工,或重要文檔的交付,或階段評審的通過。基線:指一個(或一組)配置項在項目生命周期的不同時間點上通過正式評審而進入正式受控的一種狀態。基線是一些重要的里程碑,但相關交付產品要通過正式評審并作為后續工作的基準和出發點。343.4IT軟件項目管理里程碑在IT軟件項目的整個生命周期,通常有3種類型的檢查點:主里程碑、小里程碑、狀態評估里程碑是開發人員和其他項目管理人員必須經常達成和滿足的目標,通常是以各階段所完成的文檔來體現,每個里程碑都是“二分性”的(“完成”和“沒完成”兩種狀態)。對于IT軟件項目來說,如果不能設置好的里程碑,并監控執行,項目就可能會失控,并使成本預算和進度都難以管理。351.主里程碑主里程碑是最重要的里程碑,它通常是指項目生命周期中的一些重要轉折點,為項目提供戰略目標。主里程碑可以看作是一個連續的過程,在這個過程中包括對不同因素的重新定義。主里程碑的設置是為了確保對需求的理解、對項目生命周期的計劃、對產品的形式、功能和質量等因素保持連貫性和可控制性。在IT軟件項目的整個生命周期中,一般存在4個主里程碑,如下表所示。36IT軟件項目的主里程碑主里程碑所處階段目標下一階段目標里程碑識別階段末期向所有項目干系人提供一份如何開展項目的建議書,包括項目計劃、成本和進度表以及期望的利潤和效益等設計設計里程碑設計階段末期向所有項目干系人提供一個經過論證的可執行的設計方案開發開發里程碑開發階段末期評估軟件的可讀性和可用性,以便軟件產品開始向客戶/用戶的轉換測試產品版本里程碑評估階段末期評價軟件的完整性和軟件對其所支持組織的轉換37項目干系人所關注的問題重點對一般的IT軟件項目而言,項目主要干系人有:客戶:關心項目的可行性、對需求的理解、時間及成本的預算、風險的評估以及產品的質量特征等。使用者:關心系統使用權的連貫性及產品的質量特征等系統設計師:主要關心需求的變化,系統的完整性及連貫性,平衡并分析時間、風險、質量、成本之間的關系開發人員:關心是否有足夠詳細的需求說明和使用情況的描述,以及選擇組件的結構、開發環境等。維護人員:關心新系統與現行系統的協同工作能力,良好的維護性能等。382.小里程碑小里程碑的形式和內容比較靈活,可以根據項目或組織的情況而變,主要為實現項目的目標提供戰術方法。小里程碑需要通過項目的內容及周期長度來確定。設置小里程碑的主要目的是為了合理分配工作,細化管理的“粒度”。39(1)使用小里程碑應遵循的原則在項目早期建立小里程碑。讓開發者建立自己的小里程碑。保持小里程碑的小型化特征。保持里程碑的二分性。制定一系列完整的里程碑。在短期計劃(而不是長期計劃)中應用小里程碑。40(2)小里程碑與任務列表的異同相同:都是在一定“粒度”下跟蹤工作的完成情況。不同:主要在于各自的側重點不同,如:里程碑認為任務只有兩種狀態:完成和沒完成任務列表沒有這種限制里程碑定義的任務能在規定的時間內完成任務列表可以任意長度當脫離原來軌跡時,里程碑要求調整任務列表沒有這種規定應用里程碑比通常應用的任務列表更嚴格。413.定期狀態評估狀態評估的主要目的是根據反映項目進展情況的動態信息對項目進行評估,比較實際進展與計劃進度之間的差異,并根據差異情況進行相應的調整。定期狀態評估是一種有效的管理活動,按照規定的時間間隔(如月或季)進行相應的評估,定義工作的進度和質量指標,確保對項目進展情況關注,使所有項目干系人之間可以在一種開放的氛圍中進行交流。評估最重要的目標是為了確保所有項目干系人對項目目標期望值的同步和連貫。42表3.6定期狀態評估的主要內容主題內容職員比較職員的計劃人數和職員目前的人數(減少或增加)支出將支出計劃與過去、現在、未來主里程碑中的支出計劃進行對比風險事件和危險程度解決計劃風險的量化(成本、時間、質量)技術主里程碑的結構基線時間表軟件管理學、當前變化趨勢測試和質量評估主里程碑計劃和結果下一個主里程碑的計劃、時間安排、風險所有可接受標準的成功/失敗結果產品范圍產品的大小、增長和可接受標準43本章小結生命周期模型純瀑布模型改進的瀑布模型原型模型螺旋模型軟件開發的階段軟件開發的階段各階段的任務軟件開發生命周期中的幾個基本概念檢查點里程碑基線定期狀態評估44作業:1軟件生命周期有哪些階段,請畫圖說明。2比較瀑布模型、原型模型和螺旋模型的異同點。3什么是里程碑,主要特征是什么?4定期狀態評估的主要內容有哪些?45憂國忘家,捐軀濟難,忠臣之志也。—三國·曹植《求自誠表》。7月-237月-23Thursday,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025【技術咨詢合同(含技術指導、技術評估)】技術服務合同
- 采購合同協議書范本(3篇)
- 充電樁epc合同標準文本
- 二零二五版聯合創始人協議書入股分紅協議書
- 親子道德合同樣本
- 地產項目合作開發合同
- 二零二五版幼兒園教師招聘合同
- 勞動關系轉移三方協議書
- 認識鐘表教學設計
- 招投標聯合體協議書
- 新申請艾滋病篩查實驗室驗收指南
- 倉儲設備操作安全操作培訓
- 上海電機學院計算機C語言專升本題庫及答案
- 幼兒園公開課:大班語言《相反國》課件(優化版)
- 2023年寧波房地產市場年度報告
- 員工身心健康情況排查表
- 模擬小法庭劇本-校園欺凌
- 危險化學品經營企業安全評價細則
- 哈利波特與死亡圣器下雙語電影臺詞
- 10以內數字的分解和組成
- 課堂教學技能講座課件匯編
評論
0/150
提交評論