軟件開發(fā)過程的定義_第1頁
軟件開發(fā)過程的定義_第2頁
軟件開發(fā)過程的定義_第3頁
軟件開發(fā)過程的定義_第4頁
軟件開發(fā)過程的定義_第5頁
已閱讀5頁,還剩104頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2講 軟件開發(fā)過程的定義、剪裁和改進,毛新軍 計算機科學(xué)與技術(shù)系602教研室 0731-(45)73649,軟件項目管理課程 之,Copyright Xinjun Mao 2005,2,講授內(nèi)容,項目案例 什么是軟件項目開發(fā)過程 為什么需要定義過程 軟件開發(fā)過程模型 如何定義過程 如何剪裁過程 案例分析 小結(jié),Copyright Xinjun Mao 2005,3,問題,如果讓你來組織一個軟件項目的開發(fā),你認(rèn)為首先你所關(guān)注的問題是什么?,Copyright Xinjun Mao 2005,4,1. 項目案例,案例角色和人物,小王:軟件項目負(fù)責(zé)人,老王:公司技術(shù)老總,開發(fā)小組:小李、老趙、小田

2、、小謝,Copyright Xinjun Mao 2005,5,軟件開發(fā)需要過程(1/3),由于時間緊迫,小王需要馬上展開軟件項目的開發(fā)工作,但是它現(xiàn)在面臨一系列頭痛的問題 軟件項目的開發(fā)要做哪些方面的工作 這些工作應(yīng)該按照什么樣的次序開展進行?這些工作完成后將產(chǎn)生什么樣的結(jié)果?按照什么樣的規(guī)范來書寫這些內(nèi)容 如何讓員工知道要做哪些工作 盡管他學(xué)過軟件工程,但在小王的頭腦中沒有一個清晰、系統(tǒng)的認(rèn)識 根據(jù)以往的經(jīng)驗,他認(rèn)為需要去制訂一個清晰、詳細、完整的軟件開發(fā)過程,Copyright Xinjun Mao 2005,6,軟件開發(fā)需要過程(2/3),小王向老王尋求幫助,老王告訴小王公司以前從來沒

3、有這些方面的記錄,各個項目組都從零開始制定自己的軟件開發(fā)過程,但都沒有形成文檔 經(jīng)過慎重考慮,小王向老王建議: 項目組需要定義軟件開發(fā)過程 公司需要一個良定義、文檔化的軟件開發(fā)過程,以便于支持不同項目組的開發(fā)工作 老王同意小王的建議,并要求他制定和文檔化一個針對公司特點、并且能滿足大部分軟件項目需求的軟件開發(fā)過程,Copyright Xinjun Mao 2005,7,軟件開發(fā)需要過程(3/3),于是,小王只好找了一大堆的資料,帶著許多疑問和困惑,考慮和制訂項目開發(fā)的過程和活動。 什么是軟件開發(fā)過程? 如何清晰、準(zhǔn)確、規(guī)范地對它加以定義? 如何根據(jù)公司的特點,制定軟件開發(fā)過程? 如何不斷地改進

4、軟件開發(fā)過程? 如何根據(jù)項目的特點剪裁過程 等等,Copyright Xinjun Mao 2005,8,過程是重要的,軟件開發(fā)過程的制定對軟件項目的實施是很重要的 軟件開發(fā)過程需要文檔化,便于交流、培訓(xùn)、改進 軟件開發(fā)過程的制定應(yīng)針對具體組織和項目的特點 一個組織最好應(yīng)該有特定于該組織、一般性的軟件開發(fā)過程,供各個項目剪裁和使用 通過培訓(xùn)讓項目組成員了解軟件開發(fā)過程,Copyright Xinjun Mao 2005,9,問題的提出,什么是軟件開發(fā)過程? 如何清晰、準(zhǔn)確、規(guī)范地對它加以定義? 如何根據(jù)公司的特點,制定軟件開發(fā)過程? 如何不斷地改進軟件開發(fā)過程? 如何根據(jù)項目的特點剪裁過程 ,

5、Copyright Xinjun Mao 2005,10,講授內(nèi)容,項目案例 什么是軟件項目開發(fā)過程 為什么需要定義過程 軟件開發(fā)過程模型 如何定義過程 如何剪裁過程 案例分析 小結(jié),Copyright Xinjun Mao 2005,11,什么是軟件開發(fā)過程,什么是過程? 什么是軟件開發(fā)過程?,Copyright Xinjun Mao 2005,12,2.1什么是過程?,針對一個給定目的地一系列操作步驟 (IEEE-STD-610) 例如 目的:去火車站 操作步驟:去德雅路公共汽車站,乘113路汽車 每個過程都有明確的目的以及具體的操作步驟,操作步驟說明了有哪些操作以及按照什么樣的方式來執(zhí)行

