本主題涉及軟件過(guò)程、軟件過(guò)程管理和軟件過(guò)程基礎(chǔ)設(shè)施的定義。
如上所述,軟件過(guò)程是一組相互關(guān)聯(lián)的活動(dòng)和任務(wù),它們將輸入的工作產(chǎn)品轉(zhuǎn)換為輸出的工作產(chǎn)品。軟件過(guò)程的描述至少包括所需的輸入、轉(zhuǎn)換工作活動(dòng)和生成的輸出。如圖8.2所示,一個(gè)軟件過(guò)程可能還包括它的進(jìn)入和退出標(biāo)準(zhǔn),以及將工作活動(dòng)分解成任務(wù),這些任務(wù)是服從管理責(zé)任的最小的工作單元。過(guò)程輸入可以是觸發(fā)事件,也可以是另一個(gè)過(guò)程的輸出。在過(guò)程可以開(kāi)始之前,應(yīng)該滿足進(jìn)入標(biāo)準(zhǔn)。在成功結(jié)束過(guò)程之前,應(yīng)該滿足所有指定的條件,包括輸出工作產(chǎn)品或工作產(chǎn)品的驗(yàn)收標(biāo)準(zhǔn)。
軟件過(guò)程可以包括子過(guò)程。例如,軟件需求確認(rèn)是一個(gè)用來(lái)確定需求是否會(huì)為軟件開(kāi)發(fā)提供充分基礎(chǔ)的過(guò)程;它是軟件需求過(guò)程的一個(gè)子過(guò)程。需求驗(yàn)證的輸入通常是軟件需求說(shuō)明書和執(zhí)行驗(yàn)證所需的資源(人員、驗(yàn)證工具、足夠的時(shí)間)。需求驗(yàn)證活動(dòng)的任務(wù)可能包括需求評(píng)審、原型設(shè)計(jì)和模型驗(yàn)證。這些任務(wù)包括個(gè)人和團(tuán)隊(duì)的工作分配。需求驗(yàn)證的輸出通常是一個(gè)經(jīng)過(guò)驗(yàn)證的軟件需求規(guī)范,它為軟件設(shè)計(jì)和軟件測(cè)試過(guò)程提供了輸入。需求驗(yàn)證和軟件需求過(guò)程的其他子過(guò)程經(jīng)常以各種方式交叉和迭代;
在軟件開(kāi)發(fā)或修改期間,軟件需求過(guò)程及其子過(guò)程可能會(huì)被多次輸入和退出。
軟件過(guò)程的完整定義還可能包括角色和能力、IT支持、軟件工程技術(shù)和工具,以及執(zhí)行過(guò)程所需的工作環(huán)境,以及用于確定執(zhí)行過(guò)程的效率和有效性的方法和度量(關(guān)鍵性能指標(biāo))。
此外,一個(gè)軟件過(guò)程可能包括交叉的技術(shù)、協(xié)作和管理活動(dòng)。
定義軟件過(guò)程的符號(hào)包括用自然語(yǔ)言描述的構(gòu)成活動(dòng)和任務(wù)的文本列表;數(shù)據(jù)流圖;狀態(tài)圖;BPMN;IDEF0;佩特里網(wǎng);以及UML活動(dòng)圖。過(guò)程中的轉(zhuǎn)換任務(wù)可以定義為過(guò)程;過(guò)程可以指定為一組有序的步驟,也可以指定為執(zhí)行任務(wù)時(shí)要完成的工作的檢查表。
必須強(qiáng)調(diào)的是,沒(méi)有最好的軟件過(guò)程或軟件過(guò)程集。對(duì)于每個(gè)項(xiàng)目和每個(gè)組織環(huán)境,必須選擇、調(diào)整和應(yīng)用軟件過(guò)程。不存在理想的過(guò)程或過(guò)程集。
1.1軟件過(guò)程管理
軟件過(guò)程管理的兩個(gè)目標(biāo)是實(shí)現(xiàn)完成軟件過(guò)程和生產(chǎn)工作產(chǎn)品的系統(tǒng)方法所產(chǎn)生的效率和效果——無(wú)論是在個(gè)人、項(xiàng)目還是組織層面——以及引入新的或改進(jìn)的過(guò)程。
過(guò)程的改變期望一個(gè)新的或修改的過(guò)程將提高過(guò)程的效率和/或有效性,以及產(chǎn)生的工作產(chǎn)品的質(zhì)量。變更到一個(gè)新的過(guò)程,改進(jìn)一個(gè)已經(jīng)存在的過(guò)程,組織的變更,和基礎(chǔ)結(jié)構(gòu)的變更(技術(shù)的插入或者工具中的變更)是緊密相關(guān)的,因?yàn)樗羞@些通常都是以改進(jìn)軟件產(chǎn)品的成本,開(kāi)發(fā)進(jìn)度,或者質(zhì)量為目標(biāo)的。過(guò)程變更不僅對(duì)軟件產(chǎn)品有影響;他們經(jīng)常導(dǎo)致組織變更。變更過(guò)程或引入新過(guò)程可能會(huì)在整個(gè)組織中產(chǎn)生連鎖反應(yīng)。例如,IT基礎(chǔ)設(shè)構(gòu)建具和技術(shù)中的變更通常需要過(guò)程變更。
在第一次部署其他新過(guò)程時(shí),現(xiàn)有過(guò)程可能會(huì)被修改(例如,在軟件開(kāi)發(fā)項(xiàng)目中引入檢查活動(dòng)可能會(huì)影響軟件測(cè)試過(guò)程——參見(jiàn)軟件質(zhì)量知識(shí)領(lǐng)域和軟件測(cè)試知識(shí)領(lǐng)域中的評(píng)審和審計(jì))。這些情況也可以稱為“過(guò)程演進(jìn)”。“如果是廣泛的修改,則很可能需要改變組織文化和業(yè)務(wù)模式,以適應(yīng)過(guò)程的改變。”
1.2軟件過(guò)程的基礎(chǔ)設(shè)施
建立、實(shí)現(xiàn)和管理軟件過(guò)程和軟件生命周期模型通常發(fā)生在單個(gè)軟件項(xiàng)目的層次上。然而,跨組織的軟件過(guò)程和軟件生命周期模型的系統(tǒng)應(yīng)用可以為組織內(nèi)的所有軟件工作提供好處,盡管它需要組織層面的承諾。軟件過(guò)程基礎(chǔ)設(shè)施可以提供過(guò)程定義、解釋和應(yīng)用過(guò)程的策略,以及用于實(shí)現(xiàn)過(guò)程的過(guò)程描述。此外,軟件過(guò)程基礎(chǔ)結(jié)構(gòu)可能提供資金、工具、培訓(xùn),以及為建立和維護(hù)軟件過(guò)程基礎(chǔ)結(jié)構(gòu)而被分配責(zé)任的人員。
軟件過(guò)程基礎(chǔ)結(jié)構(gòu)是不同的,這取決于組織的大小和復(fù)雜性以及在組織內(nèi)進(jìn)行的項(xiàng)目。小型、簡(jiǎn)單的組織和項(xiàng)目有小型、簡(jiǎn)單的基礎(chǔ)設(shè)施需求。大型、復(fù)雜的組織和項(xiàng)目必然具有更大、更復(fù)雜的軟件過(guò)程基礎(chǔ)設(shè)施。在后一種情況下,可能會(huì)建立各種組織單位(例如軟件工程過(guò)程組或指導(dǎo)委員會(huì))來(lái)監(jiān)督軟件過(guò)程的實(shí)現(xiàn)和改進(jìn)。
一種常見(jiàn)的誤解是,建立軟件過(guò)程基礎(chǔ)設(shè)施和實(shí)現(xiàn)可重復(fù)的軟件過(guò)程將增加軟件開(kāi)發(fā)和維護(hù)的時(shí)間和成本。引入或改進(jìn)軟件過(guò)程是有成本的;然而,經(jīng)驗(yàn)表明,通過(guò)提高效率,避免返工,以及更可靠和負(fù)擔(dān)得起的軟件,實(shí)現(xiàn)軟件過(guò)程的系統(tǒng)改進(jìn)往往會(huì)導(dǎo)致更低的成本。過(guò)程性能因此影響軟件產(chǎn)品質(zhì)量。
責(zé)任編輯:haq
-
軟件
+關(guān)注
關(guān)注
69文章
4937瀏覽量
87432 -
IT
+關(guān)注
關(guān)注
2文章
863瀏覽量
63507
原文標(biāo)題:軟件過(guò)程定義
文章出處:【微信號(hào):gh_ad43aef0e0b3,微信公眾號(hào):樹(shù)根互聯(lián)VS物聯(lián)網(wǎng)VS數(shù)據(jù)應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論