




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟軟件工程件工程中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院維護(hù)與復(fù)用維護(hù)與復(fù)用九、十、軟件維護(hù)與復(fù)用九、十、軟件維護(hù)與復(fù)用Logo第第9 9章章 軟件維護(hù)軟件維護(hù)n軟件維護(hù)的種類軟件維護(hù)的種類 n軟件可維護(hù)性軟件可維護(hù)性 n軟件維護(hù)的實(shí)施軟件維護(hù)的實(shí)施 n軟件維護(hù)的管理軟件維護(hù)的管理 n軟件配置管理軟件配置管理n軟件再工程軟件再工程 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo1、軟件維護(hù)、軟件維護(hù)的定義的定義n在軟件在軟件運(yùn)行維護(hù)階段運(yùn)行維護(hù)階段對軟件產(chǎn)品進(jìn)行的對軟件產(chǎn)品進(jìn)行的修改修改就是所謂的就是所謂的維護(hù)。維護(hù)。9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院
2、院Logo9.1 軟件維護(hù)的種類軟件維護(hù)的種類2、維護(hù)的分類、維護(hù)的分類n完善性完善性維護(hù)(維護(hù)(perfective maintenance)n軟件在使用期間不斷改善和加強(qiáng)產(chǎn)品的功能與性能 n完善性維護(hù)約占50-60% n適應(yīng)性適應(yīng)性維護(hù)維護(hù)(adaptive maintenance)n使軟件適應(yīng)運(yùn)行環(huán)境的改變而進(jìn)行的一類維護(hù) n大約占整個維護(hù)的25% n糾錯性糾錯性維護(hù)(維護(hù)(corrective maintenance)n在于糾正在開發(fā)期間未能發(fā)現(xiàn)的遺留錯誤 n約占總維護(hù)量的20% n預(yù)防性預(yù)防性維護(hù)(維護(hù)(preventive maintenance)n選擇那些還能使用數(shù)年、目前雖能運(yùn)
3、行但不久就須作重大修改或加強(qiáng)的軟件,進(jìn)行預(yù)先的維護(hù) 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo完善完善性維護(hù)性維護(hù)n在在軟件的使用過程中,用戶往往會對軟件提出新軟件的使用過程中,用戶往往會對軟件提出新的的功能功能與與性能性能要求。要求。n為了滿足這些要求,需要修改或再開發(fā)軟件,以為了滿足這些要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能擴(kuò)充軟件功能、 增強(qiáng)增強(qiáng)軟件性能軟件性能、 改進(jìn)改進(jìn)加工效率加工效率、 提高提高軟件的可維護(hù)性軟件的可維護(hù)性。n這種情況下進(jìn)行的維護(hù)活動叫做這種情況下進(jìn)行的維護(hù)活動叫做完善性維護(hù)完善性維護(hù)。9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)
4、學(xué)院院Logo適應(yīng)性維護(hù)適應(yīng)性維護(hù)n在在使用過程中,使用過程中,n 外部環(huán)境外部環(huán)境(新的硬、軟件配置新的硬、軟件配置)n 數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境(數(shù)據(jù)庫、數(shù)據(jù)格式、數(shù)據(jù)輸入數(shù)據(jù)庫、數(shù)據(jù)格式、數(shù)據(jù)輸入/ /輸輸出方式、數(shù)據(jù)存儲介質(zhì)出方式、數(shù)據(jù)存儲介質(zhì))可能發(fā)生變化。可能發(fā)生變化。n為使軟件適應(yīng)這種變化,而去修改軟件的過程就為使軟件適應(yīng)這種變化,而去修改軟件的過程就叫做叫做適應(yīng)性維護(hù)適應(yīng)性維護(hù)。9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo糾錯糾錯(改正)性維護(hù)改正)性維護(hù)n在在軟件交付使用后,因開發(fā)時測試的軟件交付使用后,因開發(fā)時測試的不徹底不徹底、不完不完全全
5、,必然會有部分隱藏的,必然會有部分隱藏的錯誤錯誤遺留到運(yùn)行階段。遺留到運(yùn)行階段。n這些隱藏下來的錯誤這些隱藏下來的錯誤在某些特定的使用環(huán)境下就會在某些特定的使用環(huán)境下就會暴露出來暴露出來。n為了為了識別和糾正軟件錯誤識別和糾正軟件錯誤、 改正改正軟件性能上的缺陷軟件性能上的缺陷、 排除排除實(shí)施中的誤使用實(shí)施中的誤使用, 應(yīng)當(dāng)應(yīng)當(dāng)進(jìn)行的診斷和改正錯誤的過程就叫做進(jìn)行的診斷和改正錯誤的過程就叫做改正性維改正性維護(hù)。護(hù)。9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo預(yù)防性維護(hù)預(yù)防性維護(hù)n預(yù)防性維護(hù)預(yù)防性維護(hù)是為了是為了提高軟件的可維護(hù)性提高軟件的可維護(hù)性、可靠性
6、可靠性等等,為以后進(jìn)一步改進(jìn)軟件打下良好基礎(chǔ)。,為以后進(jìn)一步改進(jìn)軟件打下良好基礎(chǔ)。n預(yù)防性維護(hù)定義為:預(yù)防性維護(hù)定義為:采用先進(jìn)的軟件工程方法對采用先進(jìn)的軟件工程方法對需要維護(hù)的軟件或軟件中的某一部分(需要維護(hù)的軟件或軟件中的某一部分(重新重新)進(jìn))進(jìn)行設(shè)計、編制和測試。行設(shè)計、編制和測試。9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon實(shí)踐表明,在幾種維護(hù)活動中,完善性維護(hù)所占實(shí)踐表明,在幾種維護(hù)活動中,完善性維護(hù)所占的比重最大。的比重最大。即大部分維護(hù)工作是即大部分維護(hù)工作是改變和加強(qiáng)改變和加強(qiáng)軟軟件,而不是糾錯件,而不是糾錯。n完善性維護(hù)不一定是救火
7、式的緊急維修,而可以完善性維護(hù)不一定是救火式的緊急維修,而可以是有計劃、有預(yù)謀的一種再開發(fā)活動是有計劃、有預(yù)謀的一種再開發(fā)活動。n事實(shí)證明,來自用戶要求擴(kuò)充、加強(qiáng)軟件功能、事實(shí)證明,來自用戶要求擴(kuò)充、加強(qiáng)軟件功能、性能的維護(hù)活動約占整個維護(hù)工作的性能的維護(hù)活動約占整個維護(hù)工作的5050。9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo三類維護(hù)所占比例三類維護(hù)所占比例: :其它維護(hù)其它維護(hù) 5 %5 %適應(yīng)性適應(yīng)性維維 護(hù)護(hù) 25%25%改正性改正性維維 護(hù)護(hù) 20%20%擴(kuò)充與完擴(kuò)充與完善性維護(hù)善性維護(hù) 50%50%改正性維護(hù)占全部維護(hù)量的比率已從改正性維護(hù)
8、占全部維護(hù)量的比率已從8080年代年代初的初的20%20%大幅度下降大幅度下降, 90, 90年代初一些公司的年代初一些公司的產(chǎn)品差錯率產(chǎn)品差錯率已接近于已接近于零。零。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon軟件維護(hù)軟件維護(hù)活動活動所花費(fèi)的工作所花費(fèi)的工作占占整個生存期工作量整個生存期工作量的的70%70%以上以上,這是由于在漫長的軟件運(yùn)行過程中需要,這是由于在漫長的軟件運(yùn)行過程中需要不斷對軟件進(jìn)行修改,以不斷對軟件進(jìn)行修改,以改正新發(fā)現(xiàn)的錯誤改正新發(fā)現(xiàn)的錯誤、適應(yīng)適應(yīng)新的環(huán)境新的環(huán)境和和用戶新的要求用戶新的要求,這些修改需要花費(fèi)很多,這些修改需要花費(fèi)很多精力和時間,而且有時會引入
9、新的錯誤。精力和時間,而且有時會引入新的錯誤。9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo各類維護(hù)活動的根本目的是各類維護(hù)活動的根本目的是延長軟件生存期延長軟件生存期其它維護(hù)其它維護(hù) 4 %軟件軟件生存生存周期周期軟件誕生軟件誕生計計劃劃分分析析設(shè)設(shè)計計編編碼碼測測試試運(yùn)行和維護(hù)運(yùn)行和維護(hù)( (簡稱維護(hù)簡稱維護(hù)) )改善期改善期 穩(wěn)定期穩(wěn)定期 陳舊期陳舊期1 1年年-10-10年年2 2個月個月-2-2年年重構(gòu)重構(gòu)軟件工程周期軟件工程周期9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo3 3、影響、影響維護(hù)工作量的因素
10、維護(hù)工作量的因素n在在軟件的維護(hù)過程中,需要花費(fèi)大量的工作量,軟件的維護(hù)過程中,需要花費(fèi)大量的工作量,從而直從而直接接影響了軟件維護(hù)的成本影響了軟件維護(hù)的成本。n應(yīng)當(dāng)考慮應(yīng)當(dāng)考慮有哪些因素影響軟件維護(hù)的工作量有哪些因素影響軟件維護(hù)的工作量,相,相應(yīng)應(yīng)應(yīng)該采取什么維護(hù)策略應(yīng)該采取什么維護(hù)策略,才能,才能有效地維護(hù)軟件有效地維護(hù)軟件并并控制維護(hù)的成本控制維護(hù)的成本。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo3 3、影響影響維護(hù)維護(hù)工作量的因素工作量的因素n系統(tǒng)系統(tǒng)大小大小:系統(tǒng)越大,理解掌握起來越困難。系:系統(tǒng)越大,理解掌握起來越困難。系統(tǒng)越大,所執(zhí)行功能越復(fù)雜。因而需要更多的維統(tǒng)越大,所執(zhí)
11、行功能越復(fù)雜。因而需要更多的維護(hù)工作量。護(hù)工作量。n程序設(shè)計語言程序設(shè)計語言:使用強(qiáng)功能的程序設(shè)計語言可以:使用強(qiáng)功能的程序設(shè)計語言可以控制程序的規(guī)模。語言的功能越強(qiáng),生成程序的控制程序的規(guī)模。語言的功能越強(qiáng),生成程序的模塊化和結(jié)構(gòu)化程度越高,所需的指令數(shù)就越少模塊化和結(jié)構(gòu)化程度越高,所需的指令數(shù)就越少,程序的可讀性越好。,程序的可讀性越好。9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo3 3、影響影響維護(hù)工作量的因素維護(hù)工作量的因素n系統(tǒng)系統(tǒng)年齡年齡:n 老系統(tǒng)隨著不斷的修改,結(jié)構(gòu)越來越亂;老系統(tǒng)隨著不斷的修改,結(jié)構(gòu)越來越亂;n 維護(hù)人員經(jīng)常更換,程序又
12、變得越來越難于理維護(hù)人員經(jīng)常更換,程序又變得越來越難于理解。解。n 許多老系統(tǒng)在當(dāng)初并未按照軟件工程的要求進(jìn)許多老系統(tǒng)在當(dāng)初并未按照軟件工程的要求進(jìn)行開發(fā),因而沒有文檔,或文檔太少。行開發(fā),因而沒有文檔,或文檔太少。n 在長期的維護(hù)過程中文檔在許多地方與程序?qū)嵲陂L期的維護(hù)過程中文檔在許多地方與程序?qū)崿F(xiàn)變得不一致,在維護(hù)時就會遇到很大困難。現(xiàn)變得不一致,在維護(hù)時就會遇到很大困難。9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo3 3、影響影響維護(hù)工作量的因素維護(hù)工作量的因素n數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)的應(yīng)用:技術(shù)的應(yīng)用:使用數(shù)據(jù)庫,可以簡單而有效使用數(shù)據(jù)庫,可以簡單而有
13、效地管理和存儲用戶程序中的數(shù)據(jù),還可以減少生成地管理和存儲用戶程序中的數(shù)據(jù),還可以減少生成用戶報表應(yīng)用軟件的維護(hù)工作量。用戶報表應(yīng)用軟件的維護(hù)工作量。n先進(jìn)的軟件開發(fā)技術(shù)先進(jìn)的軟件開發(fā)技術(shù):在軟件開發(fā)時,若使用能使:在軟件開發(fā)時,若使用能使軟件結(jié)構(gòu)比較穩(wěn)定的分析與設(shè)計技術(shù),及程序設(shè)計軟件結(jié)構(gòu)比較穩(wěn)定的分析與設(shè)計技術(shù),及程序設(shè)計技術(shù),如面向?qū)ο蠹夹g(shù)、復(fù)用技術(shù)等,可減少大量技術(shù),如面向?qū)ο蠹夹g(shù)、復(fù)用技術(shù)等,可減少大量的工作量。的工作量。9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo3 3、影響影響維護(hù)工作量的因素維護(hù)工作量的因素n其它其它:n 應(yīng)用的類型應(yīng)用的
14、類型n 數(shù)學(xué)模型數(shù)學(xué)模型n 任務(wù)的難度任務(wù)的難度n 開關(guān)與標(biāo)記、開關(guān)與標(biāo)記、IFIF嵌套深度、索引或下標(biāo)數(shù)等嵌套深度、索引或下標(biāo)數(shù)等對維護(hù)工作量都有影響。對維護(hù)工作量都有影響。n許多軟件在開發(fā)時并未考慮將來的修改,為軟件的許多軟件在開發(fā)時并未考慮將來的修改,為軟件的維護(hù)帶來許多問題。維護(hù)帶來許多問題。9.1 軟件維護(hù)的種類軟件維護(hù)的種類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon許多軟件的維護(hù)十分困難,原因在于這許多軟件的維護(hù)十分困難,原因在于這些軟件的文些軟件的文檔不全檔不全、質(zhì)量差質(zhì)量差、開發(fā)過程不注意采用好的方法開發(fā)過程不注意采用好的方法,忽視程序設(shè)計風(fēng)格忽視程序設(shè)計風(fēng)格等。等。n
15、許多維護(hù)要求并不是因為程序中出錯而提出的,而許多維護(hù)要求并不是因為程序中出錯而提出的,而是為是為適應(yīng)環(huán)境變化適應(yīng)環(huán)境變化或或需求變化需求變化而提出的。而提出的。n為了使得軟件能夠易于維護(hù),必須考慮使軟件具有為了使得軟件能夠易于維護(hù),必須考慮使軟件具有可維護(hù)性可維護(hù)性。9.2 軟件可維護(hù)性軟件可維護(hù)性 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo1 1、什么是軟件可維護(hù)性、什么是軟件可維護(hù)性軟件軟件可維護(hù)性可維護(hù)性是指是指糾正軟件系統(tǒng)出現(xiàn)的錯誤和缺陷糾正軟件系統(tǒng)出現(xiàn)的錯誤和缺陷,以及為滿足新的要求進(jìn)行修改、擴(kuò)充或壓縮的,以及為滿足新的要求進(jìn)行修改、擴(kuò)充或壓縮的容容易程度。易程度。n可維護(hù)性可
16、維護(hù)性、可使用性可使用性、可靠性可靠性是衡量軟件質(zhì)量的是衡量軟件質(zhì)量的主要質(zhì)量特性,也是用戶十分關(guān)心的幾個方面。主要質(zhì)量特性,也是用戶十分關(guān)心的幾個方面。n軟件的軟件的可維護(hù)性可維護(hù)性是是軟件開發(fā)階段各個時期的關(guān)鍵軟件開發(fā)階段各個時期的關(guān)鍵目標(biāo)目標(biāo)。9.2 軟件可維護(hù)性軟件可維護(hù)性 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo9.2 軟件可維護(hù)性軟件可維護(hù)性 n影響可維護(hù)性的軟件屬性影響可維護(hù)性的軟件屬性 n可理解性(understandability) n可修改性(modifiability) n可測試性(testability)n對可維護(hù)性的定量度量對可維護(hù)性的定量度量 n提高可維護(hù)性
17、的途徑提高可維護(hù)性的途徑 n提供完整和一致的文檔 n采用現(xiàn)代化的開發(fā)方法 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon目前廣泛使用的是用如下的七個特性來衡量程序目前廣泛使用的是用如下的七個特性來衡量程序的可維護(hù)性。的可維護(hù)性。可理解性可理解性可使用性可使用性可測試性可測試性可移植性可移植性可修改性可修改性效率效率可靠性可靠性n而且對于不同類型的維護(hù),這七種特性的側(cè)重點(diǎn)而且對于不同類型的維護(hù),這七種特性的側(cè)重點(diǎn)也不相同也不相同。9.2 軟件可維護(hù)性軟件可維護(hù)性 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo在各類維護(hù)中的側(cè)重點(diǎn)在各類維護(hù)中的側(cè)重點(diǎn) 9.2 軟件可維護(hù)性軟件可維護(hù)性 中中國
18、國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon可理解性可理解性表明人們通過表明人們通過閱讀源代碼和相關(guān)文檔,閱讀源代碼和相關(guān)文檔,了解程序功能及其如何運(yùn)行的了解程序功能及其如何運(yùn)行的容易程度。容易程度。n一個可理解的程序應(yīng)具備以下一些特性:一個可理解的程序應(yīng)具備以下一些特性:模塊化模塊化,風(fēng)格一致性風(fēng)格一致性,不使用令人捉摸不定或含糊不清不使用令人捉摸不定或含糊不清的代碼的代碼,使用有意義的數(shù)據(jù)名和過程名使用有意義的數(shù)據(jù)名和過程名,結(jié)構(gòu)化結(jié)構(gòu)化,完整性完整性等。等。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon可修改性可修改性表明程序容易修改的表明程序容易修改的程度程度。n一個可修改的程序應(yīng)
19、當(dāng)是一個可修改的程序應(yīng)當(dāng)是可理解的可理解的、通用的通用的、靈靈活的活的、簡單的簡單的。n通用性通用性是指程序適用于各種功能變化而無需修改是指程序適用于各種功能變化而無需修改。n靈活性靈活性是指能夠容易地對程序進(jìn)行修改。是指能夠容易地對程序進(jìn)行修改。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon可測試性可測試性表明論證程序表明論證程序正確性正確性的容易程度的容易程度。程序越。程序越簡單,證明其正確性就越容易。而且簡單,證明其正確性就越容易。而且設(shè)計設(shè)計合理合理的的測測試用例,取決于對程序的全面理解。試用例,取決于對程序的全面理解。n一個可測試的程序應(yīng)當(dāng)是一個可測試的程序應(yīng)當(dāng)是可理解可理解的的
20、 可靠的可靠的 簡單的簡單的中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon用于用于可測試性度量的檢查項目如下:可測試性度量的檢查項目如下:n 程序是否程序是否模塊化模塊化? ? 結(jié)構(gòu)結(jié)構(gòu)是否良好是否良好? ?n 程序是否程序是否可理解可理解? ? 程序是否程序是否可靠可靠? ?n 程序是否能顯示任意程序是否能顯示任意中間結(jié)果中間結(jié)果? ?n 程序是否能以清楚的方式描述它的程序是否能以清楚的方式描述它的輸出輸出? ?n 程序是否能及時地按照要求顯示所有的程序是否能及時地按照要求顯示所有的輸入輸入? ?n 程序是否有跟蹤及顯示程序是否有跟蹤及顯示邏輯控制流程邏輯控制流程的能力的能力? ?n 程
21、序是否能從檢查點(diǎn)程序是否能從檢查點(diǎn)再啟動再啟動? ?n 程序是否能顯示帶說明的程序是否能顯示帶說明的錯誤信息錯誤信息? ?中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon可移植性可移植性表明程序表明程序轉(zhuǎn)移轉(zhuǎn)移到一個新的計算環(huán)境的到一個新的計算環(huán)境的可可能性的大小能性的大小。或者它表明程序可以容易地、有效。或者它表明程序可以容易地、有效地在各種各樣的計算環(huán)境中運(yùn)行的容易程度。地在各種各樣的計算環(huán)境中運(yùn)行的容易程度。n一個可移植的程序應(yīng)具有一個可移植的程序應(yīng)具有結(jié)構(gòu)良好、靈活、不依結(jié)構(gòu)良好、靈活、不依賴于某一具體計算機(jī)或操作系統(tǒng)的性能賴于某一具體計算機(jī)或操作系統(tǒng)的性能。中中國國石油大石油大學(xué)勝
22、學(xué)勝利利學(xué)學(xué)院院Logon用于可移植性度量的檢查項目如下:用于可移植性度量的檢查項目如下:n是否是用是否是用高級高級的獨(dú)立于機(jī)器的的獨(dú)立于機(jī)器的語言語言來編寫程序來編寫程序? ?n 是否使用廣泛使用的是否使用廣泛使用的標(biāo)準(zhǔn)化的程序設(shè)計語言標(biāo)準(zhǔn)化的程序設(shè)計語言來編寫來編寫程序程序? ? 是否僅使用了這種語言的標(biāo)準(zhǔn)版本和特性是否僅使用了這種語言的標(biāo)準(zhǔn)版本和特性? ?n 程序中是否使用了程序中是否使用了標(biāo)準(zhǔn)標(biāo)準(zhǔn)的普遍使用的的普遍使用的庫功能和子程庫功能和子程序序? ?n 程序中是否極少使用或根本程序中是否極少使用或根本不不使用使用操作系統(tǒng)的功能操作系統(tǒng)的功能? ?n程序程序在執(zhí)行之前是否在執(zhí)行之前是
23、否初始化內(nèi)存初始化內(nèi)存? ?n 程序在執(zhí)行之前是否程序在執(zhí)行之前是否測定測定當(dāng)前的當(dāng)前的輸入輸出設(shè)備輸入輸出設(shè)備? ?中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon效率表明一個程序能執(zhí)行預(yù)定功能而又不浪費(fèi)機(jī)效率表明一個程序能執(zhí)行預(yù)定功能而又不浪費(fèi)機(jī)器資源的程度器資源的程度。n這些機(jī)器資源包括這些機(jī)器資源包括內(nèi)存容量內(nèi)存容量、外存容量外存容量、通道容通道容量量和和執(zhí)行時間執(zhí)行時間。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon從用戶觀點(diǎn)出發(fā),從用戶觀點(diǎn)出發(fā),可使用性定義為程序方便、實(shí)可使用性定義為程序方便、實(shí)用、及易于使用的程度用、及易于使用的程度。n一一個可使用的程序應(yīng)是個可使用的程序
24、應(yīng)是易于使用的易于使用的、能允許用戶能允許用戶出錯和改變出錯和改變,并,并盡可能不使用戶陷入混亂狀態(tài)的盡可能不使用戶陷入混亂狀態(tài)的程序程序。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院LogoMP+Ke e= =( (c c- -d d ) )M M : : 維護(hù)工作總工作量維護(hù)工作總工作量P P : : 生產(chǎn)性工作量生產(chǎn)性工作量K K : : 經(jīng)驗常數(shù)經(jīng)驗常數(shù)c c : : 復(fù)雜度復(fù)雜度d d : : 對該軟件熟悉程度的度量對該軟件熟悉程度的度量2 2、維護(hù)工作量模型、維護(hù)工作量模型9.2 軟件可維護(hù)性軟件可維護(hù)性 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo3 3、提高、提高可維護(hù)性的方法
25、可維護(hù)性的方法n建立建立明確的軟件質(zhì)量目標(biāo)和優(yōu)先級明確的軟件質(zhì)量目標(biāo)和優(yōu)先級n使用提高軟件質(zhì)量的使用提高軟件質(zhì)量的技術(shù)和工具技術(shù)和工具n進(jìn)行明確的質(zhì)量保證審查進(jìn)行明確的質(zhì)量保證審查n選擇可維護(hù)的程序設(shè)計語言選擇可維護(hù)的程序設(shè)計語言n改進(jìn)程序的改進(jìn)程序的文檔文檔9.2 軟件可維護(hù)性軟件可維護(hù)性 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo建立明確的軟件質(zhì)量目標(biāo)和優(yōu)先級建立明確的軟件質(zhì)量目標(biāo)和優(yōu)先級n一一個可維護(hù)的程序應(yīng)是個可維護(hù)的程序應(yīng)是可理解的可理解的、可靠的可靠的、可測試可測試的的、可修改的可修改的、可移植的可移植的、效率高的效率高的、可使用的可使用的。n要實(shí)現(xiàn)這所有的目標(biāo),需要付出很大
26、的代價,而且要實(shí)現(xiàn)這所有的目標(biāo),需要付出很大的代價,而且也不一定行得通。也不一定行得通。n某些質(zhì)量特性是相互促進(jìn)的某些質(zhì)量特性是相互促進(jìn)的,例如可理解性和可測,例如可理解性和可測試性、可理解性和可修改性試性、可理解性和可修改性。n另一些質(zhì)量特性是相互抵觸的另一些質(zhì)量特性是相互抵觸的,如效率和可移植性,如效率和可移植性、效率和可修改性等。、效率和可修改性等。n應(yīng)當(dāng)對程序的質(zhì)量特性,在應(yīng)當(dāng)對程序的質(zhì)量特性,在提出目標(biāo)提出目標(biāo)的同時還必須的同時還必須規(guī)定它們的優(yōu)先級規(guī)定它們的優(yōu)先級。9.2 軟件可維護(hù)性軟件可維護(hù)性 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo使用提高軟件質(zhì)量的技術(shù)和工具使用提高
27、軟件質(zhì)量的技術(shù)和工具n模塊化模塊化n 如果需要改變某個模塊的功能,則只要改變?nèi)绻枰淖兡硞€模塊的功能,則只要改變這個模塊,對其它模塊影響很小;這個模塊,對其它模塊影響很小;n 如果需要增加程序的某些功能,則僅需增加如果需要增加程序的某些功能,則僅需增加完成這些功能的新的模塊或模塊層;完成這些功能的新的模塊或模塊層;n 程序的測試與重復(fù)測試比較容易;程序的測試與重復(fù)測試比較容易;n 程序錯誤易于定位和糾正;程序錯誤易于定位和糾正; 9.2 軟件可維護(hù)性軟件可維護(hù)性 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo使用提高軟件質(zhì)量的技術(shù)和工具使用提高軟件質(zhì)量的技術(shù)和工具n結(jié)構(gòu)化程序結(jié)構(gòu)化程序設(shè)計
28、設(shè)計n 程序被劃分成分層的模塊結(jié)構(gòu);程序被劃分成分層的模塊結(jié)構(gòu);n 模塊調(diào)用控制必須從模塊的入口點(diǎn)進(jìn)入,從其模塊調(diào)用控制必須從模塊的入口點(diǎn)進(jìn)入,從其出口點(diǎn)退出。出口點(diǎn)退出。n 模塊的控制結(jié)構(gòu)僅限于順序、選擇、重復(fù)三種模塊的控制結(jié)構(gòu)僅限于順序、選擇、重復(fù)三種,且沒有,且沒有GOTOGOTO語句。語句。n 每個程序變量只用于唯一的程序目的,而且變每個程序變量只用于唯一的程序目的,而且變量的作用范圍應(yīng)是明確的、有限制的。量的作用范圍應(yīng)是明確的、有限制的。9.2 軟件可維護(hù)性軟件可維護(hù)性 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo改進(jìn)程序的文檔改進(jìn)程序的文檔n程序程序文檔是對程序文檔是對程序總目
29、標(biāo)總目標(biāo)、程序各組成部分之間的關(guān)系程序各組成部分之間的關(guān)系、程程序設(shè)計策略序設(shè)計策略、程序?qū)崿F(xiàn)過程的歷史數(shù)據(jù)程序?qū)崿F(xiàn)過程的歷史數(shù)據(jù)等的說明和補(bǔ)充。等的說明和補(bǔ)充。n即使是一個十分簡單的程序,要想有效地、高效率地維護(hù)它即使是一個十分簡單的程序,要想有效地、高效率地維護(hù)它,也需要編制文檔來解釋其目的及任務(wù),也需要編制文檔來解釋其目的及任務(wù)。n對于程序維護(hù)人員來說,要想對于程序維護(hù)人員來說,要想按程序編制人員的意圖重新改按程序編制人員的意圖重新改造程序造程序,并對今后變化的可能性進(jìn)行估計,缺了文檔是不行,并對今后變化的可能性進(jìn)行估計,缺了文檔是不行的。的。n另外另外,在軟件維護(hù)階段,利用,在軟件維護(hù)
30、階段,利用歷史文檔歷史文檔,可以大大簡化維護(hù),可以大大簡化維護(hù)工作。通過了解原設(shè)計思想,可以判斷出錯之處,指導(dǎo)維護(hù)工作。通過了解原設(shè)計思想,可以判斷出錯之處,指導(dǎo)維護(hù)人員選擇適當(dāng)?shù)姆椒ㄐ薷拇a而不危及系統(tǒng)的完整性人員選擇適當(dāng)?shù)姆椒ㄐ薷拇a而不危及系統(tǒng)的完整性。9.2 軟件可維護(hù)性軟件可維護(hù)性 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo9.3 軟件維護(hù)的實(shí)施軟件維護(hù)的實(shí)施 不嚴(yán)重 維護(hù)人員糾錯 嚴(yán)重名單測試* 已修改 適應(yīng) 維護(hù)人 *的軟件員名單 已修改完善高的配置 批準(zhǔn)交付低用戶的配置 開發(fā)項目表 嚴(yán)重性評價錯誤分析優(yōu)先度評價維護(hù)過程配置復(fù)審問題分析區(qū)分類型糾錯項目表維護(hù)申請中中國國石油
31、大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo維護(hù)的副作用維護(hù)的副作用 n修改修改編碼編碼的副作用的副作用 n修改修改數(shù)據(jù)數(shù)據(jù)的副作用的副作用 n修改修改文檔文檔的副作用的副作用 9.3 軟件維護(hù)的實(shí)施軟件維護(hù)的實(shí)施中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo9.4 軟件維護(hù)的管理軟件維護(hù)的管理 n維護(hù)的機(jī)構(gòu)與人員維護(hù)的機(jī)構(gòu)與人員 n維護(hù)時期的配置管理維護(hù)時期的配置管理 n配置管理數(shù)據(jù)庫 n版本控制 n變動控制n維護(hù)管理文檔維護(hù)管理文檔 n維護(hù)日志 n維護(hù)申請摘要報告和維護(hù)趨勢圖 n維護(hù)費(fèi)用的估算維護(hù)費(fèi)用的估算 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo9.5 軟件配置管理軟件配置管理n軟件配
32、置管理的功能軟件配置管理的功能n系統(tǒng)地管理軟件系統(tǒng)中的多重版本n全面記載系統(tǒng)開發(fā)的歷史過程 n管理和追蹤開發(fā)過程中危害軟件質(zhì)量以及影響開發(fā)周期的缺陷和變化 n對開發(fā)過程進(jìn)行有效地管理和控制 n配置項配置項 n計算機(jī)程序(源代碼和可執(zhí)行程序n描述計算機(jī)程序的文檔n數(shù)據(jù)(包含在程序內(nèi)部或外部) n配置管理工具配置管理工具 n配置管理數(shù)據(jù)庫 n版本控制庫(version control library) ISOOSIIOS中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo9.6 軟件再工程軟件再工程 正向工程信息庫分析文檔重構(gòu)逆向工程代碼重構(gòu)數(shù)據(jù)重構(gòu)n將新技術(shù)和新工具應(yīng)用于老的軟件的一種將新技術(shù)和新工
33、具應(yīng)用于老的軟件的一種“徹底徹底”的預(yù)防的預(yù)防性維護(hù)。性維護(hù)。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo逆向工程逆向工程重構(gòu)代碼提取抽象求精簡化“臟的”源代碼干凈的源代碼初始的設(shè)計說明最終的設(shè)計說明處理界面數(shù)據(jù)庫9.6 軟件再工程軟件再工程 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo軟件重構(gòu)軟件重構(gòu)n代碼代碼重構(gòu)重構(gòu)n應(yīng)用最新的設(shè)計和實(shí)現(xiàn)技術(shù)n修改老系統(tǒng)的代碼n提高可維護(hù)性n數(shù)據(jù)重構(gòu)數(shù)據(jù)重構(gòu)n不改變系統(tǒng)結(jié)構(gòu)不改變系統(tǒng)結(jié)構(gòu)9.6 軟件再工程軟件再工程 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo小結(jié)小結(jié)n軟件維護(hù)的種類有哪些?軟件維護(hù)的種類有哪些?n對幾種維護(hù)的理解與區(qū)別。對幾種
34、維護(hù)的理解與區(qū)別。n描述軟件維護(hù)的屬性主要有哪些?描述軟件維護(hù)的屬性主要有哪些?中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo第第1010章章 軟件復(fù)用軟件復(fù)用什么是軟件復(fù)用?什么是軟件復(fù)用?軟件復(fù)用的目標(biāo)?軟件復(fù)用的目標(biāo)?軟件復(fù)用與軟件共享和軟件移植的區(qū)別軟件復(fù)用與軟件共享和軟件移植的區(qū)別?中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo10.1 軟件復(fù)用的基本概念 軟件復(fù)用的定義軟件復(fù)用的定義 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo軟件復(fù)用的措施軟件復(fù)用的措施 n軟件軟件復(fù)用的目的是能更快、更好、成本更低地生產(chǎn)軟件產(chǎn)復(fù)用的目的是能更快、更好、成本更低地生產(chǎn)軟件產(chǎn)品品n一般地說,
35、在軟件開發(fā)中采用復(fù)用構(gòu)件可以比從頭開發(fā)這一般地說,在軟件開發(fā)中采用復(fù)用構(gòu)件可以比從頭開發(fā)這個軟件更加容易個軟件更加容易n措施措施n建立支持軟件復(fù)用的基礎(chǔ)設(shè)施:包括可復(fù)用構(gòu)件庫、用于創(chuàng)建復(fù)用構(gòu)件的工具n建立相應(yīng)的培訓(xùn)計劃,理解和應(yīng)用軟件復(fù)用,形成一個使用軟件復(fù)用技術(shù)的環(huán)境。n采用更先進(jìn)的,可以促進(jìn)軟件復(fù)用的軟件開發(fā)方法n采取相應(yīng)的激勵措施 10.1 軟件復(fù)用的基本概念 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo軟件復(fù)用的粒度軟件復(fù)用的粒度 n按照按照可復(fù)用的粒度,軟件制品從小到大分為以下可復(fù)用的粒度,軟件制品從小到大分為以下幾類:幾類:n源代碼復(fù)用n軟件體系結(jié)構(gòu)復(fù)用n應(yīng)用程序生成器n領(lǐng)域特定的軟件體系結(jié)構(gòu)的復(fù)用10.1 軟件復(fù)用的基本概念 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo10.2 10.2 領(lǐng)域工程領(lǐng)域工程n所謂的所謂的“領(lǐng)域領(lǐng)域”,指的是一組具有相似或相近軟件需,指的是一組具有相似或相近軟件需求的應(yīng)用系統(tǒng)所覆蓋的功能區(qū)域。求的應(yīng)用系統(tǒng)所覆蓋的功能區(qū)域。n通過領(lǐng)域分析通過領(lǐng)域分析(domain an
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全國旅游合同示范文本
- 2025農(nóng)業(yè)合作合同范本
- 2025年酸堿平衡調(diào)節(jié)藥項目建議書
- 2025全面租賃合同示范文本
- 2025年家用美容、保健電器具項目建議書
- 2025年龍門式加工中心或龍門式臥式銑床項目合作計劃書
- 2025年視窗防護(hù)屏項目合作計劃書
- 2025年法律職業(yè)資格考試復(fù)習(xí)要點(diǎn)試題及答案
- 2025年環(huán)境污染防治專用設(shè)備合作協(xié)議書
- 廣安畫線施工方案
- 2025年統(tǒng)計學(xué)期末考試題庫:綜合案例分析題模擬試卷
- 無人機(jī)失控應(yīng)急事件處置預(yù)案
- 駐廠協(xié)議書模板
- 《中英飲食文化差異》課件
- 樹木清除合同協(xié)議
- 2024年韶關(guān)市始興縣事業(yè)單位招聘工作人員筆試真題
- 盡職調(diào)查專項法律服務(wù)合同
- 2025年小學(xué)勞動技能大賽實(shí)施方案
- 《中國腦卒中防治報告(2023)》
- 學(xué)生資助感恩教育主題班會
- 甘肅民族師范學(xué)院招聘工作人員考試真題2024
評論
0/150
提交評論