6、操作,Copyright Xinjun Mao 2005,13,2.2什么是軟件開發(fā)過程 (1/2),按照項目的進度、成本和質(zhì)量限制,開發(fā)和維護滿足用戶需求的軟件所必需的一組有序的軟件開發(fā)活動集合 軟件開發(fā)活動的例子 需求分析 設(shè)計 開發(fā)活動的序例子 先做需求分析,然后再做軟件設(shè)計 ,Copyright Xinjun Mao 2005,14,2.2什么是軟件開發(fā)過程(2/2),軟件開發(fā)過程的組成 軟件開發(fā)活動 軟件開發(fā)活動間的關(guān)系(執(zhí)行和實施的序),Copyright Xinjun Mao 2005,15,2.3軟件開發(fā)活動(1/4),什么是軟件開發(fā)活動? 為開發(fā)軟件項目而執(zhí)行的一項具有明確任

7、務(wù)的具體工作 例如,需求分析,執(zhí)行單元測試,制定軟件項目開發(fā)計劃等 軟件開發(fā)過程中存在許多相互關(guān)聯(lián)的軟件開發(fā)活動 明確的任務(wù) 非孤立,和其他活動存在關(guān)聯(lián),Copyright Xinjun Mao 2005,16,2.3軟件開發(fā)活動(2/4),按任務(wù)性質(zhì),軟件開發(fā)活動可分為二種形式 技術(shù)活動 對軟件項目實施開發(fā),產(chǎn)生軟件產(chǎn)品 例如,需求分析,概要設(shè)計,編碼,單元測試等等 管理活動 對軟件項目中的人、產(chǎn)品和過程等實施管理的活動 例如,制訂軟件項目計劃,軟件配置等等,Copyright Xinjun Mao 2005,17,2.3軟件開發(fā)活動(3/4),如何定義軟件開發(fā)活動? 名稱 任務(wù) 輸入: 開

8、始所必需滿足的條件 輸出: 完成時所必須滿足的條件以及結(jié)果 實施: 做什么,怎么做(詳細的步驟),或者如何從輸入產(chǎn)生輸出,Copyright Xinjun Mao 2005,18,2.3軟件開發(fā)活動(4/4),軟件活動例子: 單元測試 任務(wù) 對軟件基本單元模塊進行測試,判斷是否有錯 輸入 有一個已完成、被文檔化和批準(zhǔn)的軟件單元測試計劃 供測試的軟件單元模塊代碼 實施 遵循單元測試計劃,運行了所有的測試用例 撰寫了單元測試報告 輸出 單元測試報告,Copyright Xinjun Mao 2005,19,2.4軟件開發(fā)活動間的關(guān)系,軟件開發(fā)活動之間的次序反映了活動之間的依賴關(guān)系 邏輯 一個軟件開

9、發(fā)活動輸出是另一個軟件開發(fā)活動的輸入 例如,需求分析和軟件設(shè)計之間 時間 一個軟件開發(fā)活動需等到另一個軟件開發(fā)活動完成之后才能執(zhí)行 例如,集成測試和確認(rèn)測試,Copyright Xinjun Mao 2005,20,講授內(nèi)容,項目案例 什么是軟件項目開發(fā)過程 為什么需要定義過程 軟件開發(fā)過程模型 如何定義過程 如何剪裁過程 案例分析 小結(jié),Copyright Xinjun Mao 2005,21,為什么需要過程,明確了軟件開發(fā)的過程和步驟,促進工程化軟件開發(fā) 便于制定軟件項目計劃 為軟件開發(fā)提供了可視性,便于對軟件開發(fā)過程進行管理和控制 便于細化和安排任務(wù),使得每個人員明確各自的工作,Copy

10、right Xinjun Mao 2005,22,講授內(nèi)容,項目案例 什么是軟件項目開發(fā)過程 為什么需要定義過程 軟件開發(fā)過程模型 如何定義過程 如何剪裁過程 案例分析 小結(jié),Copyright Xinjun Mao 2005,23,軟件開發(fā)過程模型,什么是軟件開發(fā)過程模型? 軟件開發(fā)模型是軟件開發(fā)全過程、軟件開發(fā)活動以及它們之間關(guān)系的的結(jié)構(gòu)框架 指導(dǎo)軟件開發(fā),以及軟件開發(fā)過程的定義 常用的軟件開發(fā)過程模型 瀑布模型 原型模型 增量模型 迭代模型 螺旋模型,Copyright Xinjun Mao 2005,24,4.1 瀑布模型,特點: 分階段 階段間有因果關(guān)系 評審 允許反饋,適合場所 需

