版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院第第7 7章章 軟件維護(hù)技術(shù)軟件維護(hù)技術(shù)( (第第7.1-7.47.1-7.4節(jié))節(jié))武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院主要內(nèi)容主要內(nèi)容軟件維護(hù)基本概念軟件維護(hù)基本概念軟件維護(hù)過程軟件維護(hù)過程軟件可維護(hù)性軟件可維護(hù)性軟件再工程技術(shù)軟件再工程技術(shù)武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院軟件維護(hù)軟件維護(hù)所謂軟件維護(hù)是指軟件所謂軟件維護(hù)是指軟件交付使用之后,為了改交付使用之后,為了改正錯(cuò)誤或滿足新的需求正錯(cuò)誤或滿足新的需求等而修改軟件以達(dá)到延等而修改軟件以達(dá)到延長(zhǎng)軟件壽命為目的的過長(zhǎng)軟件壽命為目的的過程。程
2、。 軟件維護(hù)階段的長(zhǎng)短決軟件維護(hù)階段的長(zhǎng)短決定了軟件壽命的長(zhǎng)短;定了軟件壽命的長(zhǎng)短;軟件維護(hù)階段的費(fèi)用占軟件維護(hù)階段的費(fèi)用占軟件總成本的大部分。軟件總成本的大部分。 軟件維護(hù)像一座冰山軟件維護(hù)像一座冰山武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.1 軟件維護(hù)的基本概念軟件維護(hù)的基本概念 軟件維護(hù)不同于硬件維護(hù),主要原因是軟件維護(hù)不同于硬件維護(hù),主要原因是軟件維護(hù)不是因?yàn)槭褂脮r(shí)軟件磨損或老軟件維護(hù)不是因?yàn)槭褂脮r(shí)軟件磨損或老化引起,而是由于軟件設(shè)計(jì)不正確、不化引起,而是由于軟件設(shè)計(jì)不正確、不完善或使用環(huán)境的變化等引起。完善或使用環(huán)境的變化等引起。因而,在維護(hù)類型、維護(hù)策略、維護(hù)成因
3、而,在維護(hù)類型、維護(hù)策略、維護(hù)成本以及維護(hù)的影響方面必須引起軟件維本以及維護(hù)的影響方面必須引起軟件維護(hù)人員的重視,否則,軟件維護(hù)對(duì)軟件護(hù)人員的重視,否則,軟件維護(hù)對(duì)軟件質(zhì)量來說將是一場(chǎng)災(zāi)難。質(zhì)量來說將是一場(chǎng)災(zāi)難。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.1.1 軟件維護(hù)類型軟件維護(hù)類型 起起 因因維維 護(hù)護(hù) 活活 動(dòng)動(dòng)舉舉 例例由于開發(fā)時(shí)測(cè)試不徹由于開發(fā)時(shí)測(cè)試不徹底或不完全導(dǎo)致運(yùn)行底或不完全導(dǎo)致運(yùn)行階段出現(xiàn)的故障階段出現(xiàn)的故障改正性維護(hù):改正性維護(hù):識(shí)別和糾正軟件錯(cuò)誤,改正性能上識(shí)別和糾正軟件錯(cuò)誤,改正性能上的缺陷,排除實(shí)施中的誤使用而進(jìn)行的診斷和改的缺陷,排除實(shí)施中的誤使
4、用而進(jìn)行的診斷和改正錯(cuò)誤的活動(dòng)。約占整個(gè)維護(hù)的正錯(cuò)誤的活動(dòng)。約占整個(gè)維護(hù)的20%20%特殊情況(如特殊的特殊情況(如特殊的輸入數(shù)據(jù)組合)未處輸入數(shù)據(jù)組合)未處理引起的故障理引起的故障運(yùn)行環(huán)境的變化運(yùn)行環(huán)境的變化適應(yīng)性維護(hù)適應(yīng)性維護(hù):使軟件適應(yīng)處理環(huán)境或數(shù)據(jù)要求的:使軟件適應(yīng)處理環(huán)境或數(shù)據(jù)要求的變化而修改軟件的活動(dòng)。約占整個(gè)維護(hù)的變化而修改軟件的活動(dòng)。約占整個(gè)維護(hù)的25%25%在字處理系統(tǒng)中增加在字處理系統(tǒng)中增加新的打印設(shè)備新的打印設(shè)備用戶對(duì)軟件提出新的用戶對(duì)軟件提出新的功能或性能要求功能或性能要求完善性維護(hù)或增強(qiáng):完善性維護(hù)或增強(qiáng):修改或再開發(fā)軟件,以擴(kuò)充修改或再開發(fā)軟件,以擴(kuò)充軟件功能,增強(qiáng)
5、軟件性能等。約占整個(gè)維護(hù)的軟件功能,增強(qiáng)軟件性能等。約占整個(gè)維護(hù)的50%50%修改工資管理程序,修改工資管理程序,以體現(xiàn)新的結(jié)算方法以體現(xiàn)新的結(jié)算方法為提高軟件的可維護(hù)為提高軟件的可維護(hù)性等,以便將來進(jìn)一性等,以便將來進(jìn)一步改進(jìn)軟件打基礎(chǔ)步改進(jìn)軟件打基礎(chǔ)預(yù)防性維護(hù)或再工程:預(yù)防性維護(hù)或再工程:采用先進(jìn)的軟件工程方法采用先進(jìn)的軟件工程方法對(duì)需要維護(hù)的軟件或軟件的某一部分(重新)進(jìn)對(duì)需要維護(hù)的軟件或軟件的某一部分(重新)進(jìn)行設(shè)計(jì)、編碼和測(cè)試。連同其它維護(hù)約占整個(gè)維行設(shè)計(jì)、編碼和測(cè)試。連同其它維護(hù)約占整個(gè)維護(hù)的護(hù)的5%5%將非結(jié)構(gòu)化的應(yīng)用軟將非結(jié)構(gòu)化的應(yīng)用軟件轉(zhuǎn)化成結(jié)構(gòu)化的軟件轉(zhuǎn)化成結(jié)構(gòu)化的軟件件除
6、此四類維護(hù)活動(dòng)外,還有一些其它類型的維護(hù)活動(dòng),如:支援除此四類維護(hù)活動(dòng)外,還有一些其它類型的維護(hù)活動(dòng),如:支援性維護(hù)(如用戶的培訓(xùn)等)。性維護(hù)(如用戶的培訓(xùn)等)。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.1.2 軟件維護(hù)策略軟件維護(hù)策略 不同的維護(hù)類型需要采用不同的維護(hù)類型需要采用不同的維護(hù)策略。不同的維護(hù)策略。武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院改正性維護(hù)改正性維護(hù) 在開發(fā)過程中要生成在開發(fā)過程中要生成100%可靠無誤的軟件可靠無誤的軟件通常是不太現(xiàn)實(shí)的,但通過使用一些新技術(shù),通常是不太現(xiàn)實(shí)的,但通過使用一些新技術(shù),可以大大減少進(jìn)行改正性維護(hù)的需要。除
7、此之可以大大減少進(jìn)行改正性維護(hù)的需要。除此之外,還可通過以下方法來減少此類維護(hù)活動(dòng):外,還可通過以下方法來減少此類維護(hù)活動(dòng):利用應(yīng)用軟件包;利用應(yīng)用軟件包;進(jìn)行防錯(cuò)程序設(shè)計(jì);進(jìn)行防錯(cuò)程序設(shè)計(jì);提高系統(tǒng)結(jié)構(gòu)化程度;提高系統(tǒng)結(jié)構(gòu)化程度;進(jìn)行周期性維護(hù)審查。進(jìn)行周期性維護(hù)審查。武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院適應(yīng)性維護(hù)適應(yīng)性維護(hù) 運(yùn)行環(huán)境的變化是不可避免的,但可以控制。運(yùn)行環(huán)境的變化是不可避免的,但可以控制。進(jìn)行配置管理。把硬件、操作系統(tǒng)和其他進(jìn)行配置管理。把硬件、操作系統(tǒng)和其他相關(guān)環(huán)境因素的可能變化進(jìn)行配置管理。相關(guān)環(huán)境因素的可能變化進(jìn)行配置管理。修改局部化。把因環(huán)境變化而
8、必須修改的修改局部化。把因環(huán)境變化而必須修改的程序局部于某些程序模塊中。程序局部于某些程序模塊中。使用例行程序包等。例如使用內(nèi)部程序列使用例行程序包等。例如使用內(nèi)部程序列表等,可為維護(hù)性修改程序提供方便。表等,可為維護(hù)性修改程序提供方便。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院完善性維護(hù)完善性維護(hù) 利用前兩類維護(hù)中列舉的方法,可以利用前兩類維護(hù)中列舉的方法,可以減少此類維護(hù)。另外,使用功能強(qiáng)且易于減少此類維護(hù)。另外,使用功能強(qiáng)且易于使用的工具和通過用戶使用系統(tǒng)原型模型使用的工具和通過用戶使用系統(tǒng)原型模型完整地確定系統(tǒng)需求等可以減少完善性維完整地確定系統(tǒng)需求等可以減少完善性維護(hù)
9、的工作量。護(hù)的工作量。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院預(yù)防性維護(hù)預(yù)防性維護(hù) 可通過采用提前實(shí)現(xiàn)或可通過采用提前實(shí)現(xiàn)或軟件重用等手段或技術(shù)來減軟件重用等手段或技術(shù)來減少此類維護(hù)活動(dòng)的工作量。少此類維護(hù)活動(dòng)的工作量。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院支援性維護(hù)支援性維護(hù) 可通過提供最新用戶文檔或可通過提供最新用戶文檔或聯(lián)機(jī)用戶文檔,進(jìn)行適當(dāng)?shù)挠脩袈?lián)機(jī)用戶文檔,進(jìn)行適當(dāng)?shù)挠脩襞嘤?xùn)或設(shè)立專門的維護(hù)人員等方培訓(xùn)或設(shè)立專門的維護(hù)人員等方式來減少此類維護(hù)活動(dòng)。式來減少此類維護(hù)活動(dòng)。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.1.3 軟件維護(hù)
10、成本軟件維護(hù)成本 軟件維護(hù)活動(dòng)所花費(fèi)的工作量占軟件整個(gè)生存軟件維護(hù)活動(dòng)所花費(fèi)的工作量占軟件整個(gè)生存期工作量的期工作量的70%以上。影響軟件維護(hù)工作量以上。影響軟件維護(hù)工作量的因素有很多,就軟件系本身而言,有以下幾的因素有很多,就軟件系本身而言,有以下幾個(gè)主要方面:個(gè)主要方面: 系統(tǒng)的大小系統(tǒng)的大??;程序設(shè)計(jì)語言程序設(shè)計(jì)語言;系統(tǒng)年齡系統(tǒng)年齡;數(shù)據(jù)庫技術(shù)的應(yīng)用;數(shù)據(jù)庫技術(shù)的應(yīng)用;軟件開發(fā)新技術(shù)的運(yùn)用。軟件開發(fā)新技術(shù)的運(yùn)用。武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院維護(hù)工作量:維護(hù)工作量:Boehm模型模型MM維護(hù)維護(hù)=ACT*MM開發(fā)開發(fā)*EAF ACT=(修改的指令數(shù)(修改的指令
11、數(shù)+增加的指令數(shù))增加的指令數(shù))/指令總數(shù)指令總數(shù);調(diào)節(jié)因子調(diào)節(jié)因子EAF(Effort Adjustment Factor) 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院Belady與與Lehman模型模型M=P+K(c-d) MM表示維護(hù)所需工作量;表示維護(hù)所需工作量;P P表示生產(chǎn)性工作量,如問題分析和評(píng)價(jià)、表示生產(chǎn)性工作量,如問題分析和評(píng)價(jià)、修改設(shè)計(jì)、實(shí)現(xiàn)等;修改設(shè)計(jì)、實(shí)現(xiàn)等;K K表示一個(gè)經(jīng)驗(yàn)常數(shù);表示一個(gè)經(jīng)驗(yàn)常數(shù);c c表示因未采用結(jié)構(gòu)化方法和缺少文檔而增表示因未采用結(jié)構(gòu)化方法和缺少文檔而增加的軟件復(fù)雜度;加的軟件復(fù)雜度;d表示維護(hù)人員對(duì)軟件的熟悉程度。表示維護(hù)人員對(duì)軟
12、件的熟悉程度。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.1.4 軟件維護(hù)的副作用軟件維護(hù)的副作用 所謂軟件維護(hù)的副作用,就是指由于修所謂軟件維護(hù)的副作用,就是指由于修改程序而導(dǎo)致的錯(cuò)誤或其它不需要的活改程序而導(dǎo)致的錯(cuò)誤或其它不需要的活動(dòng)。動(dòng)。Freedman和和Weinberg定義了三類主定義了三類主要副作用,即:修改代碼的副作用、修要副作用,即:修改代碼的副作用、修改數(shù)據(jù)的副作用和修改文檔資料的副作改數(shù)據(jù)的副作用和修改文檔資料的副作用。用。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院控制副作用控制副作用1 1按模塊把修改分組;按模塊把修改分組;2 2自頂向下
13、地安排所修改模塊的順序;自頂向下地安排所修改模塊的順序;3 3每次修改一個(gè)模塊;每次修改一個(gè)模塊;4 4對(duì)于每個(gè)修改了的模塊,在安排修改下對(duì)于每個(gè)修改了的模塊,在安排修改下一個(gè)模塊之前,要確定這個(gè)修改的副作一個(gè)模塊之前,要確定這個(gè)修改的副作用。用。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.1.5 軟件維護(hù)的困難軟件維護(hù)的困難 理解別人的程序困難,且困難程度隨軟件配置理解別人的程序困難,且困難程度隨軟件配置成分的減少而迅速增加。成分的減少而迅速增加。需要維護(hù)的軟件往往存在文檔資料不全,甚至需要維護(hù)的軟件往往存在文檔資料不全,甚至有文檔也不易理解并和程序代碼可能不一致。有文檔也
14、不易理解并和程序代碼可能不一致。當(dāng)前,有些軟件的文檔是在代碼形成后為了應(yīng)當(dāng)前,有些軟件的文檔是在代碼形成后為了應(yīng)付所謂的鑒定而突擊出來的。付所謂的鑒定而突擊出來的。大多數(shù)軟件在開發(fā)時(shí)沒有考慮到將來的維護(hù)。大多數(shù)軟件在開發(fā)時(shí)沒有考慮到將來的維護(hù)。軟件維護(hù)被人們看成是一種沒有創(chuàng)造性的工作,軟件維護(hù)被人們看成是一種沒有創(chuàng)造性的工作,往往不能引起人們的重視。部分人認(rèn)為,維護(hù)往往不能引起人們的重視。部分人認(rèn)為,維護(hù)別人的程序不如開發(fā)新的程序。別人的程序不如開發(fā)新的程序。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.2 軟件維護(hù)過程軟件維護(hù)過程 軟件維護(hù)過程本質(zhì)上是修改和壓縮了的軟件維護(hù)過
15、程本質(zhì)上是修改和壓縮了的軟件定義和軟件開發(fā)過程。軟件定義和軟件開發(fā)過程。首先,必須建立一個(gè)維護(hù)組織,確定提首先,必須建立一個(gè)維護(hù)組織,確定提出維護(hù)申請(qǐng)的過程及評(píng)價(jià)的過程,為每出維護(hù)申請(qǐng)的過程及評(píng)價(jià)的過程,為每個(gè)維護(hù)申請(qǐng)規(guī)定標(biāo)準(zhǔn)的處理步驟。建立個(gè)維護(hù)申請(qǐng)規(guī)定標(biāo)準(zhǔn)的處理步驟。建立維護(hù)活動(dòng)的登記制度,并規(guī)定復(fù)審標(biāo)準(zhǔn)。維護(hù)活動(dòng)的登記制度,并規(guī)定復(fù)審標(biāo)準(zhǔn)。然后,按維護(hù)組織建立的過程進(jìn)行維護(hù)然后,按維護(hù)組織建立的過程進(jìn)行維護(hù)活動(dòng)。活動(dòng)。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.2.1 維護(hù)組織維護(hù)組織 維護(hù)申請(qǐng)維護(hù)管理員修改批準(zhǔn)人員系統(tǒng)管理員維護(hù)人員配置管理員軟件系統(tǒng)武漢紡織大學(xué)數(shù)學(xué)與
16、計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院職責(zé)職責(zé)將維護(hù)申請(qǐng)?zhí)峤唤o將維護(hù)申請(qǐng)?zhí)峤唤o維護(hù)管理員維護(hù)管理員,由維護(hù)管理員,由維護(hù)管理員將其交給某系統(tǒng)的系統(tǒng)管理員去評(píng)價(jià)。將其交給某系統(tǒng)的系統(tǒng)管理員去評(píng)價(jià)。系統(tǒng)管理員系統(tǒng)管理員是熟悉產(chǎn)品程序的某部分的技術(shù)人是熟悉產(chǎn)品程序的某部分的技術(shù)人員。員。系統(tǒng)管理員對(duì)維護(hù)申請(qǐng)?jiān)u價(jià)后由系統(tǒng)管理員對(duì)維護(hù)申請(qǐng)?jiān)u價(jià)后由修改批準(zhǔn)人員修改批準(zhǔn)人員(又稱變化授權(quán)人)決定如何進(jìn)行修改。(又稱變化授權(quán)人)決定如何進(jìn)行修改。維護(hù)人員維護(hù)人員在系統(tǒng)管理員的指導(dǎo)下修改軟件系統(tǒng)。在系統(tǒng)管理員的指導(dǎo)下修改軟件系統(tǒng)。在維護(hù)人員對(duì)系統(tǒng)進(jìn)行修改的過程中,在維護(hù)人員對(duì)系統(tǒng)進(jìn)行修改的過程中,配置管配置管理
17、員理員應(yīng)對(duì)軟件配置進(jìn)行審查。應(yīng)對(duì)軟件配置進(jìn)行審查。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.2.2 維護(hù)申請(qǐng)維護(hù)申請(qǐng) 維護(hù)組織通常提供維護(hù)申請(qǐng)表維護(hù)組織通常提供維護(hù)申請(qǐng)表(Maintenance Request FormMaintenance Request Form,簡(jiǎn)寫為,簡(jiǎn)寫為MRFMRF),由申請(qǐng)維護(hù)的用戶填寫。),由申請(qǐng)維護(hù)的用戶填寫。如果是改正性的維護(hù),用戶必須完整地如果是改正性的維護(hù),用戶必須完整地說明出錯(cuò)的情況,如輸入數(shù)據(jù),全部輸說明出錯(cuò)的情況,如輸入數(shù)據(jù),全部輸出信息以及其他有關(guān)材料。出信息以及其他有關(guān)材料。如果申請(qǐng)的是適應(yīng)性或完善性維護(hù),則如果申請(qǐng)的是適
18、應(yīng)性或完善性維護(hù),則應(yīng)提出一個(gè)簡(jiǎn)短的需求說明書。應(yīng)提出一個(gè)簡(jiǎn)短的需求說明書。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院(1 1)為滿足)為滿足MRFMRF要求所需工作量。要求所需工作量。(2 2)維護(hù)請(qǐng)求的性質(zhì)。)維護(hù)請(qǐng)求的性質(zhì)。(3 3)維護(hù)申請(qǐng)的優(yōu)先次序。)維護(hù)申請(qǐng)的優(yōu)先次序。(4 4)預(yù)計(jì)修改后的狀態(tài)。)預(yù)計(jì)修改后的狀態(tài)。軟件修改報(bào)告軟件修改報(bào)告 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.2.3 維護(hù)工作流程維護(hù)工作流程 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院(1 1)分析和理解程序。)分析和理解程序。(2 2)修改程序。)修改程序。(
19、3 3)重新驗(yàn)證程序。)重新驗(yàn)證程序。 進(jìn)行各種測(cè)試:進(jìn)行各種測(cè)試: 修改事務(wù)、修改程序、操作過程、應(yīng)用系統(tǒng)運(yùn)用過程、使用修改事務(wù)、修改程序、操作過程、應(yīng)用系統(tǒng)運(yùn)用過程、使用過程、各部分接口、作業(yè)控制語言、系統(tǒng)軟件接口、軟件系統(tǒng)之過程、各部分接口、作業(yè)控制語言、系統(tǒng)軟件接口、軟件系統(tǒng)之間接口、安全性、備份間接口、安全性、備份/ /恢復(fù)過程等恢復(fù)過程等(4)評(píng)審)評(píng)審實(shí)施維護(hù)的步驟實(shí)施維護(hù)的步驟 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.2.4 維護(hù)記錄與評(píng)價(jià)維護(hù)記錄與評(píng)價(jià) Swanson維護(hù)記錄維護(hù)記錄:程序標(biāo)識(shí);程序標(biāo)識(shí);源程序語句數(shù);源程序語句數(shù);機(jī)器代碼指令數(shù);機(jī)器代碼
20、指令數(shù);使用的程序設(shè)計(jì)語言;使用的程序設(shè)計(jì)語言;程序交付日期;程序交付日期; 程序交付以來的運(yùn)行次數(shù);程序交付以來的運(yùn)行次數(shù);自交付以來程序失效的次數(shù);自交付以來程序失效的次數(shù);程序變動(dòng)的層次和標(biāo)識(shí);程序變動(dòng)的層次和標(biāo)識(shí);因程序變動(dòng)而增加的語句數(shù);因程序變動(dòng)而增加的語句數(shù);因程序變動(dòng)而刪除的語句數(shù);因程序變動(dòng)而刪除的語句數(shù);每項(xiàng)修改耗費(fèi)的人時(shí)數(shù);每項(xiàng)修改耗費(fèi)的人時(shí)數(shù);程序修改日期;程序修改日期;軟件工程師名字;軟件工程師名字;維護(hù)請(qǐng)求表的標(biāo)識(shí);維護(hù)請(qǐng)求表的標(biāo)識(shí);維護(hù)類型;維護(hù)類型;維護(hù)開始與結(jié)束日期;維護(hù)開始與結(jié)束日期;累計(jì)用于維護(hù)的人時(shí)數(shù);累計(jì)用于維護(hù)的人時(shí)數(shù);與完成的維護(hù)相聯(lián)系的效益。與完
21、成的維護(hù)相聯(lián)系的效益。武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院維護(hù)評(píng)價(jià)維護(hù)評(píng)價(jià)程序運(yùn)行失敗的平均數(shù);程序運(yùn)行失敗的平均數(shù);于每類維護(hù)活動(dòng)的總?cè)藭r(shí)數(shù);于每類維護(hù)活動(dòng)的總?cè)藭r(shí)數(shù);平均每個(gè)程序、每種語言、每種維護(hù)類型所做平均每個(gè)程序、每種語言、每種維護(hù)類型所做的程序變動(dòng)數(shù);的程序變動(dòng)數(shù);維護(hù)過程中增加或刪除一個(gè)源程序語句平均花維護(hù)過程中增加或刪除一個(gè)源程序語句平均花費(fèi)的人時(shí)數(shù);費(fèi)的人時(shí)數(shù);維護(hù)每種語言所花費(fèi)的工作量(平均人時(shí)數(shù));維護(hù)每種語言所花費(fèi)的工作量(平均人時(shí)數(shù));一張維護(hù)申請(qǐng)表的平均周轉(zhuǎn)時(shí)間;一張維護(hù)申請(qǐng)表的平均周轉(zhuǎn)時(shí)間;不同維護(hù)類型所占百分比。不同維護(hù)類型所占百分比。 武漢
22、紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.3 軟件可維護(hù)性軟件可維護(hù)性 軟件可維護(hù)性是指糾正軟件軟件可維護(hù)性是指糾正軟件系統(tǒng)中出現(xiàn)的錯(cuò)誤或缺陷,系統(tǒng)中出現(xiàn)的錯(cuò)誤或缺陷,以及為滿足新的要求進(jìn)行修以及為滿足新的要求進(jìn)行修改、擴(kuò)充和壓縮軟件的容易改、擴(kuò)充和壓縮軟件的容易程度。程度。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.3.1 影響軟件可維護(hù)性的軟件屬性影響軟件可維護(hù)性的軟件屬性 可理解性可理解性:表現(xiàn)為人們通過閱讀源代碼和表現(xiàn)為人們通過閱讀源代碼和相關(guān)文檔,理解軟件的結(jié)構(gòu)、接口、功相關(guān)文檔,理解軟件的結(jié)構(gòu)、接口、功能和內(nèi)部過程的容易程度。能和內(nèi)部過程的容易程度。
23、 可測(cè)試性可測(cè)試性: :一個(gè)軟件容易被測(cè)試的程度。一個(gè)軟件容易被測(cè)試的程度。 可修改性可修改性: :程序容易修改的程度。程序容易修改的程度。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.3.2 軟件可維護(hù)性的定量度量軟件可維護(hù)性的定量度量 T.GilbT.Gilb建議把維護(hù)過程中各種活動(dòng)耗費(fèi)的時(shí)間記下來,以此來建議把維護(hù)過程中各種活動(dòng)耗費(fèi)的時(shí)間記下來,以此來間接度量軟件的可維護(hù)性。記錄的時(shí)間如下:間接度量軟件的可維護(hù)性。記錄的時(shí)間如下:?jiǎn)栴}識(shí)別的時(shí)間;問題識(shí)別的時(shí)間;因管理活動(dòng)拖延的時(shí)間;因管理活動(dòng)拖延的時(shí)間;收集維護(hù)工具的時(shí)間;收集維護(hù)工具的時(shí)間;分析、診斷問題的時(shí)間;分析、
24、診斷問題的時(shí)間;修改規(guī)格說明的時(shí)間;修改規(guī)格說明的時(shí)間;具體的改錯(cuò)或修改的時(shí)間;具體的改錯(cuò)或修改的時(shí)間;局部測(cè)試的時(shí)間;局部測(cè)試的時(shí)間;集成或回歸測(cè)試的時(shí)間;集成或回歸測(cè)試的時(shí)間;維護(hù)評(píng)審的時(shí)間;維護(hù)評(píng)審的時(shí)間;分發(fā)與恢復(fù)運(yùn)行的時(shí)間。分發(fā)與恢復(fù)運(yùn)行的時(shí)間。 以上以上1010項(xiàng)表明了一個(gè)維護(hù)過程所包含的全部活動(dòng)??梢源猪?xiàng)表明了一個(gè)維護(hù)過程所包含的全部活動(dòng)??梢源致缘卣J(rèn)為,這個(gè)周期越短,維護(hù)就越容易。略地認(rèn)為,這個(gè)周期越短,維護(hù)就越容易。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.3.3 提高可維護(hù)性的方法提高可維護(hù)性的方法 建立明確的軟件質(zhì)量目標(biāo)和優(yōu)先級(jí);建立明確的軟件質(zhì)量目標(biāo)
25、和優(yōu)先級(jí);621621 使用提高軟件質(zhì)量的技術(shù)和工具;使用提高軟件質(zhì)量的技術(shù)和工具; 進(jìn)行明確的質(zhì)量保證審查;進(jìn)行明確的質(zhì)量保證審查; 選擇可維護(hù)的程序設(shè)計(jì)語言;選擇可維護(hù)的程序設(shè)計(jì)語言; 改進(jìn)程序文檔;改進(jìn)程序文檔; 開發(fā)時(shí)考慮到維護(hù)。開發(fā)時(shí)考慮到維護(hù)。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.4 軟件再工程技術(shù)軟件再工程技術(shù) 軟件再工程(軟件再工程(ReengineeringReengineering)是一類軟件工)是一類軟件工程活動(dòng),通過對(duì)舊軟件程活動(dòng),通過對(duì)舊軟件( (遺留系統(tǒng)遺留系統(tǒng)) )實(shí)施處理,實(shí)施處理,以增進(jìn)對(duì)軟件的理解,同時(shí)又提高了軟件自身以增進(jìn)對(duì)軟件的理
26、解,同時(shí)又提高了軟件自身的可維護(hù)性、可復(fù)用性等。的可維護(hù)性、可復(fù)用性等。維護(hù)的局限:維護(hù)的局限:采用新技術(shù)所帶來的競(jìng)爭(zhēng)優(yōu)勢(shì)受到嚴(yán)重限制;采用新技術(shù)所帶來的競(jìng)爭(zhēng)優(yōu)勢(shì)受到嚴(yán)重限制;維護(hù)舊軟件的成本隨時(shí)間不斷增加;維護(hù)舊軟件的成本隨時(shí)間不斷增加;修改越來越困難。修改越來越困難。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.4.1 逆向工程逆向工程 軟件逆向工程,通過對(duì)程序的分析,導(dǎo)軟件逆向工程,通過對(duì)程序的分析,導(dǎo)出更高抽象層次的表示,如從現(xiàn)存的程出更高抽象層次的表示,如從現(xiàn)存的程序中抽取數(shù)據(jù)、體系結(jié)構(gòu)、過程的設(shè)計(jì)序中抽取數(shù)據(jù)、體系結(jié)構(gòu)、過程的設(shè)計(jì)信息等,是一個(gè)設(shè)計(jì)恢復(fù)過程。信息等,
27、是一個(gè)設(shè)計(jì)恢復(fù)過程。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.4.2 重構(gòu)重構(gòu) 軟件重構(gòu)是對(duì)源代碼和軟件重構(gòu)是對(duì)源代碼和/或數(shù)據(jù)進(jìn)行修改,或數(shù)據(jù)進(jìn)行修改,使其易于理解或維護(hù),以適應(yīng)將來的變使其易于理解或維護(hù),以適應(yīng)將來的變更。更。 ArnoldArnold總結(jié)了軟件重構(gòu)的好處,即:提總結(jié)了軟件重構(gòu)的好處,即:提高了程序的質(zhì)量;改善了軟件生產(chǎn)率;高了程序的質(zhì)量;改善了軟件生產(chǎn)率;減少了維護(hù)工作量;使軟件易于測(cè)試和減少了維護(hù)工作量;使軟件易于測(cè)試和調(diào)試;等等。調(diào)試;等等。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院面向?qū)ο筌浖貥?gòu)面向?qū)ο筌浖貥?gòu)(refactor
28、ing)n重構(gòu)重構(gòu)(名詞):對(duì)軟件內(nèi)部結(jié)構(gòu)的一種調(diào)整,目的是在不改變軟件可觀察之行為的前提下提高其可理解性、降低其修改的成本。n重構(gòu)重構(gòu)(動(dòng)詞):使用一系列的重構(gòu)(名詞),在不改變軟件可觀察之行為的前提下調(diào)整其結(jié)構(gòu),以達(dá)到提高其可理解性、降低其修改成本的目的。n重構(gòu)是語義保持的(有測(cè)試作為保證)。因此重構(gòu)只會(huì)使軟件質(zhì)量不斷變好,不會(huì)造成破壞。武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院書籍書籍武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.4.3 正向工程正向工程 正向工程也稱為改造,用從現(xiàn)存軟件恢正向工程也稱為改造,用從現(xiàn)存軟件恢復(fù)設(shè)計(jì)中得到的信息去重構(gòu)現(xiàn)存系統(tǒng),復(fù)設(shè)
29、計(jì)中得到的信息去重構(gòu)現(xiàn)存系統(tǒng),以改善其整體質(zhì)量。以改善其整體質(zhì)量。 由于軟件的原型(現(xiàn)存系統(tǒng))已經(jīng)存在,由于軟件的原型(現(xiàn)存系統(tǒng))已經(jīng)存在,正向工程的生產(chǎn)率將遠(yuǎn)高于平均水平;正向工程的生產(chǎn)率將遠(yuǎn)高于平均水平;同時(shí),又由于用戶已對(duì)該軟件有經(jīng)驗(yàn),同時(shí),又由于用戶已對(duì)該軟件有經(jīng)驗(yàn),因而正向工程過程可以很容易地確定新因而正向工程過程可以很容易地確定新的需求和變化的方向。的需求和變化的方向。 武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院7.4.4 再工程成本再工程成本/效益分析效益分析 SneedSneed模型模型: :P P1 1:當(dāng)前對(duì)某應(yīng)用的年維護(hù)成本:當(dāng)前對(duì)某應(yīng)用的年維護(hù)成本P P2 2
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)語文個(gè)人述職報(bào)告錦集8篇
- 現(xiàn)代水墨課程設(shè)計(jì)教案
- 企業(yè)業(yè)務(wù)集成與協(xié)同平臺(tái)解決方案
- 養(yǎng)老院老人康復(fù)設(shè)施維修人員表彰制度
- 學(xué)校出納工作總結(jié)
- 網(wǎng)絡(luò)營(yíng)銷 第3版 教案匯 魏亞萍 1.2項(xiàng)目一定義、崗位 - 5-4信息流推廣
- 房地產(chǎn)總企業(yè)行政規(guī)章制度
- 建筑垃圾運(yùn)輸合同
- 培訓(xùn)場(chǎng)地租賃協(xié)議書模板
- 公寓租賃合作合同
- 中藥硬膏熱貼敷治療
- 2024年人教版三年級(jí)上數(shù)學(xué)教學(xué)計(jì)劃和進(jìn)度安排
- 《電能計(jì)量知識(shí)介紹》課件
- 2023-2024學(xué)年山東省濰坊市高新區(qū)六年級(jí)(上)期末數(shù)學(xué)試卷(含答案)
- 2024年教師師德師風(fēng)工作計(jì)劃(2篇)
- 物流行業(yè)服務(wù)質(zhì)量保障制度
- 養(yǎng)老院物資采購(gòu)流程及制度
- 眼鏡店年終總結(jié)及計(jì)劃
- 一年級(jí)新生家長(zhǎng)會(huì)課件(共25張課件)
- 廣東省東華高級(jí)中學(xué)2025屆高一上數(shù)學(xué)期末考試試題含解析
- GB/T 22081-2024網(wǎng)絡(luò)安全技術(shù)信息安全控制
評(píng)論
0/150
提交評(píng)論