《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > IBM Rational SDP 助力 CMMI 流程改進(jìn)

IBM Rational SDP 助力 CMMI 流程改進(jìn)

2007-08-20
作者:唐李剛

IBM SDP 簡(jiǎn)介

IBM SDP 是 IBM 針對(duì)軟件開(kāi)發(fā)" title="軟件開(kāi)發(fā)">軟件開(kāi)發(fā)而推出的一整套解決方案平臺(tái),它的全稱是 IBM Rational軟件開(kāi)發(fā)平臺(tái) (Software Development Platform) 。它使得軟件開(kāi)發(fā)組織能夠更有效地開(kāi)發(fā)軟件產(chǎn)品,提高軟件質(zhì)量,保證開(kāi)發(fā)進(jìn)度、控制開(kāi)發(fā)成本。?

軟件開(kāi)發(fā)的四項(xiàng)基本原則?

IBM SDP 中集中體現(xiàn)了以下軟件開(kāi)發(fā)的基本原則:?

??????? 迭代化開(kāi)發(fā):有效控制項(xiàng)目風(fēng)險(xiǎn)、增加項(xiàng)目預(yù)見(jiàn)性、盡早地發(fā)現(xiàn)軟件產(chǎn)品中的缺陷;?

??????? 以架構(gòu)為中心:采用可視化建模技術(shù)來(lái)構(gòu)建以構(gòu)件為基礎(chǔ)的系統(tǒng)框架,有效地管理系統(tǒng)的復(fù)雜度,增強(qiáng)系統(tǒng)的靈活性和可擴(kuò)展性;?

??????? 持續(xù)地質(zhì)量驗(yàn)證:在整個(gè)產(chǎn)品生命周期" title="產(chǎn)品生命周期">產(chǎn)品生命周期中持續(xù)地驗(yàn)證軟件質(zhì)量,確保產(chǎn)品滿足客戶的需求,并且構(gòu)造一個(gè)高性能、高可靠的軟件系統(tǒng);?

??????? 管理軟件資產(chǎn)和變更:在整個(gè)產(chǎn)品生命周期中管理好企業(yè)的軟件資產(chǎn),并對(duì)所有的變更請(qǐng)求進(jìn)行管理,支持虛擬團(tuán)隊(duì)的并行開(kāi)發(fā)。?

按角色分工的工具平臺(tái) ?

IBM SDP 中包括了支撐整個(gè)軟件開(kāi)發(fā)生命周期所需的工具,這些工具是以開(kāi)發(fā)人員的角色來(lái)組織的。?

角色

開(kāi)發(fā)工具

業(yè)務(wù)分析員?

Rational RequisitePro, Rational Software Modeler?

系統(tǒng)架構(gòu)師?

Rational Software Architect / Rational Software Modeler
Rational Rose XDE?

軟件工程師?

Rational Application Developer / Rational Software Architect
Rational Rose XDE, Rational PurifyPlus?

質(zhì)量工程師?

Rational? Functional Tester, Rational Performance Tester
Rational Robot?

項(xiàng)目管理人員?

Rational Unified Process, Rational RequisitePro
Rational ClearQuest, Rational ClearCase
Rational TestManager, Rational ProjectConsole
Rational Portfolio Manager?

CMMI 模型簡(jiǎn)介

CMMI 模型的內(nèi)容?

CMMI 是一個(gè)應(yīng)用于流程改進(jìn)的模型,在 CMMI 中制定了流程改進(jìn)的目標(biāo)和最佳實(shí)踐,它為需要提高自身開(kāi)發(fā)能力的軟件組織提供了一個(gè)參考標(biāo)準(zhǔn)和實(shí)踐指南,并且這個(gè)標(biāo)準(zhǔn)是在前人的實(shí)踐經(jīng)驗(yàn)上總結(jié)出來(lái)的,具有很強(qiáng)的可實(shí)踐性。?

CMMI 模型的內(nèi)容分為“需要的(required)”、“期望的(expected)”和“用于提供信息(informative)”三類。?