11、求易于完善定義的軟件,Copyright Xinjun Mao 2005,25,4.2原型模型,特點 有效適應(yīng)用戶需求的變化 不知循環(huán)多少次,進度難以控制,適合場所 需求動態(tài)變化、難以確定的軟件系統(tǒng),Copyright Xinjun Mao 2005,26,4.3增量模型(Incremental),交付產(chǎn)品,特點 并行開發(fā) 管理復(fù)雜,Copyright Xinjun Mao 2005,27,4.4迭代模型(Iterative),特點 通過逐步迭代,建立軟件系統(tǒng) 適合場所 需求沒有/難以完整定義的軟件,迭代1,迭代2,Copyright Xinjun Mao 2005,28,4.5 螺旋模型,特

12、點 以風(fēng)險為導(dǎo)向,應(yīng)用場所 開發(fā)風(fēng)險較大的軟件項目,Copyright Xinjun Mao 2005,29,講授內(nèi)容,項目案例 什么是軟件項目開發(fā)過程 為什么需要定義過程 軟件開發(fā)過程模型 如何定義過程 如何剪裁過程 案例分析 小結(jié),Copyright Xinjun Mao 2005,30,定義軟件開發(fā)過程的要求,全面 定義要應(yīng)用到軟件項目中的所有活動項 可操作 各個活動易于實施 簡潔、易于理解 不含無意義的活動,描述簡潔易于理解 靈活 可供各個項目進行靈活剪裁 易于改進 能夠不斷對它進行改進和提高,Copyright Xinjun Mao 2005,31,定義軟件開發(fā)過程的步驟(1/2),

13、步驟1:確定軟件開發(fā)過程模型 步驟2:確定和描述活動 步驟3:確定和描述活動間的關(guān)系 步驟4:文檔化軟件開發(fā)過程 步驟5:文檔化如何剪裁過程 步驟6:文檔化如何改善過程 步驟7:過程評審、認(rèn)可和發(fā)布 步驟8:員工培訓(xùn),Copyright Xinjun Mao 2005,32,定義軟件開發(fā)過程的步驟(2/2),選擇軟件開發(fā)過程模型,確定和描述活動,確定和描述活動關(guān)系,文檔化軟件開發(fā)過程,文檔化如何剪裁過程,文檔化如何改進過程,評審認(rèn)可發(fā)布,員工培訓(xùn),Copyright Xinjun Mao 2005,33,步驟1:選擇軟件開發(fā)過程模型(1/2),選擇軟件開發(fā)過程模型應(yīng)考慮的問題 組織軟件的需求特

14、征 動態(tài)改變 可完全定義 項目的風(fēng)險 風(fēng)險因素有多大 能承受多少? 是否需要預(yù)先給用戶展示原型? 需要多少經(jīng)驗和技巧來成功的使用軟件開發(fā)過程模型 組織或項目組成員的經(jīng)驗和能力等等,Copyright Xinjun Mao 2005,34,步驟1:選擇軟件開發(fā)過程模型(2/2),注意:組織應(yīng)該努力選擇滿足組織要求、盡可能少的軟件開發(fā)過程模型 軟件開發(fā)模型數(shù)目不宜過多 所選擇的軟件開發(fā)模型不宜過于復(fù)雜 最好選擇哪些組織成員熟悉的、有使用經(jīng)驗的軟件開發(fā)過程模型,Copyright Xinjun Mao 2005,35,步驟2:確定和描述活動,確定活動 定義和描述活動,Copyright Xinjun

15、 Mao 2005,36,確定活動(1/2),任務(wù) 明確軟件開發(fā)過程應(yīng)包含哪些活動 注意 軟件開發(fā)活動包括技術(shù)活動和管理活動 技術(shù)活動:需求分析、撰寫軟件使用資料 管理活動:制定軟件開發(fā)計劃,Copyright Xinjun Mao 2005,37,確定活動(2/2),確定活動的原則 基于所選擇的軟件開發(fā)過程模型確定活動 一般的,軟件開發(fā)過程模型僅僅確定軟件開發(fā)的技術(shù)活動 所確定的活動對于軟件項目的開發(fā)是必要的 活動盡可能是全面的,適合于各種可能的軟件項目,可供它們進行剪裁,Copyright Xinjun Mao 2005,38,例子:確定軟件開發(fā)活動,技術(shù)活動 需求分析 概要設(shè)計 詳細設(shè)計

16、 編碼 集成測試 撰寫出版物 用戶確認(rèn)測試 軟件發(fā)布,管理活動 制定初步軟件開發(fā)計劃 制定詳細軟件開發(fā)計劃 制定軟件配置管理計劃 制定軟件質(zhì)量保證計劃 項目跟蹤和監(jiān)督 配置管理 用戶培訓(xùn),Copyright Xinjun Mao 2005,39,定義和描述活動,對所確定的活動給出定義和描述 名稱 任務(wù) 輸入 輸出 實施,Copyright Xinjun Mao 2005,40,例子:需求分析活動描述(1/2),名稱 需求分析 任務(wù) 進行需求調(diào)查,定義軟件的用戶需求 撰寫軟件需求規(guī)格說明書(SRS) 根據(jù)SRS,制定軟件確認(rèn)測試計劃 對SRS和軟件確認(rèn)測試計劃進行評審,產(chǎn)生經(jīng)批準(zhǔn)的SRS和軟件確

