




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第9章 軟件維護(hù),軟件維護(hù)的概念 軟件維護(hù)活動(dòng) 程序修改的步驟及副作用 軟件的維護(hù)性 提高軟件維護(hù)性的方法,9.1 軟件維護(hù)的概念,軟件維護(hù)的定義 軟件維護(hù)是指在軟件運(yùn)行/維護(hù)階段對(duì)軟件產(chǎn)品所進(jìn)行的修 改就是所謂的維護(hù)。根據(jù)維護(hù)工作的性質(zhì),軟件維護(hù)的活動(dòng) 可以分為以下4種類型。 改正性維護(hù) 適應(yīng)性維護(hù) 完善性維護(hù) 預(yù)防性維護(hù),9.1 軟件維護(hù)的概念,1改正性維護(hù) 改正性維護(hù)(corrective maintenance)為了識(shí)別和糾正 軟件錯(cuò)誤、改正軟件性能上的缺陷、排除實(shí)施中的誤使 用,應(yīng)進(jìn)行的診斷和改正錯(cuò)誤的過程。例如,改正性維護(hù) 可以是改正原來程序中開關(guān)使用的錯(cuò)誤;解決開發(fā)時(shí)未能 測(cè)試各
2、種可能情況帶來的問題等。,2適應(yīng)性維護(hù) 隨著信息技術(shù)的飛速發(fā)展,軟件運(yùn)行的外部環(huán)境(新的 硬、軟件配置)或數(shù)據(jù)環(huán)境(數(shù)據(jù)庫、數(shù)據(jù)格式、數(shù)據(jù)輸入 /輸出方式、數(shù)據(jù)存儲(chǔ)介質(zhì))可能發(fā)生變化,為了使軟件適 應(yīng)這種變化,而修改軟件的過程叫做適應(yīng)性維護(hù)(adaptive maintenance)。例如,需要對(duì)已運(yùn)行的軟件進(jìn)行改造,以 適應(yīng)網(wǎng)絡(luò)環(huán)境或已升級(jí)改版的操作系統(tǒng)要求。,9.1 軟件維護(hù)的概念,9.1 軟件維護(hù)的概念,3完善性維護(hù) 為了滿足新的功能與性能要求,需要修改或再開發(fā)軟件, 以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。這種情況下進(jìn)行的維護(hù)活動(dòng)叫做完善性維護(hù) (perfect
3、ive maintenance)。例如,完善性維護(hù)可能是修 改一個(gè)計(jì)算工資的程序,使其增加新的扣除項(xiàng)目;縮短系統(tǒng) 的應(yīng)答時(shí)間,使其達(dá)到特定的要求等。,4預(yù)防性維護(hù) 預(yù)防性維護(hù)(preventive maintenance)是指把今天的 方法學(xué)用于昨天的系統(tǒng)以滿足明天的需要。也就是說,采 用先進(jìn)的軟件工程方法對(duì)需要維護(hù)的軟件或軟件中的某一部 分(重新)進(jìn)行設(shè)計(jì)、編碼和測(cè)試。,9.1 軟件維護(hù)的概念,各類維護(hù)占總維護(hù)工作量的比例,在整個(gè)軟件維護(hù)階段花費(fèi)的全部工作量中,預(yù)防性維護(hù)只占很小的比例,而完善性維護(hù)占了幾乎一半的工作量。,9.1 軟件維護(hù)的概念,9.1 軟件維護(hù)的概念,維護(hù)工作量在軟件生存期
4、中所占比例 軟件維護(hù)活動(dòng)花費(fèi)的工作量占整個(gè)生存期工作量的70%以上(工作量的比例直接反映了成本的比例),在軟件維護(hù)中,影響維護(hù)工作量的因素主要有以下6種: (1)系統(tǒng)規(guī)模。 (2)程序設(shè)計(jì)語言。 (3)系統(tǒng)年齡大小。 (4)數(shù)據(jù)庫技術(shù)的應(yīng)用水平。 (5)所采用的軟件開發(fā)技術(shù)及軟件開發(fā)工程化的程度。 (6)其他:如應(yīng)用的類型、數(shù)學(xué)模型、任務(wù)的難度、IF嵌 套深度、索引或下標(biāo)數(shù)等,對(duì)維護(hù)工作量都有影響。,影響維護(hù)工作量的因素,9.1 軟件維護(hù)的概念,根據(jù)影響軟件維護(hù)工作量的各種因素,針對(duì)3種典型維 護(hù),James Martin等提出了一些策略,以控制維護(hù)成本。 1改正性維護(hù) 應(yīng)用一些諸如數(shù)據(jù)庫管理
5、系統(tǒng)、軟件開發(fā)環(huán)境、程序自 動(dòng)生成系統(tǒng)和高級(jí)(第四代)語言等新技術(shù)可大大提高可 靠性,并減少進(jìn)行改正性維護(hù)的需要。此外,還可考慮利 用應(yīng)用軟件包、防錯(cuò)性程序設(shè)計(jì)、通過周期性維護(hù)審查等 策略。,軟件維護(hù)的策略,9.1 軟件維護(hù)的概念,2適應(yīng)性維護(hù) 這一類的維護(hù)不可避免,但可以采用以下策略加以控制。 (1)在配置管理時(shí),把硬件、操作系統(tǒng)和其他相關(guān)環(huán)境因 素的可能變化考慮在內(nèi),可以減少某些適應(yīng)性維護(hù)的工作 量。 (2)把與硬件、操作系統(tǒng),以及其他外圍設(shè)備有關(guān)的程序 歸到特定的程序模塊中??砂岩颦h(huán)境變化而必須修改的程序 局部于某些程序模塊之中。,9.1 軟件維護(hù)的概念,9.1 軟件維護(hù)的概念,2適應(yīng)性
6、維護(hù) (3)使用內(nèi)部程序列表、外部文件,以及處理的例行程序 包,可為維護(hù)時(shí)修改程序提供方便。 (4)使用面向?qū)ο蠹夹g(shù),增強(qiáng)軟件系統(tǒng)的穩(wěn)定性,易于修 改和移植。,3完善性維護(hù) 利用前兩類維護(hù)中列舉的方法,也可以減少這一類維 護(hù)。特別是數(shù)據(jù)庫管理系統(tǒng)、程序生成器、應(yīng)用軟件包, 可減少系統(tǒng)或程序員的維護(hù)工作量。 此外,建立軟件系統(tǒng)的原型,把它在實(shí)際系統(tǒng)開發(fā)之前 提供給用戶。用戶通過研究原型,進(jìn)一步完善他們的功能 要求,可以減少以后完善性維護(hù)的需要。,9.1 軟件維護(hù)的概念,9.2 軟件維護(hù)活動(dòng),軟件維護(hù)申請(qǐng)報(bào)告,所有軟件維護(hù)申請(qǐng)應(yīng)按規(guī)定的方式提出。軟件維護(hù)組織通常提供維護(hù)申請(qǐng)報(bào)告(maintenan
7、ce request form,MRF),或稱軟件問題報(bào)告,由申請(qǐng)維護(hù)的用戶填寫。 如果遇到一個(gè)錯(cuò)誤,用戶必須完整地說明產(chǎn)生錯(cuò)誤的情況,包括輸入數(shù)據(jù)、錯(cuò)誤清單以及其他有關(guān)材料。 如果申請(qǐng)的是適應(yīng)性維護(hù)或完善性維護(hù),用戶必須提出一份修改說明書,列出所有希望的修改。維護(hù)申請(qǐng)報(bào)告將由維護(hù)管理員和系統(tǒng)監(jiān)督員來研究處理。,維護(hù)申請(qǐng)報(bào)告是由軟件組織外部提交的文檔,它是計(jì)劃維 護(hù)工作的基礎(chǔ)。軟件組織內(nèi)部應(yīng)相應(yīng)地做出軟件修改報(bào)告 (software change report,SCR),指明: 所需修改變動(dòng)的性質(zhì); 申請(qǐng)修改的優(yōu)先級(jí); 為滿足某個(gè)維護(hù)申請(qǐng)報(bào)告,所需的工作量; 預(yù)計(jì)修改后的狀況。 軟件修改報(bào)告應(yīng)
8、提交修改負(fù)責(zé)人,經(jīng)批準(zhǔn)后才能開始進(jìn)一 步安排維護(hù)工作。,9.2 軟件維護(hù)活動(dòng),軟件維護(hù)工作流程如下圖所示。,9.2 軟件維護(hù)活動(dòng),軟件維護(hù)工作流程,在每次軟件維護(hù)任務(wù)完成后,最好進(jìn)行一次情況評(píng)審,對(duì) 以下問題做一總結(jié): 在目前情況下,設(shè)計(jì)、編碼、測(cè)試中的哪一方面可以改 進(jìn)? 哪些維護(hù)資源應(yīng)該有,但沒有? 工作中主要的或次要的障礙是什么? 從維護(hù)申請(qǐng)的類型來看是否應(yīng)當(dāng)有預(yù)防性維護(hù)? 情況評(píng)審對(duì)將來的維護(hù)工作如何進(jìn)行會(huì)產(chǎn)生重要的影響,并可為軟件機(jī)構(gòu)的有效管理提供重要的反饋信息。,9.2 軟件維護(hù)活動(dòng),9.2 軟件維護(hù)活動(dòng),維護(hù)檔案記錄,內(nèi)容包括程序名稱、源程序語句條數(shù)、機(jī)器代碼指令條數(shù)、所用的程序
9、設(shè)計(jì)語言、程序安裝的日期、程序安裝后的運(yùn)行次數(shù)、與程序安裝后運(yùn)行次數(shù)有關(guān)的處理故障次數(shù)、程序改變的層次及名稱、修改程序所增加的源程序語句條數(shù)、修改程序所減少的源程序語句條數(shù)、每次修改所付出的“人時(shí)”數(shù)、修改程序的日期、軟件維護(hù)人員的姓名、維護(hù)申請(qǐng)報(bào)告的名稱、維護(hù)類型、維護(hù)開始時(shí)間和維護(hù)結(jié)束時(shí)間、花費(fèi)在維護(hù)上的累計(jì)“人時(shí)”數(shù)、維護(hù)工作的凈收益等。對(duì)每項(xiàng)維護(hù)任務(wù)都應(yīng)該收集上述數(shù)據(jù)。,評(píng)價(jià)維護(hù)活動(dòng)可參考的度量值有: 每次程序運(yùn)行時(shí)的平均出錯(cuò)次數(shù); 花費(fèi)在每類維護(hù)上的總“人時(shí)”數(shù); 每個(gè)程序、每種語言、每種維護(hù)類型的程序平均修改次數(shù); 因?yàn)榫S護(hù),增加或刪除每個(gè)源程序語句所花費(fèi)的平均“人時(shí)”數(shù); 用于每
10、種語言的平均“人時(shí)”數(shù); 維護(hù)申請(qǐng)報(bào)告的平均處理時(shí)間; 各類維護(hù)申請(qǐng)的百分比。,9.2 軟件維護(hù)活動(dòng),維護(hù)評(píng)價(jià),為了正確、有效地進(jìn)行程序修改,需要經(jīng)歷3個(gè)步驟:分 析和理解程序、實(shí)施修改以及重新驗(yàn)證程序。,9.3 程序修改的步驟及修改的副作用,分析和理解程序 經(jīng)過分析,全面、準(zhǔn)確、迅速地理解程序是決定維護(hù)成 敗和質(zhì)量好壞的關(guān)鍵。在這方面,軟件的可理解性和文檔的 質(zhì)量非常重要。為此必須: (1)研究程序的使用環(huán)境及有關(guān)資料,盡可能得到更多的 背景信息; (2)理解程序的功能和目標(biāo);,(3)掌握程序的結(jié)構(gòu)信息,即從程序中細(xì)分出若干結(jié)構(gòu)成 分,如程序系統(tǒng)結(jié)構(gòu)、控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)和輸入/輸 出結(jié)構(gòu)等;
11、 (4)了解數(shù)據(jù)流信息,即所涉及的數(shù)據(jù)來自何處,在哪里 被使用; (5)了解控制流信息,即執(zhí)行每條路徑的結(jié)果; (6)如果設(shè)計(jì)存在,則可利用它們來幫助畫出結(jié)構(gòu)圖和高 層流程圖; (7)理解程序的操作(使用)要求。,9.3 程序修改的步驟及修改的副作用,為了容易地理解程序,要求自頂向下地理解現(xiàn)有源程序的 程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),為此可采用如下幾種方法。 (1)分析程序結(jié)構(gòu)圖。 (2)數(shù)據(jù)跟蹤。 (3)控制跟蹤??刹捎梅?hào)執(zhí)行或?qū)嶋H動(dòng)態(tài)跟蹤的方法, 了解數(shù)據(jù)是如何從一個(gè)輸入源到達(dá)輸出點(diǎn)的。 (4)在分析的過程中,應(yīng)充分閱讀和使用源程序清單和文 檔,分析現(xiàn)有文檔的合理性。 (5)充分使用由編譯程序或匯編
12、程序提供的交叉引用表、 符號(hào)表,以及其他有用的信息。 (6)如有可能,爭取參加開發(fā)工作。,9.3 程序修改的步驟及修改的副作用,對(duì)程序的修改,必須事先做出計(jì)劃,有準(zhǔn)備地、周密有效 地實(shí)施修改。 1設(shè)計(jì)程序的修改計(jì)劃 程序的修改計(jì)劃要考慮人員和資源的安排。修改計(jì)劃的內(nèi) 容主要包括以下幾項(xiàng): (1)規(guī)格說明信息:數(shù)據(jù)修改、處理修改、作業(yè)控制語言 修改、系統(tǒng)之間接口的修改等。 (2)維護(hù)資源:新程序版本、測(cè)試數(shù)據(jù)、所需的軟件系 統(tǒng)、計(jì)算機(jī)時(shí)間等。,9.3 程序修改的步驟及修改的副作用,修改程序,(3)人員:程序員、用戶相關(guān)人員、技術(shù)支持人員、廠家 聯(lián)系人、數(shù)據(jù)錄入員等。 (4)提供:紙質(zhì)、計(jì)算機(jī)媒體
13、等。 針對(duì)以上每一項(xiàng),要說明必要性、從何處著手、是否接 受、日期等。通常,可采用自頂向下的方法,在理解程序的 基礎(chǔ)上做如下工作: (1)研究程序的各個(gè)模塊、模塊的接口及數(shù)據(jù)庫,從全局 的觀點(diǎn)提出修改計(jì)劃。 (2)依次把要修改的、以及那些受修改影響的模塊和數(shù)據(jù) 結(jié)構(gòu)分離出來。,9.3 程序修改的步驟及修改的副作用,(3)詳細(xì)地分析要修改的,以及那些受變更影響的模塊和 數(shù)據(jù)結(jié)構(gòu)的內(nèi)部細(xì)節(jié),設(shè)計(jì)修改計(jì)劃,標(biāo)明新邏輯及 要改動(dòng)的現(xiàn)有邏輯。 (4)向用戶提供回避措施。用戶的某些業(yè)務(wù)因軟件中發(fā)生 問題而中斷,為不讓系統(tǒng)長時(shí)間停止運(yùn)行,需把問題 局部化,在可能的范圍內(nèi)繼續(xù)開展業(yè)務(wù)。,9.3 程序修改的步驟及
14、修改的副作用,2修改代碼,以適應(yīng)變化 (1)正確、有效地編寫修改代碼; (2)要謹(jǐn)慎地修改程序,盡量保持程序的風(fēng)格及格式,要在程序清單上注明改動(dòng)的指令; (3)不要匆忙刪除程序語句,除非完全肯定它是無用的; (4)不要試圖共用程序中已有的臨時(shí)變量或工作區(qū),為了 避免沖突或混淆用途,應(yīng)自行設(shè)置自己的變量; (5)插入錯(cuò)誤檢測(cè)語句; (6)保持詳細(xì)的維護(hù)活動(dòng)和維護(hù)結(jié)果記錄; (7)如果程序結(jié)構(gòu)混亂,修改受到干擾,可拋棄程序重新 編寫。,9.3 程序修改的步驟及修改的副作用,所謂程序修改的副作用是指因修改軟件而造成的錯(cuò)誤 或其他不希望發(fā)生的情況,有以下3種副作用: 1修改代碼的副作用 在使用程序設(shè)計(jì)
15、語言修改源代碼時(shí),都可能引入新的 錯(cuò)誤。例如,刪除或修改一個(gè)子程序、刪除或修改一個(gè)標(biāo) 號(hào)、刪除或修改一個(gè)標(biāo)識(shí)符、改變程序代碼的時(shí)序關(guān)系、 改變占用存儲(chǔ)的大小、改變邏輯運(yùn)算符、修改文件的打開 或關(guān)閉、改進(jìn)程序的執(zhí)行效率,以及把設(shè)計(jì)上的改變翻譯 成代碼的改變、為邊界條件的邏輯測(cè)試做出改變時(shí),都容 易引入錯(cuò)誤。,9.3 程序修改的步驟及修改的副作用,修改程序的副作用及其控制,2修改數(shù)據(jù)的副作用 在修改數(shù)據(jù)結(jié)構(gòu)時(shí),有可能造成軟件設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)不匹 配,因而導(dǎo)致軟件出錯(cuò)。修改數(shù)據(jù)的副作用是修改軟件信息 結(jié)構(gòu)導(dǎo)致的結(jié)果。例如,在重新定義局部的或全局的常量、 重新定義記錄或文件的格式、增大或減小一個(gè)數(shù)組或高
16、層數(shù) 據(jù)結(jié)構(gòu)的大小、修改全局或公共數(shù)據(jù)、重新初始化控制標(biāo)志 或指針、重新排列輸入/輸出或子程序的參數(shù)時(shí),容易導(dǎo)致 設(shè)計(jì)與數(shù)據(jù)不相容的錯(cuò)誤。數(shù)據(jù)副作用可以通過詳細(xì)的設(shè)計(jì) 文檔加以控制。,9.3 程序修改的步驟及修改的副作用,3修改文檔的副作用 對(duì)數(shù)據(jù)流、軟件結(jié)構(gòu)、模塊邏輯或任何其他有關(guān)特性進(jìn) 行修改時(shí),必須對(duì)相關(guān)技術(shù)文檔進(jìn)行相應(yīng)修改。如果對(duì)可 執(zhí)行軟件的修改不反映在文檔里,會(huì)產(chǎn)生文檔的副作用。 例如,對(duì)交互輸入的順序或格式進(jìn)行修改,如果沒有正確 地記入文檔中,可能引起重大的問題。過時(shí)的文檔內(nèi)容、 索引和文本可能造成沖突,引起用戶業(yè)務(wù)的失敗和不滿。 因此,必須在軟件交付之前對(duì)整個(gè)軟件配置進(jìn)行評(píng)審,
17、以 減少文檔的副作用。,9.3 程序修改的步驟及修改的副作用,為了控制因修改而引起的副作用,要做到: (1)按模塊把修改分組; (2)自頂向下地安排被修改模塊的順序; (3)每次修改一個(gè)模塊; (4)對(duì)于每個(gè)修改了的模塊,在安排修改下一個(gè)模塊之 前,要確定這個(gè)修改的副作用,可以使用交叉引用 表、存儲(chǔ)映象表、執(zhí)行流程跟蹤等。,9.3 程序修改的步驟及修改的副作用,1靜態(tài)確認(rèn) 修改的軟件,通常伴隨著引起新的錯(cuò)誤的危險(xiǎn)。為了能夠 做出正確的判定,驗(yàn)證修改后的程序至少需要兩個(gè)人參加。 要檢查: (1)修改是否涉及規(guī)格說明?修改結(jié)果是否符合規(guī)格說 明?有沒有歪曲規(guī)格說明? (2)程序的修改是否足以修正軟
18、件中的問題?源程序代碼 有無邏輯錯(cuò)誤?修改時(shí)有無修補(bǔ)失誤? (3)修改部分對(duì)其他部分有無不良影響(副作用)? 對(duì)軟件進(jìn)行修改,常常會(huì)引發(fā)別的問題,因此,有必要 檢查修改的影響范圍。,重新驗(yàn)證程序,9.3 程序修改的步驟及修改的副作用,2確認(rèn)測(cè)試 在充分進(jìn)行了以上確認(rèn)的基礎(chǔ)上,要用計(jì)算機(jī)對(duì)修改程 序進(jìn)行確認(rèn)測(cè)試。 (1)確認(rèn)測(cè)試順序:先對(duì)修改部分進(jìn)行測(cè)試,然后隔離修 改部分,測(cè)試程序的未修改部分,最后再把它們集成起 來進(jìn)行測(cè)試。這種測(cè)試稱為回歸測(cè)試。 (2)準(zhǔn)備標(biāo)準(zhǔn)的測(cè)試用例。 (3)充分利用軟件工具幫助重新驗(yàn)證過程。 (4)在重新確認(rèn)過程中,需邀請(qǐng)用戶參加。,9.3 程序修改的步驟及修改的副作
19、用,3維護(hù)后的驗(yàn)收 在交付新軟件之前,維護(hù)主管部門要檢驗(yàn): (1)全部文檔是否完備,并已更新; (2)所有測(cè)試用例和測(cè)試結(jié)果已經(jīng)正確記載; (3)記錄軟件配置所有副本的工作已經(jīng)完成; (4)維護(hù)工序和責(zé)任是明確的。,9.3 程序修改的步驟及修改的副作用,軟件維護(hù)性是指當(dāng)對(duì)軟件實(shí)施各種類型的維護(hù)而進(jìn)行修改時(shí),軟件產(chǎn)品可被修改的能力。 軟件維護(hù)的子特性:,9.4 軟件的維護(hù)性,軟件維護(hù)性的定義,9.4 軟件的維護(hù)性,軟件維護(hù)性度量的任務(wù)是對(duì)軟件產(chǎn)品的維護(hù)性給出量化的評(píng)價(jià)。 軟件維護(hù)的度量也分為內(nèi)部維護(hù)性度量和外部維護(hù)性度量,兩者的差別如下表。,1模塊化 模塊化技術(shù)的優(yōu)點(diǎn)是如果需要改變某個(gè)模塊的功能
20、,則 只要改變這個(gè)模塊,對(duì)其他模塊影響很?。蝗绻枰黾?程序的某些功能,則僅需增加完成這些功能的新的模塊或 模塊層;程序的測(cè)試與重復(fù)測(cè)試比較容易;程序錯(cuò)誤易于 定位和糾正;容易提高程序效率。 2結(jié)構(gòu)化程序設(shè)計(jì) 結(jié)構(gòu)化程序設(shè)計(jì)不僅使得模塊結(jié)構(gòu)標(biāo)準(zhǔn)化,而且將模塊 間的相互作用也標(biāo)準(zhǔn)化了,因而把模塊化又向前推進(jìn)了一 步。采用結(jié)構(gòu)化程序設(shè)計(jì)可以獲得良好的程序結(jié)構(gòu)。,使用提高軟件質(zhì)量的技術(shù)和工具,9.5 提高軟件維護(hù)性的方法,3使用結(jié)構(gòu)化程序設(shè)計(jì)技術(shù),提高現(xiàn)有系統(tǒng)的可 維護(hù)性 (1)采用備用件的方法當(dāng)要修改某一個(gè)模塊時(shí),用一 個(gè)新的結(jié)構(gòu)良好的模塊替換掉整個(gè)模塊。 (2)采用自動(dòng)重建結(jié)構(gòu)和重新格式化的工
21、具(結(jié)構(gòu)更新技 術(shù))。 (3)改進(jìn)現(xiàn)有程序的不完善的文檔。 (4)使用結(jié)構(gòu)化程序設(shè)計(jì)方法實(shí)現(xiàn)新的子系統(tǒng)。 (5)采用結(jié)構(gòu)化小組。,9.5 提高軟件維護(hù)性的方法,質(zhì)量保證審查除了保證軟件得到適當(dāng)?shù)馁|(zhì)量外,還可以用 來檢測(cè)在開發(fā)和維護(hù)階段內(nèi)發(fā)生的質(zhì)量變化。一旦檢測(cè)出問 題來,就可以采取措施糾正,以控制不斷增長的軟件維護(hù)成 本。 為了保證軟件的可維護(hù)性,有4種類型的軟件審查。 檢查點(diǎn)審查 驗(yàn)收檢查 周期性的維護(hù)審查 對(duì)軟件包進(jìn)行檢查,9.5 提高軟件維護(hù)性的方法,實(shí)施開發(fā)階段產(chǎn)品的維護(hù)性審查,9.5 提高軟件維護(hù)性的方法,1檢查點(diǎn)審查 保證軟件質(zhì)量的最佳方法是在軟件開發(fā)的最初階段就把質(zhì)量要求考慮進(jìn)去
22、,并在開發(fā)過程每一個(gè)階段的終點(diǎn),設(shè)置檢查點(diǎn)進(jìn)行檢查。 檢查的目的是要證實(shí),已開發(fā)的軟件是否符合標(biāo)準(zhǔn),是否滿足規(guī)定的質(zhì)量需求。,9.5 提高軟件維護(hù)性的方法,1. 檢查點(diǎn)審查 在不同的檢查點(diǎn),檢查的重點(diǎn)不完全相同,例如,在設(shè)計(jì)階段,檢查重點(diǎn)是可理解性、可修改性、可測(cè)試性??衫斫庑詸z查的重點(diǎn)是程序的復(fù)雜性。如下圖所示。,2驗(yàn)收檢查 驗(yàn)收檢查是一個(gè)特殊的檢查點(diǎn)的檢查,是交付使用前的最 后一次檢查,是軟件投入運(yùn)行之前保證可維護(hù)性的最后機(jī) 會(huì)。以下是驗(yàn)收檢查必須遵循的最小驗(yàn)收標(biāo)準(zhǔn)。 (1)需求和規(guī)范標(biāo)準(zhǔn) 需求應(yīng)當(dāng)以可測(cè)試的術(shù)語進(jìn)行書寫,按優(yōu)先次序排列和定義。 區(qū)分必須的、任選的、將來的需求。 包括對(duì)系統(tǒng)
23、運(yùn)行時(shí)的計(jì)算機(jī)設(shè)備的需求;對(duì)維護(hù)、測(cè)試、操作,以及維護(hù)人員的需求;對(duì)測(cè)試工具等的需求。,9.5 提高軟件維護(hù)性的方法,(2)設(shè)計(jì)標(biāo)準(zhǔn) 程序應(yīng)設(shè)計(jì)成分層的模塊結(jié)構(gòu)。每個(gè)模塊應(yīng)完成唯一的 功能,并達(dá)到高內(nèi)聚、低耦合。 通過一些知道預(yù)期變化的實(shí)例,說明設(shè)計(jì)的可擴(kuò)充性、 可縮減性和可適應(yīng)性。,9.5 提高軟件維護(hù)性的方法,(3)源代碼標(biāo)準(zhǔn) 盡可能使用程序設(shè)計(jì)語言的標(biāo)準(zhǔn)版本。 所有的代碼都必須具有良好的結(jié)構(gòu)。 所有的代碼都必須文檔化,在注釋中說明它的輸入、輸出,以及便于測(cè)試/再測(cè)試的一些特點(diǎn)與風(fēng)格。 (4)文檔標(biāo)準(zhǔn) 文檔中應(yīng)說明程序的輸入/輸出、使用的方法/算法、錯(cuò)誤恢復(fù)方法、所有參數(shù)的范圍、默認(rèn)條件等。,3周期性地維護(hù)審查
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保潔公司人員合同樣本
- 中山餐飲合同樣本
- 養(yǎng)雞場(chǎng)經(jīng)營合同樣本
- 刀模采購合同標(biāo)準(zhǔn)文本
- 保薦機(jī)構(gòu)承銷合同樣本
- 制砂機(jī)加工合同標(biāo)準(zhǔn)文本
- 公寓單間租賃合同標(biāo)準(zhǔn)文本
- 關(guān)于財(cái)務(wù)服務(wù)合同樣本
- 冷庫保管合同樣本
- 制式合同和合同標(biāo)準(zhǔn)文本區(qū)別
- 中國變應(yīng)性鼻炎診斷和治療指南(2022版)解讀
- 印刷品投標(biāo)方案
- 焊材發(fā)放與回收及焊條烘干記錄記錄表
- 前言 馬克思主義中國化時(shí)代化的歷史進(jìn)程與理論成果
- 組合電器(gis)設(shè)備解體大修作業(yè)指導(dǎo)書
- 酒精依賴癥研究白皮書
- 服裝高級(jí)定制技術(shù)
- 21ZJ111 變形縫建筑構(gòu)造
- 第1章 健康風(fēng)險(xiǎn)與健康保險(xiǎn)《健康保險(xiǎn)學(xué)》教學(xué)課件
- 復(fù)變函數(shù)與積分變換-西北工業(yè)大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- SAP各模塊常用表清單
評(píng)論
0/150
提交評(píng)論