Aspice(Automotive SPICE) 中文翻譯為汽車(chē)軟件過(guò)程改進(jìn)及能力評(píng)定。是為保證軟件質(zhì)量的規(guī)范,要求供應(yīng)商按照Automotive SPICE的要求進(jìn)行產(chǎn)品的設(shè)計(jì)與開(kāi)發(fā)。是汽車(chē)行業(yè)中常用于質(zhì)量管理的工具。
Aspice 的過(guò)程組包含了供應(yīng)商過(guò)程組,系統(tǒng)過(guò)程組,軟件過(guò)程組,支持過(guò)程組,管理過(guò)程組,過(guò)程改進(jìn)過(guò)程組,重用過(guò)程組。此篇文章著重介紹系統(tǒng)過(guò)程組,軟件過(guò)程組這兩個(gè)與開(kāi)發(fā)人員強(qiáng)相關(guān)的部分。
01 “V”字模型的示意
先來(lái)看看過(guò)程組。因?yàn)樗泄こ蹋矗合到y(tǒng)工程和軟件工程)過(guò)程的組織似于”V“字,因此常在人們口中為V模型。左邊的過(guò)程與右邊的過(guò)程正好對(duì)應(yīng),但需要知道的是,過(guò)程“SWE.3軟件詳細(xì)設(shè)計(jì)與單元構(gòu)建”與“SWE.4軟件單元驗(yàn)證”是獨(dú)立和分離的。
V模式很好的詮釋了我們項(xiàng)目開(kāi)發(fā)過(guò)程中幾個(gè)重要的工作過(guò)程與工作內(nèi)容。
02 追溯性和一致性
ASPICE重要之一的就是需要具備雙向追溯性和一致性。追溯性著重工作產(chǎn)品之間存在引用和鏈接,進(jìn)一步支持覆蓋率,影響分析,需求實(shí)施,狀態(tài)跟蹤等。相反,一致性關(guān)注內(nèi)容和定義。
雙向追溯性更多被定義為在測(cè)試用例與測(cè)試結(jié)果之間,往往漏掉測(cè)試用例與軟件需求之間的雙向追溯性。
圖2 可知我們需要具備雙向追溯性的有:系統(tǒng)需求與軟件需求;軟件需求與軟件單元測(cè)試;軟件詳細(xì)設(shè)計(jì)與軟件單元測(cè)試等等,可見(jiàn)圖藍(lán)色部分。
需要注意的是,軟件集成測(cè)試的依賴對(duì)象主要是軟件架構(gòu)設(shè)計(jì); 軟件集成測(cè)試主要是根據(jù)軟件架構(gòu)的接口設(shè)計(jì)以及接口之間的數(shù)據(jù)時(shí)序,數(shù)據(jù)流向,測(cè)試一個(gè)子系統(tǒng)內(nèi)部各個(gè)接口之間的數(shù)據(jù)輸入/傳輸/輸出是否正確。詳細(xì)內(nèi)容介紹可見(jiàn)我這邊文章:淺聊集成測(cè)試。
03 ASPICE各過(guò)程的詳細(xì)內(nèi)容介紹
- SYS1 系統(tǒng)需求(篩選審核)
- 其中包含了硬件/軟件/結(jié)構(gòu)等所有的客戶需求。
- 主要輸出:系統(tǒng)需求Feature清單/系統(tǒng)需求功能規(guī)范
- SYS2 系統(tǒng)需求分析
- 此過(guò)程進(jìn)行需求的分析,劃分哪部分是屬于軟件任務(wù),那部分是屬于硬件任務(wù)或者是結(jié)構(gòu)設(shè)計(jì)相關(guān)的任務(wù)。分析需求是否具備可實(shí)現(xiàn)性等,為后續(xù)的架構(gòu)設(shè)計(jì)做鋪墊。
- 主要輸出:系統(tǒng)需求Feature清單/系統(tǒng)需求功能規(guī)范
- SYS3 系統(tǒng)架構(gòu)設(shè)計(jì)
- 建立系統(tǒng)架構(gòu)設(shè)計(jì),識(shí)別哪些系統(tǒng)需求被分派到哪些系統(tǒng)元素中,并按已定義的標(biāo)準(zhǔn)評(píng)估系統(tǒng)架構(gòu)設(shè)計(jì)。是軟件架構(gòu)設(shè)計(jì)的依賴對(duì)象,必須現(xiàn)有系統(tǒng)架構(gòu)設(shè)計(jì)再有軟件架構(gòu)設(shè)計(jì)。定義了軟件的詳細(xì)設(shè)計(jì),描述了軟件單元,每個(gè)軟件單元及其接口。
- 主要輸出:系統(tǒng)架構(gòu)設(shè)計(jì)說(shuō)明文檔
- SYS4 系統(tǒng)集成和集成測(cè)試
- 根據(jù)系統(tǒng)需求以及系統(tǒng)架構(gòu)設(shè)計(jì)進(jìn)行系統(tǒng)集成測(cè)試用例的編寫(xiě),然后進(jìn)行系統(tǒng)集成測(cè)試。屬于白盒測(cè)試。
- 主要輸出:系統(tǒng)集成測(cè)試用例/系統(tǒng)測(cè)試計(jì)劃/系統(tǒng)集成測(cè)試報(bào)告
- SWE1 軟件需求分析
- 根據(jù)篩選后的系統(tǒng)需求進(jìn)行軟件部分的需求分析。
- 主要輸出:軟件需求Feature清單
- SWE2 軟件架構(gòu)設(shè)計(jì)
- 目的是建立軟件架構(gòu)設(shè)計(jì),是被每條軟件按需求被分配到哪個(gè)軟件元素中,并按照已定義的標(biāo)準(zhǔn)評(píng)估軟件架構(gòu)設(shè)計(jì)
- 主要輸出:軟件架構(gòu)設(shè)計(jì)說(shuō)明文檔
- SWE3 軟件詳細(xì)設(shè)計(jì)與單元構(gòu)建
- 目的是為軟件單元提供一個(gè)已評(píng)估的詳細(xì)設(shè)計(jì)以實(shí)現(xiàn)軟件單元
- 主要輸出:軟件詳細(xì)設(shè)計(jì)說(shuō)明文檔
- SWE5 軟件集成與集成測(cè)試
- 制定了系統(tǒng)集成策略,制定包括回歸測(cè)試在內(nèi)的集成測(cè)試策略,形成測(cè)試計(jì)劃;選擇測(cè)試用例,形成集成測(cè)試規(guī)范中的測(cè)試用例;然后進(jìn)行進(jìn)行測(cè)試并形成系統(tǒng)集成測(cè)試結(jié)果
- 主要輸出:軟件集成測(cè)試計(jì)劃/軟件集成測(cè)試用例/軟件集成測(cè)試報(bào)告
- SWE6 軟件合格性測(cè)試輸出
- 制定包括回歸測(cè)試策略在內(nèi)的軟件合格性測(cè)試策略;開(kāi)發(fā)軟件合格性測(cè)試規(guī)范;然后選擇測(cè)試用例;測(cè)試集成軟件;總結(jié)和溝通結(jié)果:總結(jié)軟件合格性測(cè)試結(jié)果
- 主要輸出:軟件合格性測(cè)試報(bào)告
04 總結(jié)
一,ASPICE流程的利弊
ASPICE是為了規(guī)范我們代碼開(kāi)發(fā)流程,同時(shí)提高我們的代碼質(zhì)量,嚴(yán)格做到在開(kāi)發(fā)前有明確的開(kāi)發(fā)方案,明確的開(kāi)發(fā)流程,任何代碼的設(shè)計(jì)都有靠譜的依據(jù)來(lái)源,是我們代碼質(zhì)量的保證。
簡(jiǎn)單來(lái)講,就是在保證代碼質(zhì)量的情況下,按時(shí)完成我們的項(xiàng)目目標(biāo)。如果僅僅是為了完成項(xiàng)目目標(biāo),而對(duì)于我們完成的交付物不做最后的“估值”,那我認(rèn)為我們完成的這個(gè)任務(wù)沒(méi)有任何的意義,因?yàn)樗槐蝗藗儩M意的接受。而完成這最后的“估值”就需要我們輸出的那些文檔作為支撐,我們通過(guò)這個(gè)文檔以及測(cè)試結(jié)果來(lái)進(jìn)行驗(yàn)收,來(lái)判斷設(shè)計(jì),開(kāi)發(fā)是否符合客戶的需求,是否滿足于最初的項(xiàng)目目標(biāo)。
作為項(xiàng)目管理者來(lái)講,我們更喜歡這個(gè)文檔按照標(biāo)準(zhǔn)輸出,他更像我們與開(kāi)發(fā)者之前溝通的橋梁,通過(guò)這些文檔,我們能知道開(kāi)發(fā)者更加詳細(xì)的設(shè)計(jì)方案與想法。在溝通中會(huì)少了很多前期的溝通成本。
可能針對(duì)開(kāi)發(fā)人員來(lái)說(shuō),遵頊這個(gè)流程的最大挑戰(zhàn)就是文檔的輸出,嚴(yán)格按照標(biāo)準(zhǔn)的ASPICE來(lái)進(jìn)行項(xiàng)目開(kāi)發(fā),我們需要從上至下按照V模型進(jìn)行。即:先完成系統(tǒng)需求,系統(tǒng)架構(gòu)設(shè)計(jì),再完成軟件需求,軟件架構(gòu),軟件詳細(xì)設(shè)計(jì),最后才是代碼開(kāi)發(fā)和測(cè)試,而現(xiàn)實(shí)中的很多項(xiàng)目因?yàn)闀r(shí)間關(guān)系代碼開(kāi)發(fā)和文檔編寫(xiě)都是并行,這是不符合ASPICE的要求的,并沒(méi)有很好的發(fā)揮ASPICE的優(yōu)點(diǎn)來(lái)把控我們的代碼質(zhì)量。
而如果嚴(yán)格按照這個(gè)流程來(lái)執(zhí)行,在開(kāi)發(fā)端的時(shí)間將會(huì)延長(zhǎng)至少一倍,對(duì)我們的人力成本也是一個(gè)很大的挑戰(zhàn)。ASPICE要求的設(shè)計(jì)文檔都需要相關(guān)的開(kāi)發(fā)人員進(jìn)行輸出,用程序員的話來(lái)講:寫(xiě)這些文檔的時(shí)間比碼代碼的時(shí)間更長(zhǎng),寫(xiě)一個(gè)功能的開(kāi)發(fā)文檔,我可以完成至少3個(gè)同等功能的開(kāi)發(fā)。
二,ASPICE流程規(guī)范,是否需要裁剪?
雖然ASPICE在我們項(xiàng)目開(kāi)發(fā)過(guò)程中具有很好的指導(dǎo)作用,但是否我們需要完全“死板”遵循。前面已經(jīng)提到,我們的ASPICE流程雖然好,但是需要的時(shí)間長(zhǎng),人工成本高,針對(duì)任務(wù)重且周期短的項(xiàng)目是不友好的。因此,這個(gè)問(wèn)題我的答案是:根據(jù)項(xiàng)目實(shí)際情況進(jìn)行裁剪。
在項(xiàng)目開(kāi)發(fā)中,我們常常會(huì)參與或者組織項(xiàng)目階段總結(jié)會(huì)。之前小鹿組織的一個(gè)項(xiàng)目總結(jié)會(huì)中,很多工程師常常對(duì)項(xiàng)目的任務(wù)的優(yōu)先級(jí)有很大的疑惑:是先完成文檔設(shè)計(jì)工作還是先完成代碼交付工作?
這種疑惑常發(fā)生在生命周期短的項(xiàng)目,工程師常常同時(shí)被催促輸出文檔以及代碼。標(biāo)準(zhǔn)的回答是:按照開(kāi)發(fā)流程,是先完成文檔設(shè)計(jì),再做代碼開(kāi)發(fā),但是由于我們的時(shí)間緊張,因此他們同步進(jìn)行。
在會(huì)上,我們達(dá)成的統(tǒng)一目標(biāo)就是:充分使用,合理安排,在滿足客戶的需求下,對(duì)文檔的要求進(jìn)行適當(dāng)?shù)牟眉?,在此條件之前,按時(shí)按質(zhì)的完成項(xiàng)目目標(biāo)。
裁剪僅僅是為了將有限的時(shí)間安排在重要的事項(xiàng)中。針對(duì)生命周期長(zhǎng)的項(xiàng)目,可嚴(yán)格遵循;針對(duì)生命周期短且任務(wù)重的項(xiàng)目,可做適當(dāng)?shù)牟眉?,裁剪掉相對(duì)不重要的過(guò)程以及流程,或者做并行處理。當(dāng)然根據(jù)實(shí)際情況實(shí)際評(píng)估。
小鹿說(shuō):ASPICE是我們保證代碼質(zhì)量,優(yōu)化代碼開(kāi)發(fā)流程的工具,它可以指導(dǎo)我們做項(xiàng)目開(kāi)發(fā),但我們可以根據(jù)開(kāi)發(fā)任務(wù)做裁剪。實(shí)際情況實(shí)際分析哦!
-
開(kāi)發(fā)
+關(guān)注
關(guān)注
0文章
370瀏覽量
40872 -
代碼
+關(guān)注
關(guān)注
30文章
4803瀏覽量
68749 -
汽車(chē)軟件
+關(guān)注
關(guān)注
0文章
102瀏覽量
3206
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論