17、認(rèn)測試計劃 輸入 用戶的初步需求描述,Copyright Xinjun Mao 2005,41,例子:需求分析活動描述(2/2),實施 根據(jù)用戶需求描述,分析和定義軟件的用戶需求,按照軟件需求規(guī)格說明書編寫指南撰寫軟件需求規(guī)格說明書 對SRS進行評審,評審的原則:正確性、完整性、一致性、簡潔性、規(guī)范化 根據(jù)軟件的用戶需求,制定軟件確認(rèn)測試計劃,按照軟件確認(rèn)測試計劃編寫指南撰寫軟件確認(rèn)測試計劃文檔 輸出 經(jīng)批準(zhǔn)的SRS, 經(jīng)批準(zhǔn)的軟件確認(rèn)測試計劃,Copyright Xinjun Mao 2005,42,步驟3:確定和描述活動間關(guān)系(1/3),活動之間主要有哪些關(guān)系? 執(zhí)行時序關(guān)系 時間先后關(guān)系

18、 例如,集成測試完成之后,才能進行確認(rèn)測試 邏輯依賴關(guān)系 一個活動的執(zhí)行需要其它活動實施產(chǎn)生的結(jié)果 邏輯依賴關(guān)系蘊涵了執(zhí)行時序關(guān)系 例如,軟件概要設(shè)計和需求分析之間,Copyright Xinjun Mao 2005,43,步驟3:確定和描述活動間關(guān)系(2/3),如何描述活動之間的關(guān)系 入口條件 例如,軟件設(shè)計(邏輯依賴),有一個已完成、被文檔化和批準(zhǔn)的軟件需求規(guī)格說明書 例如,確認(rèn)測試(執(zhí)行時序),集成測試已經(jīng)完成 出口條件 例如,軟件需求分析(邏輯依賴),產(chǎn)生一個已完成、被文檔化和批準(zhǔn)的軟件需求規(guī)格說明書,Copyright Xinjun Mao 2005,44,步驟3:確定和描述活動間關(guān)

19、系(3/3),直觀的圖形描述 節(jié)點表示活動 有向邊表示活動之間的關(guān)系 執(zhí)行時序 邏輯關(guān)系,Copyright Xinjun Mao 2005,45,例子:描述活動間的關(guān)系,需求分析、概要設(shè)計和詳細設(shè)計 入口條件(概要設(shè)計) 經(jīng)過批準(zhǔn)的軟件需求規(guī)格說明書 出口條件(概要設(shè)計) 軟件概要設(shè)計規(guī)格說明書 數(shù)據(jù)庫設(shè)計規(guī)格說明書 軟件接口設(shè)計規(guī)格說明書,Copyright Xinjun Mao 2005,46,步驟4:文檔化軟件開發(fā)過程(1/5),什么是文檔化? 書面、文字化描述和記錄,并形成相應(yīng)的、規(guī)范化的文檔 為什么需要文檔化軟件開發(fā)過程? 便于記錄和保存 便于獲取、理解和交流 便于剪裁 便于改進,

20、Copyright Xinjun Mao 2005,47,步驟4:文檔化軟件開發(fā)過程(2/5),如何文檔化軟件開發(fā)過程? 首先 給出軟件開發(fā)過程的直觀、完整視圖(圖形化) 其次 詳細描述活動 第三 詳細描述活動間關(guān)系,Copyright Xinjun Mao 2005,48,步驟4:文檔化軟件開發(fā)過程(3/5),首先: 如何提供軟件開發(fā)過程的完整視圖? 基于圖形方式直觀展示整個軟件開發(fā)過程中的活動以及它們之間的關(guān)系 給出軟件開發(fā)過程的整體、直觀描述 便于從整體上理解和把握軟件開發(fā)過程 注意不要作時間約束和限制,Copyright Xinjun Mao 2005,49,例子:軟件開發(fā)過程整體視圖

21、,Copyright Xinjun Mao 2005,50,步驟4:文檔化軟件開發(fā)過程(4/5),其次,描述和文檔化軟件開發(fā)活動 名稱 任務(wù) 輸入 實施(如何實施,采用什么方法,具體過程和步驟?) 輸出 說明,Copyright Xinjun Mao 2005,51,例子:需求分析活動描述(1/2),名稱 需求分析 任務(wù) 進行需求調(diào)查,定義軟件的用戶需求 撰寫軟件需求規(guī)格說明書(SRS) 根據(jù)SRS,制定軟件確認(rèn)測試計劃 對SRS和軟件確認(rèn)測試計劃進行評審,產(chǎn)生經(jīng)批準(zhǔn)的SRS和軟件確認(rèn)測試計劃 輸入 用戶的初步需求描述,Copyright Xinjun Mao 2005,52,例子:需求分析活

