資源描述:
《軟件評審機制》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、1.軟件評審概述1.1簡介/軟件評審軟件評審是以提高軟件質(zhì)量為目的的技術(shù)活動。缺乏質(zhì)量概念的技術(shù)評審是一種拘于形式的為評審而評審的盲目工作。通常,把質(zhì)量定義為用戶的滿意程度。為使用戶滿意,有兩個必要條件:設(shè)計質(zhì)量:設(shè)計的規(guī)格說要符合用戶的要求。程序質(zhì)量:程序要按照軟件規(guī)格說明所規(guī)定的情況正確執(zhí)行。與上述質(zhì)量的觀點相對應(yīng),軟件的規(guī)格說明可以分為外部規(guī)格說和內(nèi)部規(guī)格說明。外部規(guī)格說明是從用戶角度來看的規(guī)格,包括硬件與軟件系統(tǒng)設(shè)計(在分析階段進行)、功能設(shè)計(在需求分析階段與總體設(shè)計階段進行),而內(nèi)部規(guī)格說明是為了實現(xiàn)外部規(guī)格說明的更詳
2、細的規(guī)格,即程序模塊結(jié)構(gòu)與模塊加工的設(shè)計(在總體設(shè)計和詳細設(shè)計階段進行)。因此,內(nèi)部規(guī)格說明是從開發(fā)者角度來看的規(guī)格說明。將上述兩個概念聯(lián)系起來,則可以說明設(shè)計質(zhì)量是由外部規(guī)格說明決定的,程序質(zhì)量是由內(nèi)部規(guī)格說明決定的。質(zhì)量=用戶的滿意程度用戶、市場的要求軟件的詳細設(shè)計說明書程序設(shè)計質(zhì)量程序質(zhì)量適合外部規(guī)格說明內(nèi)部規(guī)格說明軟件評審原理1.2評審的目的評審的目的是檢驗軟件開發(fā)、軟件評測各階段的工作是否齊全、規(guī)范,各階段產(chǎn)品是否達到了規(guī)定的技術(shù)要求和質(zhì)量要求,以決定是否可以轉(zhuǎn)入下一階段的工作。1.3評審階段的劃分;1)系統(tǒng)分析與設(shè)計;
3、2)軟件需求分析;3)軟件概要設(shè)計;1)軟件詳細設(shè)計;2)編碼和單元測試;3)軟件部件測試;4)軟件配置項測試;5)軟件系統(tǒng)測試;6)系統(tǒng)驗收。1.4評審的組織與管理1)內(nèi)部評審內(nèi)部評審是由公司研發(fā)部門組織的評審2)外部評審外部評審是由交辦組織的評審,特殊情況下,交辦方委托其他單位代理組織外部評審。2.評審內(nèi)容/軟件評審2.1設(shè)計質(zhì)量設(shè)計質(zhì)量的評審對象是在需求分析階段產(chǎn)生的軟件需求規(guī)格說明、數(shù)據(jù)要求規(guī)格說明,在軟件總體設(shè)計階段產(chǎn)生的軟件總體設(shè)計說明書等。通常,需要從12個方面進行評審。(1)評價軟件的規(guī)格說明是否合乎用戶的要求。(
4、2)評審可靠性。(3)評審保密措施實現(xiàn)情況。(4)評審操作特性實施情況。(5)評審性能實現(xiàn)情況。(6)評審軟件是否具有可修性。(7)評審軟件是否有可擴充性。(8)評審軟件是否具有互換性。(9)評審軟件是否具有可移植性。(10)評審軟件是否具有可測試性。(11)評審軟件是否具有復用性。(12)評審軟件是否具有互連性。2.2程序質(zhì)量的評審內(nèi)容程序質(zhì)量評審著眼與軟件本身的結(jié)構(gòu)、與運行環(huán)境的接口、變更帶來的影響而進行的評審活動。通常它是從開發(fā)者的角度進行評審,直接與開發(fā)技術(shù)有關(guān)。(1)軟件的結(jié)構(gòu)。為了使得軟件能夠滿足設(shè)計規(guī)格說明中的要求,
5、軟件的結(jié)構(gòu)本身必須是優(yōu)秀的。①功能結(jié)構(gòu)。在軟件的各種結(jié)構(gòu)中,功能結(jié)構(gòu)是用戶惟一能見到的結(jié)構(gòu)。因此,功能結(jié)構(gòu)可以說是聯(lián)系用戶和開發(fā)者的規(guī)格說明,它在軟件的設(shè)計中占有極其重要的地位。軟件功能的本質(zhì)是把輸入信息變換為輸出信息。因此,在討論軟件的功能結(jié)構(gòu)時,必須明確軟件的數(shù)據(jù)結(jié)構(gòu)。需要檢查的項目有以下幾項:數(shù)據(jù)結(jié)構(gòu)、功能結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)和功能結(jié)構(gòu)之間的對應(yīng)關(guān)系。②功能的通用性。在軟件的功能結(jié)構(gòu)中,某些功能有時可以作為通用功能反復出現(xiàn)多次。從功能便于理解、增強軟件的通用性及降低開發(fā)的工作量等觀點出發(fā),希望盡可能多地使功能通用化。實現(xiàn)功能通用化
6、的最一般方法是通過提取公用功能來實現(xiàn)通用模塊化。而進一步的功能通用化方法就是信息隱蔽或數(shù)據(jù)抽象。它的基礎(chǔ)就是抽象數(shù)據(jù)類型。在實現(xiàn)功能通用性方面,檢查項目是:抽象數(shù)據(jù)結(jié)構(gòu):包括抽象數(shù)據(jù)的名稱和含義、抽象數(shù)據(jù)構(gòu)成元素的定義。抽象功能結(jié)構(gòu):包括①中的抽象數(shù)據(jù)進行操作的各個功能的一覽表、上述各功能的定義及各個功能之間的關(guān)系。(2)與運行環(huán)境的接口。運行環(huán)境包括硬件、其他軟件和用戶。與運行環(huán)境的接口應(yīng)設(shè)計得較理想,要預見到環(huán)境改變,并且當一旦要變更時,應(yīng)盡量限定其變更范圍和變更所影響的范圍。主要檢查項目如下:①與其他軟件的接口:包括與上層軟
7、件的接口,如與操作系統(tǒng)等控制該軟件的那些軟件的接口;與同層軟件的接口,如通過文件連接起來的那些軟件的接口;與下層軟件的接口,如編譯程序與作為其輸入的源程序之間的接口。②與硬件的接口:包括與硬件的接口約定(即根據(jù)硬件的使用說明等所做出的規(guī)定)和硬件故障時的處理和超載時的處理。③與用戶的接口。2.3模塊的層次模塊的層次就是指程序模塊結(jié)構(gòu)。由于模塊是功能的具體體現(xiàn),所以模塊層次應(yīng)當根據(jù)功能層次來設(shè)計。模塊層次中保有一部分功能層次,但模塊層次并不全與功能層次系統(tǒng),重要的是應(yīng)明確模塊層次與功能層次之間的關(guān)系。為此,要檢查以下項目。1)模塊層
8、次:模塊層次的定義,包括各層次的含義、各層次物理容量的上限;模塊的層次結(jié)構(gòu),包括各模塊間的聯(lián)系、各模塊與層次的對應(yīng)關(guān)系。2)與功能層次的對應(yīng)關(guān)系:功能與模塊的對應(yīng)關(guān)系;功能層次與模塊層次的匹配程度。2.4模塊結(jié)構(gòu)以上所述的模塊層次結(jié)構(gòu)是模塊的靜態(tài)結(jié)