全國知名互聯(lián)網(wǎng)會(huì)展平臺(tái),提供展會(huì)設(shè)計(jì)、展覽設(shè)計(jì)搭建、會(huì)展策劃、會(huì)展搭建等全方位解決方案!

軟件質(zhì)量模型研究現(xiàn)狀?

提問者: 師河|瀏覽 114 次|提問時(shí)間: 2015-07-03

已有 1 條回答

裘保

2015-07-04 最終答案
  你好!  參考吧:  軟件質(zhì)量模型研究  摘 要:如何提供高質(zhì)量的軟件已成為計(jì)算機(jī)軟件領(lǐng)域中的重要研究課題。為了理解、度量以及預(yù)測(cè)軟件和信息系統(tǒng)的質(zhì)量,人們圍繞軟件質(zhì)量模型展開了很多研究。一個(gè)合適的軟件質(zhì)量模型對(duì)軟件系統(tǒng)的開發(fā)與評(píng)價(jià)將起到關(guān)鍵作用。本文介紹了軟件質(zhì)量與軟件質(zhì)量度量的基本概念,重點(diǎn)分析了軟件質(zhì)量模型方面的研究成果。  1 引言  隨著計(jì)算機(jī)技術(shù)及其應(yīng)用的日益普及,各行各業(yè)對(duì)軟件的依賴性越來越大;同時(shí),由于軟件質(zhì)量問題導(dǎo)致的不良后果也越來越多。因此,軟件質(zhì)量的重要性日益突出。如何保證軟件質(zhì)量已經(jīng)成為軟件開發(fā)過程中必須貫穿始終加以考慮的重要問題。然而,質(zhì)量是一個(gè)復(fù)雜且難以琢磨的概念。對(duì)于不同的人或不同的應(yīng)用系統(tǒng),質(zhì)量的含義和要求不盡相同[1]。并且,軟件質(zhì)量屬性是多方面的。一個(gè)軟件的質(zhì)量往往涉及到許多不同的質(zhì)量屬性,不同類型的軟件所關(guān)注的質(zhì)量屬性也不盡相同。因此,為了更好地理解、預(yù)測(cè)和評(píng)價(jià)軟件和信息系統(tǒng)的質(zhì)量,人們建立了各種質(zhì)量模型,在軟件生命周期的不同階段對(duì)軟件質(zhì)量進(jìn)行評(píng)測(cè)。常用的通用軟件質(zhì)量模型主要包括層次模型和關(guān)系模型,它們?cè)诋?dāng)前的軟件開發(fā)中起到了一定的積極作用。然而,通用軟件質(zhì)量模型在描述復(fù)雜的軟件質(zhì)量間關(guān)系及具體軟件的質(zhì)量特征等方面有局限性,人們又提出不使用通用的質(zhì)量模型,而是通過提供軟件質(zhì)量模型的構(gòu)造方法來針對(duì)具體軟件進(jìn)行建模的。思路來研究軟件的質(zhì)量[2~4]。本文主要介紹了軟件質(zhì)量與軟件質(zhì)量度量的基本概念,重點(diǎn)講述了軟件質(zhì)量模型方面的研究成果,分析了其優(yōu)缺點(diǎn)與適用范圍?! ? 軟件質(zhì)量與軟件質(zhì)量度量  2.1 軟件質(zhì)量  在計(jì)算機(jī)科學(xué)發(fā)展的早期并沒有軟件質(zhì)量的概念。直到20世紀(jì)70年代以后,隨著軟件工程的引入,軟件開發(fā)的工程化、標(biāo)準(zhǔn)化得到重視,軟件質(zhì)量的概念才被提了出來。關(guān)于軟件質(zhì)量的定義,迄今國際上并沒有統(tǒng)一的認(rèn)識(shí):  (1)根據(jù)國際標(biāo)準(zhǔn)組織(ISO)的定義,質(zhì)量是依靠特定的或暗指的能力滿足特定需要的產(chǎn)品或服務(wù)的全部功能和特征[5]。這個(gè)定義說明了質(zhì)量是產(chǎn)品的內(nèi)在特征,即軟件質(zhì)量是軟件自身的特性?! ?2)另一些學(xué)者認(rèn)為,如果要達(dá)到軟件的質(zhì)量目標(biāo),上述概念必須要加強(qiáng)[1,6,7]。他們認(rèn)為,質(zhì)量不是單獨(dú)以軟件產(chǎn)品為中心的,它與客戶和產(chǎn)品都有聯(lián)系。其中,客戶是出資者或受影響的用戶,而產(chǎn)品包括利益和服務(wù)。進(jìn)一步講,質(zhì)量的好壞會(huì)隨著時(shí)間響應(yīng)、用戶滿意度和環(huán)境的改變而改變。因此,軟件的質(zhì)量作為產(chǎn)品或服務(wù)需要的功能特征,也必須定義與客戶和環(huán)境相關(guān)的內(nèi)容。我們認(rèn)為,質(zhì)量是一個(gè)復(fù)雜且多面的概念,從不同的角度來看會(huì)得到不同的結(jié)論。因此,對(duì)于質(zhì)量的定義還應(yīng)該是多方面的,上述定義均不能很好地滿足要求。本文給出如下定義:軟件質(zhì)量是指軟件產(chǎn)品的特性可以滿足用戶的功能、性能需求的能力。軟件質(zhì)量的特性包括以下幾個(gè)方面:  (1)與功能和性能需求的一致性:即軟件需求是質(zhì)量度量的基礎(chǔ),缺少與需求一致性的軟件就毫無質(zhì)量可言;  (2)與開發(fā)標(biāo)準(zhǔn)的一致性:不遵循專門的開發(fā)標(biāo)準(zhǔn),將導(dǎo)致軟件質(zhì)量低劣;  (3)與同行業(yè)的所有軟件應(yīng)滿足的隱含特性的一致性:忽視軟件隱含的需求,軟件質(zhì)量將得不到保證?! ?.2 軟件質(zhì)量度量  對(duì)于軟件質(zhì)量,我們不僅要清楚它的特征,還要有能力去度量它。正確有效地度量和評(píng)價(jià)出軟件質(zhì)量的高低對(duì)于軟件的使用者及開發(fā)人員都具有非常重要的意義。軟件工程的方法論主要是在提高軟件過程的可見度方面下工夫,但僅僅是方法論的提高并不能使其成為工程學(xué)科,還需要使用度量。軟件度量的根本目的是為了管理的需要,利用度量來改進(jìn)軟件過程。沒有適當(dāng)準(zhǔn)則去判斷、評(píng)估軟件的過程和階段性的質(zhì)量,就無法做出適當(dāng)?shù)臎Q策,更談不上進(jìn)  行有效的管理。度量的結(jié)果是一種可用于決策、可比較的對(duì)象,度量已知的事物是為了進(jìn)行跟蹤和評(píng)估:對(duì)于未知的事物,度量則用于預(yù)測(cè)。這樣,一方面我們可以去度量一個(gè)最終軟件產(chǎn)品的質(zhì)量;另一方面,我們也可以在開發(fā)過程中預(yù)測(cè)出軟件可能的質(zhì)量,從而對(duì)其提出有效的改進(jìn)。軟件質(zhì)量度量是貫穿于軟件工程的全過程以及軟件交付之后的,在軟件交  付之前的度量主要包括程序復(fù)雜性、模塊的有效性和總的程序規(guī)模,而在軟件交付之后的度量則主要包括殘存的缺陷數(shù)和系統(tǒng)的可維護(hù)性。目前,軟件質(zhì)量度量方法比較多,例如:(1)Halstead復(fù)雜性度量法。其基本思路是根據(jù)程序中可執(zhí)行代碼行的操作符和操作數(shù)的數(shù)量來計(jì)算程序的復(fù)雜性。操作符和操作數(shù)的量越大,程序結(jié)構(gòu)就越復(fù)雜。(2)McCabe復(fù)雜性度量法。其基本思想是程序的復(fù)雜性在很大程度上取決于程序控制流的復(fù)雜性,單一的順序程序結(jié)構(gòu)最簡單,循環(huán)和選擇所構(gòu)成的環(huán)路越多,程序就越復(fù)雜。研究人員為了更好地理解和度量軟件質(zhì)量,還建立了各種模型來描述軟件的質(zhì)量和多個(gè)質(zhì)量屬性之間的關(guān)系。下文將對(duì)此作詳細(xì)的描述?! ? 軟件質(zhì)量模型  目前,圍繞軟件質(zhì)量模型的研究主要分為兩個(gè)方向:一是根據(jù)經(jīng)驗(yàn)提出軟件質(zhì)量模型,二是給出一種構(gòu)建軟件質(zhì)量模型的方法。前者主要是建立各種通用的質(zhì)量模型來描述軟件或信息系統(tǒng),從而對(duì)軟件的質(zhì)量進(jìn)行預(yù)測(cè)、度量以及評(píng)估,其中有人把質(zhì)量分解成各種因素,有人把質(zhì)量分成多個(gè)層次。但是,過去的這些質(zhì)量模型總是想要以單個(gè)的模型廣泛地應(yīng)用于所有軟件和信息系統(tǒng)的開發(fā)。很明顯,這與質(zhì)量本身的特征多樣性是相背馳的。因此,如何針對(duì)具體的軟件或信息系統(tǒng)建立合適的軟件模型依然是一個(gè)開放的課題。后者主要是提供了如何建立質(zhì)量模型的方法,包括如何建立質(zhì)量屬性之間的聯(lián)系以及如何分析質(zhì)量屬性等?! ?.1 通用軟件質(zhì)量模型  迄今為止,研究人員已建立了多個(gè)質(zhì)量模型來幫助理解、度量和預(yù)測(cè)軟件的質(zhì)量,這些模型是研究人員根據(jù)多年的軟件工程實(shí)踐經(jīng)驗(yàn)提出來的,是有效地組織質(zhì)量保證活動(dòng)的基礎(chǔ)。目前,主流的軟件質(zhì)量模型分為兩類:層次模型和關(guān)系模型。比較著名的層次模型包括McCall模型[6]、Boehm模型[7]和ISO9126質(zhì)量模型[5];比較著名的關(guān)系模型包括Perry模型[8]和Gillies模型[9]。McCall模型是最早的質(zhì)量模型之一,屬于層次模型的類型。J. A. McCall等人將其模型分為三層:因素、準(zhǔn)則、計(jì)量,并對(duì)軟件質(zhì)量因素進(jìn)行了研究,認(rèn)為軟件質(zhì)量是正確性、可靠性、效率等構(gòu)成的函數(shù),而正確性、可靠性、效率等被稱為軟件質(zhì)量因素,或軟件質(zhì)量特征,它表現(xiàn)了系統(tǒng)可見的行為化特征。每一因素又由一些準(zhǔn)則來衡量,而準(zhǔn)則是跟軟件產(chǎn)品和設(shè)計(jì)相關(guān)的質(zhì)量特征的屬性。例如,正確性由可跟蹤性、完全性、相容性來判斷;每一準(zhǔn)則又有一些定量化指標(biāo)來計(jì)量,指標(biāo)是捕獲質(zhì)量準(zhǔn)則屬性的度量。Mc-Call認(rèn)為軟件質(zhì)量可從兩個(gè)層次去分析,其上層是外部觀察的特性,下層是軟件內(nèi)在的特性。McCall定義了11個(gè)軟件外部質(zhì)量特性,稱為軟件的質(zhì)量要素,它們是正確性、可靠性、效率、完整性、可使用性、可維護(hù)性、可測(cè)試性、靈活性、可移植性、重復(fù)使用性和連接性。同時(shí),還定義了23個(gè)  軟件的內(nèi)部質(zhì)量特征,稱之為軟件的質(zhì)量屬性,它們是完備性、一致性、準(zhǔn)確性、容錯(cuò)性、簡單性、模塊性、通用性、可擴(kuò)充性、工具性、自描述性、執(zhí)行效率、存儲(chǔ)效率、存取控制、存取審查、可操作性、培訓(xùn)性、通信性、軟件系統(tǒng)獨(dú)立性、機(jī)獨(dú)立性、通信通用性、數(shù)據(jù)通用性和簡明性,軟件的內(nèi)部質(zhì)量屬性通過外部的質(zhì)量要素反映出來。然而,實(shí)踐證明以這種方式獲得的結(jié)果會(huì)有一些問題。例如,本質(zhì)上并不相同的一些問題有可能會(huì)被當(dāng)成同樣的問題來對(duì)待,導(dǎo)致通過模型獲得的反饋也基本相同。這就使得指標(biāo)的制定及其定量的結(jié)果變得難以評(píng)價(jià)。Boehm模型是由Boehm等在1978年提出來的質(zhì)量模型,在表達(dá)質(zhì)量特征的層次性上它與McCall模型是非常類似的。不過,它是基于更為廣泛的一系列質(zhì)量特征,它將這些特征最終合并成19個(gè)標(biāo)準(zhǔn)。Boehm提出的概念的成功之處在于它包含了硬件性能的特征,這在McCall模型中是沒有的。但是,其中與McCall模型類似的問題依然存在?! SO9126質(zhì)量模型是另一個(gè)著名的質(zhì)量模型,它描述了一個(gè)由兩部分組成的軟件產(chǎn)品質(zhì)量模型。一部分指定了內(nèi)在質(zhì)量和外在質(zhì)量的六個(gè)特征,它們還可以再繼續(xù)分成更多的子特征。這些子特征在軟件作為計(jì)算機(jī)系統(tǒng)的一部分時(shí)會(huì)明顯地表現(xiàn)出來,并且會(huì)成為內(nèi)在的軟件屬性的結(jié)果。而另一部分則指定了使用中的質(zhì)量屬性,它們是與針對(duì)六個(gè)軟件產(chǎn)品質(zhì)量屬性的用戶效果聯(lián)合在一起的。下面是它給出的軟件的六個(gè)質(zhì)量特征:  (1)功能性(Functionality):軟件是否滿足了客戶功能要求;  (2)可靠性(Reliability):軟件是否能夠一直在一個(gè)穩(wěn)定的狀態(tài)上滿足可用性;  (3)使用性(Usability):衡量用戶能夠使用軟件需要多大的努力;  (4)效率(Efficiency):衡量軟件正常運(yùn)行需要耗費(fèi)多少物理資源;  (5)可維護(hù)性(Maintainability):衡量對(duì)已經(jīng)完成的軟件進(jìn)行調(diào)整需要多大的努力;  (6)可移植性(Portability):衡量軟件是否能夠方便地部署到不同的運(yùn)行環(huán)境中?! ATC軟件質(zhì)量模型是由NASA的軟件保證技術(shù)中心提出的,它遵循ISO9126的結(jié)構(gòu),也定義了一系列的質(zhì)量目標(biāo)。這些目標(biāo)跟軟件產(chǎn)品和過程的屬性相關(guān),這些屬性揭示了能夠達(dá)到上述目標(biāo)的可能性。它選擇的這些質(zhì)量目標(biāo)既封裝了面向過程的質(zhì)量指標(biāo),也封裝了那些面向產(chǎn)品的傳統(tǒng)指標(biāo)。SATC還選擇和開發(fā)了一系列標(biāo)準(zhǔn)來度量這些屬性,這些標(biāo)準(zhǔn)是與質(zhì)量屬性相關(guān)聯(lián)的且可以應(yīng)用在模型定義的目標(biāo)之上。他們應(yīng)用于整個(gè)生命周期之中,包括那些早期階段。與層次模型不同,關(guān)系模型反映質(zhì)量屬性之間關(guān)系的表達(dá)力較強(qiáng),它們能夠描述質(zhì)量屬性之間正面、反面或中立的關(guān)系。Perry模型就是一個(gè)典型的關(guān)系模型。它使用一張二維的表格來表達(dá)各個(gè)質(zhì)量屬性以及它們之間的關(guān)系。但是,對(duì)于軟件質(zhì)量屬性之間一些更為復(fù)雜的、用二維表格無法直接表達(dá)的關(guān)系,比如質(zhì)量屬性之間的動(dòng)態(tài)可變的相  互制約關(guān)系或者兩個(gè)以上的質(zhì)量屬性之間的制約關(guān)系,這些模型也不能很好地表達(dá)??傊?以上這些通用的軟件質(zhì)量模型定義的標(biāo)準(zhǔn)被應(yīng)用于各種軟件,包括計(jì)算機(jī)程序和包含在固件中的數(shù)據(jù)。那些特征和子特征為軟件產(chǎn)品質(zhì)量提供了一致的術(shù)語,并且為制定軟件的質(zhì)量需求和確定軟件性能的平衡點(diǎn)指定了一個(gè)框架。然而,層次模型由一些質(zhì)量屬性、標(biāo)準(zhǔn)及準(zhǔn)則等  構(gòu)成,它們只表達(dá)了質(zhì)量屬性之間一些正面的影響關(guān)系,對(duì)于那些更復(fù)雜的關(guān)系它們卻無能為力。關(guān)系模型能夠表達(dá)質(zhì)量屬性之間正面、反面及中立的影響,但對(duì)于一些更為復(fù)雜的關(guān)系則同樣無法表達(dá)。并且,它們還有一個(gè)相同的弱點(diǎn),就是現(xiàn)有的這些質(zhì)量模型總是意圖能夠適用于所有類型的軟件開發(fā),成為一個(gè)通用的模型。然而,正像我們上文提到的那樣,軟件質(zhì)量是非常復(fù)雜的,很難定義出一個(gè)能夠適用于所有軟件質(zhì)量度量的模型。每個(gè)軟件系統(tǒng)都有它自己的特征,我們?cè)谑褂觅|(zhì)量模型時(shí)必須考慮各類應(yīng)用的特殊需求。并且,由于計(jì)算機(jī)應(yīng)用的飛速發(fā)展,人們需要尋找不僅能夠在軟件質(zhì)量管理方面提供有效幫助,而且還能夠?qū)浖_發(fā)中的其他活動(dòng)提供相應(yīng)支持的質(zhì)量模型?! ?.2 質(zhì)量模型構(gòu)造方法  通用軟件質(zhì)量模型的構(gòu)造需要多年的軟件開發(fā)與維護(hù)經(jīng)驗(yàn)作基礎(chǔ),再由于上述的一些弱點(diǎn),人們提出了研究軟件質(zhì)量模型的新思路。這就是提供一種系統(tǒng)的構(gòu)造方法,用來為不同的軟件或不同類型的軟件構(gòu)造可測(cè)試、可評(píng)估和可重定義的質(zhì)量模型,以評(píng)估和度量軟件系統(tǒng)的開發(fā)質(zhì)量,并對(duì)軟件系統(tǒng)的開發(fā)過程提供一定的支持和幫助。在文獻(xiàn)[3,4]中,Dromey提出了一種通用的質(zhì)量模型及系統(tǒng)開發(fā)質(zhì)量模型的過程,該模型由三個(gè)主要的元素組成:影響質(zhì)量的產(chǎn)品屬性、一系列高級(jí)的質(zhì)量屬性和連接它們的一種方法。構(gòu)建該種質(zhì)量模型包括以下五個(gè)步驟:  (1)確定產(chǎn)品的一系列高級(jí)質(zhì)量屬性;  (2)確定產(chǎn)品組件;  (3)對(duì)每個(gè)組件的最重要的、切實(shí)的、質(zhì)量相關(guān)的屬性進(jìn)行確認(rèn)和分類;  (4)為連接產(chǎn)品屬性和質(zhì)量屬性提供系列的規(guī)則;  (5)對(duì)模型進(jìn)行評(píng)價(jià),指出它的弱點(diǎn),進(jìn)行重定義或者廢棄重新建模型。  人們可以通過由以上五個(gè)步驟組成的過程來針對(duì)具體軟件產(chǎn)品的質(zhì)量模型進(jìn)行初始化和重定義。并且,Dromey針對(duì)軟件的需求定義、設(shè)計(jì)和實(shí)現(xiàn)這些軟件開發(fā)中關(guān)鍵的產(chǎn)品論證了該方法的應(yīng)用。隨后,在文獻(xiàn)[10]中,Bansiya和Davis應(yīng)用該方法建立了一個(gè)面向?qū)ο笤O(shè)計(jì)的層次質(zhì)量模型。在這個(gè)模型中使用了一套面向?qū)ο蟮脑O(shè)計(jì)規(guī)則評(píng)價(jià)類與對(duì)象結(jié)構(gòu)化、行為化的設(shè)計(jì)屬性以及它們之間的關(guān)系。該模型使用經(jīng)驗(yàn)性的信息將一些設(shè)計(jì)屬性如封裝性、模塊性和一些高級(jí)的質(zhì)量屬性如重用性、復(fù)雜性聯(lián)系起來,并且將這些關(guān)系根據(jù)它們的影響力和重要性劃分了等級(jí)。最后,還根據(jù)經(jīng)驗(yàn)和專家意見驗(yàn)證了針對(duì)幾個(gè)面向?qū)ο蟮拇笮蜕虡I(yè)應(yīng)用系統(tǒng)建立的模型。雖然Dromey認(rèn)識(shí)到軟件質(zhì)量模型需要通過質(zhì)量相關(guān)屬性和軟件產(chǎn)品組件來構(gòu)造,但應(yīng)用這種方法僅僅能夠建立統(tǒng)一的質(zhì)量模型。應(yīng)用領(lǐng)域的特殊性、軟件設(shè)計(jì)和實(shí)現(xiàn)的特殊性依然沒有被考慮進(jìn)來,并且這種方法只能應(yīng)用于軟件開發(fā)完成之后。因此,對(duì)軟件開發(fā)本身并不能提供太多的幫助。在文獻(xiàn)[2]中,朱鴻博士提出了一種基于軟件的體系結(jié)構(gòu)設(shè)計(jì)來系統(tǒng)地獲得質(zhì)量模型的方法。該方法以軟件體系結(jié)構(gòu)設(shè)計(jì)為研究對(duì)象,構(gòu)造軟件系統(tǒng)的質(zhì)量模型,據(jù)此分析軟件產(chǎn)品及軟件開發(fā)過程中后續(xù)階段(如開發(fā)與運(yùn)行過程)可能存在的質(zhì)量隱患,并提供相應(yīng)的指導(dǎo)意見。該方法可以使得軟件開發(fā)者盡早地發(fā)現(xiàn)質(zhì)量問題,從而更好地指導(dǎo)軟件的設(shè)計(jì)與維護(hù),提高軟件和信息系統(tǒng)的質(zhì)量,加速軟件開發(fā)進(jìn)程。并且,由于同一領(lǐng)域的諸多應(yīng)用往往采用相似的體系結(jié)構(gòu),這樣就使得質(zhì)量模型可以獲得充分的重用。另外,該方法生成的質(zhì)量模型采取有向圖的形式來表達(dá),圖中包括系統(tǒng)的組件信息、組件之間的連接以及組件之間存在連接的原因。這比現(xiàn)有的一些質(zhì)量模型和質(zhì)量建模方法能夠提供一些更為內(nèi)在和具體的信息。因此,它能夠?qū)ξ覀兊能浖_發(fā)活動(dòng)提供更大的幫助。不過,在該方法中如何有效地確定系統(tǒng)的組件,更好地分析出組件發(fā)生錯(cuò)誤的原因以及錯(cuò)誤現(xiàn)象之間的聯(lián)系還需要進(jìn)一步的研究?! ? 結(jié)束語  本文首先介紹了軟件質(zhì)量及軟件度量的概念及其研究現(xiàn)狀,闡述了軟件質(zhì)量在軟件開發(fā)中的重要性,討論了軟件質(zhì)量的基本特點(diǎn)。然后,針對(duì)軟件質(zhì)量模型的兩大研究方向分別舉例介紹了一些軟件質(zhì)量模型和軟件質(zhì)量建模方法,指出了各自的一些優(yōu)勢(shì)和弱點(diǎn),并對(duì)其發(fā)展提出了一些展望。我們認(rèn)為,一方面軟件質(zhì)量自身的特殊性使得人們對(duì)軟件質(zhì)量的研究變得相對(duì)復(fù)雜,因此需要一些正確的方法論來對(duì)研究工作加以引導(dǎo);另一方面,豐富的經(jīng)驗(yàn)對(duì)于軟件開發(fā)的各項(xiàng)活動(dòng)又是必不可少的。如果能將針對(duì)軟件質(zhì)量研究的各種方法論與各種經(jīng)驗(yàn)性的成果合理并有效地結(jié)合起來,將對(duì)軟件質(zhì)量模型的研究帶來很大的幫助。  參考文獻(xiàn):  [1] B Kitchenham, S L Pfleeger. Software Quality: The Elusive Target[J]. IEEE Software, 1996, 13(1):12-21.  [2] Hong Zhu, Yanlong Zhang, Qingning Huo, et al. Applica- tion of Hazard Analysis to Software Quality Modelling[A]. Proc of IEEE COMPSAC’02[C].2002.139-144.  [3] R G Dromey. A Model for Software Product Quality[J]. IEEE Trans on Software Engineering, 1995,21(2):146-162.  [4] R G Dromey. Cornering the Chimera[J]. IEEE Software, 1996, 13(1):33-43.  [5] ISO 9126, Information Technology--Software Product Eval-uation--Quality Characteristics and Guidelines for Their Use[S]. International Organisation for Stand旦法測(cè)盒爻谷詫貪超楷ardization, 1992.  [6] J McCall, P Richards, G Walters. Factors in Software Quali- ty.Vol 1[R]. Technical Report CDRL A003, US Rome Air Development Centre, 1977.  [7] B W Boehm, J Brown, H Kaspar,et al .Characteristics of Software Quality[A].TRW Serious of Software Technology Vol 1[M].New York: North-Holland, 1978.  [8] W E Perry. Quality Assurance for Information Systems : Methods, Tools and Techniques[M]. New York: John Wi-ley & Sons, 1991.  [9] A Gillies. Modelling Software Quality in The Commercial Envi-ronment[J]. Software Quality Journal, 1992,1: 175-191.  [10] J Bansiya, C G Davis. A Hierarchical Model for Object-Ori-ented Design Quality Assessment[J]. IEEE Trans on Soft-ware Engineering, 2002, 28(1):4-17.  [11] A Gillies. Software Quality: Theory and Management. 2nd Edition [ M]. International Thomson Computer Press,1997.  [12] T Kletz. Computer control and Human Error, Rugby: In-stitute of Chemical Engineers[M].  [13] N G Leveson. Safeware: System Safety and Comuters[M].Reading, MAL: Addison-Wesley,1995.  [14] P G Neumann. Computer-Related Risks[M]. New York: ACM Press,1995.  [15] Len Bass,Paul Clements,Rick Kazman. Software architec-ture in Practice[M]. Pearson Education.