22、動描述(2/2),實施 根據(jù)用戶需求描述,分析和定義軟件的用戶需求,按照軟件需求規(guī)格說明書編寫指南撰寫軟件需求規(guī)格說明書 根據(jù)軟件的用戶需求,制定軟件確認(rèn)測試計劃,按照軟件確認(rèn)測試計劃編寫指南撰寫軟件確認(rèn)測試計劃文檔 對SRS和軟件確認(rèn)測試計劃進行評審,評審的原則:正確性、完整性、一致性、簡潔性、規(guī)范化 輸出 經(jīng)批準(zhǔn)的SRS, 經(jīng)批準(zhǔn)的軟件確認(rèn)測試計劃 說明 一般的,用戶要參與需求評審 需求評審?fù)ㄟ^后,只能通過指定的變更控制過程來修改,Copyright Xinjun Mao 2005,53,步驟4:文檔化軟件開發(fā)過程(5/5),最后,描述活動間關(guān)系 文字描述:輸入和輸出,說明 圖形化描述,連

23、接活動的有向邊,Copyright Xinjun Mao 2005,54,步驟5:文檔化如何剪裁過程(1/4),為什么需要定義剪裁過程 組織內(nèi)過程定義的一般性和普遍性 具體項目的特殊性 為了更好滿足具體項目的特殊要求 如何文檔化過程剪裁 Step1:定義剪裁軟件開發(fā)過程的規(guī)則,以更好地適應(yīng)具體軟件項目的特殊要求 Step2:定義對剪裁過程進行評審的要求 Step3:要上述規(guī)則和要求寫成規(guī)范化的文檔,Copyright Xinjun Mao 2005,55,步驟5:文檔化如何剪裁過程(2/4),Step1:定義過程剪裁規(guī)則 哪些活動可以被刪除,哪些不能 必選,可選的 對可選活動的說明:什么情況下

24、 例子:需求分析是必選的 哪些活動可以被合并,哪些不能 可合并,不可合并的 對活動合并的說明:什么情況下合并,如何合并 例子:對于小規(guī)模的軟件項目,詳細設(shè)計和編碼合并 編碼,Copyright Xinjun Mao 2005,56,步驟5:文檔化如何剪裁過程(3/4),Step2: 定義對剪裁后的過程進行審批的要求 誰參與評審 過程剪裁評審委員會或者過程管理小組 評審依據(jù) 誰批準(zhǔn)剪裁,Copyright Xinjun Mao 2005,57,步驟5:文檔化如何剪裁過程(4/4),Step3: 文檔化過程剪裁的規(guī)則和要求 可以作為過程定義的一個部分,或者 單獨形成一個獨立的過程剪裁文檔,Copy

25、right Xinjun Mao 2005,58,過程剪裁注意點,經(jīng)驗1:剪裁軟件開發(fā)過程的規(guī)則和要求必須文檔化并且易于理解 經(jīng)驗2:至少需要提供二個顯示如何剪裁軟件開發(fā)過程的完整例子 經(jīng)驗3:記錄項目剪裁過程的信息,供以后項目剪裁作借鑒和參考,Copyright Xinjun Mao 2005,59,例子:文檔化過程剪裁,剪裁規(guī)則 以下活動是不可進行剪裁:需求分析, 對于系統(tǒng)規(guī)模較小的項目,允許將概要設(shè)計和詳細設(shè)計二個過程合并 對于軟件開發(fā)工作量能夠預(yù)先確定的項目,初步項目計劃和詳細項目計劃可以合并 剪裁評審要求 過程剪裁評審委員會(可以就是過程管理小組)負(fù)責(zé)對剪裁的過程進行評審,該委員會的

26、組成參考“.文檔” 由過程剪裁評審委員會的主席負(fù)責(zé)審批剪裁過程,Copyright Xinjun Mao 2005,60,步驟6:文檔化如何改善過程(1/4),為什么需要改善過程? 過程定義的不完備性和不適應(yīng)性 組織業(yè)務(wù)發(fā)展的要求 特殊項目提出的要求 實際應(yīng)用中發(fā)現(xiàn)的問題 過程改善的目的 使得組織的過程不斷得到優(yōu)化 使得項目實施的過程得到不斷優(yōu)化,Copyright Xinjun Mao 2005,61,步驟6:文檔化如何改善過程(2/4),如何文檔化改善過程? Step1: 定義改善過程的規(guī)則 Step2: 定義改善后過程評審的要求 Step3: 文檔化過程改善的上述規(guī)則和要求,Copyri

