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