??????? 需要的:?CMMI 中定義了24個(gè)過(guò)程域(process area),每個(gè)過(guò)程域都有一到四個(gè)特定目標(biāo)(specific goals);另外,針對(duì)于所有的過(guò)程域,也定義了一組共性目標(biāo)(general goals)。?

??????? 期望的:針對(duì)每一個(gè)目標(biāo),CMMI 定義了一組推薦的實(shí)踐(practices),通過(guò)實(shí)施這些實(shí)踐可以幫助軟件組織達(dá)到相應(yīng)的目標(biāo)。?

??????? 用于提供信息:另外,CMMI 中也提供了其他一些用于輔助提供信息的內(nèi)容,如:相關(guān)過(guò)程域、典型工作產(chǎn)品、實(shí)踐與目標(biāo)關(guān)系表等。?

CMMI 的表示方法?

由于 CMMI 是對(duì)幾種不同的成熟度能力模型的集成,它的源模型有著不同的表示形式,相應(yīng)的 CMMI 也有“連續(xù)式”和“階段式”兩種不同的表示方法。“連續(xù)式”模型沒(méi)有規(guī)定在流程改進(jìn)過(guò)程中對(duì)于過(guò)程域選擇的次序,各個(gè)組織根據(jù)自己的實(shí)際情況來(lái)選擇從那些過(guò)程域入手;“階段式”模型則為流程改進(jìn)提供了預(yù)定義的路線圖,每一個(gè)階都有一組相應(yīng)的過(guò)程域,如果滿足了某一階段中的所有過(guò)程域目標(biāo),我們稱該組織達(dá)到了該成熟度等級(jí)。?

應(yīng)用IBM SDP 幫助 CMMI?流程改進(jìn)實(shí)踐

IBM SDP 為流程改進(jìn)提供了工程技術(shù)手段?

CMMI 為軟件組織的流程改進(jìn)提供了一個(gè)系統(tǒng)的框架,但是它所提供的只是一個(gè)流程框圖架,在實(shí)踐過(guò)程中還需要具體工程技術(shù)的支持。如對(duì)于CMMI 中的每一個(gè)目標(biāo),CMMI 定義了一組特性實(shí)踐和共性實(shí)踐來(lái)達(dá)到該目標(biāo),但這些實(shí)踐只是提出了在具體實(shí)踐過(guò)程應(yīng)該注意的事項(xiàng),并沒(méi)有列出具體可采用的工程技術(shù)。因?yàn)樽鳛橐粋€(gè)標(biāo)準(zhǔn),它不可能局陷在某一特定的工程技術(shù)之上,不同的軟件組織可以采用不同的技術(shù)手段來(lái)達(dá)到相同的目標(biāo)。?

IBM 的 SDP 正好作為一種特定的工程技術(shù)解決方案為 CMMI 流程改進(jìn)提供了一種具體可操作的實(shí)踐手段。以下以 CMMI 中兩個(gè)相關(guān)的過(guò)程域“需求管理”和“需求開(kāi)發(fā)”為例,展示 IBM SDP 解決方案是如何來(lái)實(shí)現(xiàn)每一個(gè)特定目標(biāo)的。?CMMI 過(guò)程域“需求管理”的SDP 實(shí)現(xiàn)

CMMI 模型元素

描述

IBM SDP 解決方案

目的?

需求管理 - 管理項(xiàng)目中產(chǎn)品和構(gòu)件的需求,從而能夠及時(shí)發(fā)現(xiàn)需求、項(xiàng)目計(jì)劃和工作產(chǎn)品之間的不一致性?

RUP 需求方法集提供支撐該流程域的所有目標(biāo)和實(shí)踐?

SG1?

管理需求,及時(shí)發(fā)現(xiàn)需求和項(xiàng)目計(jì)劃以及其他工作產(chǎn)品之間的不一致性?

RUP 中對(duì)于需求進(jìn)行了分類(業(yè)務(wù)需要、產(chǎn)品特性、軟件需求等),并在不同的需求類型之間和其他工作產(chǎn)品之間建立追蹤關(guān)聯(lián),以此來(lái)管理開(kāi)發(fā)過(guò)程中所產(chǎn)生的不一致性?

