999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件維護性評估指標體系研究

2018-12-24 08:02:50劉凱陳軍梁欣張俊萍鄭思廣
微型電腦應用 2018年12期
關鍵詞:一致性程序

劉凱, 陳軍, 梁欣, 張俊萍, 鄭思廣

(1. 航天器在軌故障診斷與維修重點實驗室, 西安 710043;2. 西安衛星測控中心, 西安 710043; 3. 63871部隊, 華陰 714200)

0 引言

現代軟件行業的經驗表明:盡管軟件的可靠性已經一再提高,但是軟件中的bug卻始終存在[1]。可見,軟件維護(在軟件交付使用后,為了改正錯誤或滿足新的需求而修改軟件的過程)是不可避免的。隨著軟件規模和復雜度的日益提高,軟件維護日益成為軟件生存周期中費用最高、難度最大的一個階段。與此同時,如何對軟件進行維護性評估(對軟件維護性進行定性或定量評價)、及時發現并改正軟件的維護性設計缺陷從而優化軟件維護性日益成為一個重要的研究課題。目前,由于國內軟件維護領域的理論研究相對匱乏,大多軟件維護工作仍然依賴于維護人員對整個系統的熟悉程度,缺乏相關的標準來指導和約束軟件維護性評估[2]。為了保證軟件維護性評估的質量,建立一個完善的軟件維護性評估指標體系是非常必要的。

借鑒美國空軍軟件維護性評估手冊,本文從軟件產品和開發過程兩個角度深入分析了軟件維護性的影響因素。在此基礎上,本文建立了一個相對完善的軟件維護性評估指標體系,用于指導軟件維護性評估的實施。

1 軟件維護性影響要素

對軟件維護性進行評估是圍繞影響軟件維護性的諸多要素展開的,因此,實施軟件維護性評估的首要工作是明確軟件維護性的影響要素,確定軟件維護性評估指標。尼德.查牝指出:“軟件維護費用高昂的根本原因在于人們對當前程序和系統文檔理解上的障礙。這些障礙的起因主要有以下幾個:程序不可理解、對程序理解不準確、系統文檔與程序的可用信息不充分、軟件的復雜性、程序理解上存在的混淆、誤解與遺忘。”[3]由此可見,要想控制維護費用,人們必須改善對程序源代碼和系統文檔的理解。因此,下面主要從文檔和源代碼兩個方面闡述其對軟件維護性的影響。

首先,軟件文檔資料的缺失或者文檔結構的雜亂、文檔管理的無序均會影響軟件的維護性,引起軟件維護時間和費用的增長。這里,軟件文檔是指在軟件開發過程中生成的、陸續進行需求、概要設計、詳細設計、測試等說明的一系列文檔。舉例來說,軟件文檔可能包括軟件系統/子系統規格說明、系統/子系統設計說明、軟件需求說明、接口需求說明、軟件設計說明、接口設計說明、軟件測試計劃、軟件產品說明、軟件測試說明、軟件測試報告等。除上述文檔外,作為需求分析和設計之間的橋梁的軟件體系結構設計文檔也日益受到軟件開發和維護人員的重視。總之,有必要統一軟件文檔結構,改進和補充不完善的軟件文檔,這將有助于維護人員對軟件結構、界面功能和內部流程的理解[4]。尤其是在人員變動很快、跳槽率日益上升的軟件行業的今天,完備的軟件文檔成為實施軟件維護工作的重要參考依據。

其次,影響軟件維護性的另一個重要因素是程序的源代碼。由于用戶需求變更或者環境變化而對程序進行部分修改時,容易引起程序一系列其它部分的改動,這種現象在軟件維護領域被稱之為“波動效應”[5]。實際上,任何系統都存在潛在的波動效應。完全由沒有任何耦合關系的模塊組成的系統是不存在的。這種情況下,采用模塊低耦合、高內聚、可控制等程序結構化設計,可減少與其它模塊的關聯,大大提高程序模塊的獨立性,將波動效應的負面影響降至最小。這種結構化設計模塊的優勢體現在以下兩點:其一,對該類結構化模塊進行增刪修改時,僅需對該模塊進行改動即可,不致產生過大的波動效應,從而簡化維護工作[6];其二,對于模塊化的程序,可以應用備用件(用一個新的結構良好的模塊替換掉整個模塊),從而避免局部修改模塊而引入新錯誤,大大提高軟件的維護性。另外,程序設計語言的選擇,對程序的維護性影響也很大[7]。舉例來說,查詢語言、圖形語言、報表生成器等第四代語言編制出的程序都很容易理解和修改,其指令條數可能要比COBOL等低級語言編制出的少一個數量級,但開發速度快許多倍。可以說,新一代語言要比早期的語言更易于維護[8-9]。此外,程序風格的一致性、程序的簡潔性、數據完整性以及構件的復用性也在一定程度上影響著軟件的維護性,不再贅述。

