嵌入式系統(tǒng)軟件的全過(guò)程質(zhì)量保證
質(zhì)量是產(chǎn)品的生命
本文引用地址:http://m.butianyuan.cn/article/81532.htm當(dāng)今隨著軟、硬件技術(shù)的發(fā)展,嵌入式系統(tǒng)廣泛應(yīng)用于航空航天、國(guó)防軍事、電子通信等行業(yè),其中軟件也越來(lái)越復(fù)雜。而這些領(lǐng)域應(yīng)用特點(diǎn),決定了嵌入式系統(tǒng)往往是高安全、任務(wù)關(guān)鍵的系統(tǒng),軟件的微小瑕疵就可能嚴(yán)重威脅到生命和國(guó)家的安全、天文數(shù)字的巨額財(cái)產(chǎn)損失。這就使得保證嵌入式軟件的質(zhì)量和可靠性,變得至關(guān)重要。而在這些領(lǐng)域,對(duì)產(chǎn)品質(zhì)量從來(lái)就保持著高度的重視,有將“質(zhì)量視為產(chǎn)品的生命”的傳統(tǒng)。這樣,相關(guān)行業(yè)的高層管理人員和開(kāi)發(fā)人員對(duì)于軟件的質(zhì)量也逐漸提高了重視程度。近年來(lái),在組織上,建立了完善的軟件測(cè)試體系;在開(kāi)發(fā)和測(cè)試方法上,建立了中國(guó)的軟件過(guò)程成熟度的評(píng)價(jià)體系GJB5000;在自動(dòng)化工具方面,投入了大量的經(jīng)費(fèi)和人員在測(cè)試設(shè)備的開(kāi)發(fā)、購(gòu)置和建設(shè)方面。應(yīng)該說(shuō),軟件作為嵌入式產(chǎn)品主要的組成部分之一,對(duì)其質(zhì)量的重視是目前相關(guān)行業(yè)的一個(gè)共識(shí)。
IBM Rational多年來(lái)在軟件工程和質(zhì)量保證方面積累了豐富的方法和經(jīng)驗(yàn)。本文依據(jù)部分嵌入式開(kāi)發(fā)機(jī)構(gòu)對(duì)軟件質(zhì)量保證工作的一些理解,分析相應(yīng)開(kāi)發(fā)機(jī)構(gòu)工作中可能的問(wèn)題,并提出以RUP為核心的全過(guò)程質(zhì)量管理的思想和具體的實(shí)現(xiàn)方式,提出不同單位的過(guò)程改進(jìn)方法,以一種漸進(jìn)的方式,從簡(jiǎn)單的工作開(kāi)始,逐漸深入地改進(jìn)組織的軟件質(zhì)量管理水平。
定義質(zhì)量
對(duì)于任何一個(gè)組織,定義共同的對(duì)質(zhì)量的理解是重要的第一步。軟件開(kāi)發(fā)組織經(jīng)常按照一種不精確的、概括的質(zhì)量觀念來(lái)運(yùn)轉(zhuǎn)。
在IBM Rational統(tǒng)一過(guò)程中,質(zhì)量定義如下:
·滿足或超出認(rèn)定的一組需求;
·使用經(jīng)過(guò)認(rèn)可的評(píng)測(cè)方法和標(biāo)準(zhǔn)來(lái)評(píng)估;
·使用認(rèn)定的流程來(lái)生產(chǎn)。
在這個(gè)定義中,我們首先看需求,IBM Rational的軟件質(zhì)量在用戶需求方面的定義分為五個(gè)方面:易用性、可靠性、性能、可支持和功能。
質(zhì)量保證,歸根結(jié)底就是為客戶提供更高品質(zhì)的產(chǎn)品,更好地滿足客戶的需求。另一方面,這個(gè)質(zhì)量定義中明確指出,質(zhì)量更體現(xiàn)在軟件開(kāi)發(fā)的整個(gè)過(guò)程和一個(gè)標(biāo)準(zhǔn)的評(píng)價(jià)方式上。
軟件開(kāi)發(fā)過(guò)程質(zhì)量就是指為了生成工件而對(duì)可接受流程的實(shí)施和遵守程度,體現(xiàn)在三個(gè)層次:
·產(chǎn)品本身和用來(lái)生產(chǎn)、組裝軟件產(chǎn)品的零部件質(zhì)量;
·在軟件開(kāi)發(fā)過(guò)程的標(biāo)準(zhǔn)化、流程化、自動(dòng)化程度和團(tuán)隊(duì)基本協(xié)作平臺(tái)的效率,各個(gè)過(guò)程對(duì)質(zhì)量的承諾;
·軟件產(chǎn)品驗(yàn)收的評(píng)測(cè)手段應(yīng)該是被業(yè)界廣泛認(rèn)可和接受的方法,所構(gòu)筑的質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)。
一個(gè)軟件生產(chǎn)企業(yè)的過(guò)程質(zhì)量一般可以用它的軟件過(guò)程成熟度等級(jí)來(lái)評(píng)估。
RUP全過(guò)程質(zhì)量保證
Rational Unified Process(RUP)是一個(gè)可以通過(guò)Web來(lái)使用的軟件工程過(guò)程。作為軟件工業(yè)事實(shí)上的標(biāo)準(zhǔn),它回答了我們以下問(wèn)題:在整個(gè)軟件開(kāi)發(fā)的各個(gè)過(guò)程中,誰(shuí)(角色)應(yīng)該在什么時(shí)候(詳細(xì)工作流程)做什么(任務(wù))和產(chǎn)生什么樣的開(kāi)發(fā)結(jié)果(工件),以完成整個(gè)項(xiàng)目的開(kāi)發(fā)目標(biāo)。建立有效的工作過(guò)程,可以提高團(tuán)隊(duì)的生產(chǎn)效率,控制開(kāi)發(fā)過(guò)程中的風(fēng)險(xiǎn),保證軟件開(kāi)發(fā)進(jìn)度并且提高軟件產(chǎn)品質(zhì)量。同時(shí)通過(guò)為所有重要的開(kāi)發(fā)活動(dòng)提供全面的指南、模板和示例,使整個(gè)軟件開(kāi)發(fā)團(tuán)隊(duì)能夠有效共享成功經(jīng)驗(yàn),提高團(tuán)隊(duì)效率,最終保證軟件開(kāi)發(fā)質(zhì)量。
全過(guò)程質(zhì)量保證思想
RUP把整個(gè)軟件開(kāi)發(fā)過(guò)程分解成:業(yè)務(wù)建模、需求管理、分析設(shè)計(jì)、實(shí)施、測(cè)試、部署、配置與變更管理、項(xiàng)目管理和環(huán)境等九個(gè)核心工作流程。每個(gè)核心工作規(guī)程由多個(gè)詳細(xì)工作流程組成。RUP使用角色、任務(wù)和作為輸入/輸出的工件來(lái)組織每個(gè)詳細(xì)工作流程,實(shí)現(xiàn)軟件開(kāi)發(fā)組織內(nèi)部人、資源和流程的融合。RUP通過(guò)建立完整的軟件開(kāi)發(fā)過(guò)程,使得產(chǎn)品的質(zhì)量由項(xiàng)目團(tuán)隊(duì)的每個(gè)成員所代表的角色共同負(fù)責(zé),具體體現(xiàn)在:每個(gè)工作流程設(shè)定相應(yīng)的工作指南和工作檢查點(diǎn),每個(gè)角色承擔(dān)相應(yīng)的質(zhì)量任務(wù)。
在RUP中,整個(gè)軟件開(kāi)發(fā)過(guò)程如圖1所示,它以指定的工件為輸入,通過(guò)軟件開(kāi)發(fā)角色和標(biāo)準(zhǔn)化的軟件開(kāi)發(fā)活動(dòng),生產(chǎn)出滿足質(zhì)量要求的輸出工件。
用正確的過(guò)程和平臺(tái)實(shí)現(xiàn)質(zhì)量
IBM提供一個(gè)完整的方案以幫助開(kāi)發(fā)團(tuán)隊(duì)構(gòu)建更高質(zhì)量的軟件。這個(gè)開(kāi)放和標(biāo)準(zhǔn)的平臺(tái)包括IBM軟件的許多工具,包括IBM Rational統(tǒng)一過(guò)程。在開(kāi)發(fā)的每個(gè)階段和每個(gè)流程都強(qiáng)調(diào)關(guān)注質(zhì)量,幫助團(tuán)隊(duì)來(lái)識(shí)別開(kāi)發(fā)生命周期中的早期問(wèn)題。以下部分描述了RUP和IBM軟件開(kāi)發(fā)平臺(tái)中的工具如何支持每個(gè)工作流程中的質(zhì)量實(shí)踐的。
為減少重復(fù)描述,先將相關(guān)工具的功能統(tǒng)一簡(jiǎn)要描述。下面的所有工具都可以以插件的形式集成到開(kāi)放的Eclipse平臺(tái)上,為開(kāi)發(fā)者提供集成環(huán)境:
·IBM Rational System Developer 用于系統(tǒng)建模和開(kāi)發(fā)的集成環(huán)境;
·IBM Rational TestManager 用于計(jì)劃、管理和報(bào)告任何測(cè)試工作要求;
·IBM Rational Manual Tester 用以提高手工測(cè)試工作的效率;
·IBM Rational Test RealTime
用于嵌入式系統(tǒng)的靜態(tài)度量、代碼規(guī)則檢查、單元測(cè)試、覆蓋率分析、內(nèi)存分析、性能分析、代碼跟蹤、線程分析、基于消息的分布式系統(tǒng)測(cè)試的跨平臺(tái)解決方案。
為了推動(dòng)團(tuán)隊(duì)溝通、協(xié)作和合作,IBM Rational還提供多種額外的解決方案選項(xiàng)。
分析
根據(jù)統(tǒng)計(jì)得知,引起客戶不滿意問(wèn)題的80%可以追溯到對(duì)需求的糟糕理解上。對(duì)于任何嵌入式開(kāi)發(fā)項(xiàng)目,不論是新的系統(tǒng)開(kāi)發(fā),或遺留系統(tǒng)更新集成,質(zhì)量開(kāi)始于分析業(yè)務(wù),以確保系統(tǒng)需求清晰且準(zhǔn)確地反映了業(yè)務(wù)和客戶需求。
我們可以將被測(cè)系統(tǒng)置于其將運(yùn)行的環(huán)境中,采用建模的方式,將最優(yōu)確認(rèn)的需求,用條目化的方式管理需求文檔,實(shí)現(xiàn)從需求、到分析、到設(shè)計(jì)、到實(shí)現(xiàn)、到測(cè)試的雙向跟蹤,以實(shí)現(xiàn)測(cè)試中發(fā)現(xiàn)缺陷到各層次的跟蹤,和影響范圍的分析。
設(shè)計(jì)
在設(shè)計(jì)中,主要的質(zhì)量集中在構(gòu)架上,這是軟件的“靈魂”。低質(zhì)量的構(gòu)架會(huì)引起大范圍的質(zhì)量問(wèn)題,包括(軟件)脆弱、缺乏升級(jí)、以及發(fā)現(xiàn)缺陷也難以修改。這些問(wèn)題隨著應(yīng)用軟件項(xiàng)目不斷發(fā)展,變得越來(lái)越難以解決;并且隨著應(yīng)用軟件從設(shè)計(jì)到開(kāi)發(fā)、測(cè)試和部署,糾正缺陷的成本以指數(shù)在增長(zhǎng)。如果軟件開(kāi)發(fā)人員可以有效地發(fā)現(xiàn)、隔離和解決設(shè)計(jì)和開(kāi)發(fā)期間的結(jié)構(gòu)上的不足,這項(xiàng)工作會(huì)在整個(gè)項(xiàng)目期間獲得受益。
開(kāi)發(fā)
平均起來(lái),開(kāi)發(fā)人員在他們寫的每千行代碼中會(huì)產(chǎn)生100到150個(gè)錯(cuò)誤。當(dāng)然,這個(gè)數(shù)量隨著開(kāi)發(fā)人員和項(xiàng)目的不同而不同。即使只有一小段代碼,產(chǎn)生10%的錯(cuò)誤也是很嚴(yán)重的。
RUP倡導(dǎo)開(kāi)發(fā)人員主動(dòng)地測(cè)試和分析。盡管單元測(cè)試和運(yùn)行分析已經(jīng)變得更為主流,但是許多管理人員仍然有這樣的誤解,即這些過(guò)程使時(shí)間表中增加了不必要的時(shí)間。事實(shí)上,如果不采用這些措施,開(kāi)發(fā)時(shí)間表通常會(huì)一樣或更加延長(zhǎng),這是由于在質(zhì)量保證或客戶發(fā)現(xiàn)問(wèn)題后,開(kāi)發(fā)人員在生命周期中調(diào)試代碼要花費(fèi)更多的時(shí)間。
測(cè)試
管理系統(tǒng)級(jí)功能和性能測(cè)試是持續(xù)保證質(zhì)量的一個(gè)主要部分。一個(gè)開(kāi)發(fā)組織既不應(yīng)當(dāng)過(guò)分強(qiáng)調(diào),也不應(yīng)當(dāng)減少系統(tǒng)測(cè)試的重要性。如前所述,保證質(zhì)量不只是測(cè)試團(tuán)隊(duì)的職責(zé),測(cè)試也不只是質(zhì)量保證的唯一領(lǐng)域。某些測(cè)試可以并且應(yīng)當(dāng)由開(kāi)發(fā)人員來(lái)運(yùn)行,在某些情況下,可以由構(gòu)架師來(lái)運(yùn)行。大量的質(zhì)量保證工作,在RUP的原則下是由其他開(kāi)發(fā)角色構(gòu)造的。
支持保證質(zhì)量的團(tuán)隊(duì)職責(zé)
質(zhì)量是開(kāi)發(fā)團(tuán)隊(duì)中的每個(gè)人的職責(zé),但是它也是團(tuán)隊(duì)作為一個(gè)整體的職責(zé)。在一個(gè)迭代的過(guò)程中,每個(gè)迭代確保了每個(gè)工件質(zhì)量的持續(xù)的重新評(píng)估,這樣,在迭代的方式下,經(jīng)??梢员WC提交質(zhì)量更高的產(chǎn)品。有效的軟件配置管理和變更管理是保證質(zhì)量的一個(gè)基本工具;它幫助組織確保軟件在每次構(gòu)建時(shí)是可重復(fù)的和可靠的,并且保證缺陷和變更請(qǐng)求得到正確的管理。
質(zhì)量過(guò)程改進(jìn)的步驟
當(dāng)我們考慮需要什么來(lái)構(gòu)建任務(wù)關(guān)鍵和高安全性的系統(tǒng)軟件,并涉及過(guò)程質(zhì)量改進(jìn)時(shí),大家往往想到的是一個(gè)復(fù)雜的過(guò)程。其實(shí),軟件過(guò)程質(zhì)量改進(jìn),如軟件開(kāi)發(fā),可以是一個(gè)迭代的過(guò)程。你不需要一步就完成所有的事情。即使是小的變化,包括調(diào)整你的組織中對(duì)質(zhì)量的看法,也會(huì)產(chǎn)生一個(gè)切實(shí)的改進(jìn)。
我們指出兩條參考的改進(jìn)的線路圖,遞進(jìn)式的(或者本質(zhì)的)和演進(jìn)式的(反應(yīng)式的)。遞進(jìn)式的更多考慮工作流程間的依賴性,做到先改善基礎(chǔ)流程,再基于已有的改善基礎(chǔ),做進(jìn)一步改進(jìn)。而演進(jìn)式的多來(lái)自于工作中感知到的問(wèn)題和瓶頸,依據(jù)問(wèn)題的表面做反應(yīng)式的改進(jìn)?;诟倪M(jìn)后再發(fā)現(xiàn)新的問(wèn)題,如此反復(fù)。當(dāng)然,我們也在努力發(fā)現(xiàn)一種可以兼顧工作流程間依賴性,有可以快速顯示改進(jìn)效果的改進(jìn)方式。
我們可以把質(zhì)量保證工作改善劃分為以下幾個(gè)方面:配置管理和變更管理、靜態(tài)分析和單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試、迭代開(kāi)發(fā)和連續(xù)測(cè)試、全過(guò)程質(zhì)量、組織級(jí)質(zhì)量體系、架構(gòu)分析、需求管理、項(xiàng)目管理。遞進(jìn)式和演進(jìn)式的實(shí)施方式如圖2和圖3所示。
獲得軟件高質(zhì)量的高收益
全過(guò)程的質(zhì)量保證體系總是比忽略質(zhì)量問(wèn)題的成本要低。事實(shí)上,如果你正確地運(yùn)用,提高產(chǎn)品質(zhì)量基本上沒(méi)有成本。
在國(guó)際上,隨著軟件質(zhì)量保證理論及應(yīng)用研究工作的不斷深入,針對(duì)軟件質(zhì)量保證工作的工作重點(diǎn)也經(jīng)歷了如下發(fā)展歷程:
·1970年以前,采用特定(Ad-hoc)測(cè)試,與調(diào)試沒(méi)有區(qū)分;
·1970年末到1980年中期,測(cè)試基礎(chǔ)理論和實(shí)用技術(shù)形成,軟件測(cè)試作為軟件質(zhì)量保證(SQA)的主要手段和職能;
·1980年代末到90年代中期,測(cè)試工具在質(zhì)量和數(shù)量上不斷增長(zhǎng),測(cè)試與SQA分離,注重于工具對(duì)測(cè)試效率的影響;
·1990年后期到目前,重新關(guān)注有效的過(guò)程管理對(duì)于軟件測(cè)試的重要性,將軟件工程視為軟件測(cè)試的基礎(chǔ),或形成各種獨(dú)立的測(cè)試模型、測(cè)試能力成熟度模型。
現(xiàn)在高品質(zhì)軟件,需要完整的軟件開(kāi)發(fā)過(guò)程和整合的軟件開(kāi)發(fā)平臺(tái)來(lái)共同鑄就。IBM Rational軟件開(kāi)發(fā)平臺(tái),就是以各種國(guó)際標(biāo)準(zhǔn)和開(kāi)放平臺(tái)為基礎(chǔ),為嵌入式系統(tǒng)軟件產(chǎn)品的開(kāi)發(fā)和生產(chǎn)過(guò)程提供了良好的開(kāi)發(fā)速度和質(zhì)量保證。
評(píng)論