又決定了對(duì)軟件產(chǎn)品的質(zhì)量要求。因此,非功能性需求和質(zhì)量特性的分析模型有待深層次的研究。
CMM3——軟件產(chǎn)品工程體現(xiàn)TQM的過(guò)程控制
從CMM三級(jí)開(kāi)始,軟件生命周期的各個(gè)階段被嚴(yán)格地劃分出來(lái),其目的是保持軟件工程活動(dòng)和軟件工作產(chǎn)品的一致性。目前還有很多軟件企業(yè)的軟件開(kāi)發(fā)工作僅限于編碼,軟件工程方法學(xué)中的各種方法和技術(shù)得不到真正的應(yīng)用,因此單純的軟件工程技術(shù)并不能有效的解決“軟件危機(jī)”,改善軟件產(chǎn)品的質(zhì)量;而單純的測(cè)試也只是一種事后檢測(cè)的方法。只有通過(guò)軟件過(guò)程管理,將需求、設(shè)計(jì)過(guò)程從編碼中分離出來(lái),才能對(duì)軟件質(zhì)量進(jìn)行產(chǎn)品生命周期全過(guò)程、全方位的控制。
TQM的核心就在于防患于未然,做到事先控制,確信“下一道工序就是用戶(hù)”,層層把好質(zhì)量關(guān),決不讓不合格的半成品流入下道工序,一切為下道工序著想。軟件開(kāi)發(fā)生命周期一般分為需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試幾個(gè)階段,常用的生命周期模型有瀑布模型、V模型、增量模型、演化模型和螺旋模型,實(shí)際的軟件過(guò)程往往是幾種模型的結(jié)合。其中,V模型的運(yùn)用越來(lái)越廣泛,它強(qiáng)調(diào)了各個(gè)測(cè)試階段與開(kāi)發(fā)前期各階段的對(duì)應(yīng),更明確表示了個(gè)各種工作產(chǎn)品間的關(guān)系,也易于用戶(hù)在軟件開(kāi)發(fā)中的參與和評(píng)價(jià)(見(jiàn)圖2)。
在軟件的整個(gè)生命周期中,軟件產(chǎn)品的質(zhì)量首先取決于它的設(shè)計(jì),因?yàn)橘|(zhì)量、成本、效益的80%是在設(shè)計(jì)階段就確定了的。設(shè)計(jì)質(zhì)量控制在TQM中也是非常重要的一個(gè)環(huán)節(jié),事實(shí)證明:產(chǎn)品投產(chǎn)后設(shè)計(jì)指標(biāo)修改得越少,產(chǎn)品的質(zhì)量水平也將越好。要保證顧客對(duì)質(zhì)量滿(mǎn)意,就必須從產(chǎn)品開(kāi)發(fā)研制階段開(kāi)始做起,需將用戶(hù)對(duì)軟件產(chǎn)品的質(zhì)量要求轉(zhuǎn)化成設(shè)計(jì)質(zhì)量標(biāo)準(zhǔn)和開(kāi)發(fā)過(guò)程中各個(gè)環(huán)節(jié)的技術(shù)要求。
因此,CMM要求每個(gè)階段的軟件工作產(chǎn)品必須文檔化,并分別由上下游角色對(duì)其進(jìn)行同行評(píng)審,置于嚴(yán)格的配置管理之下,以保證各角色在一致的基礎(chǔ)上工作。同行評(píng)審的目的則是在過(guò)程中及早地消除缺陷,減少后續(xù)階段的返工,避免上一個(gè)階段引入的缺陷遺留到下一個(gè)階段,造成質(zhì)量成本的成倍增加。
從圖3可以看出,缺陷是在開(kāi)發(fā)過(guò)程的前期引入,但越到后期缺陷修復(fù)的成本越高,隨著CMM級(jí)別的提高,缺陷的消除將從后期逐步轉(zhuǎn)移到前期,遺留到用戶(hù)手中的缺陷也相應(yīng)減少,這必將大大縮短開(kāi)發(fā)周期,降低不必要的成本。
因此,CMM的思想就是以過(guò)程為基礎(chǔ)進(jìn)行質(zhì)量控制,把質(zhì)量控制從事后檢測(cè)轉(zhuǎn)變?yōu)槭虑邦A(yù)防,能夠盡量減少大的設(shè)計(jì)更改。需求管理、全面質(zhì)量管理以及TQM中常用的質(zhì)量功能展開(kāi)技術(shù)(QFD)也都是這種思想的反映。
CMM4——軟件質(zhì)量管理體現(xiàn)TQM的運(yùn)行機(jī)制
軟件質(zhì)量管理是CMM四級(jí)中一個(gè)獨(dú)立的KPA,其目的是使項(xiàng)目的軟件質(zhì)量管理活動(dòng)是有計(jì)劃的、軟件產(chǎn)品的質(zhì)量目標(biāo)是量化的和受到管理的。它遵循了全面質(zhì)量管理活動(dòng)的科學(xué)程序—PDCA(Plan、Do、Check、Action),即四個(gè)階段:
(1) 計(jì)劃:即確定質(zhì)量目標(biāo)以及實(shí)現(xiàn)這個(gè)目標(biāo)需要采取的措施。制定質(zhì)量計(jì)劃是整個(gè)質(zhì)量管理活動(dòng)的基礎(chǔ)。國(guó)家標(biāo)準(zhǔn)對(duì)質(zhì)量下的定義為: 質(zhì)量是產(chǎn)品或服務(wù)滿(mǎn)足明確或隱含需要能力的特征和特性的總和。
對(duì)于軟件來(lái)說(shuō),軟件質(zhì)量則體現(xiàn)在質(zhì)量特性上,ISO/IEC9126中規(guī)定了6個(gè)質(zhì)量特性,即功能性、可靠性、易用性、效率、可維護(hù)性和可一致性,每個(gè)特性包含若干子特性。設(shè)定質(zhì)量目標(biāo)就是要找到用戶(hù)的質(zhì)量需求與這些質(zhì)量特性的相關(guān)性,并將其轉(zhuǎn)化為開(kāi)發(fā)過(guò)程中可度量的技術(shù)指標(biāo)或能力指標(biāo),作為質(zhì)量控制的依據(jù)。
上述的六大特性屬于軟件的外部屬性,與用戶(hù)滿(mǎn)意度直接相關(guān),可以根據(jù)組織的目標(biāo)和項(xiàng)目的特點(diǎn)建立質(zhì)量模型,并采用一定