SP 1.1?

與需求提供者在需求的含義上達(dá)成一致理解?

RUP 建議采用用例" title="用例">用例模型的方式來(lái)描述需求,從而最大限度地保證雙方對(duì)于需求的理解是一致的?

SP 1.2?

從項(xiàng)目參與者那里獲得需求的承諾?

RUP 中的前景(Vision)文檔定義了項(xiàng)目開(kāi)發(fā)的目標(biāo)和范圍,并需要獲得項(xiàng)目參與者的認(rèn)可?

SP 1.3?

在項(xiàng)目的發(fā)展過(guò)程中管理需求的變更?

ClearQuest 為產(chǎn)品生命周期過(guò)程中的需求變更提供了全程的控制?

SP 1.4?

維護(hù)需求和需求、項(xiàng)目計(jì)劃以及其他工作產(chǎn)品之間的雙向追蹤性?

RequisitePro 提供了不同類型的需求之間以及從需求到設(shè)計(jì)、測(cè)試用例等其他工作產(chǎn)品之間的追蹤性?

SP 1.5?

發(fā)現(xiàn)需求和項(xiàng)目計(jì)劃以及其他工作產(chǎn)品之間的不一致性?

通過(guò)追蹤性關(guān)聯(lián),RequisitePro 可以自動(dòng)地報(bào)告需求和其他工作產(chǎn)品之間所產(chǎn)生的不一致性?

CMMI 過(guò)程域“需求開(kāi)發(fā)”的SDP 實(shí)現(xiàn)

CMMI 模型元素

描述

IBM SDP 解決方案

目的?

需求開(kāi)發(fā) - 開(kāi)發(fā)并分析客戶、產(chǎn)品和構(gòu)件的需求?

SG 1?

收集涉眾的需要、期望、約束和接口,并將其轉(zhuǎn)換成為客戶需求?

RUP 需求方法集中的“理解涉眾需要”這一工作流" title="工作流">工作流明細(xì)詳細(xì)定義了如何收集涉眾需要的過(guò)程?

SP 1.1?

收集涉眾在產(chǎn)品生命周期各個(gè)階段的需要、期望、約束和接口?

同上?

SP 1.2?

將涉眾的需要、期望、約束和接口轉(zhuǎn)換成為客戶需求?

RUP 需求方法集中的“定義系統(tǒng)”這一工作流明細(xì)詳細(xì)定義了如何將涉眾需要轉(zhuǎn)換成為客戶需求的過(guò)程?

SG 2?

對(duì)客戶需求進(jìn)行提煉和細(xì)化來(lái)開(kāi)發(fā)產(chǎn)品和構(gòu)件需求?

RUP 中將客戶需求進(jìn)一步提煉成為產(chǎn)品特性?

SP 2.1?

基于客戶需求來(lái)建立和維護(hù)產(chǎn)品和構(gòu)件需求?

同上?

SP 2.2?

為每一個(gè)構(gòu)件分配需求?

可以為每一個(gè)構(gòu)件(子系統(tǒng))定義一個(gè)用例模型來(lái)將系統(tǒng)需求分配下去?

SP 2.3?

標(biāo)識(shí)接口需求?

用例模型定義的就是系統(tǒng)對(duì)外的接口?

SG 3?

分析和確認(rèn)需求,并開(kāi)發(fā)一個(gè)所需要的功能性定義?

RUP 中利用用例模型來(lái)描述系統(tǒng)所有的功能性需求?

SP 3.1?

建立和維護(hù)操作概念及相關(guān)場(chǎng)景?

每一個(gè)用例都包含了多個(gè)相關(guān)的應(yīng)用場(chǎng)景?

SP 3.2?

建立和維護(hù)一個(gè)所需要的功能性定義?

用例建模技術(shù)可以詳盡地描述所有的系統(tǒng)功能?

SP 3.3?

分析已獲得的需求,確保他們是必要和充分的?

通過(guò)業(yè)務(wù)需要、產(chǎn)品特性和軟件需求之間的追蹤性,確保了所有的需求都是必要和充分的?

SP 3.4?