27、ght Xinjun Mao 2005,62,步驟6:文檔化如何改善過程(3/4),Step1 & Step2 定義過程改善的規(guī)則和要求 過程改善請求的提出 提出者:組織或者項目成員 時機:項目實施過程中,項目完成之時,定期/不定期的檢查 過程改善請求的類別 變更請求 背離請求,Copyright Xinjun Mao 2005,63,案例1:管理過程改善,軟件開發(fā)過程管理小組,普通員工,項目經(jīng)理,變更請求,背離請求,變更或背離請求,負(fù)責(zé)人,過程定義文檔,Copyright Xinjun Mao 2005,64,案例2:對過程變更請求的管理,請求發(fā)起者提出書面的變更請求,過程小組評審變更請求,

28、實施變更請求,否決,結(jié)束,通過,新的軟件過程文檔 分發(fā),讓組織成員了解變更 必要時培訓(xùn),提交給過程管理負(fù)責(zé)人,Copyright Xinjun Mao 2005,65,案例3:對過程背離請求的管理,請求發(fā)起者提出書面的背離請求,背離請求提交給過程負(fù)責(zé)人,過程負(fù)責(zé)人評審背離請求,過程負(fù)責(zé)人授權(quán)背離,否決,結(jié)束,通過,項目負(fù)責(zé)人審批背離請求,否決,讓項目組同意背離,Copyright Xinjun Mao 2005,66,步驟6:文檔化如何改善過程(4/4),Step3: 文檔化過程改善的規(guī)則和要求 可以是過程定義的一個部分,或者 獨立的文檔,Copyright Xinjun Mao 2005,6

29、7,步驟7: 過程評審、認(rèn)可和發(fā)布,要對制定的的軟件開發(fā)過程進行評審,加以認(rèn)可 是否完備? 是否正確和準(zhǔn)確? 是否符合企業(yè)的特點? 描述是否簡潔、直觀? 是否適于剪裁和改進? 組織的管理者公開發(fā)布所定義的軟件開發(fā)過程 強制執(zhí)行,Copyright Xinjun Mao 2005,68,步驟8: 員工培訓(xùn),要對組織內(nèi)相關(guān)的員工培訓(xùn)軟件開發(fā)過程 知道為什么需要過程 知道組織內(nèi)的過程是什么 知道如何剪裁、變更和調(diào)整過程 強調(diào)必須根據(jù)過程來實施項目,Copyright Xinjun Mao 2005,69,軟件開發(fā)過程定義注意事項(1/5),經(jīng)驗1 組織制定的軟件開發(fā)過程應(yīng)該由一個可理解的活動集組成,

30、可以從該活動集中選擇合適的子集作為新項目的過程 組織內(nèi)的軟件開發(fā)過程應(yīng)該被定義為一個標(biāo)準(zhǔn) 組織內(nèi)定義的軟件開發(fā)過程應(yīng)該具有一定的通用性和一般性,既可滿足組織內(nèi)新項目的需要,也可滿足組織內(nèi)所經(jīng)歷的非傳統(tǒng)項目的需要,Copyright Xinjun Mao 2005,70,軟件開發(fā)過程定義注意事項(2/5),經(jīng)驗2 軟件開發(fā)過程不應(yīng)包含一些無效或者無用的任務(wù)或者活動,軟件開發(fā)過程中的任何活動和任務(wù)都是為了促進軟件項目的開發(fā)和管理,確保軟件項目在進度、成本的限制范圍內(nèi),得到滿足用戶要求的高質(zhì)量軟件產(chǎn)品 軟件開發(fā)過程不應(yīng)復(fù)雜和教條 軟件開發(fā)過程不應(yīng)捆綁一些無意義的規(guī)則,如必須采用某種方法和技術(shù),Cop

31、yright Xinjun Mao 2005,71,軟件開發(fā)過程定義注意事項(3/5),經(jīng)驗3 軟件開發(fā)過程應(yīng)該不斷地得到改善和提高 軟件開發(fā)過程有局限性和問題 需要對軟件開發(fā)過程經(jīng)常性地進行檢查,發(fā)現(xiàn)問題和不足 允許過程的使用者對過程提出改善意見,發(fā)表見解,Copyright Xinjun Mao 2005,72,軟件開發(fā)過程定義注意事項(4/5),經(jīng)驗4 借助于其他組織的經(jīng)驗和成果,以及國際化標(biāo)準(zhǔn)來制定軟件開發(fā)過程 借助于其他組織的經(jīng)驗和成果有助于少走彎路,盡快制定高質(zhì)量的軟件開發(fā)過程 借助于國際標(biāo)準(zhǔn)有助于規(guī)范化軟件開發(fā)過程,通過國際標(biāo)準(zhǔn)的認(rèn)證,如ISO9001, CMM 遵循國際標(biāo)準(zhǔn)是有

