![軟件質(zhì)量和軟件過程_第1頁](http://file4.renrendoc.com/view/d793c9ca09766ec9d06ba4520820c069/d793c9ca09766ec9d06ba4520820c0691.gif)
![軟件質(zhì)量和軟件過程_第2頁](http://file4.renrendoc.com/view/d793c9ca09766ec9d06ba4520820c069/d793c9ca09766ec9d06ba4520820c0692.gif)
![軟件質(zhì)量和軟件過程_第3頁](http://file4.renrendoc.com/view/d793c9ca09766ec9d06ba4520820c069/d793c9ca09766ec9d06ba4520820c0693.gif)
![軟件質(zhì)量和軟件過程_第4頁](http://file4.renrendoc.com/view/d793c9ca09766ec9d06ba4520820c069/d793c9ca09766ec9d06ba4520820c0694.gif)
![軟件質(zhì)量和軟件過程_第5頁](http://file4.renrendoc.com/view/d793c9ca09766ec9d06ba4520820c069/d793c9ca09766ec9d06ba4520820c0695.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件質(zhì)量和軟件過程一、軟件質(zhì)量特性商務(wù)印書館四角號(hào)碼新詞典(1978年版)中質(zhì)量的定義:(1)產(chǎn)品或工作好壞程度;(2)物體中所含物質(zhì)的多少。本文取第一個(gè)定義。SW-CMM對(duì)質(zhì)量的定義是:(1)一個(gè)系統(tǒng)、組件或過程符合特定需求的程度;(2)一個(gè)系統(tǒng)、組件或過程符合客戶或用戶的要求或期望的程度。1983年,ANSI/IEEESTD729給出了軟件質(zhì)量定義[92:]軟件產(chǎn)品滿足規(guī)定的和隱含的與需求能力有關(guān)的全部特征和特性,它包括:(1)軟件產(chǎn)品質(zhì)量滿足用戶要求的程度;(2)軟件各種屬性的組合程度;(3)用戶對(duì)軟件產(chǎn)品的綜合反映程度;(4)軟件在使用過程中滿足用戶要求的程度。雜性具性確性/雜性具性確性/培訓(xùn)性.立性圖理解性壯性1-1ISO的軟件質(zhì)量度量模型的類圖按照ISO/TC97/SC7/WG3/1985-1-30/N382,軟件質(zhì)量度量模型由三層組成。高層稱軟件質(zhì)量需求評(píng)價(jià)準(zhǔn)則(SQRC),中層稱軟件質(zhì)量設(shè)計(jì)評(píng)價(jià)準(zhǔn)則(SQDC),低層稱軟件質(zhì)量度量評(píng)價(jià)(SQMC)。ISO認(rèn)為應(yīng)對(duì)高層和中層建立國(guó)際標(biāo)準(zhǔn),以便在國(guó)際范圍內(nèi)推廣應(yīng)用軟件質(zhì)量管理,而低層可由各使用單位自行制定。 ISO高層由8個(gè)要素組成、中層由23個(gè)評(píng)價(jià)準(zhǔn)則組成,它們之間的關(guān)系如圖1-1所示。(圖中的?符號(hào)代表某項(xiàng)下面各子項(xiàng)是必須的,缺一不可。例如,效率項(xiàng)由存儲(chǔ)效率和運(yùn)行效率子項(xiàng)組成,兩者缺一不可,這是統(tǒng)一建模語言(UnifiedModelingLanguage,UML)的組合的表示方法)。
由于許多人紛紛提出意見,按1991年ISO發(fā)布的ISO/IEC9126質(zhì)量特性國(guó)際標(biāo)準(zhǔn),SQRC已降為6個(gè)。在這個(gè)標(biāo)準(zhǔn)中,三層次中第一層稱為質(zhì)量特性,第二層稱為質(zhì)量子特性,第三層稱為度量。該標(biāo)準(zhǔn)定義了6個(gè)質(zhì)量特性,即為功能性(functionality)、可靠性(reliability)、可使用性(usability)、效率(efficiency)、可維護(hù)性(maintainability)、可移植性(portability)。并推薦21個(gè)子特性,如適合性、準(zhǔn)確性、互用性、依從性、安全性、成熟性、容錯(cuò)性、可恢復(fù)性、可理解性、易學(xué)習(xí)性、操作性、時(shí)間特性、資源特性、可分析性、可變更性、穩(wěn)定性、可測(cè)試性、適應(yīng)性、可安裝性、一致性和可替換性,但不作為標(biāo)準(zhǔn)。術(shù)備度度織具員明書程度用率術(shù)備度度織具員明書程度用率1-2軟件質(zhì)量特性類圖1-2Figure1-2ClassDiagramofSoftwareQuality表1-1用戶要求與軟件質(zhì)量特性Table1-1TheUserRequirementandSoftwareQualityCharacteristic用戶要求要求質(zhì)量的定義質(zhì)量特性功能?能否在有一定錯(cuò)誤的情況下也不停止運(yùn)行??軟件故障發(fā)生的頻率如何??故障期間的系統(tǒng)可以保存嗎??使用方便嗎?完整性(integrity)可靠性(reliability)生存性(survivability)可用性(usability)性能?需要多少資源??是否符合需求規(guī)格??能否回避異常狀況??是否容易與其它系統(tǒng)連接?效率性(efficiency)正確性(correctness)安全性(safety)互操作性(inter-operability)修改變更?發(fā)現(xiàn)軟件差錯(cuò)后是否容易修改??功能擴(kuò)充是否簡(jiǎn)單??能否容易地變更使用中的軟件??移植到其它系統(tǒng)中是否正確運(yùn)行??可否在其它系統(tǒng)里再利用?可維護(hù)性(maintainability)可擴(kuò)充性(expandability)靈活性(flexibility)可移植性(portability)再利用性(reusability)管理?檢驗(yàn)性能是否簡(jiǎn)單??軟件管理是否容易?可檢驗(yàn)性(verifiability)可管理性(manageability)上述定義表明,軟件質(zhì)量依賴于軟件的內(nèi)部特性及其組合。為了對(duì)軟件質(zhì)量進(jìn)行度量,首先必須對(duì)影響軟件質(zhì)量的要素進(jìn)行度量,并建立實(shí)用的軟件質(zhì)量度
量體系和模型。在進(jìn)行軟件質(zhì)量設(shè)計(jì)時(shí),必須考慮利弊,全面權(quán)衡,根據(jù)質(zhì)量需求,適當(dāng)合理地選擇/設(shè)計(jì)質(zhì)量特性,并進(jìn)行評(píng)價(jià)。軟件質(zhì)量形成過程]靜態(tài)要求質(zhì)量規(guī)范-_需求規(guī)范.「1測(cè)試程序的軟件動(dòng)態(tài)要求時(shí)間成本限制:匚(設(shè)計(jì)書與程序)軟件質(zhì)量形成過程]靜態(tài)要求質(zhì)量規(guī)范-_需求規(guī)范.「1測(cè)試程序的軟件動(dòng)態(tài)要求時(shí)間成本限制:匚(設(shè)計(jì)書與程序)」軟件開發(fā)技術(shù)與0開發(fā)工具 評(píng)審技術(shù)與-評(píng)審工測(cè)試技術(shù)與…測(cè)試工具-i軟件差錯(cuò)[無缺陷、無差錯(cuò)軟件圖1-3軟件質(zhì)量形成過程活動(dòng)圖圖1-2給出了上述軟件質(zhì)量特性構(gòu)成關(guān)系的一個(gè)扼要說明。軟件質(zhì)量是建筑在用戶要求基礎(chǔ)上的,所以必須掌握好用戶要求與開發(fā)過程中逐漸形成的質(zhì)量特性之間的關(guān)系。一般反映到需求規(guī)格上的用戶要求都屬于與功能及性能有關(guān)的運(yùn)行特性,或與修改、變更、及管理有關(guān)的維護(hù)特性。表1-1表示了這些用戶要求與質(zhì)量特性的關(guān)系。經(jīng)過質(zhì)量管理的軟件開發(fā)過程也是逐步實(shí)現(xiàn)反映用戶所要求的質(zhì)量要求(qualityrequirement)的質(zhì)量特性的過程。圖1-3表示在如下的質(zhì)量管理體系下與軟件開發(fā)過程中實(shí)現(xiàn)質(zhì)量管理的過程 [75。]第一步是在費(fèi)用與期限的制約下將需求規(guī)格與質(zhì)量規(guī)格變換成設(shè)計(jì)書和程序的過程。在這個(gè)過程中將使用軟件開發(fā)技術(shù)和開發(fā)工具把用戶要求的質(zhì)量特性表現(xiàn)在設(shè)計(jì)書和程序里。第二步是對(duì)設(shè)計(jì)書和程序等各工程開發(fā)成果進(jìn)行評(píng)審的過程。評(píng)審(review采用質(zhì)量檢查會(huì)也稱質(zhì)量論證會(huì)(walkthrough)、質(zhì)量審查(inspection)等早期檢查手段,一般在各工程作業(yè)結(jié)束后立即進(jìn)行。參加者是一些和項(xiàng)目有關(guān)的技術(shù)人員。目的在于盡可能在早期工程(上游工程)階段發(fā)現(xiàn)潛入的軟件缺陷,將有缺陷的設(shè)計(jì)書和程序變換成無缺陷軟件。在這一個(gè)過程中,如果發(fā)現(xiàn)設(shè)計(jì)書或程序中的缺陷就會(huì)導(dǎo)致再設(shè)計(jì)或再編碼的返工作業(yè)。第三步是對(duì)最終開發(fā)成果進(jìn)行測(cè)試,將第二步的無缺陷軟件變換成既無缺陷又無差錯(cuò)的軟件的過程。如果在測(cè)試中發(fā)現(xiàn)軟件差錯(cuò),和第二步一樣也會(huì)導(dǎo)致再設(shè)計(jì)和再編碼的返工作業(yè)。二、軟件過程分類過程定義:韋氏詞典將“過程”定義為“某物生產(chǎn)的操作體系……能導(dǎo)致結(jié)束或得到結(jié)果的一系列的活動(dòng)、變革、或操作。”IEEE將“過程”定義為“為實(shí)現(xiàn)給定目標(biāo)所執(zhí)行的一系列的步驟(IEEE-STD-610)?!边^程模型的主要作用:過程模型不僅詳細(xì)規(guī)定了在每個(gè)階段的所有任務(wù)和活動(dòng)、任務(wù)活動(dòng)之間的層次時(shí)序關(guān)系,還制定了在軟件開發(fā)和演化中各個(gè)階段的時(shí)序和約束條件,建立了從一個(gè)階段進(jìn)入下一個(gè)階段的過渡準(zhǔn)則。同時(shí),它還確定了軟件開發(fā)過程中所應(yīng)遵守的“策略”或限制。過程模型還有利于軟件開發(fā)中各類人員之間的有效通信和過程重用,支持過程演化,便于過程管理。作 序 態(tài) 態(tài) 理 活持 理方 關(guān) 特 演 解 開 與式 系 性 化 性 性發(fā) 控環(huán)制圖2-1理想的軟件過程模型的標(biāo)準(zhǔn)類圖軟件過程:軟件開發(fā)人員開發(fā)和維護(hù)軟件及相關(guān)產(chǎn)品(如項(xiàng)目計(jì)劃、設(shè)計(jì)文檔、代碼、測(cè)試用例和顧客手冊(cè))的一套行為、方法、實(shí)踐和轉(zhuǎn)化過程。壬口壬口程程過程程過程過程過程壬口壬口程程過程程過程過程過程過程圖2-2軟件生存周期過程分類獲取過程供應(yīng)過程基本過程開發(fā)過程運(yùn)作過程維護(hù)過程(開發(fā)者)系統(tǒng)需求分析,系統(tǒng)結(jié)構(gòu)設(shè)計(jì);軟件需求分析、結(jié)構(gòu)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、集成、測(cè)試(維護(hù)者)問題和變更分析,實(shí)施變更,維護(hù)評(píng)審/驗(yàn)收(需方)分析、確定、提出需求,招標(biāo)準(zhǔn)備,合同準(zhǔn)備,驗(yàn)收(運(yùn)作者)系統(tǒng)運(yùn)行、運(yùn)行測(cè)試、對(duì)用戶提供支持、咨詢獲取過程供應(yīng)過程基本過程開發(fā)過程運(yùn)作過程維護(hù)過程(開發(fā)者)系統(tǒng)需求分析,系統(tǒng)結(jié)構(gòu)設(shè)計(jì);軟件需求分析、結(jié)構(gòu)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、集成、測(cè)試(維護(hù)者)問題和變更分析,實(shí)施變更,維護(hù)評(píng)審/驗(yàn)收(需方)分析、確定、提出需求,招標(biāo)準(zhǔn)備,合同準(zhǔn)備,驗(yàn)收(運(yùn)作者)系統(tǒng)運(yùn)行、運(yùn)行測(cè)試、對(duì)用戶提供支持、咨詢(供方)評(píng)審需?求,準(zhǔn)備投標(biāo),合同簽訂,制定實(shí)施計(jì)劃,評(píng)審及評(píng)價(jià)、交付圖2-3基本過程類圖支持過程文檔編制文檔編寫標(biāo)準(zhǔn)制訂,文檔編制、編輯、評(píng)審、批準(zhǔn)、生產(chǎn)、發(fā)行、控制、維護(hù) 配置識(shí)、控制、狀態(tài)記錄、評(píng)價(jià)、發(fā)行管理和交付(確保一個(gè)活動(dòng)的產(chǎn)品滿足前一活動(dòng)對(duì)其的要求和條件)合同、過程、需求、設(shè)計(jì)、編碼、集成、文檔的驗(yàn)證確認(rèn)過程聯(lián)合評(píng)審:口(確保最終產(chǎn)品滿足預(yù)期使用要求)確認(rèn)測(cè)試結(jié)果、軟件產(chǎn)品的用途和適用性(評(píng)審方與h被評(píng)審方共同對(duì)某一活動(dòng)狀態(tài)和產(chǎn)品進(jìn)行評(píng)審)項(xiàng)目管理評(píng)審、技術(shù)評(píng)審文檔編制文檔編寫標(biāo)準(zhǔn)制訂,文檔編制、編輯、評(píng)審、批準(zhǔn)、生產(chǎn)、發(fā)行、控制、維護(hù) 配置識(shí)、控制、狀態(tài)記錄、評(píng)價(jià)、發(fā)行管理和交付(確保一個(gè)活動(dòng)的產(chǎn)品滿足前一活動(dòng)對(duì)其的要求和條件)合同、過程、需求、設(shè)計(jì)、編碼、集成、文檔的驗(yàn)證確認(rèn)過程聯(lián)合評(píng)審:口(確保最終產(chǎn)品滿足預(yù)期使用要求)確認(rèn)測(cè)試結(jié)果、軟件產(chǎn)品的用途和適用性(評(píng)審方與h被評(píng)審方共同對(duì)某一活動(dòng)狀態(tài)和產(chǎn)品進(jìn)行評(píng)審)項(xiàng)目管理評(píng)審、技術(shù)評(píng)審審核項(xiàng)目
是否按要
求、計(jì)劃、
合同完成分析和解決開發(fā)、運(yùn)行和維護(hù)中出現(xiàn)的問題,以便及時(shí)提供響應(yīng)對(duì)策圖2-4支持過程類圖理想的過程模型的標(biāo)準(zhǔn):(1)能表示所有活動(dòng)的組織方式;(2)能表示各活動(dòng)的工作方式;(3)能表示各活動(dòng)的先后、并發(fā)、同步、制約等關(guān)系; (4)能表示過程的動(dòng)態(tài)特性;(5)能隨實(shí)際情況進(jìn)行動(dòng)態(tài)演化;(6)易于被所有參與開發(fā)活動(dòng)的人員理解;(7)具有很強(qiáng)的靈活性,可以適應(yīng)不同的軟件項(xiàng)目; (8)支持軟件開發(fā)環(huán)境的建立;(9)易于對(duì)開發(fā)過程進(jìn)行控制和管理。本文用圖 2-1表示之(圖中的?符號(hào)代表某項(xiàng)由下面各子項(xiàng)組成,但各子項(xiàng)不是缺一不可的,由于各種原因有可能缺若干子項(xiàng),這是UML的聚集的概念)。顯然,若一個(gè)過程模型要完全符合這些標(biāo)準(zhǔn)幾乎是不可能的,應(yīng)根據(jù)實(shí)際需要選擇幾個(gè)最主要的標(biāo)準(zhǔn)即可。1985年正式發(fā)布了一項(xiàng)國(guó)際標(biāo)準(zhǔn),即ISO/IEC12207信息技術(shù) 軟件生存周期過程(見圖2-2),這是軟件過程研究的一個(gè)重要成果。實(shí)踐表明,軟件過程需要不斷地完善。首先,從非工程化的軟件開發(fā)方式轉(zhuǎn)變?yōu)楣こ袒能浖_發(fā)方式,按照軟件工程的系統(tǒng)方法進(jìn)行軟件的工程活動(dòng)和管理活動(dòng),進(jìn)而不斷地完善各個(gè)軟件過程,從而不斷提高軟件過程能力。隨著這種能力的提高,一個(gè)軟件組織完成軟件產(chǎn)品時(shí)在預(yù)算、進(jìn)度,特別是產(chǎn)品質(zhì)量方面的風(fēng)險(xiǎn)就逐步降低。ISO/IEC12207將軟件生存周期的各個(gè)過程分成三類:基本生存周期過程 (見圖2-3)、支持生存周期過程(見圖2-4)和組織生存周期過程(見圖2-5)。制定計(jì)劃;監(jiān)控計(jì)劃實(shí)施,涉及到各過程有關(guān)的項(xiàng)目管理、產(chǎn)品管理和任務(wù)管理為其它過程所需硬件、軟件、工具、技術(shù)、標(biāo)準(zhǔn)以及開發(fā)、運(yùn)行或維護(hù)所用的各種基礎(chǔ)設(shè)施的建立和維護(hù)服務(wù) 對(duì)整個(gè)軟件片制定計(jì)劃;監(jiān)控計(jì)劃實(shí)施,涉及到各過程有關(guān)的項(xiàng)目管理、產(chǎn)品管理和任務(wù)管理為其它過程所需硬件、軟件、工具、技術(shù)、標(biāo)準(zhǔn)以及開發(fā)、運(yùn)行或維護(hù)所用的各種基礎(chǔ)設(shè)施的建立和維護(hù)服務(wù) 對(duì)整個(gè)軟件片生存周期過程進(jìn)行評(píng)估、度量、控制和改進(jìn)人員培訓(xùn)&計(jì)劃制訂、實(shí)施、教材準(zhǔn)備圖2-5組織過程類圖例題1、填出MaCall給出的11個(gè)質(zhì)量要素特性的英文名稱,并解釋 部分。正確性(correctness)o程序滿足規(guī)格說明及完成用戶目標(biāo)的程度??煽啃?reliability)。能夠防止因?yàn)楦拍?、設(shè)計(jì)和結(jié)構(gòu)等方面的不完善造成的軟件系統(tǒng)失效,具有挽回因操作不當(dāng)造成軟件系統(tǒng)失效的能力。有效性(efficiency)。軟件系統(tǒng)能最有效地利用計(jì)算機(jī)的時(shí)間資源和空間資源。完整性(integrity)??刂莆幢皇跈?quán)人員訪問程序和數(shù)據(jù)的程度??捎眯?usability)。學(xué)習(xí)使用軟件的難易程度??删S護(hù)性(maintainability)。軟件產(chǎn)品交付用戶使用后,能夠?qū)λM(jìn)行修改,以便改正潛伏的錯(cuò)誤,改進(jìn)性能和其它的屬性,使軟件產(chǎn)品適應(yīng)環(huán)境的變化等。可測(cè)試性(testability)。測(cè)試程序使之具有預(yù)定功能所需的工作量。靈活性(flexibility)。改變一個(gè)操作程序所需的工作量??梢浦残?portability)。軟件從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境搬到另一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境的難易程度。10可重用性(reusebility)。概念或功能相對(duì)獨(dú)立的一個(gè)或一組相關(guān)模塊定義為一個(gè)軟部件,軟部件可以在多種場(chǎng)合應(yīng)用的程度。11.可互操作性(interoperability)。兩個(gè)或多個(gè)系統(tǒng)交換信息并相互使用已交換信息的能力例題2、PDCA循環(huán)用于軟件開發(fā)管理傳統(tǒng)的質(zhì)量管理思想和技術(shù)同樣可以應(yīng)用于軟件項(xiàng)目管理,由于現(xiàn)在中國(guó)處于工業(yè)化社會(huì)和信息化社會(huì)并存的情況,傳統(tǒng)的質(zhì)量管理思想和技術(shù)更容易為人們所接受,技術(shù)上也比較成熟,是廣大中國(guó)中小型軟件企業(yè)最實(shí)用和現(xiàn)實(shí)的選擇。在一定的資源、時(shí)間和費(fèi)用條件下完成符合需求規(guī)格的高質(zhì)量軟件,就必須采用適當(dāng)?shù)能浖芾砑夹g(shù)。管理技術(shù)包括管理實(shí)行前對(duì)開發(fā)規(guī)模、開發(fā)工時(shí)、開發(fā)費(fèi)用的估算,以及以這個(gè)基本估算為依據(jù)所展開的各項(xiàng)管理技術(shù)。開發(fā)規(guī)模是對(duì)產(chǎn)品程序的大小的描述,用行數(shù)或語句數(shù)(step數(shù))表示,分基本語句數(shù)(statementstep數(shù))和命令語句數(shù)(commandstep數(shù))兩種表示方式。開發(fā)工時(shí)是對(duì)軟件工程技術(shù)人員工作時(shí)間的描述,用(人日)或(人月)等來表示。開發(fā)費(fèi)用指開發(fā)所需要的各種費(fèi)用,一般包括人工費(fèi)(工時(shí)數(shù)x單價(jià))、計(jì)算機(jī)機(jī)時(shí)費(fèi)(計(jì)算機(jī)使用時(shí)間x單價(jià))以及其它消耗。軟件開發(fā)管理也稱開發(fā)項(xiàng)目(project)管理。即將有關(guān)軟件開發(fā)的各項(xiàng)活動(dòng)統(tǒng)一稱為“開發(fā)項(xiàng)目”,在一定的目標(biāo)、計(jì)劃、進(jìn)度和預(yù)算指導(dǎo)下推行開發(fā)項(xiàng)目?jī)?nèi)容的實(shí)施。軟件開發(fā)管理的關(guān)鍵問題是如何在軟件生存周期內(nèi)對(duì)質(zhì)量、時(shí)間、費(fèi)用三要素進(jìn)行量化,如何通過質(zhì)量管理、工程管理和費(fèi)用管理活動(dòng)對(duì)這三要素進(jìn)行分析和評(píng)價(jià)。表2-2軟件開發(fā)管理技術(shù)及其評(píng)價(jià)內(nèi)容管理技術(shù)評(píng)價(jià)內(nèi)容質(zhì)量管理?質(zhì)量檢查會(huì)(walkthrough)?檢查(inspection)?質(zhì)量管理工具?測(cè)試輔助技術(shù)?可靠性評(píng)價(jià)技術(shù)?質(zhì)量指標(biāo)評(píng)價(jià)?質(zhì)量定量分析?要求質(zhì)量與產(chǎn)品質(zhì)量評(píng)價(jià)?軟件錯(cuò)誤原因調(diào)查?開發(fā)方法論與工具評(píng)價(jià)工程管理?甘特圖(grantchart)?CPM/PERT?里程碑圖(milestonechart)?進(jìn)度預(yù)測(cè)仿真系統(tǒng)?趨勢(shì)圖(trendchart)?計(jì)劃與實(shí)際比較?掌握進(jìn)度情況?交付期管理?工程延誤對(duì)策成本管理(費(fèi)用)?SLM*?SQAM*?DotyModel?COCOMO*Model?開發(fā)規(guī)模,工時(shí),成本預(yù)算與實(shí)際比較?預(yù)算與實(shí)際成本比較?修正基線生產(chǎn)經(jīng)營(yíng)效率*SLM:軟件生命周期管理(softwarelife-cyclemanagement)SQAM:軟件質(zhì)量評(píng)估和測(cè)量(softwarequalityassessmentandmeasurement)COCOMO:構(gòu)造性成本模型(constructivecostmodel)表2-2是一個(gè)將傳統(tǒng)工業(yè)管理思想應(yīng)用于軟件開發(fā)管理的例子。為了有效地進(jìn)行開發(fā)管理,一定的管理措施和標(biāo)準(zhǔn)化是很重要的。標(biāo)準(zhǔn)化(standardization)的目的是為了使軟件開發(fā)作業(yè)工廠化,從依賴開發(fā)人員個(gè)人能力的手工業(yè)式生產(chǎn)轉(zhuǎn)向軟件工程學(xué)指導(dǎo)下的工業(yè)化生產(chǎn)。軟件開發(fā)標(biāo)準(zhǔn)化分為作業(yè)本身標(biāo)準(zhǔn)化和管理活動(dòng)標(biāo)準(zhǔn)化兩大類。前者指在軟件開發(fā)和維護(hù)的各個(gè)階段設(shè)定的有關(guān)作業(yè)內(nèi)容的標(biāo)準(zhǔn)(standard);后者指在軟件開發(fā)管理中為使質(zhì)量管理、費(fèi)用管理等各項(xiàng)管理業(yè)務(wù)都能有效的實(shí)施而設(shè)定的管理基線。質(zhì)量管理的目的在于保證開發(fā)成品的最終質(zhì)量滿足用戶對(duì)質(zhì)量的要求。為此,需要設(shè)定質(zhì)量目標(biāo),質(zhì)量保證基線,確立質(zhì)量管理制度和措施。特別要重視當(dāng)然質(zhì)量(must-bequality),因?yàn)樗强煽啃缘闹匾WC因素。工程管理的主要工作包括確立日程計(jì)劃,規(guī)定各開發(fā)階段(工程)的定義和成品,設(shè)定工程管理重點(diǎn)——“里程碑(milestone)”,制作工程作業(yè)網(wǎng)絡(luò)圖,掌握各工程進(jìn)度,及時(shí)發(fā)現(xiàn)工程延誤和提前并及時(shí)調(diào)整相關(guān)部署等等。在實(shí)際中,由于軟件產(chǎn)品是非直觀的,判斷其生產(chǎn)過程中的準(zhǔn)確進(jìn)度常常是很困難的。通常的辦法是事先將開發(fā)進(jìn)度狀況繪制成圖表,在適當(dāng)?shù)臅r(shí)機(jī)設(shè)定軟件工程管理點(diǎn)(里程碑)及相應(yīng)的評(píng)價(jià)項(xiàng)目。當(dāng)執(zhí)行中進(jìn)行到這些里程碑處時(shí),對(duì)進(jìn)度和相應(yīng)項(xiàng)目進(jìn)行檢查和評(píng)價(jià)。
費(fèi)用管理有兩方面的工作,一是正確估計(jì)用于開發(fā)和維護(hù)的工時(shí)、人工費(fèi)和計(jì)算機(jī)機(jī)時(shí)費(fèi)等費(fèi)用預(yù)算,一是按此預(yù)算管理生產(chǎn)過程中投入的費(fèi)用。具體包括隨時(shí)掌握預(yù)算與支出的相對(duì)狀況,安排與調(diào)度人力,分析預(yù)算與實(shí)際的距離,制定標(biāo)準(zhǔn)單價(jià),使費(fèi)用內(nèi)容具體化,分析損益收支情況,設(shè)定生產(chǎn)指標(biāo)和改善生產(chǎn)效益等等。圖2-6是軟件開發(fā)管理過程的活動(dòng)圖。Plan(計(jì)劃)Do(執(zhí)行)Check(檢查)Plan(計(jì)劃)Do(執(zhí)行)Check(檢查)Action(改善)圖2-6軟件開發(fā)管理過程的活動(dòng)圖
圖2-7列出了軟件質(zhì)量測(cè)量和質(zhì)量保證系統(tǒng)在軟件保證活動(dòng)中的5個(gè)實(shí)施步驟:目標(biāo)(target):以用戶要求和開發(fā)方針為依據(jù),對(duì)質(zhì)量需求準(zhǔn)則、質(zhì)量設(shè)計(jì)準(zhǔn)則中的各質(zhì)量特性設(shè)定質(zhì)量目標(biāo)。對(duì)各準(zhǔn)則的重要程度可以設(shè)定“特別重要”、“重要”、“一般”3級(jí)。計(jì)劃(plan):設(shè)定適用于被開發(fā)軟件的評(píng)測(cè)檢查項(xiàng)目,與此同時(shí)還要研討實(shí)現(xiàn)質(zhì)量目標(biāo)的方法和手段。執(zhí)行(do):在開發(fā)標(biāo)準(zhǔn)和質(zhì)量評(píng)價(jià)準(zhǔn)則的指導(dǎo)下,制作高質(zhì)量的規(guī)格說明書。在接受質(zhì)量檢查之前要先做自我檢查。檢查(check):按計(jì)劃階段設(shè)定的質(zhì)量評(píng)價(jià)準(zhǔn)則進(jìn)行評(píng)價(jià),算出得分,用質(zhì)量圖的形式表示出來。對(duì)比評(píng)價(jià)結(jié)果的質(zhì)量得分和質(zhì)量目標(biāo),看軟件是否合格。改善(action):對(duì)評(píng)價(jià)發(fā)現(xiàn)的問題進(jìn)行改進(jìn),如果改進(jìn)實(shí)現(xiàn)并達(dá)到了質(zhì)量目標(biāo),接轉(zhuǎn)入下一個(gè)工程階段。用戶要求開發(fā)方針'設(shè)置質(zhì)量目標(biāo)(1)設(shè)置質(zhì)量特性指標(biāo)I(2)設(shè)置質(zhì)量子特性指標(biāo)用戶要求開發(fā)方針'設(shè)置質(zhì)量目標(biāo)(1)設(shè)置質(zhì)量特性指標(biāo)I(2)設(shè)置質(zhì)量子特性指標(biāo)Plan(計(jì)劃)Do(執(zhí)行)Check(檢查)Action(改善)圖2-7軟件質(zhì)量測(cè)量與質(zhì)量保證的活動(dòng)圖三、軟件過程管理國(guó)外發(fā)展情況ISO9000是質(zhì)量管理和質(zhì)量評(píng)價(jià)系列標(biāo)準(zhǔn),目標(biāo)在于開發(fā)過程,ISO9000只決定過程的要求是什么,而不管如何實(shí)現(xiàn)。ISO9000標(biāo)準(zhǔn)針對(duì)軟件部分的是ISO9001和IS09000-3。其中IS09001負(fù)責(zé)處理設(shè)計(jì)、開發(fā)、生產(chǎn)、安裝和服務(wù)產(chǎn)品,IS09000-3負(fù)責(zé)處理設(shè)計(jì)、開發(fā)、生產(chǎn)、安裝和維護(hù)計(jì)算機(jī)軟件。開發(fā)詳細(xì)的質(zhì)量計(jì)劃和程序控制配置管理、產(chǎn)品檢驗(yàn)和合法性檢查(測(cè)試)、不規(guī)范行為(軟件缺陷)和修正措施(修復(fù))。準(zhǔn)備和接受軟件開發(fā)計(jì)劃證實(shí),包括項(xiàng)目定義、產(chǎn)品目錄清單、項(xiàng)目進(jìn)度、產(chǎn)品說明書、如何組織項(xiàng)目的描述、風(fēng)險(xiǎn)和假設(shè)的討論,以及控制策略。使用客戶容易理解、測(cè)試時(shí)容易進(jìn)行合法性檢查的用語來表達(dá)說明書。開發(fā)控制軟件設(shè)計(jì)隨產(chǎn)品的生命周期中而變化的程序,開發(fā)和編制軟件測(cè)試計(jì)劃,開發(fā)檢測(cè)軟件是否滿足客戶要求的方法,實(shí)施軟件合法性檢查和驗(yàn)收測(cè)試,維護(hù)測(cè)試結(jié)果的記錄,控制調(diào)查研究和解決軟件缺陷的方式。證明產(chǎn)品在發(fā)布之前已經(jīng)就緒,開發(fā)控制產(chǎn)品發(fā)布過程的程序,明確指出和規(guī)定應(yīng)該收集何種質(zhì)量信息,使用統(tǒng)計(jì)技術(shù)分析軟件開發(fā)過程以及使用統(tǒng)計(jì)技術(shù)評(píng)估軟件產(chǎn)品。著名的軟件過程能力成熟度模型(SoftwareCapabilityMaturityModel,SW-CMM)是SEI從1986年開始研究并完成的,它側(cè)重于對(duì)軟件開發(fā)過程和開發(fā)方法論的考察。CMM包括5級(jí):初始級(jí)(Initial),2級(jí):可重復(fù)級(jí)(Repeatable),3級(jí):已定義級(jí)(Defined),4級(jí):已管理級(jí)(Managed),5級(jí):優(yōu)化級(jí)(Optimizing)。CMM還提供了一整套較為完善的軟件研發(fā)項(xiàng)目管理的方法論。在CMM模型獲得巨大成功的情況下,SEI又開發(fā)了一系列其它CMM模型,包括系統(tǒng)工程成熟度模型(SystemsEngineeringCapabilityMaturityModel1994,SE-CMM)、軟件人員成熟度模型(PeopleCapabilityMaturityModel,1995,P-CMM)、軟件獲取成熟度模型(SoftwareAcquisitionCapabilityMaturityModel,1996,SA-CMM)等。美國(guó)先后在這上面投資了5億多美元,做了很多實(shí)踐工作來改進(jìn)軟件研發(fā)項(xiàng)目管理,而且其內(nèi)容還在不斷地改進(jìn),SW-CMM1.1版本推出后,又推出了SW-CMM2.0草案。目前,取消了單獨(dú)的CMM,開發(fā)出集成能力成熟度模型(CapabilityMaturityModelIntegration,CMMI),其模型包括CMMI-SW、CMMI-SE、CMMI-SE/SW、CMMI-SE/SW/IPPD],模型有連續(xù)表示(StagedRepresentation)和分級(jí)表示(ContinuousRepresentation)兩種。兩種表示方法各有不同的使用對(duì)象,熟悉SE-CMM模型者用連續(xù)表示更容易,而熟悉SW-CMM模型者用分級(jí)表示更容易。ISO9000產(chǎn)品質(zhì)量體系認(rèn)證和CMM體系認(rèn)證在軟件先進(jìn)國(guó)家格外重視。印度軟件企業(yè)普遍開展ISO9000質(zhì)量體系認(rèn)證,多數(shù)軟件企業(yè)發(fā)展遵循ISO9001的標(biāo)準(zhǔn),到目前為止已有100多家取得了ISO9001的認(rèn)證;而且有越來越多的印度軟件企業(yè)已經(jīng)開始認(rèn)識(shí)到采用CMM評(píng)估體系的重要性,而且重點(diǎn)已經(jīng)開始轉(zhuǎn)移。印度的軟件企業(yè)是全球軟件業(yè)進(jìn)行CMM評(píng)估實(shí)踐最早和最多的。據(jù)不完全統(tǒng)計(jì),到2000年,全球有75家通過了CMM第4級(jí)和第5級(jí)認(rèn)證,在世界9大軟件出口國(guó)中,印度的軟件出口規(guī)模和質(zhì)量均在世界前列。美國(guó)是世界軟件生產(chǎn)大國(guó),不論在技術(shù)創(chuàng)新和管理手段上都代表著軟件發(fā)展的先進(jìn)水平。據(jù)不完全統(tǒng)計(jì),到2000年,全球已有近萬家軟件開發(fā)企業(yè)通過了CMM認(rèn)證。其中絕大多數(shù)被認(rèn)證的軟件開發(fā)企業(yè)處于CMM第2級(jí),有75家通過了CMM的第4級(jí)和第5級(jí)。達(dá)到后兩個(gè)級(jí)別的軟件企業(yè)在不斷增加。美國(guó)企業(yè)所占比例約5%,十分重視標(biāo)準(zhǔn)化的日本企業(yè)所占比例約10%。在這些通過CMM認(rèn)證的軟件企業(yè)中,不乏成功者。例如,Raytheon公司現(xiàn)在有近400名軟件開發(fā)人員,公司用近五年的時(shí)間,將其成熟度從第1級(jí)提高到第3級(jí),已經(jīng)收到明顯的效果。為了提升到較高的級(jí)別,公司所花費(fèi)的投資于五年來因成本降低所收到的效益之比為1:8,直接生產(chǎn)效率提高了大約14倍。該公司所開發(fā)的產(chǎn)品在成熟度提升前每千條指令出錯(cuò)率約為0.31條,提升后僅為0.03條。國(guó)外主要軟件質(zhì)量/軟件過程研究組織和機(jī)構(gòu):美國(guó)卡內(nèi)基?梅隆大學(xué)軟件工程研究所(CarnegieMellonUniversity/SoftwareEngineeringInstitutionCMU/SEI)成立于1984年,其長(zhǎng)期目標(biāo)是能夠更好、更快和更便宜地預(yù)測(cè)美國(guó)國(guó)防部軟件密集系統(tǒng)的獲取、開發(fā)和維護(hù)。SEI認(rèn)為軟件學(xué)科的特點(diǎn)是可預(yù)測(cè)性:可預(yù)測(cè)的成本、可預(yù)測(cè)的進(jìn)度、可預(yù)測(cè)的質(zhì)量和可預(yù)測(cè)的功能。SEI的義務(wù)是使軟件工程進(jìn)化,使其從專門的、勞動(dòng)密集的、個(gè)人英雄主義的活動(dòng)中解脫出來??傊琒EI尋求的是依賴于軟件的系統(tǒng)能按可預(yù)測(cè)的方式獲取、開發(fā)和進(jìn)化。Web站點(diǎn)。軟件工程實(shí)驗(yàn)室(Softwareengineeringlaboratory,SEL)在美國(guó)國(guó)家宇航局所屬的戈登空間飛行中心(NationalAeronauticsandSpaceAdministration/GoddardSpaceFlightCenter,NASA/GSFC)支持下于1977年建立。的目的是研究開發(fā)應(yīng)用軟件有效的軟件工程技術(shù),主要由NASA/GSFC的系統(tǒng)開發(fā)部,馬里蘭大學(xué)計(jì)算機(jī)科學(xué)系(UniversityofMaryland)和計(jì)算機(jī)科學(xué)公司飛行動(dòng)力技術(shù)組(ComputerSciencesCorporation,FlightDynamics)三部分組成,進(jìn)行了長(zhǎng)期的軟件工程實(shí)踐,包括:(1)理解GSFC環(huán)境下的軟件開發(fā)工程;(2)度量在這種過程下的方法論、工具和模型的效用(effect);⑶識(shí)別和應(yīng)用成功的開發(fā)實(shí)踐。Web站點(diǎn)。軟件技術(shù)支持中心(SofwareTechnologySupportCenter,STSC)立于猶他州奧格登的Hill空軍基地。成立STSC旨在幫助空軍的組織機(jī)構(gòu)標(biāo)識(shí)、評(píng)價(jià)和采用改善產(chǎn)品質(zhì)量、生產(chǎn)效率和可預(yù)測(cè)性的技術(shù)。采用術(shù)語技術(shù)(termtechnology),從最廣泛的意義上包括提高人類能力的過程、方法、技術(shù)和工具,STSC關(guān)注對(duì)DoD任務(wù)有益的領(lǐng)域已證實(shí)的技術(shù)。STSC除了提供支持和咨詢服務(wù)外,還出版CrossTalkTheJournalofDefenseSoftwareEngineeringoWeb站點(diǎn)軟件生產(chǎn)率集團(tuán)(SofwareProductivityConsortium,SPC)是一個(gè)包括產(chǎn)業(yè)界、政府部門和學(xué)術(shù)界在內(nèi)的非贏利的聯(lián)合體。因?yàn)橛?0多個(gè)會(huì)員公司,SPC提供了改善系統(tǒng)和軟件的質(zhì)量、可靠性和上市時(shí)間性能所需要的技術(shù)和專門知識(shí)。SPC的技術(shù)計(jì)劃適用于集成基于本質(zhì)過程的集成化系統(tǒng)和軟件開發(fā)活動(dòng)。SPC提供了各種改善模型和方法的課程,包括軟件CMM和CMMI、度量和軟件工程技術(shù)、集成化系統(tǒng)和軟件過程開發(fā)。SPC提供了評(píng)估和咨詢服務(wù),還出版季刊時(shí)事通訊并發(fā)表其它與系統(tǒng)工程、軟件工程、系統(tǒng)和軟件集成以及過程改進(jìn)有關(guān)的技術(shù)性文章。Web站點(diǎn)。國(guó)際系統(tǒng)工程咨詢委員會(huì)(InternationalCouncilonSystemsEngineering,INCOSE)是國(guó)際性的非贏利組織,目的是為多學(xué)科系統(tǒng)產(chǎn)品的開發(fā)制定、發(fā)展和完善系統(tǒng)工程方法。INCOSE成立于1990年,目前已擁有3900多名系統(tǒng)工程專業(yè)人士。INCOSE是EIA/IS731的主要開發(fā)者,并為CMMI項(xiàng)目提供系統(tǒng)工程專家。Web站點(diǎn)電子工業(yè)聯(lián)盟(ElectronicIndustriesAlliance,EIA)是電子與高技術(shù)協(xié)會(huì)和公司的聯(lián)合體,承擔(dān)著共享知識(shí)和影響的義務(wù)。EIA發(fā)表了許多標(biāo)準(zhǔn)和技術(shù)出版物來為公眾利益服務(wù),減少制造商和采購(gòu)商之間的誤會(huì),促進(jìn)產(chǎn)品的可交換性和改善,以及輔助采購(gòu)商根據(jù)特定的需要快速選購(gòu)并獲得合適的產(chǎn)品。EIA過渡標(biāo)準(zhǔn),系統(tǒng)工程能力和EIA/IS731就是CMMI的三個(gè)源模型之一。Web站點(diǎn)。例3.IBMOS/360總設(shè)計(jì)師布魯克斯(Brooks)博士將軟件中的難題分為本質(zhì)問題兩類和非本質(zhì)問題,他還進(jìn)一步指出了哪四個(gè)本質(zhì)問題?并請(qǐng)簡(jiǎn)單說明之。答:IBMOS/360總設(shè)計(jì)師布魯克斯(Brooks)博士將軟件中的難題分為兩類:本質(zhì)問題(essence,即由軟件本質(zhì)決定的固有的難題)和非本質(zhì)問題(accidents,即目前遇到的,但并非軟件產(chǎn)品固有的困難)。他指出了四個(gè)本質(zhì)問題:即復(fù)雜性(complexity)>一致性(conformity)、可變性(changeability)和不可見性(invisibility)。他在文章中使用的“復(fù)雜性”的含義是“令人費(fèi)解的、復(fù)雜難懂的”(complicatedorintricate)o復(fù)雜性:復(fù)雜性是軟件的固有的屬性。他認(rèn)為如果將一套軟件簡(jiǎn)化,則整個(gè)過程將是毫無用處的。數(shù)學(xué)和物理的簡(jiǎn)化技術(shù)之所以有用,只是因?yàn)槟切┫到y(tǒng)的復(fù)雜性是非本質(zhì)問題,而不是像在軟件產(chǎn)品中那樣,復(fù)雜性是本質(zhì)問題。這種本質(zhì)上的復(fù)雜性不僅影響軟件產(chǎn)品本身,而且也會(huì)影響軟件過程的管理。一致性:他提出第一類一致性是軟件必須和現(xiàn)有系統(tǒng)接口,從而使軟件的復(fù)雜性達(dá)到了不必要的程度;第二類一致性是人們錯(cuò)誤地認(rèn)為軟件是最容易調(diào)整的部分,使得軟件的復(fù)雜性達(dá)到了不必要的程度??勺冃裕合到y(tǒng)的功能體現(xiàn)在它的軟件中,通過修改軟件,就可以收到改變系統(tǒng)功能的效果。他認(rèn)為可變性是軟件的本質(zhì)屬性,是一個(gè)不可克服的固有的復(fù)雜性問題。不可見性:軟件無法形象化表示的結(jié)果,不僅使軟件難以理解,而且嚴(yán)重妨礙了軟件專業(yè)人員之間的聯(lián)系。例4.SW-CMM的提出者WattsS.Humphrey指出了哪六個(gè)軟件過程改進(jìn)基本原理?并請(qǐng)簡(jiǎn)單說明之。領(lǐng)導(dǎo)原理(HP1):軟件過程的主要改變始于高層領(lǐng)導(dǎo)。高層領(lǐng)導(dǎo)需要發(fā)起改變并提供持續(xù)的資源及優(yōu)先級(jí)。團(tuán)隊(duì)原理(HP2):最終將涉及到每個(gè)人。軟件工程是團(tuán)隊(duì)的努力,改進(jìn)中任何人的缺席將失去好處,也可能阻礙進(jìn)步。計(jì)劃原理(HP3):有效地改變需要有當(dāng)前過程的目標(biāo)和知識(shí)。使用地圖時(shí)你必須知道當(dāng)前你在哪兒。成熟度原理(HP4):變化是持續(xù)的。軟件過程改進(jìn)不是暫時(shí)的,涉及到持續(xù)地學(xué)習(xí)和不斷地強(qiáng)化。效果原理(HP5):沒有明確地努力和定期地強(qiáng)化就不能保持軟件過程改變的效果。投資原理(HP6):軟件過程改變需要投資。需要計(jì)劃,配備專職人員以及管理時(shí)間和資金投入。例5,填空題SW-CMM的五個(gè)成熟度等級(jí)是初始級(jí)(InitialLevel)、可重復(fù)級(jí)(RepeatableLevel)、已定義級(jí)(DefinedLevel)、已管理級(jí)(ManagedLevel)、優(yōu)化級(jí)(OptimizingLevel)。SW-CMM的五個(gè)公共特征:(1)執(zhí)行約定(CommitmenttoPerform)、(2)執(zhí)行能力(AbilitytoPerform)、(3)執(zhí)行的活動(dòng)(ActivitiesPerformed)、(4)測(cè)量活動(dòng)(MeasurementandAnalysis)、(5)驗(yàn)證實(shí)施(VerifyingImplementation)。SW-CMM的可重復(fù)級(jí)的六個(gè)關(guān)鍵過程域是:需求管理(RequirementsManagement)>軟件項(xiàng)目策戈ij(SoftwareProjectPlanning)、軟件項(xiàng)目跟蹤與監(jiān)控(SoftwareProjectTrackingandOversight)、軟件子合同管理(SoftwareSubcontractManagement)、軟件質(zhì)量保證(SoftwareQualityAssurance)、軟件配置管理(SoftwareConfigurationManagement)。四、統(tǒng)一軟件過程及其支持工具統(tǒng)一建模語言(UnifiedModelingLanguage,UML)于1996年由Rational公司正式創(chuàng)立(該公司已經(jīng)被IBM公司收購(gòu))。對(duì)象管理組織(OMG)于1997年11月采納了它。此后,UML繼續(xù)改進(jìn),目前最新的版本是UML2.0。UML的發(fā)明人G.Booch,J.Rumbaugh和I.Jacobson共同認(rèn)為,提出一種統(tǒng)一的建模語言有以下3個(gè)理由:(1)他們各自提出的方法在演化中已經(jīng)有相互結(jié)合的趨勢(shì);(2)走向統(tǒng)一將帶來市場(chǎng)方面的好處;(3)有助于改進(jìn)他們各自的學(xué)習(xí)方法,以獲得更多的學(xué)習(xí)者并解決一些以往他們各自的方法不能很好解決的問題。該建模語言的作者們給出了一種推薦性的建模過程指導(dǎo),即統(tǒng)一過程(RationalUnifiedProcess,RUP)體現(xiàn)了適合于范圍廣泛的項(xiàng)目和組織的許多現(xiàn)代軟件開發(fā)最佳實(shí)踐。RUP是以用例為驅(qū)動(dòng)、體系結(jié)構(gòu)為中心、迭代和增量的過程。RUP包括四個(gè)階段,每個(gè)階段又分為若干次迭代,每次迭代都有一個(gè)核心工作流。Web站點(diǎn)。UML的定義有兩個(gè)主要組成部分:語義和表示法。UML的語義用自然語言描述,表示法定義了UML的可視化標(biāo)準(zhǔn)表示符號(hào),這決定了UML是一種可視化的建模語言。這些圖形符號(hào)和文字用于建立應(yīng)用級(jí)的模型,在語義上,模型是元模型的實(shí)例。此外UML的定義還給出了語法結(jié)構(gòu)的精確規(guī)約。UML是一種可視化的建模語言,對(duì)其各建模元素可進(jìn)行詳細(xì)說明,并能生成所建模型的文檔。使用UML時(shí),要從不同的角度觀察系統(tǒng),為此定義了一個(gè)概念"視圖"。視圖是對(duì)系統(tǒng)的模型在某方面的投影,注重于系統(tǒng)的某個(gè)方面。每個(gè)視圖是圖的協(xié)作,UML定義了9種圖。用況視圖由用況圖組成,描述可被最終用戶、分析人員和測(cè)試者看到的系統(tǒng)行為;設(shè)計(jì)視圖包含類圖、對(duì)象圖、交互圖、狀態(tài)圖和活動(dòng)圖,主要反映系統(tǒng)的功能需求;進(jìn)程視圖包含類圖、對(duì)象圖、交互圖、狀態(tài)圖和活動(dòng)圖,主要描述形成系統(tǒng)并發(fā)與同步機(jī)制的線程和進(jìn)程;實(shí)現(xiàn)視圖包含構(gòu)件圖、交互圖、狀態(tài)圖和活動(dòng)圖,反映用于裝配與發(fā)布物理系統(tǒng)的構(gòu)件和文件,主要針對(duì)系統(tǒng)發(fā)布的配置管理,可以用各種方法裝配它們。部署視圖包含部署圖、交互圖、狀態(tài)圖和活動(dòng)圖,主要描述對(duì)組成物理系統(tǒng)的部件的分布、交付和安裝。根據(jù)實(shí)際需要,可以組合使用這些視圖。由視圖可以定義模型,模型在語義上是閉合的,它從特定的角度(系統(tǒng)的規(guī)約或者設(shè)計(jì))在一定抽象層次上描述目標(biāo)系統(tǒng)??梢园岩晥D組織成模型,開發(fā)人員可從各視角觀察使用模型。用以描述系統(tǒng)的模型可以是結(jié)構(gòu)性的,強(qiáng)調(diào)系統(tǒng)的組織,也可以是行為性的,強(qiáng)調(diào)系統(tǒng)的動(dòng)態(tài)方面。例如,RUP有9種模型,分別是業(yè)務(wù)模型、領(lǐng)域模型、用況模型(也稱需求模型)、分析模型、設(shè)計(jì)模型、過程模型、部署模型、實(shí)現(xiàn)模型和測(cè)試模型,用于從不同的角度表示系統(tǒng)。系統(tǒng)是一組反映不同側(cè)面的子系統(tǒng)的集合,為了完成特定的目的要對(duì)這些子系統(tǒng)進(jìn)行組織(在邏輯、功能和物理位置上是高內(nèi)聚、低耦合的)。子系統(tǒng)是一組元素的聚集,其中的元素還可以是子系統(tǒng)。它由一組模型從不同的角度進(jìn)行描述。子系統(tǒng)本身幾乎應(yīng)是獨(dú)立的,有自己應(yīng)用的環(huán)境,相互間不重疊,它們之間用接口聯(lián)系。UML是一種建模語言,不是一種方法,它獨(dú)立于過程。利于它建模時(shí),可遵循任何類型的建模過程。該建模語言的作者們給出了一種推薦性的建模過程指導(dǎo),即RUP。下面說明RUP如何支持UML的應(yīng)用。RUP是以用況為驅(qū)動(dòng)、體系結(jié)構(gòu)為中心、迭代和增量的過程。RUP包括四個(gè)階段,每個(gè)階段又分為若干次迭代,每次迭代都有一個(gè)核心工作流(包括5個(gè)活動(dòng))。用況驅(qū)動(dòng)旨在為到最終產(chǎn)品為止的每個(gè)階段都可以回溯到用戶的真正需求。以體系結(jié)構(gòu)為中心是指關(guān)注體系結(jié)構(gòu)模式的開發(fā),以引導(dǎo)后續(xù)系統(tǒng),保證系統(tǒng)的平滑演進(jìn)。每一次迭代包括迭代計(jì)劃、迭代評(píng)價(jià)和一些具體活動(dòng)。下面對(duì)RUP的四個(gè)階段要做的工作做一闡述。1.初始階段本階段確定所設(shè)立的項(xiàng)目是否可行,具體要做如下工作:(1)對(duì)需求有一個(gè)大概的了解,確定系統(tǒng)中的大多數(shù)角色和用況,但此時(shí)的用況是簡(jiǎn)要的。對(duì)給出的系統(tǒng)體系結(jié)構(gòu)的概貌,細(xì)化到主要子系統(tǒng)即可。識(shí)別影響項(xiàng)目可行性的風(fēng)險(xiǎn)??紤]時(shí)間、經(jīng)費(fèi)、技術(shù)、項(xiàng)目規(guī)模和效益等因素。關(guān)注業(yè)務(wù)情況,制訂出開發(fā)計(jì)劃。2.細(xì)化階段(1)識(shí)別出剩余的大多數(shù)用況。對(duì)當(dāng)前迭代的每個(gè)用況進(jìn)行細(xì)化,分析用況的處理流程、狀態(tài)細(xì)節(jié)以及可能發(fā)生的狀態(tài)改變。細(xì)化流程時(shí),可以使用程序框圖和合作圖,還可以使用活動(dòng)圖、類圖分析用況。(2)對(duì)風(fēng)險(xiǎn)的處理。需求風(fēng)險(xiǎn):考慮項(xiàng)目的目標(biāo)是否偏離了用戶的需求。為解決需求風(fēng)險(xiǎn)要充分了解用戶需求以及各需求的優(yōu)先度,還應(yīng)盡量列出所有的用況,至少列出重要的用況,并要建立領(lǐng)域的概念模型。技術(shù)風(fēng)險(xiǎn):考察所選的技術(shù)方案是否可行。建立原型是解決技術(shù)風(fēng)險(xiǎn)的一種有效方法。技能風(fēng)險(xiǎn):考慮實(shí)施項(xiàng)目的人員素質(zhì)能否勝任項(xiàng)目的要求。政策風(fēng)險(xiǎn):考慮政策性的因素對(duì)項(xiàng)目的影響。(3)進(jìn)行高層分析和設(shè)計(jì),并作出結(jié)構(gòu)性決策。所產(chǎn)生的基線體系結(jié)構(gòu)包括用況列表、領(lǐng)域概念模型和技術(shù)平臺(tái)等。以后的階段對(duì)細(xì)化階段建立的體系結(jié)構(gòu)不能進(jìn)行過大的變動(dòng)。(4)為構(gòu)造階段制訂計(jì)劃。細(xì)化階段完成,意味著已經(jīng)完成了如下的任務(wù):用況完全細(xì)化并被用戶接受;完成概念驗(yàn)證;完成類圖;開發(fā)人員能給出項(xiàng)目估算(可分為精確、人月和無法估算);基于用況考慮了所有風(fēng)險(xiǎn)(可分為高風(fēng)險(xiǎn)、可能的風(fēng)險(xiǎn)和不可能的風(fēng)險(xiǎn)),并制訂了相應(yīng)的對(duì)策和計(jì)劃;對(duì)用況標(biāo)出優(yōu)先級(jí)(可分為必須先實(shí)現(xiàn)、短期內(nèi)實(shí)現(xiàn)和長(zhǎng)期實(shí)現(xiàn))。3.構(gòu)造階段識(shí)別出剩余的用況。每一次迭代開發(fā)都針對(duì)用況進(jìn)行分析、設(shè)計(jì)、編碼(如類聲明、屬性聲明、范圍聲明、函數(shù)原型聲明和繼承的聲明等)、測(cè)試和集成過程,所得到產(chǎn)品滿足項(xiàng)目需求的一個(gè)子集。由于細(xì)化階段的軟件設(shè)計(jì)已經(jīng)完成,這樣各項(xiàng)目組可以并發(fā)開發(fā)。在代碼完成后,要保證其符合標(biāo)準(zhǔn)和設(shè)計(jì)規(guī)則,并要進(jìn)行質(zhì)量檢查。對(duì)于新出現(xiàn)的變化,要通過逆向工具把代碼轉(zhuǎn)換為模型,對(duì)模型進(jìn)行修改,再重新產(chǎn)生代碼,以保證軟件與模型同步。此階段要建立類圖、交互圖和配置圖;如一個(gè)類具有復(fù)雜的生命周期,可繪制狀態(tài)圖;如算法特別復(fù)雜,可繪制活動(dòng)圖。4.移交階段這一階段完成最后的軟件產(chǎn)品和最后的驗(yàn)收測(cè)試,并完成用戶文檔編制以及用戶培訓(xùn)等工作??傊嚎梢哉f,UML對(duì)系統(tǒng)模型的表達(dá)能力超出了以往任何一種面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法。隨之出現(xiàn)的問題是,它的復(fù)雜性也超出了以往任何一種方法。由于UML的復(fù)雜性,對(duì)它的掌握和使用確實(shí)不是一件輕松的事。例6,填空題UML規(guī)定了語言的四種公共機(jī)制:(1)說明(Specification);(2)裝飾(Adornment);(3)通用戈1」分(CommonDivision);(4)擴(kuò)展機(jī)制(Extensibility)。UML語言的體系結(jié)構(gòu)建立在4層元模型結(jié)構(gòu)之上,這4層模型分別為:(1)元一元模型(meta-metamodel);(2)元模型(metamodel);(3)模型(model);(4)用戶對(duì)象(userobject)。UML語言從4個(gè)抽象層次對(duì)UML語言的:(1)概念(conception)、(2)模型元素(modelelement)、(3)結(jié)構(gòu)(structure)、(4)機(jī)制(mechanism)等進(jìn)行了全面的定義,并規(guī)定了相應(yīng)的(5)表示法(notation)和(6)圖形符號(hào)(graphicmarker)。瑞理軟件工具對(duì)CMM實(shí)施的支持。一般來說,實(shí)施CMM需要以下主要工具:軟件開發(fā)過程框架、需求管理工具、面向?qū)ο蟮姆治鲈O(shè)計(jì)工具、配置管理工具、變更管理工具和軟件測(cè)試工具。1.軟件開發(fā)過程框架CMM是一種軟件過程控制和評(píng)估框架,它列出了每個(gè)級(jí)別需要完成的目標(biāo)以及判定條件,但并沒有敘述如何實(shí)現(xiàn)這些目標(biāo)。軟件開發(fā)過程框架工具的目標(biāo)就是為開發(fā)團(tuán)隊(duì)建立一個(gè)清晰的、可重復(fù)執(zhí)行的流程,以幫助團(tuán)隊(duì)成員按時(shí)完成項(xiàng)目各階段的工作。Rational公司的RUP(RationalUnifiedProcess)就是這樣一個(gè)完整的軟件開發(fā)過程框架,它包括3000個(gè)HTML文檔、近一百萬字的流程指南,其中文版本RUP-C已經(jīng)在中國(guó)市場(chǎng)正式發(fā)布。RUP對(duì)CMM實(shí)施的主要幫助體現(xiàn)在以下方面:(1)凝結(jié)了全球軟件行業(yè)的最佳開發(fā)經(jīng)驗(yàn),以指南、模板和示例的形式為開發(fā)團(tuán)隊(duì)提供流程指導(dǎo);(2)建立統(tǒng)一的軟件開發(fā)標(biāo)準(zhǔn),改善團(tuán)隊(duì)成員之間的溝通;(3)降低軟件開發(fā)風(fēng)險(xiǎn),增加軟件開發(fā)的可預(yù)測(cè)性;(4)賦予項(xiàng)目經(jīng)理對(duì)進(jìn)度和交付期限的控制能力。2.需求管理需求是軟件客戶的要求,它決定了軟件系統(tǒng)的工作內(nèi)容,是整個(gè)開發(fā)活動(dòng)的基本出發(fā)點(diǎn)和最終目標(biāo)。在整個(gè)項(xiàng)目生命周期內(nèi),要想有效地協(xié)作,就需要對(duì)重要的需求信息提供訪問權(quán)限,使跨功能團(tuán)隊(duì)的所有成員都能掌握必要的詳細(xì)信息。需求管理的目的是在客戶和相應(yīng)的軟件項(xiàng)目之間建立共同的理解,并最終形成估計(jì)、策劃和跟蹤整個(gè)軟件生命周期內(nèi)軟件項(xiàng)目活動(dòng)的基礎(chǔ)。需求管理是CMM2級(jí)(可重復(fù)級(jí))的關(guān)鍵過程領(lǐng)域之一,其主要工作包括兩點(diǎn):其一,通過與利益相關(guān)者(Stakeholder)的交流來獲取需求,并進(jìn)行有效的組織和記錄;其二,使客戶和項(xiàng)目團(tuán)隊(duì)在系統(tǒng)變更需求上達(dá)成一致。一個(gè)優(yōu)秀的需求管理工具可以在保證有效管理需求的前提下提高需求管理工作流程的自動(dòng)化程度,使需求管理可以真正在項(xiàng)目實(shí)施中得到有效的推行。Rational公司為需求管理提供了AnalystStudio需求工作包,它具有以下主要特點(diǎn):(1)結(jié)合業(yè)界認(rèn)可的RUP方法,提供完整的需求分析及管理流程;(2)以Web方式獲取反饋,加強(qiáng)團(tuán)隊(duì)之間的有效溝通;(3)用追蹤圖直觀展現(xiàn)需求變化帶來的影響。AnalystStudio除了可用于CMM2級(jí)的:“需求管理”外,還可以對(duì)以下KPA提供幫助:“軟件項(xiàng)目規(guī)劃”、“軟件項(xiàng)目跟蹤與監(jiān)督”、“軟件子合同管理”、“軟件產(chǎn)品工程”、“組間協(xié)作”、“同級(jí)復(fù)審”和“定量過程管理”。面向?qū)ο蟮姆治鲈O(shè)計(jì)工具在CMM3級(jí)的“軟件產(chǎn)品工程”(SoftwareProductEngineering)KPA中,對(duì)軟件設(shè)計(jì)提出了明確的要求,要求軟件設(shè)計(jì)遵循一定的設(shè)計(jì)語言、采用面向?qū)ο蟮姆椒?、使設(shè)計(jì)結(jié)果可復(fù)用等。為什么要采用面向?qū)ο蟮姆治鲈O(shè)計(jì)方法?主要原因有3點(diǎn):(1)通過分析和設(shè)計(jì),使開發(fā)者可以先關(guān)注問題的領(lǐng)域,再關(guān)心具體的設(shè)計(jì)和編程問題,從而有利于降低整個(gè)過程的復(fù)雜性,提高分析模型和設(shè)計(jì)模型的質(zhì)量;(2)生成的分析模型和設(shè)計(jì)模型形成文檔的主體,從根本上解決“先寫代碼、再補(bǔ)文檔”的老問題,并能幫助團(tuán)隊(duì)規(guī)避因人員流動(dòng)帶來的不良影響;(3)分析模型和設(shè)計(jì)模型將成為團(tuán)隊(duì)內(nèi)部以及團(tuán)隊(duì)之間有效溝通的橋梁,消除誤解,進(jìn)一步解決"系統(tǒng)集成難"的頑癥,同時(shí)也可以促進(jìn)團(tuán)隊(duì)之間的軟件復(fù)用。RationalRose是Rational公司開發(fā)的可視化建模工具,它采用UML的表示方法,在同一個(gè)模型中實(shí)現(xiàn)業(yè)務(wù)建模、對(duì)象建模和數(shù)據(jù)建模,使所有參與項(xiàng)目的成員都可以在統(tǒng)一的語言環(huán)境中工作于同一個(gè)模型之上,有利于改善成員之間的溝通;其次,它支持多種語言的代碼生成及雙向工程,可實(shí)現(xiàn)代碼和模型的互相轉(zhuǎn)換,并且可以將遺留代碼引入模型中;第三,它帶有對(duì)設(shè)計(jì)元素進(jìn)行測(cè)試的模塊工具(QualityArchitect),可以盡早發(fā)現(xiàn)設(shè)計(jì)中的問題,真正實(shí)現(xiàn)“質(zhì)量從頭抓起”。RationalRose除了可幫助實(shí)施CMM3級(jí)的“軟件產(chǎn)品工程”外,還可以對(duì)“組間協(xié)作”和“同級(jí)復(fù)審”KPA提供幫助。配置管理和變更管理軟件配置管理(SCM)是CMM2級(jí)中一個(gè)非常重要的KPA,它的目的是在軟件項(xiàng)目的生命周期內(nèi)建立并維護(hù)軟件項(xiàng)目產(chǎn)品的完整性。在CMM標(biāo)準(zhǔn)中,明確規(guī)定了軟件配置管理(SCM)以及變更請(qǐng)求管理(CRM)的相關(guān)工作,它包括以下兩方面:(1)配置管理的主要工作包括通過創(chuàng)建軟件配置管理庫、定義配置項(xiàng)(包括需求、分析設(shè)計(jì)模型、代碼、文檔、測(cè)試用例、測(cè)試數(shù)據(jù)等)以及建立和維護(hù)軟件的基線;(2)變更請(qǐng)求管理的主要工作包括控制和記錄配置項(xiàng)內(nèi)容的變更,建立和維護(hù)一個(gè)系統(tǒng)并使其追蹤和管理變更請(qǐng)求及問題報(bào)告。Rational的ClearCase和ClearQuest是相當(dāng)成熟的配置管理和變更管理工具,它們已經(jīng)連續(xù)四年被IDC評(píng)為業(yè)界最佳的配置管理工具。ClearCase的主要作用體現(xiàn)在三個(gè)方面:其一,幫助項(xiàng)目組利用版本對(duì)象庫(VOB)完整地保存整個(gè)項(xiàng)目的開發(fā)歷史,實(shí)現(xiàn)對(duì)軟件資產(chǎn)的有效管理;其二利用版本對(duì)象庫(VOB)的安全機(jī)制,靈活地控制不同人員對(duì)不同配置項(xiàng)的檢出和讀取的權(quán)利,有效地保護(hù)企業(yè)的核心機(jī)密;第三,幫助團(tuán)隊(duì)實(shí)現(xiàn)并行開發(fā),避免合并版本等工作阻礙其他開發(fā)工作,保證項(xiàng)目進(jìn)度。ClearQuest的主要作用是加強(qiáng)開發(fā)團(tuán)隊(duì)與外界的溝通,用戶、測(cè)試人員與市場(chǎng)銷售人員可以直接通過Web提交變更請(qǐng)求,包括缺陷或功能擴(kuò)充請(qǐng)求??梢院敛豢鋸埖卣f,配置管理和變更管理是軟件工程的基礎(chǔ)。 ClearCase和ClearQuest除了對(duì)CMM2級(jí)的“軟件配置管理”KPA有幫助外,還可以對(duì)以下KPA提供幫助:“需求管理”、“軟件項(xiàng)目跟蹤與監(jiān)督”、“軟件質(zhì)量保證”、“軟件產(chǎn)品工程”以及“定量過程管理”。測(cè)試工具“軟件質(zhì)量保證”是CMM2級(jí)中另一個(gè)重要的KPA,軟件測(cè)試水平的高低直接影響軟件產(chǎn)品質(zhì)量的好壞與開發(fā)周期的長(zhǎng)短。綜觀現(xiàn)階段諸多軟件開發(fā)組織在軟件測(cè)試方面的狀況,不難發(fā)現(xiàn),多數(shù)組織存在以下問題:(1)沒有進(jìn)行單元測(cè)試,或單元測(cè)試不徹底;(2)由于需求不準(zhǔn)確,導(dǎo)致測(cè)試缺乏計(jì)劃;(3)測(cè)試工作大多依賴手工進(jìn)行,沒有有效的自動(dòng)化測(cè)試工具,致使軟件測(cè)試效率低下,測(cè)試周期較長(zhǎng),不能在軟件開發(fā)的各個(gè)周期進(jìn)行完整的測(cè)試;(4)缺乏有效的跟蹤機(jī)制跟蹤解決軟件測(cè)試中發(fā)現(xiàn)的缺陷,致使有的問題得不到及時(shí)、恰當(dāng)?shù)慕鉀Q。針對(duì)這些問題,Rational提供了一系列測(cè)試工具,幫助用戶解決上述問題。這些工具包括用于單元測(cè)試的RQA(RoseQualityArchitect)、Purify、PureCoverage和Quantify以及用于測(cè)試管理、回歸測(cè)試和性能管理的RationalTeamTest。特別需要說明的是回歸測(cè)試。目前,對(duì)大型軟件系統(tǒng)來說,迭代式開發(fā)已經(jīng)成為一種主流的開發(fā)模式,需要在開發(fā)的每個(gè)迭代周期內(nèi)對(duì)軟件功能進(jìn)行確認(rèn),這就是回歸測(cè)試。如果依靠人工測(cè)試的辦法,這將是一個(gè)煩瑣、耗時(shí)的過程。RationalTeamTest采用面向?qū)ο蟮挠涗浖夹g(shù),將對(duì)系統(tǒng)的功能測(cè)試動(dòng)作記錄在測(cè)試腳本中,當(dāng)系統(tǒng)進(jìn)入下一個(gè)迭代周期時(shí),只需回放這個(gè)測(cè)試腳本,就可以自動(dòng)地進(jìn)行軟件功能的確認(rèn),這種方法可以極大地提高軟件測(cè)試的效率,保證軟件功能測(cè)試的完整性。以上工具可以單獨(dú)使用,解決個(gè)別問題,但是對(duì)于一個(gè)想在CMM實(shí)施中獲得較高級(jí)別評(píng)估的軟件組織來說,則需要盡可能廣泛地進(jìn)行有效的規(guī)劃與部署,將這些工具有機(jī)地結(jié)合起來,滿足企業(yè)在軟件質(zhì)量方面的較高要求。為此,Rational提供了一個(gè)完整的解決方案一TestStudio,它包括用于單元測(cè)試的PQC(Purify、Quantify、PureCoverage)、提供全面功能測(cè)試和性能測(cè)試的TeamTest、進(jìn)行差錯(cuò)跟蹤的ClearQuest,以及一些對(duì)軟件開發(fā)管理提供支持的基礎(chǔ)工具,并將這些工具緊密地結(jié)合在一起。例7,填空題RUP是一種大多數(shù)軟件項(xiàng)目軟件開發(fā)組織都能適用的形式,它吸取了軟件開發(fā)中的最佳實(shí)踐(BestPractice),具有下面五個(gè)特性:(1)用例驅(qū)動(dòng)(Usecasedriven);(2)以架構(gòu)為中心(Architecturecentric);(3)迭代式軟件開發(fā)(Iterative);(4)增量式軟件開發(fā)(Incremental);(5)可控式軟件開發(fā)(Controlled)。從技術(shù)角度來講RUP規(guī)定了6個(gè)過程成分:(1)業(yè)務(wù)建模(businessmodeling);(2)需求分析(requirementanalyse);(3)系統(tǒng)分析與設(shè)計(jì)(systemanalysisanddesign);(4)實(shí)現(xiàn)(implementation);(5)測(cè)試(testing);(6)系統(tǒng)配置(systemconfiguration)。RUP把軟件項(xiàng)目開發(fā)過程劃為4個(gè)階段;(1)開端階段(inception);(2)精化階段(elaboration);(3)構(gòu)建階段(construction);(4)過渡階段(transition)。五、IDEAL模型1、IDEAL模型概念軟件過程能力成熟度模型(SoftwareCapabilityMaturityModel,SW-CMM)是美國(guó)卡內(nèi)基?梅隆大學(xué)軟件工程研究所SEI(SoftwareEngineeringInstitution)從1986年開始研究并完成的,它側(cè)重于對(duì)軟件開發(fā)過程和開發(fā)方法論的考察。CMM包括5級(jí):初始級(jí)(Initial),2級(jí):可重復(fù)級(jí)(Repeatable),3級(jí):已定義級(jí)(Defined),4級(jí):已管理級(jí)(Managed),5級(jí):優(yōu)化級(jí)(Optimizing)。CMM則提供了一整套較為完善的軟件研發(fā)項(xiàng)目管理的方法。美國(guó)先后在這上面投資了5億多美元,做了很多實(shí)踐工作來改進(jìn)軟件研發(fā)項(xiàng)目管理,而且其內(nèi)容還在不斷地改進(jìn),SW-CMM1.1版本推出后,又推出了SW-CMM2.0草案。目前,已取消了單獨(dú)的CMM,正在開發(fā)CMMI,其模型包括CMMI-SW、CMMI-SE、CMMI-SE/SW、CMMI-SE/SW/IPPD。SEI又與HP公司合作,提出了實(shí)施SW-CMM的IDEAL模型。IDEAL模型是一個(gè)單位用于啟動(dòng)、規(guī)劃和實(shí)現(xiàn)過程改善措施藍(lán)圖的模型,概括了建立一個(gè)成功的過程改善項(xiàng)目的必要步驟,其中I代表Initiating(啟動(dòng))、D代表Diagnosing(診斷)、E代表Establishing(建造)、A代表Acting(實(shí)施)、L代表Learning(學(xué)習(xí))。圖5-1是詳細(xì)的IDEAL五階段模型。其中:?jiǎn)?dòng)一獲得改進(jìn)的支持和責(zé)任;診斷一確定改進(jìn)范圍;建立一選擇和計(jì)劃特定的改進(jìn)活動(dòng);實(shí)施一設(shè)計(jì)、指導(dǎo)、實(shí)現(xiàn)以及改進(jìn)制度化;學(xué)習(xí)一確定基于IDEAL模型的改進(jìn)活動(dòng)。
改進(jìn)動(dòng)機(jī)」帥MopFVIUH!AdbnsPilotT朗SoJUHqhHqHi-4SolutionImpferwn!SalulfonAdloniCreditSefullonPrlgrillH|伽叫3|^pprcioch啟動(dòng)改進(jìn)動(dòng)機(jī)」帥MopFVIUH!AdbnsPilotT朗SoJUHqhHqHi-4SolutionImpferwn!SalulfonAdloniCreditSefullonPrlgrillH|伽叫3|^pprcioch啟動(dòng)診斷建立?SetCMfOllBuildj!1ChalwInlr^ttnidLrc1J■■■?ChflrgdpriwCucrvnl4Oo3lr*dSuids圖5-1詳細(xì)的IDEAL五階段模型圖5-2過程改進(jìn)活動(dòng)的兩維觀點(diǎn)行動(dòng)圖5-2說明了IDEAL模型的兩維結(jié)構(gòu),它處理過程改進(jìn)中的兩種不同操作級(jí)別:戰(zhàn)略級(jí):這些過程主要是高層領(lǐng)導(dǎo)的責(zé)任。戰(zhàn)術(shù)級(jí):這些過程主要由產(chǎn)品線經(jīng)理和參與者執(zhí)行。圖5-3說明支持軟件過程改進(jìn)(SoftwareProcessImprovement,SPI)的因素。其中基礎(chǔ)設(shè)施能夠在需要時(shí)提供資源;對(duì)工作的方向、范圍和進(jìn)度提供建議;為SPI程序順利前進(jìn)排除障礙。其目的是維持SPI程序的可視性;方便和鼓勵(lì)信息共享;抓住和保存經(jīng)驗(yàn)教訓(xùn)并發(fā)展改進(jìn);提供支持網(wǎng)絡(luò)。
圖5-3成功的過程改進(jìn)2、IDEAL模型各個(gè)階段2.1啟動(dòng)階段啟動(dòng)階段要學(xué)習(xí)過程改進(jìn),約定啟動(dòng)資源并建立過程基礎(chǔ)設(shè)施。最主要的是建立管理操作組(Managementsteeringgroup,MSG),軟件工程過程組(SoftwareEngineeringProcessGroup,SEPG)。常常形成一個(gè)問題發(fā)現(xiàn)小組(DiscoveryTeam)研究有關(guān)議題(Issues),并開發(fā)軟件過程(SoftwareProcessImprovement,SPI)改進(jìn)建議給高層管理者。啟動(dòng)階段任務(wù)如下:1)開始;2)識(shí)別改進(jìn)的商業(yè)需要和推動(dòng)者;3)建立SPI提議;4)教育和建立支持;5)獲得SPI提議的批準(zhǔn)和啟動(dòng)資源;6)建立軟件過程改進(jìn)基礎(chǔ)設(shè)施;7)評(píng)估SPI的情況(Climate);8)確定SPI總的目標(biāo);9)確定SPI程序的指導(dǎo)原則;10)正式啟動(dòng)。2.2診斷階段診斷階段建立當(dāng)前過程的成熟度,過程說明,度量等等,并啟動(dòng)行動(dòng)計(jì)劃的開發(fā)。診斷階段任務(wù)如下:1)確定需要的基準(zhǔn)(Baselines);2)基準(zhǔn)計(jì)劃;3)指導(dǎo)(Conduct)基準(zhǔn);4)結(jié)果(Findings)展示;5)開發(fā)最終結(jié)果和建議報(bào)告;6)與組織就最終結(jié)果和建議報(bào)告進(jìn)行溝通。2.3建立階段建立階段建立目標(biāo)和優(yōu)先權(quán),完成行動(dòng)計(jì)劃的開發(fā)。建立階段任務(wù)如下:1)選擇和得到戰(zhàn)略規(guī)劃過程的培訓(xùn);2)評(píng)審組織愿景(Vision);3)評(píng)審組織的商業(yè)計(jì)劃;4)確定關(guān)鍵商業(yè)議題;5)評(píng)審過去的改進(jìn)工作;6)說明改進(jìn)的動(dòng)機(jī);7)確定當(dāng)前和將來的改進(jìn)工作;8)確定不同基礎(chǔ)設(shè)施實(shí)體的角色和責(zé)任;9)確定改進(jìn)活動(dòng)和開發(fā)議題的優(yōu)先級(jí);10)協(xié)調(diào)在基準(zhǔn)結(jié)論和建議內(nèi)已有和計(jì)劃的改進(jìn)工作;11)將一般的SPI目標(biāo)變成特定的可度量的目標(biāo);12)建立和更新SPI戰(zhàn)略計(jì)劃;13)建立審計(jì)、評(píng)審,并批準(zhǔn)SPI戰(zhàn)略計(jì)劃,約定行動(dòng)的資源。14)形成技術(shù)工作組(TechnicalWorkingGroup,TWG)。2.4行動(dòng)階段行動(dòng)階段研究和開發(fā)過程問題的解決方案,并擴(kuò)展成功的過程改進(jìn)到整個(gè)組織。行動(dòng)階段任務(wù)如下:1)完成TWG的具體計(jì)劃;2)開發(fā)解決方案;3)試驗(yàn)有潛力的解決方案;4)選擇解決方案提供商;5)確定長(zhǎng)期的支持需要;6)開發(fā)首次(Rollout)實(shí)行的戰(zhàn)略和計(jì)劃的模板;7)整理改進(jìn)(模板)并交給SEPG;8)解散TWG;9)首次實(shí)行解決方案;10)轉(zhuǎn)移到長(zhǎng)期支持。學(xué)習(xí)階段學(xué)習(xí)階段準(zhǔn)備再次通過IDEAL模型,應(yīng)用學(xué)到的經(jīng)驗(yàn)教訓(xùn)完善SPI過程。學(xué)習(xí)階段任務(wù)如下:1)收集學(xué)到的經(jīng)驗(yàn)教訓(xùn);2)分析學(xué)到的經(jīng)驗(yàn)教訓(xùn);3)修改組織方法;4)評(píng)審保證人和約定;5)建立高級(jí)的目標(biāo);6)開發(fā)新的/修改的SPI提議;7)繼續(xù)進(jìn)行SPI。管理軟件過程改進(jìn)對(duì)改進(jìn)過程提供監(jiān)督并解決相應(yīng)的問題。管理軟件過程改進(jìn)任務(wù)如下:1)設(shè)置軟件過程改進(jìn)的階段(SPI);2)組織SPI程序;3)計(jì)劃SPI程序;4)SPI程序人員組織;5)監(jiān)督SPI程序;6)指導(dǎo)SPI程序。圖5-4典型的SPI基礎(chǔ)設(shè)施在大多數(shù)情況下由三個(gè)部分組成了SPI的組織基礎(chǔ)設(shè)施(見圖5-4):1.軟件工程過程組(SEPG);2.管理指導(dǎo)組(MSG);3.技術(shù)工作組(TWG)。第一位并且最重要的是SEPG,有時(shí)叫作過程組。SEPG在SPI程序中為組織執(zhí)行許多功能。SEPG可以:有利于在環(huán)境變化時(shí)對(duì)SPI程序提供持續(xù)的支持;建立和加強(qiáng)與保證人的關(guān)系;培育和持續(xù)個(gè)人的改進(jìn)活動(dòng);保證在全組織內(nèi)協(xié)調(diào)這些活動(dòng)。由MSG任命SEPG。任命書作為管理層和SEPG的協(xié)議。提出任命書概括出SEPG的角色、責(zé)任和權(quán)威。任務(wù)是建立MSG;建立SEPG;開發(fā)SEPG(MSG)的任命書;向保證人演示改進(jìn)活動(dòng);開發(fā)TWGs的任命書模板3、IDEAL模型與PDCA周期巴西電信公司(NECdoBrassil,NDB)在實(shí)施SPI時(shí)采用了PDCA周期⑶:其中P代表Plan(計(jì)劃)、D代表Do(行動(dòng))、C代表Check(檢查)、A代表Act(實(shí)施)。采用PDCA周期的理由是:(1)PDCA周期與客戶驅(qū)動(dòng)質(zhì)量管理概念中建立的連續(xù)改進(jìn)結(jié)構(gòu)一致;(2)PDCA周期實(shí)踐和術(shù)語已經(jīng)在NDB中制度化了;(3)PDCA周期包
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年戶外繩網(wǎng)探險(xiǎn)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年壓力變送器系統(tǒng)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年按摩眼罩藍(lán)牙音樂企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年手機(jī)語音助手個(gè)性化行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年城市購(gòu)物纜車導(dǎo)航行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年口腔無痛注射系統(tǒng)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年控糖健康零食禮盒企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025年中國(guó)側(cè)推柜市場(chǎng)調(diào)查研究報(bào)告
- 2025年內(nèi)槽加熱感應(yīng)器項(xiàng)目可行性研究報(bào)告
- 2025至2030年數(shù)字單相交流電流表項(xiàng)目投資價(jià)值分析報(bào)告
- 魯科版高中化學(xué)必修2全冊(cè)教案
- 建筑工程施工質(zhì)量驗(yàn)收規(guī)范檢驗(yàn)批填寫全套表格(浙江省)
- 《病理學(xué)基礎(chǔ)》知識(shí)考核試題題庫與答案
- 人口分布 高一地理下學(xué)期人教版 必修第二冊(cè)
- 部編版六年級(jí)下冊(cè)語文第3單元習(xí)作例文+習(xí)作PPT
- 四年級(jí)上冊(cè)英語試題-Module 9 Unit 1 What happened to your head--外研社(一起)(含答案)
- 子宮內(nèi)膜異位癥診療指南
- 《高級(jí)計(jì)量經(jīng)濟(jì)學(xué)》-上課講義課件
- 護(hù)理診斷及護(hù)理措施128條護(hù)理診斷護(hù)理措施
- 九年級(jí)物理總復(fù)習(xí)教案
- 天然飲用山泉水項(xiàng)目投資規(guī)劃建設(shè)方案
評(píng)論
0/150
提交評(píng)論