另外,隨著軟件二元性概念——“軟件包括軟件產品和軟件開發過程”的提出,僅從軟件產品(包括了文檔和源代碼)的角度查找軟件維護性的影響要素是很片面的。從過程角度上講,常見的維護性影響因素有軟件開發方法、軟件維護性分析與設計技術、軟件維護性審查方式以及復審技術等。有時,軟件開發時間、費用等軟件成本因素也會左右軟件維護性的設計標準。此外,軟件生命周期中軟件資源(包括軟件編程工具、計算機輔助軟件工程工具等)、硬件資源(包括軟件運行環境、接口等)、軟件維護及糾錯工具(維護性度量模型、方法、技術等)的可用性對軟件維護性也有很大影響。還有,軟件開發團隊的規模與組織管理情況,程序員、需求分析師、文檔編制人員等人員的技能與素質也間接影響著軟件的維護性。可見,影響軟件維護性的過程因素眾多,但由于不易對其度量,本文尚未對該類過程因素進行深入研究。

2 軟件維護性評估指標體系

上述軟件維護性的影響要素繁多,有些要素可以量化度量,如模塊的耦合性,而有些要素則需要人憑借感官進行定性評價,如程序風格的一致性,還有些要素很難進行評價,如人員素質。因此,不可能對上面所列出的產品和過程方面的因素盡數進行維護性評估,需要權衡要素的重要程度和可度量性進行對象與指標的選取。這里把握兩個原則:一是數量不宜過多,要能突出主要因素(如文檔和程序的易理解性)的影響;二是保證在可承受的度量成本范圍內可通過主觀或客觀的手段進行度量,數據收集方便,可度量。

考慮到維護性評估的目的是“檢驗軟件產品(文檔、源代碼)是否達到維護性技術標準、是否需要采取措施提高軟件維護性”,這里將軟件產品中的文檔、源代碼以及軟件實現(同時檢查軟件文檔和源代碼,以全面評估軟件)作為本文維護性評估的研究對象,如表1所示。

表1 若干研究對象的軟件維護性評估指標

本文借鑒美國空軍軟件維護性評估手冊,選取可描述性、模塊化、可擴展性、簡易性、結構化、可追溯性、一致性、可測試性和約定性這9項維護子特性作為對軟件文檔、源代碼(模塊源代碼和計算機軟件單元(CSU)源代碼)以及軟件實現進行評估的指標,如表1所示。下面逐項對這些指標進行分析。

1) 可描述性:當軟件文檔或源代碼中包含需求、假設、約束、輸入/輸出、組件及其關系、外部接口、修訂狀態等重要信息時,可以說文檔或源代碼具有可描述性。

2) 可追溯性:可以在文檔之間、文檔與源代碼之間進行特定信息的查找時,稱軟件文檔具有可追溯性。

3) 結構化:當可以快捷、方便地定位信息時,稱軟件文檔具有結構化這一特性。

4) 簡易性:源代碼的簡易程度直接關系到程序的可理解性。源代碼采用的技術和結構越簡單,維護人員對其理解越容易,系統的維護性越好。因此,可以說簡易性是軟件維護性的精髓。

5) 模塊化:由于小模塊(代碼塊)比大的或復雜的模塊更易于理解,因此對由大量獨立模塊組成的軟件進行維護和管理要容易許多。

6) 一致性:當軟件源代碼采用一致的注釋、術語和符號時,可以說源代碼具有一致性,這將有助于維護人員對源代碼進行不同抽象層次的理解。

7) 可測試性:如果源代碼中還有錯誤識別和錯誤處理的語句,稱源代碼具有可測試性。

8) 可擴展性:指在一定時間段內,對軟件源代碼的數量、類型、方法進行修改或者增刪的容易程度。

9) 約定性:采用工程化的約定有助于對軟件的理解。該特性要求軟件產品使用統一的標記、術語和符號,并保持這些約定符號在文檔和源代碼中的一致性。

3 軟件維護性評估準則

對于不同的評估對象(軟件文檔、模塊源代碼、CSU源代碼、軟件實現),軟件維護性評估的側重點是不一樣的。舉例來說,對文檔進行維護性評估側重于檢查文檔的可描述性,而對源代碼進行評估則主要審查代碼的簡易性[8-9]。相同的軟件維護性評估指標反映在不同軟件對象上的評估準則也是不一樣的。