32、必要的,應(yīng)該提倡,它能幫助提升管理水平、形象和競爭力 切忌走過場,Copyright Xinjun Mao 2005,73,軟件開發(fā)過程定義注意事項(5/5),經(jīng)驗5 管理層要負(fù)責(zé)確保每個新項目完全遵循所批準(zhǔn)的軟件開發(fā)過程 經(jīng)驗6 過程組要負(fù)責(zé)確保不斷改善軟件開發(fā)過程,Copyright Xinjun Mao 2005,74,軟件開發(fā)過程定義文檔,項目組和組織一般要形成一個軟件開發(fā)過程定義文檔 軟件開發(fā)過程文檔的格式,Copyright Xinjun Mao 2005,75,講授內(nèi)容,項目案例 什么是軟件項目開發(fā)過程 為什么需要定義過程 軟件開發(fā)過程模型 如何定義過程 如何剪裁過程 案例分析

33、小結(jié),Copyright Xinjun Mao 2005,76,如何剪裁過程,剪裁過程的基礎(chǔ)和依據(jù) 軟件開發(fā)過程文檔 項目的具體要求 如何剪裁過程? 參照過程文檔中的剪裁規(guī)則,根據(jù)項目的具體特點確定剔除一些活動,合并一些活動 剪裁結(jié)果應(yīng)該能夠促進具體項目的管理,保證所開發(fā)軟件產(chǎn)品的質(zhì)量 剪裁認(rèn)可,本講標(biāo)題:軟件開發(fā)過程的定義,Copyright Xinjun Mao 2005,77,講授內(nèi)容,項目案例 什么是軟件項目開發(fā)過程 為什么需要定義過程 軟件開發(fā)過程模型 如何定義過程 如何剪裁過程 案例分析 小結(jié),Copyright Xinjun Mao 2005,78,案例分析,案例假設(shè) 采用瀑布軟

34、件開發(fā)過程模型 案例內(nèi)容 軟件開發(fā)過程框架 各個活動的描述 活動之間的關(guān)系 說明:該案例不足于用于實際應(yīng)用 沒有考慮組織的具體情況 不具體和詳細,Copyright Xinjun Mao 2005,79,步驟1:確定活動,技術(shù)活動 需求分析 概要設(shè)計 詳細設(shè)計 編碼 集成測試 撰寫出版物 用戶確認(rèn)測試 軟件發(fā)布,管理活動 制定初步軟件開發(fā)計劃 制定詳細軟件開發(fā)計劃 制定軟件配置管理計劃 制定軟件質(zhì)量保證計劃 項目跟蹤和監(jiān)督 配置管理 用戶培訓(xùn),Copyright Xinjun Mao 2005,80,步驟2:確定活動之間的關(guān)系,邏輯關(guān)系依賴 時序關(guān)系,Copyright Xinjun Mao

35、2005,81,Copyright Xinjun Mao 2005,82,Copyright Xinjun Mao 2005,83,Copyright Xinjun Mao 2005,84,步驟3:定義和描述活動,需求分析 概要設(shè)計 詳細設(shè)計 編碼 集成測試 確認(rèn)測試 撰寫用戶文檔 用戶培訓(xùn) 打包和交付,Copyright Xinjun Mao 2005,85,活動1:需求分析(1/3),任務(wù) 進行需求調(diào)查,定義軟件的用戶需求,撰寫軟件需求規(guī)格說明書(SRS) 根據(jù)SRS,撰寫軟件確認(rèn)測試計劃 評審SRS和軟件確認(rèn)測試計劃 輸入 用戶的初步需求描述 輸出 軟件需求規(guī)格說明書 軟件確認(rèn)測試計劃,

36、Copyright Xinjun Mao 2005,86,活動1:需求分析和軟件定義(2/3),實施 根據(jù)用戶需求描述,分析和定義軟件系統(tǒng)的需求,按照軟件需求規(guī)格說明書編寫指南編寫軟件需求規(guī)格說明書(SRS) 根據(jù)SRS,制定軟件確認(rèn)測試計劃,按照軟件確認(rèn)測試計劃編寫指南編寫軟件確認(rèn)測試計劃文檔 對需求分析的結(jié)果(軟件需求規(guī)格說明書和軟件確認(rèn)測試計劃)進行評審,Copyright Xinjun Mao 2005,87,活動1:需求分析和軟件定義(3/3),說明 用戶需求描述了用戶對目標(biāo)軟件系統(tǒng)的期望和要求(包括功能、性能和設(shè)計約束等),因此,需求分析只需關(guān)心要解決的問題,而無需關(guān)心這些問題的解

37、決方案 軟件確認(rèn)測試計劃應(yīng)該包含軟件需求規(guī)格說明書中所定義的所有需求的測試內(nèi)容,Copyright Xinjun Mao 2005,88,活動2:概要設(shè)計(1/3),任務(wù) 根據(jù)SRS,進行軟件的總體結(jié)構(gòu)設(shè)計、接口設(shè)計和數(shù)據(jù)設(shè)計,撰寫軟件總體結(jié)構(gòu)設(shè)計、接口設(shè)計和數(shù)據(jù)設(shè)計規(guī)格說明書 根據(jù)軟件的概要設(shè)計,制定軟件集成測試計劃 輸入 軟件需求規(guī)格說明書SRS 輸出 軟件總體結(jié)構(gòu)設(shè)計規(guī)格說明書 軟件數(shù)據(jù)設(shè)計規(guī)格說明書 軟件接口設(shè)計規(guī)格說明書 軟件集成測試計劃,Copyright Xinjun Mao 2005,89,活動2:概要設(shè)計(2/3),實施 根據(jù)SRS來進行軟件設(shè)計 按照軟件總體結(jié)構(gòu)設(shè)計規(guī)格說明