分析需求來(lái)綜合考慮涉眾的需要和約束(從而決定項(xiàng)目成本、進(jìn)度、性能、功能、可重用性、可維護(hù)性、風(fēng)險(xiǎn)等)?

需求是項(xiàng)目經(jīng)理進(jìn)行項(xiàng)目計(jì)劃的重要輸入?

SP 3.5?

確認(rèn)需求,保證生成的產(chǎn)品能夠在用戶不同的技術(shù)環(huán)境中按要求來(lái)工作?

RUP 中的迭代化開(kāi)發(fā)方法在每一個(gè)迭代中都對(duì)產(chǎn)品需求進(jìn)行確認(rèn)和驗(yàn)證,以保證生成的產(chǎn)品是可用的?

方法和工具并重?

需要避免的一個(gè)常見(jiàn)誤解是 IBM SDP 不僅僅是一個(gè)軟件工程工具集合,其中更重要的是包含了一整套指導(dǎo)軟件工程實(shí)踐的方法論,具體體現(xiàn)在 Rational Unified Process 和 Rational SUMMIT Ascendant 這兩個(gè)產(chǎn)品中。我們?cè)谑褂?IBM SDP 中的所有工具時(shí)都離不開(kāi)相關(guān)方法論的指導(dǎo),在開(kāi)發(fā)的過(guò)程中掌握一個(gè)好的開(kāi)發(fā)方法是成功的關(guān)鍵,工具只有在好的開(kāi)發(fā)方法的指導(dǎo)下才能發(fā)揮作用;反過(guò)來(lái)好的方法也需要高效的工具支持來(lái)提高工作效率和質(zhì)量,兩者是相輔相成的。?

在 CMMI 流程改進(jìn)的過(guò)程中,很多過(guò)程域目標(biāo)可以通過(guò)部署工具平臺(tái)來(lái)直接完成,也有一些目標(biāo)需要應(yīng)用 RUP 或 SUMMIT 中的流程方法來(lái)實(shí)現(xiàn),尤其是一些涉及到與其他軟件團(tuán)隊(duì)和個(gè)人協(xié)作的過(guò)程域目標(biāo),如供應(yīng)商合同管理和組織級(jí)過(guò)程管理等,更多地是要實(shí)踐 IBM SDP 中方法流程。?

另外,CMMI 非常強(qiáng)調(diào)流程的制度化(Institutionalization),通過(guò)提升流程的制度化水平(”P(pán)erformed” -> “Managed” -> “Defined” -> “Quantitatively Managed” -> “Optimizing”)來(lái)不斷地改進(jìn)現(xiàn)有的開(kāi)發(fā)流程,這部分要求直接體現(xiàn)在共性目標(biāo)和實(shí)踐中。這就要求軟件組織的各級(jí)管理層" title="管理層">管理層非常重視和支持相關(guān)的流程改進(jìn)工作,制定各種規(guī)章制度來(lái)保證流程的實(shí)踐;并且要做好全體項(xiàng)目開(kāi)發(fā)人員的培訓(xùn)工作,讓他們認(rèn)識(shí)流程改進(jìn)的目標(biāo)和過(guò)程,將流程改進(jìn)工作落實(shí)到項(xiàng)目開(kāi)發(fā)的每一個(gè)環(huán)節(jié)。?

總結(jié)

總之,基于 CMMI 模型的流程改進(jìn)是一項(xiàng)非常艱巨而復(fù)雜的工作,并不是應(yīng)用某一些工具平臺(tái)就可以達(dá)到相應(yīng)的成熟度等級(jí)。在流程改進(jìn)的過(guò)程中,經(jīng)常需要對(duì)現(xiàn)有的工作流程做出一些痛苦的改動(dòng),所以取得管理層和所有相關(guān)人員的支持是一個(gè)關(guān)鍵。另外要明確流程改進(jìn)的目的,必須把流程改進(jìn)與業(yè)務(wù)目標(biāo)聯(lián)系起來(lái),這樣才能夠取得實(shí)際有效的結(jié)果,否則易流于形式而達(dá)不到實(shí)際的效果。?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。