1) 對軟件文檔進行維護性評估時,主要根據可描述性、可追溯性和結構化三項指標對文檔的格式和內容進行審核。理想情況下,軟件維護性評估是貫穿于軟件生命周期過程中的。不同階段(如需求分析、設計、編碼、測試、驗收、交付使用等)所實施的軟件維護性評估的評審文檔對象是不一樣的,如需求分析階段根據系統/子系統規格說明、系統/子系統設計說明、軟件需求說明、接口需求說明等進行維護性評估,而測試階段將軟件測試計劃、軟件測試說明、軟件測試報告等作為評估對象。通常將文檔印制成冊供維護性評估專家審核,有時也會采取網上評審的方式。

2) 對模塊源代碼進行維護性評估時,主要審查模塊源代碼的格式與內容,以及模塊相關文檔和源代碼的一致性。模塊源代碼的維護性評估指標主要有可描述性、可追溯性、簡易性、模塊化、一致性、可測試性和可擴展性。

3) 對CSU源代碼進行評估時,主要審查CSU源代碼的格式和內容,以及評估CSU相關文檔和源代碼的一致性。CSU源代碼的維護性評估指標主要包括可描述性、可追溯性、簡易性、模塊化、一致性和可擴展性。評估是按照由簡單到復雜、由粗略到具體的原則展開的,例如,在評估人員審閱CSU內部源代碼之前,應事先評審CSU的注釋塊及其接口。另外,CSU相關參數、數據結構等也是軟件維護性評估的對象。

4) 對軟件實現進行軟件維護性評估用于發現那些只有同時檢查文檔和源代碼才能發現的軟件維護性問題,以保證軟件產品得到全面評估。軟件實現的維護性評估指標包括簡易性、模塊化、可擴展性和約定性。有些維護性評估指標準則看似與源代碼中的評估準則相同,但對象不同,這里是對整個系統提出的,而非單獨的模塊。

由于篇幅有限,僅列出了對模塊源代碼進行軟件維護性評估的準則,如表2所示。

按照表2中所列的模塊源代碼的軟件維護性評估準則,評估人員可以根據軟件與指標的符合程度通過定性專家打分或者定量人工/工具度量的方式給出軟件模塊源代碼可描述性、模塊化、可擴展性、簡易性、可追溯性、一致性、可測試性這七項維護性指標的分數。對于每個問題的特殊情況評估人員要進行書面說明,并給出針對性的修改建議。然后,根據重要程度分別分配給模塊源代碼中可描述性、模塊化、可擴展性、簡易性、可追溯性、一致性、可測試性這七項維護性評估指標其相應的權重。最后,對各指標的維護性分數進行加權處理,即可得出模塊源代碼的維護性分數。采用同樣的方法可分別計算出軟件文檔、CSU源代碼和軟件實現的維護性分數。對軟件文檔、模塊源代碼、CSU源代碼和軟件實現的維護性分數進行加權綜合,即可計算得出軟件的整體維護性水平。

表2 模塊源代碼的維護性評估準則

指標說明評估準則可追溯性要求源代碼的描述文檔之間以及文檔和模塊源代碼之間都有可追溯性信息,以實現信息在頂層需求到底層詳細實現之間的追溯。1. 文檔中包含對源代碼的詳細描述,以方便模塊追溯2. 文檔中包含對數據項的可追溯性描述信息,以方便模塊追溯3. 數據庫文檔中包含對數據庫數據項的可追溯性描述信息,以方便模塊追溯簡易性簡單的模塊更易于理解。可從模塊規模、數據結構復雜度、控制結構復雜度、編碼復雜度等方面度量模塊的簡單性。1. 模塊中可執行語句的行數適當2. 模塊中操作符的數量適當3. 模塊包含大量的控制分支語句4. 模塊中使用的嵌套語句可以控制5. 模塊中使用的大量數據項易于處理6. 模塊中使用的大量復合數據結構易于處理7. 模塊中使用的復雜公式易于處理8. 模塊內不存在技巧性的程序設計9. 模塊不包含外來代碼10. 模塊運用大量易處理的機器相關技術或語言進行擴展模塊化程序由大量相互獨立的簡單模塊構成,且模塊具備低耦合、結構化、功能內聚和可控制等特性。1. 模塊與其它模塊低耦合2. 模塊高內聚3. 模塊內功能上相關的數據元素被組織為邏輯數據結構4. 模塊中未過多使用全局變量一致性要求源代碼文檔、代碼注釋塊和源代碼保持一致。1. 注釋塊信息與相關的源代碼一致2. 文檔的輸入/輸出信息與源代碼一致3. 文檔中模塊控制流、數據流和數據處理信息與源代碼一致可測試性源代碼具備錯誤識別和錯誤精確處理的邏輯。1. 對非法輸入進行適當處理2. 對模塊內可能發生的錯誤進行適當處理可擴展性在一定時間內,能夠快捷、方便地對模塊源代碼的數量和類型等進行增刪或者修改。1. 模塊內常量和數據結構的維數要參數化