38、書編寫指南編寫軟件總體結(jié)構(gòu)設(shè)計文檔 按照軟件數(shù)據(jù)設(shè)計規(guī)格說明書編寫指南編寫軟件數(shù)據(jù)設(shè)計文檔 按照軟件接口設(shè)計規(guī)格說明書編寫指南編寫軟件接口設(shè)計文檔 按照軟件集成測試計劃編寫指南編寫軟件集成測試計劃文檔,Copyright Xinjun Mao 2005,90,活動2:概要設(shè)計(3/3),說明 概要設(shè)計要給出滿足用戶需求的軟件解決方案,主要是指軟件的總體結(jié)構(gòu)、接口設(shè)計和數(shù)據(jù)設(shè)計,不涉及具體模塊的內(nèi)部細節(jié),Copyright Xinjun Mao 2005,91,活動3:詳細設(shè)計(1/3),任務(wù) 進行軟件的詳細設(shè)計,撰寫軟件詳細設(shè)計規(guī)格說明書 根據(jù)軟件的詳細設(shè)計,制定軟件單元測試計劃 輸入 軟件需

39、求規(guī)格說明書SRS 軟件總體設(shè)計規(guī)格說明書 軟件接口設(shè)計規(guī)格說明書 軟件數(shù)據(jù)設(shè)計規(guī)格說明書,Copyright Xinjun Mao 2005,92,活動3:詳細設(shè)計(2/3),實施 根據(jù)SRS和軟件總體結(jié)構(gòu)、接口和數(shù)據(jù)設(shè)計規(guī)格說明書,進行軟件的詳細設(shè)計,根據(jù)軟件詳細設(shè)計規(guī)格說明書編寫指南撰寫軟件詳細設(shè)計文檔 根據(jù)每個模塊的內(nèi)部實現(xiàn)細節(jié)的設(shè)計,以及軟件單元測試計劃編寫指南編寫軟件單元測試計劃文檔 輸出 軟件詳細設(shè)計規(guī)格說明書 軟件單元測試計劃,Copyright Xinjun Mao 2005,93,活動3:詳細設(shè)計(3/3),說明 詳細設(shè)計主要根據(jù)軟件需求規(guī)格說明書,在軟件總體結(jié)構(gòu)設(shè)計、接口

40、設(shè)計和數(shù)據(jù)設(shè)計的基礎(chǔ)上,涉及軟件解決方案的詳細細節(jié),尤其是模塊的實現(xiàn)算法和思想,Copyright Xinjun Mao 2005,94,活動4:編碼(1/2),任務(wù) 編寫程序 進行單元測試,撰寫單元測試報告 輸入 軟件總體結(jié)構(gòu)設(shè)計規(guī)格說明書 軟件數(shù)據(jù)設(shè)計規(guī)格說明書 軟件接口設(shè)計規(guī)格說明書 軟件詳細設(shè)計規(guī)格說明書 單元測試計劃,Copyright Xinjun Mao 2005,95,活動4:編碼(2/2),實施 根據(jù)軟件總體結(jié)構(gòu)設(shè)計規(guī)格說明書、軟件數(shù)據(jù)設(shè)計規(guī)格說明書、軟件接口設(shè)計規(guī)格說明書、軟件詳細設(shè)計規(guī)格說明書進行編碼 根據(jù)單元測試計劃對各個模塊進行單元測試 輸出 經(jīng)過單元測試的軟件模塊源程序 單元測試報告,Copyright Xinjun Mao 2005,96,活動5:集成測試(1/2),任務(wù) 集成各個軟件模塊進行測試 輸入 軟件模塊的程序代碼 軟件總體結(jié)構(gòu)設(shè)計規(guī)格說明書 軟件數(shù)據(jù)設(shè)計規(guī)格說明書 軟件接口設(shè)計規(guī)格說明書 軟件集成測試計劃,Copyright Xinjun Mao 2005,97,活動5:集成測試(2/2),實施 根據(jù)軟件總體結(jié)構(gòu)設(shè)計規(guī)格說明書、軟件接口設(shè)計規(guī)格說明書、軟件數(shù)據(jù)設(shè)計規(guī)格說明書和軟件集成測試計劃,逐步組裝模塊進行軟件的集成測試,撰寫集成測試報告 輸出 可運行的、經(jīng)過集成測試的目標(biāo)軟件系統(tǒng) 集成測試報告

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論