4 總結

在對軟件維護性影響要素進行深入剖析的基礎上,文章把握突出重要因素的作用以及指標可度量、可評估兩項原則,選取9項軟件維護特性評估指標(可描述性、可追溯性、結構化、簡易性、模塊化、一致性、可測試性、可擴展性和約定性)對軟件文檔、模塊源代碼、CSU源代碼和軟件實現進行維護性評估,針對不同評估指標分別提出了相應的評估準則,為進一步的軟件維護性定性或定量評估指明了方向。今后,本課題還需在軟件維護性評估指標權重的計算方法上進行深入研究。

猜你喜歡
一致性程序
關注減污降碳協同的一致性和整體性
公民與法治(2022年5期)2022-07-29 00:47:28
注重教、學、評一致性 提高一輪復習效率
對歷史課堂教、學、評一體化(一致性)的幾點探討
IOl-master 700和Pentacam測量Kappa角一致性分析
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
ONVIF的全新主張:一致性及最訪問控制的Profile A
基于事件觸發的多智能體輸入飽和一致性控制
主站蜘蛛池模板: 欧美国产精品不卡在线观看| 欧美一区二区精品久久久| 国内精自视频品线一二区| 人妻无码中文字幕一区二区三区| 国产剧情一区二区| 国产91特黄特色A级毛片| 国产AV无码专区亚洲A∨毛片| 日韩精品久久无码中文字幕色欲| 国产成+人+综合+亚洲欧美| 色婷婷久久| www成人国产在线观看网站| 99国产在线视频| 国产不卡在线看| 在线免费不卡视频| 在线播放真实国产乱子伦| 狠狠做深爱婷婷久久一区| 在线免费亚洲无码视频| 中国国语毛片免费观看视频| 中文字幕第1页在线播| 国产二级毛片| 91在线国内在线播放老师| 亚洲成人免费在线| 国产精品高清国产三级囯产AV| jizz国产视频| 五月婷婷激情四射| 免费av一区二区三区在线| 无码网站免费观看| 亚洲无线视频| 1769国产精品视频免费观看| 国产精品偷伦视频免费观看国产| 大陆国产精品视频| 国产综合欧美| 国产亚洲精品在天天在线麻豆| 亚洲中文精品人人永久免费| 日韩无码精品人妻| 夜夜高潮夜夜爽国产伦精品| 丰满人妻被猛烈进入无码| 久久国产V一级毛多内射| 久久人搡人人玩人妻精品一| 国产成人免费| 亚洲精品制服丝袜二区| 亚洲一区二区三区国产精品 | 精品国产Av电影无码久久久| 国产日韩欧美中文| 国产理论一区| 亚洲午夜天堂| 亚洲成网777777国产精品| 久久亚洲天堂| 久久精品人妻中文系列| 40岁成熟女人牲交片免费| 欧美五月婷婷| 91丝袜美腿高跟国产极品老师| 热99re99首页精品亚洲五月天| 色综合久久无码网| 五月婷婷综合在线视频| 亚洲精品国产精品乱码不卞| 黄色网页在线观看| 欧美日韩一区二区三区在线视频| 亚洲综合第一页| 亚洲国产一成久久精品国产成人综合| 国产午夜福利在线小视频| 国产成人综合日韩精品无码首页| 免费人成视网站在线不卡| 伊人久久久久久久| 亚洲人成网站在线播放2019| 她的性爱视频| 国产欧美日韩另类精彩视频| 亚洲精品视频免费看| 久久无码av三级| 国产精品hd在线播放| 国产中文一区a级毛片视频 | 国产天天色| 999精品在线视频| 国产又色又爽又黄| 国产亚洲日韩av在线| 亚洲精品无码专区在线观看| 日韩 欧美 国产 精品 综合| 日本免费精品| 国产成人综合在线视频| 成年人国产网站| 亚洲视频免费在线| 国产特级毛片|