版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 打印保存</b></p><p><b> 文本復(fù)制檢測(cè)報(bào)告單</b></p><p> J^:ADBD2013R 2013041914404820130419210323401326059768</p><p><b> 作者</b></p><
2、;p> 匸(表格)□(觀點(diǎn))</p><p> 檢測(cè)文獻(xiàn)基于web的軟件產(chǎn)品質(zhì)量的維護(hù)</p><p> 里J:web的軟件產(chǎn)品質(zhì)屋的維護(hù)第1部分(總12096字) 基丁? web的軟件產(chǎn)品質(zhì)彊的維護(hù) 第2部分(總4178字)</p><p> 基于web的軟件產(chǎn)品質(zhì)量的維護(hù)一第1部分 總文字復(fù)制比:2.2% (261)總字?jǐn)?shù):12096</p&g
3、t;<p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p> 基于WEB的軟件產(chǎn)品質(zhì)量的維護(hù)</p><p> Wcb-bascd Software Product Quality Maintcnancc 完成日期2012年3月25日</p><p> 吉林大學(xué)珠海學(xué)院本科畢業(yè)論文(設(shè)計(jì))開題報(bào)告</p>
4、<p> 基于WEB的軟件產(chǎn)品質(zhì)量的維護(hù)</p><p><b> 摘耍</b></p><p> 在科技高速發(fā)展的今日,計(jì)算機(jī)成為人們生活中不可缺少的一部分,而人們利用計(jì)算機(jī)最經(jīng)常使川的便是計(jì)算機(jī)軟 件與網(wǎng)絡(luò)。而軟件產(chǎn)品的開發(fā)過程,簡(jiǎn)單來說就分為問題的定義、軟件需求分析、軟件設(shè)計(jì)、軟件實(shí)施、軟件測(cè)試,之 后便是軟件維護(hù)的工作了,所以說軟件維護(hù)在整個(gè)
5、完整的軟件生存期中冇著不可或缺的作用,而且一個(gè)好的軟件產(chǎn)品, 在整個(gè)軟件生存期屮,軟件維護(hù)的周期理應(yīng)是最長(zhǎng)的。但是,在軟件發(fā)展剛開始的時(shí)候,人多數(shù)的軟件公司并不注重軟 件維護(hù),把著重點(diǎn)都放在軟件設(shè)計(jì)與軟件實(shí)施中,以為只耍把軟件產(chǎn)品牛產(chǎn)出來就力事大吉了,他們都沒有想過一個(gè)問 題,軟件開發(fā)出來就是提供給用戶使川的,軟件設(shè)計(jì)與軟件實(shí)施準(zhǔn)確來說是面向內(nèi)部的,而軟件維護(hù)才是真正面向用戶 的。而軟件發(fā)展都現(xiàn)在,國內(nèi)越來越多的企業(yè)丿I?始注匝軟件的后
6、期維護(hù),軟件維護(hù)是越來越雨要。</p><p> 木人實(shí)習(xí)的公司做的產(chǎn)品是基于B/S的web應(yīng)用程序,而木人在公司實(shí)習(xí)期間所做的工作也與木文選題相符合, 在維護(hù)部門下做一個(gè)子系統(tǒng)的軟件維護(hù)工作。公司維護(hù)部門的維護(hù)工作包括軟件的質(zhì)量保址,軟件的版本控制,以及軟 件的配置管理。本人主耍的工作是軟件質(zhì)量的維護(hù),簡(jiǎn)單來說就是增加新功能、修」E系統(tǒng)錯(cuò)誤以及解決客戶對(duì)此子系統(tǒng) 提岀的問題。雖然主耍的工作是軟件質(zhì)量的維護(hù),但
7、既然在維護(hù)部門下工作,當(dāng)然也是需要對(duì)子系統(tǒng)的版本進(jìn)行控制的。 因?yàn)楣鞠到y(tǒng)的毎個(gè)大版本都右不同程度的改動(dòng),所以就需要根據(jù)客戶的版木變更要求來對(duì)系統(tǒng)進(jìn)行相應(yīng)的修改、配置 以及說明。至于最后一項(xiàng)配置管理,木人就沒冇太多的涉及。而木文主要研究的就是基于B/S模式的web應(yīng)用程序下, 關(guān)于軟件質(zhì)量的軟件維護(hù)。</p><p> 關(guān)鍵詞:軟件維護(hù)過程;軟件質(zhì)量;軟件維護(hù)成本;基于網(wǎng)絡(luò)的(瀏覽器/服務(wù)器);軟件可維護(hù)性;&
8、lt;/p><p> Web-based Software Product Quality Maintenance</p><p><b> Abstract</b></p><p> In the rapid development of technology, the computer has become an indispensabl
9、e part of people's lives? In the use of computers, the most often used is the computer software and networks. And software product development proce ss, in simple terms, is divided into the problem definition, softwa
10、re requirements analysis, software design, software imp lementation and software testing. After that is the work of software maintenance, so that software maintenance has an i ndispensable role in the comp</p><
11、;p> However, in the early stages of the development of computer technology, most software companies only care soft ware design and software implementation instead of software maintenance? they think everything is don
12、e when the soft ware product is finished. They have not thought about a problem,</p><p> the software is provided for users to use. And precisely, the software design and software implementation are fac c t
13、o internal?</p><p> But software maintenance is face to users directly? With the development of software industry,</p><p> more and more domestic enterprises began attach importance to the sof
14、tware maintenance, software maintenance i s increasingly important.</p><p> The product of my internship company is web application which based on B/S? And my work is maintenance the subsystem in maintenanc
15、e team. So this work is consistent with this subject during the internships. In the maintenance team, the maintenance work includes software quality assurance, software version control, and software configuration m anage
16、ment. And my main work is software quality maintenance? In simple terms, software quality maintenance is to ad d new features, fix system bugs and res</p><p> Key words: software maintenance process; qualit
17、y of software; software maintenance costs; web-based(B/S);softwar e maintainability;</p><p><b> 目錄</b></p><p> 1軟件維護(hù)的概念與概述</p><p><b> 1.1概述</b></p>
18、<p> 1軟件維護(hù)的槪念與概述</p><p><b> 1.1概述</b></p><p> 在軟件的生存周期屮,涵蓋了兩個(gè)重要的階段,分別是開發(fā)期和運(yùn)營期。運(yùn)營期是系統(tǒng)有效發(fā)展的階段,在軟件開 發(fā)的時(shí)候,由于花費(fèi)了許多的人力物力資源,所以,軟件人員總是希望能看到,町以盡町能地延長(zhǎng)軟件的運(yùn)行周期,使 軟件的性價(jià)比更高。事實(shí)上,軟件在運(yùn)行的時(shí)候,
19、是不可能不修改軟件的,開發(fā)是一項(xiàng)人工程,可以提高生產(chǎn)效率,降 低成本,并保證軟件的品質(zhì),人們總是希望使用現(xiàn)有的軟件,對(duì)其擴(kuò)張或移植。所以,軟件人員在軟件開發(fā)階段Z后, 會(huì)繼續(xù)對(duì)軟件進(jìn)行修正、擴(kuò)展以及移植的這種行為,就是軟件維護(hù)。</p><p> 軟件質(zhì)量是軟件產(chǎn)品屮能夠滿足用戶辭求的各種特性的總和,這些特性包括:功能、性能、可靠性、可維護(hù)性、可 重用性、易用性等。軟件質(zhì)量,対軟件開發(fā)人員來說就是優(yōu)良的代碼或設(shè)
20、計(jì),対用戶來說就是響應(yīng)快速、功能強(qiáng)人、性 能11好的體驗(yàn),對(duì)維護(hù)人員來說就是易于升級(jí)、修改的程序,對(duì)管理者來說就是合理的開發(fā)周期以及盡量低的開發(fā)成本。</p><p> 軟件質(zhì)量維護(hù)、版本控制、配置管理等在一定程度上也屬于軟件維護(hù)的范圍,而本文主要研究的是軟件質(zhì)量的維護(hù)。 圖1-1軟件生存周期組成圖</p><p> 1.2軟件維護(hù)的類型</p><p> 軟
21、件維護(hù)一般分為四種類型的維護(hù):一是完善性維護(hù):為了滿足用戶的新需求而增加的功能的維護(hù)活動(dòng),完善性維 護(hù)一般占整個(gè)軟件維護(hù)量的50%左右。二是糾錯(cuò)性維護(hù):顧名思義,也就是對(duì)軟件系統(tǒng)中錯(cuò)誤、bug等進(jìn)行糾正的維護(hù)活 動(dòng),糾錯(cuò)性維護(hù)一般占整個(gè)軟件維護(hù)量的20%左右。三是適應(yīng)性維護(hù):為了適應(yīng)軟件運(yùn)行環(huán)境而進(jìn)行的修改的維護(hù)活動(dòng), 適應(yīng)性維護(hù)町以適應(yīng)于山于碩件或者支持軟件環(huán)境進(jìn)而帶來的變化、把軟件移植到新機(jī)器上等,此類維護(hù)一般占整個(gè)軟 件維護(hù)量的2
22、5%左右。而最后一種維護(hù)是預(yù)防性維護(hù):為提高軟件的性能、可靠性、可維護(hù)性而進(jìn)行修改的維護(hù)活動(dòng), 預(yù)防性維護(hù)-?般占整個(gè)軟件維護(hù)量的4%,所以很少會(huì)進(jìn)行預(yù)防性維護(hù)。</p><p> 圖1-2各類維護(hù)比例圖</p><p> 1.3基于web的軟件的維護(hù)介紹與特點(diǎn)</p><p> 基于web的軟件,也稱為B/S模式的應(yīng)用程序,是通過瀏覽器與服務(wù)器的數(shù)據(jù)交互來運(yùn)
23、行的,依賴于網(wǎng)絡(luò),依賴 于瀏覽器,不依賴丁計(jì)算機(jī)的硬件環(huán)境,這種模式統(tǒng) 了客丿、'端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集小在了服務(wù)器上,所以 維護(hù)的工作只需專注于網(wǎng)絡(luò)的故障以及軟件本身的缺陷,維護(hù)的難度相対于C/S模式較小,并且需耍及時(shí)快速地響應(yīng)雖 戶的問題以及給出解決方案;傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采川的是開放模式,但這只是系統(tǒng)開發(fā)?級(jí)的開放性,在特定的 應(yīng)川屮無論是Client端還是Server端都還需要特定的軟件支持。山于不能捉供給
24、川戶真實(shí)期瑕的幵放環(huán)境,C/S結(jié)構(gòu)的軟 件需要針對(duì)不同的操作系統(tǒng)以及不同的環(huán)境開發(fā)不同的版木,加上軟件產(chǎn)品的更新?lián)Q代I?分迅速,己經(jīng)很難適應(yīng)KI臺(tái)電 腦以域網(wǎng)用戶同時(shí)使用。而口維護(hù)代價(jià)高時(shí),效率低下。與B/S模式的應(yīng)用程序的維護(hù)不同,C/S程序由于整體性, 必須對(duì)軟件進(jìn)行整體考察,問題處理難度大以及系統(tǒng)升級(jí)難,C/S模式的應(yīng)用程序的維護(hù)會(huì)經(jīng)常性地需要遠(yuǎn)程維護(hù),這就 增加了維護(hù)的工作量以及維護(hù)的成木o</p><p&g
25、t; 圖1-3 B/S體系結(jié)構(gòu)圖</p><p> 圖1-4 C/S體系結(jié)構(gòu)圖</p><p> 2軟件維護(hù)的活動(dòng)與策略</p><p> 2」軟件維護(hù)的工作流程</p><p><b> 2」」維護(hù)組織</b></p><p> 圖2?1維護(hù)組織組成圖</p><
26、p> 在這個(gè)維護(hù)組織中,冇一名維護(hù)管理員總負(fù)責(zé),每一項(xiàng)維護(hù)請(qǐng)求都要通過維護(hù)管理員,再指派給維護(hù)人員進(jìn)行維護(hù) 工作。</p><p><b> 2」.2維護(hù)報(bào)告</b></p><p> 維護(hù)組織內(nèi)部應(yīng)該制定一?個(gè)軟件維護(hù)報(bào)告,它應(yīng)該給出以下信息:</p><p> 滿足維護(hù)要求表中要求的所需要的工作量;</p>&l
27、t;p> 維護(hù)請(qǐng)求或問題的性質(zhì);</p><p><b> 維護(hù)要求的優(yōu)先級(jí);</b></p><p> 4?修復(fù)后的相關(guān)事后數(shù)據(jù)。</p><p> 2.13維護(hù)的流程圖</p><p> 圖2?2維護(hù)的竊件流程圖</p><p> 以下是維護(hù)的人員流程圖:</p>
28、<p> 圖2?3維護(hù)的人員流程圖</p><p> 2.1.4維護(hù)記錄與評(píng)價(jià)</p><p> 在軟件維護(hù)的過程中,軟件人員往往忽略了軟件維護(hù)記錄。這樣,在軟件運(yùn)行了一段時(shí)間Z后,如果要對(duì)軟件的多 方面進(jìn)行評(píng)估的時(shí)候,因?yàn)闆]有維護(hù)記錄,評(píng)估就無法進(jìn)行,也就無法評(píng)價(jià)軟件維護(hù)人員的效率與貢獻(xiàn)。因此,維護(hù)記</p><p> 錄也是軟件維護(hù)屮很重要
29、的一環(huán),而維護(hù)記錄一般會(huì)記錄下以下數(shù)據(jù):</p><p> 程序標(biāo)志與標(biāo)W (10)因程丿予變動(dòng)而刪除的源語句數(shù)</p><p> 源語句數(shù)(11)每個(gè)改動(dòng)花費(fèi)的人時(shí)數(shù)</p><p> 機(jī)器指令條數(shù)(12)程序修改的日期</p><p> 使用的程序設(shè)計(jì)語言(13)軟件工程師的名字</p><p> 程序安
30、裝的口期(14)維護(hù)耍求表的標(biāo)識(shí)</p><p> 自從安裝以來程序運(yùn)行的次數(shù)(15)要進(jìn)行維護(hù)的類型</p><p> 口從安裝以來程序失效的次數(shù)(16)維護(hù)開始和完成的時(shí)間</p><p> 程序變動(dòng)的層次和標(biāo)識(shí)(17)用于維護(hù)的總?cè)藭r(shí)數(shù)</p><p> 因程序變動(dòng)而增加的源語句數(shù)(18)與完成的維護(hù)相聯(lián)系的純效益</p&
31、gt;<p> 通過維護(hù)記錄中的數(shù)據(jù),對(duì)維護(hù)活動(dòng)進(jìn)行評(píng)價(jià),從而產(chǎn)生維護(hù)工作的定量度量。包折以下內(nèi)容:</p><p> 每次程序運(yùn)行平均失效的次數(shù)</p><p> 用于每-?類維護(hù)活動(dòng)的總?cè)藭r(shí)數(shù)</p><p> 平均毎個(gè)程序、毎種語言、毎種維護(hù)類型所做的程序變動(dòng)數(shù)</p><p> 維護(hù)過程屮增加或刪除一個(gè)源語句平
32、均花費(fèi)的人時(shí)數(shù)</p><p> 維護(hù)每種語言平均花費(fèi)的人時(shí)數(shù)</p><p> 一張維護(hù)耍求表的平均處理時(shí)間</p><p> 不同維護(hù)類塑所占的百分比</p><p> 根據(jù)對(duì)維護(hù)工作定量度最的結(jié)果,可以利用得到的數(shù)據(jù)去分析評(píng)價(jià)維護(hù)任務(wù)。</p><p> 2.2軟件維護(hù)的內(nèi)容</p>&l
33、t;p> 由第一部分的介紹中,已知軟件維護(hù)一般分為四類:完善性維護(hù)、糾正性維護(hù)、適應(yīng)性維護(hù)和預(yù)防性維護(hù),而每類 維護(hù)針對(duì)的方面不同,所以會(huì)有不同的維護(hù)內(nèi)容。</p><p><b> 221完善性維護(hù)</b></p><p> 當(dāng)軟件進(jìn)入穩(wěn)定運(yùn)行期后,客戶或用戶會(huì)有一些新的需求,一旦這些需求被接受,就需要開始完善或增加系統(tǒng)的功 能,為了滿足這類要求需要進(jìn)行
34、完善性維護(hù)。例如,完善性維護(hù)町以是増加新的處理、改變業(yè)務(wù)處理的流程、改善用戶 界面的的終端會(huì)話模式,或提高系統(tǒng)的運(yùn)行速度、提高系統(tǒng)性能,或増加注釋、改進(jìn)可讀性等。</p><p> 在軟件剛上線運(yùn)行的-?兩年,也就是系統(tǒng)維護(hù)階段的前一兩年,糾正性維護(hù)的工作量是比較人的。隨著時(shí)間的推進(jìn) 與缺陷發(fā)現(xiàn)率的降低,系統(tǒng)就開始趨于穩(wěn)定,糾止性維護(hù)的工作量就會(huì)降低了許多,而完善性維護(hù)與適應(yīng)性維護(hù)的工作 量就開始增加起來。&l
35、t;/p><p> 2.2.2糾正性維護(hù)</p><p> 在軟件測(cè)試階段,因各種原因的作用下,一部分的錯(cuò)謀會(huì)沒被測(cè)試出來或隱藏了起來,所以在軟件上線運(yùn)行期間, 用戶必然會(huì)發(fā)現(xiàn)程序錯(cuò)誤或者缺陷,并且把他們遇到的問題與錯(cuò)誤報(bào)告給維護(hù)人員,軟件維護(hù)人員為了識(shí)別和糾正這些 錯(cuò)誤、改止軟件性能上的缺陷,就會(huì)進(jìn)行相應(yīng)的診斷和改止錯(cuò)誤。而糾正性維護(hù)需耍糾止的錯(cuò)誤也包插很多種,如設(shè)計(jì) 缺陷、代碼缺陷、邏
36、輯缺陷、數(shù)據(jù)缺陷、文檔缺陷等等。</p><p> 2.2.3適應(yīng)性維護(hù)</p><p> 在計(jì)算機(jī)技術(shù)發(fā)展十分迅速的今仃,各種操作系統(tǒng)的出現(xiàn)與各類碩件設(shè)備的更新,都會(huì)影響系統(tǒng)運(yùn)行環(huán)境的變化。 所以為了讓軟件在不同的壞境卜-都能止常地運(yùn)行,就需要適應(yīng)性維護(hù)。影響壞境變化的有很多因索,其中包拆操作系統(tǒng) 的變化(單單微軟的操作系統(tǒng)就已經(jīng)有很多種了,如Server 2003、Server 2
37、008、Server 2012等等)、硬件配置的變化(如 機(jī)型、終端、打印機(jī)等等)、數(shù)據(jù)庫的變化(如Oracle、SQL Server、NoSQL類型的數(shù)據(jù)庫等等)、數(shù)據(jù)格式或文件結(jié) 構(gòu)的變化等。</p><p><b> 2.2.4日常維護(hù)</b></p><p> 口常維護(hù)相對(duì)來說耍簡(jiǎn)單一些,一般來說只要應(yīng)用文檔寫的足夠詳細(xì)的話,維護(hù)工作都能順利完成。例如對(duì)文
38、件系 統(tǒng)的檢查,杳看是否有足夠空閑的空間;對(duì)數(shù)據(jù)庫系統(tǒng)的檢杳,檢查數(shù)據(jù)庫是否正常運(yùn)行,檢查數(shù)據(jù)庫數(shù)據(jù)是否止常與 是否有臟數(shù)據(jù);對(duì)第三方平臺(tái)系統(tǒng)的檢查,檢查第三方平臺(tái)是否」E常運(yùn)行。</p><p> 2.3軟件維護(hù)質(zhì)暈的度量</p><p> 目前廣泛使用的是用如下的七個(gè)特性來衡量程序的可維護(hù)性與質(zhì)量。</p><p><b> 231可理解性<
39、;/b></p><p> 可理解性表明人們通過閱讀源代碼和相關(guān)文檔,了解程序功能及其如何運(yùn)行的容易程度。對(duì)于一個(gè)程序來說,可理 解性應(yīng)該是最基木的要求。如果一個(gè)程序難以被理解,那么實(shí)際上就難以找到一種冇效的方法來對(duì)它進(jìn)行維護(hù)。一個(gè)具 冇可理解性的程序應(yīng)具備以下一些特點(diǎn):模塊化,代碼風(fēng)格致性,不使用令人捉摸不定或含糊不淸的代碼,使用冇意 義的接口名和類名,結(jié)構(gòu)化,完整性等。</p><
40、p> 用于可理解性度量的檢查如下:</p><p> ?。?)程序是否模式化?結(jié)構(gòu)是否良好?</p><p> (2)每個(gè)模塊是否冇淸晰的注釋</p><p> ?。?)在整個(gè)程序代碼屮縮進(jìn)和間隔的距離以及風(fēng)格是否一致?</p><p> ?。?)程序中的變量和函數(shù)過程是否是易丁?理解LL獨(dú)有的名字?</p>
41、<p> ?。?)程序是否體現(xiàn)了設(shè)計(jì)思想?</p><p> ?。?)是否能通過建立公共模塊或子程序來避免多余的代碼?</p><p> ?。?)是否所冇變量都冇用處,沒冇多余的變量?</p><p> ?。?)程序是否避免了很難理解的、非標(biāo)準(zhǔn)的語言特性?</p><p><b> 2.3.2可修改性</b
42、></p><p> 可修改性表明程序修改的困難度。</p><p> 用于可修改性度最的檢査如下:</p><p> ?。?)程序是否模塊化?結(jié)構(gòu)是否良好?</p><p> ?。?)程序是否是可理解的?</p><p> ?。?)在表達(dá)式中,數(shù)組的上F界的界定、輸入/輸出設(shè)備命名符中是否使用了符合代
43、碼習(xí)慣的文字常數(shù)?</p><p> ?。?)是否具有可用于支持程序擴(kuò)展的附加存儲(chǔ)空間?</p><p> ?。?)是否使用了提供簾用功能的標(biāo)準(zhǔn)席函數(shù)?</p><p> ?。?)程序是否把可能會(huì)產(chǎn)生變化的特定業(yè)務(wù)邏輯功能部分都分離到了單獨(dú)的模塊屮?</p><p> ?。?)程序是否提供了不因個(gè)別功能變化而產(chǎn)生影響的模塊接口?<
44、;/p><p> (8)是否實(shí)現(xiàn)了一個(gè)模塊只執(zhí)行一個(gè)系統(tǒng)功能的規(guī)則?</p><p> (9)每一個(gè)變量在程序中的用途是否單一?</p><p> (10)能否以不同的輸入/輸出方式操作?</p><p><b> 2.3.3可靠性</b></p><p> 可靠性表明一個(gè)程序按照用戶
45、的要求和設(shè)計(jì)目標(biāo),在給定的-?段時(shí)間內(nèi)正確執(zhí)行其功能的可能性。雖然定義是如此, 可是在現(xiàn)實(shí)世界中,還沒有任何-?種手段能夠保證軟件貝?有百分Z百的可靠性或精確地度量一個(gè)軟件的可靠性。只能使 用以下這些問題來大概估測(cè)程序是否可靠。</p><p> 用于可卷性度量的檢査如下:</p><p> ?。?)程序屮對(duì)可能出現(xiàn)的沒冇定義的數(shù)學(xué)運(yùn)算是否做了控制與檢査?</p><
46、;p> ?。?)循環(huán)的范圍和循環(huán)終止的參數(shù)是否確認(rèn)與測(cè)試過?</p><p> ?。?)下標(biāo)的范圍是否有超標(biāo)或溢出?</p><p> ?。?)輸入的數(shù)據(jù)是否經(jīng)過了測(cè)試?</p><p> ?。?)對(duì)于可能發(fā)生溢出的情況是否已經(jīng)盡量避免以及測(cè)試過?</p><p> ?。?)對(duì)程序中最復(fù)雜的模塊以及接口,是否使用了多種測(cè)試技術(shù)
47、對(duì)其進(jìn)行反復(fù)測(cè)試?</p><p> (7)測(cè)試是否包括除了正常測(cè)試用例Z外的,特殊的或者非正常的測(cè)試用例?</p><p> ?。?)是否測(cè)試了程序的所冇業(yè)務(wù)邏輯,是否都能得到正確結(jié)果?</p><p><b> 2.3.4可測(cè)試性</b></p><p> 可測(cè)試性表明論證程序正確性的容易程度。</p
48、><p> 用于可測(cè)試性的度量的檢查如下:</p><p> (1)程序是否模塊化?結(jié)構(gòu)是否良好?</p><p> ?。?)程序是否能顯示已定義,帶說明性質(zhì)的錯(cuò)誤信息?</p><p> ?。?)程序是否能顯示任意的中間結(jié)果?</p><p> ?。?)程序是否具冇跟蹤以及顯示業(yè)務(wù)邏輯控制流程的能力?<
49、/p><p> ?。?)程序是否能清晰不含糊地農(nóng)示出它的輸出數(shù)據(jù)?</p><p> ?。?)程序是否能及時(shí)地要求顯示出所有的輸入?</p><p><b> 2.3.5可使用性</b></p><p> 可使用性就是從用戶的角度出發(fā),程序方便、實(shí)用以及便于使用的程度。一個(gè)具有可使用性的程序,應(yīng)該是易于使 用的、能允
50、許用戶出錯(cuò)和改變而不會(huì)是系統(tǒng)刖潰的程序。</p><p> 用于可使用性度量檢查如下:</p><p> ?。?)程序是否具有自描述性?程序是否附有實(shí)例性的使用說明?是否有形成交互模式的帑助功能?在沒有專業(yè)人 員的指導(dǎo)下,用戶是否能迅速地熟悉程序的簡(jiǎn)單操作?</p><p> ?。?)程序是否能讓用戶對(duì)數(shù)據(jù)處理有相對(duì)合適的控制?程序是否允許用戶査看后臺(tái)處理?程
51、序是否能捉供合理 的、需要提醒用戶的錯(cuò)謀信息?程序能否在一旦用戶需要系統(tǒng)提供幫助或提示信息的時(shí)候,顯示出準(zhǔn)確的幫助信息?</p><p> ?。?)程序的使用是否符合用戶的使用習(xí)慣?程序的操作是否冇超出用戶預(yù)期的結(jié)果?</p><p> ?。?)程序是否容易學(xué)會(huì)使用?程序是否不需要專業(yè)的知識(shí)便能夠使用?對(duì)輸入格式、要求和限制的解釋是否是 完全的以及清晰不含糊地?程序是否口帶有糾錯(cuò)功能?
52、</p><p> ?。?)程序是否具有容錯(cuò)性?程序是否能容忍具有典熨錯(cuò)誤的數(shù)據(jù)輸入,如打字或拼寫錯(cuò)誤?程序能否驗(yàn)證輸入 數(shù)據(jù)的正確率?</p><p> (6)程序是否靈活?程序是否允許以自由形式輸入?對(duì)于用戶來說,程序是否提供了不同的輸入選擇?程序是否 允許用戶自定義自己的功能模塊和特性模塊?程序是否可以重復(fù)使用而無需對(duì)輸入值做過多的說明?</p><p>
53、; ?。?)程序的用戶界面是否友好?程序用戶界面的編排是否合理?界面文木與圖片的間距是否合理?界面川色是否 符合用戶的使用習(xí)慣?</p><p><b> 23.6可移植性</b></p><p> 可移植性農(nóng)明程序轉(zhuǎn)移到一個(gè)新的計(jì)算環(huán)境的可能性的人小?;蛘咚旅鞒绦蚩梢匀菀椎?、冇效地在各種各樣的計(jì) 算環(huán)境中運(yùn)行的容易程度。一個(gè)具有可移植性的程序應(yīng)該是不過重地依
54、賴于某一具體計(jì)算機(jī)或操作系統(tǒng)的性能。</p><p> 用于可移植性的檢查如下:</p><p> ?。?)是否使用了高級(jí)語言,而不是第一代、第二代語言來設(shè)計(jì)編寫程序?</p><p> ?。?)程序中是否使用了準(zhǔn)確的、已定義的、普遍使用的子模塊與庫功能?</p><p> ?。?)程序在啟動(dòng)Z前是否初始化了內(nèi)存?</p>
55、<p> ?。?)程序在啟動(dòng)Z前是否檢查了當(dāng)前使用的I/O設(shè)備?</p><p> ?。?)程序是否使川了較為成熟的軟件技術(shù)進(jìn)行設(shè)計(jì)?</p><p> ?。?)程序中是否極少使用或根木不使用操作系統(tǒng)的功能?</p><p> ?。?)程序屮數(shù)值計(jì)算的精度是否與機(jī)器的字長(zhǎng)或存儲(chǔ)器的大小限制無關(guān)?</p><p><
56、b> 2.3.7效率</b></p><p> 效率表明一個(gè)程丿予能執(zhí)行預(yù)定功能而不浪費(fèi)機(jī)器資源的程度。這些機(jī)器資源包括?內(nèi)存容量、存儲(chǔ)空間容量和執(zhí)行時(shí) 間等等。</p><p> 可用于效率的檢查如下:</p><p> ?。?)程序是否具有高度的模塊性,即程序在一個(gè)功能執(zhí)行時(shí)都只涉及一個(gè)局部范圍?</p><p>
57、; ?。?)是否清除了多余無用的符號(hào)、標(biāo)號(hào)以及表達(dá)式,以充分發(fā)揮編譯器的優(yōu)化作用?</p><p> ?。?)是否把在單獨(dú)的模塊中對(duì)特姝的子程序和錯(cuò)謀進(jìn)行處理?</p><p> ?。?)在編譯時(shí)是否盡可能多地完成了初始化工作?</p><p> ?。?)在一個(gè)循環(huán)內(nèi)是否有循環(huán)不變的代碼?</p><p> ?。?)是否以快速的數(shù)學(xué)
58、運(yùn)算代替了較慢的數(shù)學(xué)運(yùn)算?</p><p> (7)是否盡可能地利用整數(shù)運(yùn)算,而非實(shí)數(shù)運(yùn)算?</p><p> (8)程序是否避免了非標(biāo)準(zhǔn)的函數(shù)或子程序的調(diào)用?</p><p> ?。?)在兒條分支結(jié)構(gòu)中,是否有可能為“真''的分支首先得到測(cè)試?</p><p> ?。?0)在復(fù)雜的邏輯條件中,是否最冇可能為“真”
59、的表達(dá)式得到測(cè)試?</p><p> 2.4各類維護(hù)的側(cè)重點(diǎn)</p><p> 而且對(duì)于不同類型的維護(hù),這七種特性的側(cè)重點(diǎn)也不相同</p><p><b> O</b></p><p> 圖2-4各類維護(hù)的側(cè)匝點(diǎn)圖</p><p> 從圖2-4 ?puj以看出,因?yàn)榧m正性維護(hù)主要的工作是
60、修復(fù)bug,所以對(duì)可理解性、可測(cè)試性、可修改性、可靠性就 比較側(cè)重;根據(jù)適應(yīng)性維護(hù)的定義,這類維護(hù)與環(huán)境冇關(guān),所冇對(duì)可修改性、可移植性、可使用性比較側(cè)重;而完善性 維護(hù)就對(duì)可使用性和效率比較側(cè)重。</p><p> 3國內(nèi)外情況分析與對(duì)比</p><p> 3」國內(nèi)軟件質(zhì)量維護(hù)情況簡(jiǎn)單分析</p><p> 在互聯(lián)網(wǎng)的迅速發(fā)展中,越來越多的國內(nèi)公司希望通過互聯(lián)
61、網(wǎng)這個(gè)渠道來増加公司產(chǎn)品的銷量以及建立公司形象, 因此也就促使越來越多的軟件公司產(chǎn)生,國內(nèi)的軟件行業(yè)也因此開始了迅速地發(fā)展°可是受需求山?場(chǎng)的影響,加上軟件 開發(fā)的成本不高,而且周期短,許多新興的軟件公司為了-?時(shí)地盈利,只注重在軟件開發(fā)中,并且在軟件開發(fā)的過程中 沒有對(duì)軟件進(jìn)行詳細(xì)的涉及以及長(zhǎng)遠(yuǎn)的規(guī)劃,導(dǎo)致國內(nèi)軟件的質(zhì)量參差不齊,更不用說對(duì)軟件維護(hù)的忽視了。后來在軟 件行業(yè)的發(fā)展屮,國內(nèi)的軟件行業(yè)漸漸意識(shí)到如果要保證軟件的質(zhì)
62、量,單單靠軟件開發(fā),是絕對(duì)不夠的。此時(shí),軟件維 護(hù)才被重新重視起來。</p><p> 而國內(nèi)的軟件維護(hù)發(fā)展至今,依然存在著這樣一些問題,這會(huì)影響到軟件質(zhì)量維護(hù)的效率以及工作量:第一是客戶 提的需求不明確,或者總是修改需求,而企業(yè)的管理人員也不向客戶解釋需求變更的困難性,為了討好客戶或者功利性, 直接答應(yīng)客戶的需求變更,這就增加了軟件維護(hù)的工作量與不穩(wěn)定性。第二是部門職能分配不明確,部門之間的關(guān)系錯(cuò) 綜復(fù)雜,維
63、護(hù)人員不熟悉軟件,就直接交給開發(fā)人員修改,從而使開發(fā)人員的工作最變大,問題解決的時(shí)間也就隨之變 長(zhǎng)。第三是測(cè)試人員對(duì)軟件未發(fā)布前的測(cè)試少,或?qū)S護(hù)人員提出的解決方案測(cè)試少,這就導(dǎo)致了町能在木地能解決的 解決方案,到用戶或客戶的手上,卻不能解決問題,這也就増加了問題解決的時(shí)間以及維護(hù)人員工作量。第四是維護(hù)流 程的混亂,標(biāo)準(zhǔn)嚴(yán)謹(jǐn)?shù)木S護(hù)流程能更好地提高維護(hù)人員的效率。第五是軟件維護(hù)成本太高,比軟件開發(fā)的成本高I?兒倍, 甚至兒十倍,使一些國內(nèi)
64、企業(yè)不愿意花如此巨大的成木來對(duì)軟件進(jìn)行維護(hù)。</p><p> 3.2國外軟件質(zhì)量維護(hù)情況簡(jiǎn)單分析</p><p> 國外的軟件行業(yè)的發(fā)展與國內(nèi)的軟件行業(yè)的發(fā)展類似,但是國外的軟件行業(yè)更早地發(fā)現(xiàn)了軟件維護(hù)的重要性,并進(jìn) 行了修正,加上國外的軟件行業(yè)本來就比國內(nèi)的軟件行業(yè)發(fā)展得早,所以國外的軟件維護(hù)的經(jīng)驗(yàn)會(huì)領(lǐng)先國內(nèi)不少,所以 很多軟件維護(hù)的經(jīng)驗(yàn)都值得我們借鑒。</p>&l
65、t;p> 國外的軟件維護(hù)有兒點(diǎn)值得我們學(xué)習(xí)的地方,第一是部門職能明確,沒有錯(cuò)綜復(fù)雜的部門關(guān)系,相對(duì)獨(dú)立,也能相 互協(xié)助解決問題。第二是國外對(duì)新員工的培訓(xùn)十分到位,做維護(hù)工作,重要的是對(duì)軟件熟悉與理解,不像國內(nèi)的很多企 業(yè),招進(jìn)來一些新員工,不經(jīng)過什么培訓(xùn),就直接上崗,要求員工自學(xué),這樣,新員工對(duì)軟件不熟悉,維護(hù)效率自然就 比較低,管理層乂對(duì)新員工不滿意,這就造成兩邊不討好的情況。第三是國外的企業(yè)會(huì)進(jìn)行人量各方面的測(cè)試,以保證 維
66、護(hù)人員提出的解決方案是準(zhǔn)確可行的。第四是有一?套規(guī)范嚴(yán)謹(jǐn)?shù)木S護(hù)工作流程。</p><p> 4軟件質(zhì)量維護(hù)案例分析</p><p> 下面是兩個(gè)案例,一個(gè)是國外的電子政務(wù)系統(tǒng)的維護(hù)案例;一?個(gè)是國內(nèi)某外包公司的案例。</p><p> 4」國外電子政務(wù)系統(tǒng)的維護(hù)實(shí)例</p><p> 木人實(shí)習(xí)的單位是大展信息科技冇限公司,這個(gè)電子政務(wù)
67、系統(tǒng)而向的都是外國客戶,而且公司內(nèi)制度以及企業(yè)文化 與國外軟件企業(yè)相仿。</p><p> 此電子政務(wù)系統(tǒng)是為國外政府做的,所以客戶就是國外一些政府機(jī)構(gòu)的官員,而本人負(fù)責(zé)的是其中一個(gè)子系統(tǒng),叫 做互動(dòng)式語音應(yīng)答系統(tǒng),簡(jiǎn)稱AIVRo</p><p> 在本人正式開始獨(dú)立處理軟件維護(hù)問題Z前,公司進(jìn)行了一個(gè)多月的公司人培訓(xùn),以及一個(gè)多月的單獨(dú)培訓(xùn),使實(shí) 習(xí)牛更加了解系統(tǒng)。而每日的工作流程如
68、下:?jiǎn)栴}都先被收集在維護(hù)組的項(xiàng)目經(jīng)理或項(xiàng)目組長(zhǎng)的手上,再由項(xiàng)II經(jīng)理或 項(xiàng)目組長(zhǎng)進(jìn)行指派哪個(gè)維護(hù)人員解決此類問題,維護(hù)人員提岀的解決方案耍經(jīng)過項(xiàng)目經(jīng)理判斷是否可行,再由負(fù)責(zé)同一 子系統(tǒng)的測(cè)試人員進(jìn)行反復(fù)測(cè)試(例如我是AIVR的維護(hù)人員,我提出的解決方案,要由負(fù)責(zé)AIVR的測(cè)試人員進(jìn)行反 復(fù)測(cè)試),解決方案通過Z后再發(fā)送給客戶,而問題的維護(hù)詳情會(huì)記錄在公司內(nèi)部的站點(diǎn)里,維護(hù)流程很淸晰明了,部 門職能也I?分明確。</p>&
69、lt;p> 舉個(gè)例子,某一天早上,維護(hù)組的測(cè)試人員Kelly會(huì)把這一天客戶的所有問題提交給項(xiàng)H組長(zhǎng)Petei?(因?yàn)槭菍?duì)國外 的,所以有時(shí)差,這一天需耍解決的問題,就相當(dāng)于國外客戶前一天提岀的問題),Peler把有關(guān)AIVR的產(chǎn)品問題分配 給我木人,而木人需要向客戶收集此問題的所有相關(guān)信息,例如AIVR不能做schedule這個(gè)問題,有可能是很多方面的 原因造成的,就需要客戶提供相應(yīng)的AIVR的log信息、服務(wù)器端的log信息、
70、數(shù)據(jù)庫的備份等信息來對(duì)原因進(jìn)行分析, 在找到造成這個(gè)問題發(fā)生的原因Z后,就會(huì)跟Peter報(bào)告。如果Peter認(rèn)同此原因是造成這個(gè)問題的關(guān)鍵,就由本人整理 出解決方案,經(jīng)過Peter的審核,由負(fù)責(zé)AIVR產(chǎn)品的測(cè)試人員Janice対解決方案進(jìn)行驗(yàn)證,通過了的話就跟用戶溝通, 說明情況;如果Pe(er認(rèn)為此原因并不是造成這個(gè)問題的關(guān)鍵,就需耍跟Pe(ei■以及AIVR的測(cè)試人員伽ice討論,因?yàn)?木人是維護(hù)人員,所以會(huì)比較偏向代碼、設(shè)計(jì)方面
71、來提出解決方案,而測(cè)試人員對(duì)業(yè)務(wù)邏輯以及配置比較熟悉,Janice 就會(huì)從業(yè)務(wù)邏輯以及配置方面給出建議,所以Peter認(rèn)為不是這個(gè)原因的時(shí)候</p><p> 如果岀現(xiàn)的問題,維護(hù)組在評(píng)定之后,確定組內(nèi)無法解決,就會(huì)連同開發(fā)組與此問題相關(guān)模塊的開發(fā)人員進(jìn)行討論, 再確定最終的解決方案。</p><p> 圖4-1 AIVR工作流程圖</p><p> 4.2國
72、內(nèi)軟件維護(hù)的維護(hù)實(shí)例</p><p> 屮公司是軟件外包公司,為乙公司做一個(gè)軟件項(xiàng)目,軟件開發(fā)項(xiàng)目總金額達(dá)到了 1500多萬元,一共12個(gè)子系統(tǒng), 參與人數(shù)眾多。在代碼實(shí)施與測(cè)試階段,工程師人員達(dá)到了 60多人,經(jīng)過了 5個(gè)月,系統(tǒng)開發(fā)與測(cè)試完成;在試運(yùn)行階 段,撤離部分開發(fā)人員,留下25人進(jìn)行后期開發(fā)與測(cè)試。系統(tǒng)正式上線運(yùn)行后,甲公司與乙公司雙方又簽訂了一項(xiàng)軟件 維護(hù)合同,為期一年,卬公司派了 15人到現(xiàn)場(chǎng)負(fù)
73、責(zé)技術(shù)支持、處理用戶需求,其中程序員12人。</p><p> 隨著系統(tǒng)運(yùn)行了一段時(shí)間,用戶不斷提出新要求,冇些改動(dòng)小,冇些改動(dòng)人,而人多數(shù)需求,在經(jīng)過乙公司的討論 后都確認(rèn)耍跟進(jìn)修改,項(xiàng)目組基本沒有商量的余地。而被屮公司派過來進(jìn)行軟件維護(hù)工作的程序員都屬于初級(jí)程序員, 對(duì)整個(gè)軟件并不是很熟悉,之前也沒做過維護(hù)工作,改動(dòng)前要花費(fèi)大量的時(shí)間對(duì)系統(tǒng)業(yè)務(wù)需求、源代碼進(jìn)行了解、學(xué)習(xí)、 研究,這就導(dǎo)致,問題解決速度較慢,
74、這些程序員也開始抱怨起來。</p><p> 存在雷同的重要部分:……</p><p><b> 剽竊文字表述</b></p><p> 用戶的問題以及給出解決方案;傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級(jí)的開放性,在 特定的應(yīng)川中無論是Client端還是Server端都還需要特定的軟件支持。由丁?不能提供給川戶
75、真實(shí)期望的開放環(huán)境, C/S結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)以及不同的環(huán)境開發(fā)不同的版木,加上軟件產(chǎn)品的更新?lián)Q代十分迅速,Q 經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶同時(shí)使用。而且維護(hù)代價(jià)高昂,效率低下。與B/S模式的</p><p> 而乙公司也對(duì)甲公司的程序員不滿意,要求換人,換了兒個(gè),結(jié)果還是不A理想,乙公司就更不滿意了,雙方最后</p><p><b> 不歡而散。</
76、b></p><p><b> 4.3案例分析</b></p><p> 通過上面兩個(gè)案例的對(duì)比分析,可以分析出兒個(gè)影響軟件維護(hù)活動(dòng)的因素:</p><p> 代碼熟悉度。軟件維護(hù)的過程要閱讀其他軟件開發(fā)人員寫的代碼,這就意味看理解別人寫的程序時(shí)會(huì)出現(xiàn)很多困 難,這種困難隨著軟件配置成分的減少會(huì)出現(xiàn)較大的増幅。</p>
77、<p> 客戶或用戶需求的經(jīng)常性改變。如果客戶或用戶提出的問題的確是個(gè)bug,維護(hù)人員是要進(jìn)行修改的,但是許多 客戶并不能分辨出問題的實(shí)質(zhì),便提交新需求,這就會(huì)使軟件維護(hù)人員增加工作量。</p><p> 人員流動(dòng)性。軟件人員流動(dòng)性非常強(qiáng),不管是開發(fā)人員、維護(hù)人員、還是測(cè)試人員,很少會(huì)在同-個(gè)項(xiàng)目組待很 長(zhǎng)時(shí)間。</p><p> 維護(hù)流程。俗稱沒冇規(guī)矩,不成方惻,不淸晰
78、的維護(hù)流程也會(huì)彩響到軟件維護(hù)人員的效率。</p><p> 除了從上面兩個(gè)案例分析出來的因素,當(dāng)然還冇一些其他的因素在影響軟件維護(hù)活動(dòng):</p><p> 系統(tǒng)人小。系統(tǒng)越是龐人,代碼量就會(huì)越人,代碼量越人,就導(dǎo)致需要花長(zhǎng)時(shí)間去熟悉系統(tǒng)。系統(tǒng)越是龐大,業(yè) 務(wù)功能也就越復(fù)雜。因而需耍更多的維護(hù)工作量。</p><p> 程序設(shè)計(jì)語言。使用強(qiáng)功能性的程序設(shè)計(jì)語言可
79、以較好地控制程序的規(guī)模。語言的功能性越強(qiáng),程序的模塊化和 結(jié)構(gòu)化程度越高,程序的可讀性就越好,也就容易維護(hù)。</p><p> 系統(tǒng)年齡。系統(tǒng)生存的時(shí)間越長(zhǎng),隨著不斷被修改,結(jié)構(gòu)就會(huì)在一定程序上被打亂。而許多老系統(tǒng)在當(dāng)初并沒冇 按照軟件工程的要求進(jìn)行開發(fā),這就給維護(hù)工作造成了困難。</p><p> 軟件開發(fā)技術(shù)與規(guī)范。先進(jìn)的軟件開發(fā)技術(shù)往往結(jié)構(gòu)化就更好,而按照代碼規(guī)范寫出來的程序,可
80、讀性就越高, 更利于軟件維護(hù)。</p><p> 文檔不全。維護(hù)往往會(huì)出現(xiàn)文檔不全的現(xiàn)象,這也會(huì)増加維護(hù)難度。</p><p> ?、试谲浖倪\(yùn)營期,錯(cuò)謀只冇在軟件的運(yùn)行小才能發(fā)現(xiàn),用八往往是在任務(wù)緊、時(shí)間急的悄況下請(qǐng)求維護(hù)的,所以 耍求維護(hù)人員在煎吋間內(nèi)能發(fā)現(xiàn)并解決問題。</p><p> 軟件維護(hù)的副作用大,?個(gè)小地方的改動(dòng),常常會(huì)影響到整個(gè)系統(tǒng)。而這種副作
81、丿U往往在運(yùn)行中造成了問題時(shí)才 會(huì)被發(fā)現(xiàn)。這種不對(duì)預(yù)知性導(dǎo)致維護(hù)人員對(duì)維護(hù)匸作產(chǎn)生了一定程度的懼怕和厭煩心理,而若要避免這種悄況,就需要 對(duì)系統(tǒng)進(jìn)行人鼠的測(cè)試,但這就意味著要投入人量的資源,導(dǎo)致維護(hù)成木増高。</p><p> 維護(hù)成本。在軟件發(fā)展的前期,Z所以軟件維護(hù)會(huì)被忽視,其中一個(gè)原因就是維護(hù)成本的過高。所以許多企業(yè)并 不想付出比軟件開發(fā)髙出I-兒倍,甚至兒I-倍的成本去對(duì)軟件進(jìn)行維護(hù)。</p>
82、;<p> 5提高軟件可維護(hù)性與維護(hù)效率的方法</p><p> 從上面的案例分析屮可以得出軟件維護(hù)活動(dòng)的困難點(diǎn)分為兩個(gè)方面,一個(gè)是不可控方面,如系統(tǒng)年齡、客戶或用戶 的需求變更、人員流動(dòng)性等;另一個(gè)就是可控方面,如文檔不全、程序設(shè)計(jì)語言、軟件開發(fā)技術(shù)與規(guī)范等。</p><p> 而本文研究的重點(diǎn)就在可控方面。</p><p> 第一,選擇較容
83、易維護(hù)的程序設(shè)計(jì)語言進(jìn)行開發(fā)。第一代的機(jī)器語言與第二代的匯編語言明顯不適合于現(xiàn)在的軟件 開發(fā),這些語言的功能強(qiáng)大,卻不容易理解與學(xué)握,可讀性相對(duì)來說并沒有高級(jí)語言好,也就難以對(duì)其進(jìn)行維護(hù)。高級(jí) 語言相對(duì)來說就更好理解與掌握,第四代涪言,例如圖形語言、查詢涪言等,冇的是過程化的語言,冇的是非過程化的 語言,不管是哪一種語言,編寫出的程序都更加容易理解和修改,并且,其產(chǎn)生的代碼指令條數(shù)可能要比用低級(jí)語言編 制出的少一個(gè)數(shù)量級(jí),從而使開發(fā)速度
84、快兒倍。而叩使是高級(jí)語言,其中也冇難易Z分,具體需要什么語言來開發(fā)就要 根據(jù)壞境而定,但是髙級(jí)語言肯定是比低級(jí)語言具有更高的可維護(hù)性。</p><p> 圖5-1語言可維護(hù)性對(duì)比圖</p><p> 第二,建立明確清晰的軟件質(zhì)量目標(biāo)以及問題優(yōu)先級(jí)。軟件是不可能百分之百完美無缺陷無漏洞的,所以維護(hù)人員 在維護(hù)的時(shí)候不能想著要把系統(tǒng)修改得完美,而是要建立明確淸晰的軟件質(zhì)量目標(biāo),達(dá)到這個(gè)目標(biāo)
85、Z后,就不要再鉆牛 角尖去完美這個(gè)軟件,這不僅會(huì)使維護(hù)的時(shí)間増長(zhǎng),也會(huì)影響維護(hù)工作的效率,在你把某個(gè)維護(hù)問題解決到完美的時(shí)候, 說不定其他的維護(hù)人員已經(jīng)解決了三個(gè),甚至四個(gè)問題了,況且當(dāng)時(shí)再完美的解決方案,隨著軟件技術(shù)的發(fā)展,也不一 定就一直是完美的。而建立問題的優(yōu)先級(jí)也十分重耍,往往問題不是等你解決了一個(gè)才來一個(gè)的,有時(shí)是兒個(gè)問題一起 來,這樣如果不建立起一個(gè)優(yōu)先級(jí)的話,就會(huì)很容易產(chǎn)生混亂,所以需耍對(duì)問題進(jìn)行一個(gè)優(yōu)先級(jí)排序,嚴(yán)重的問題
86、先解</p><p> 決,再解決其他的問題,這樣就提髙了軟件維護(hù)的效率。</p><p> 表5-2問題嚴(yán)重程度與優(yōu)先級(jí)表</p><p> 第三,細(xì)分文檔種類、改進(jìn)文檔的內(nèi)容與質(zhì)量。細(xì)分文檔的種類,可以更清晰地了解與找出軟件開發(fā)以及軟件維護(hù) 中的步驟,這就節(jié)省了許多尋找文檔的時(shí)間,當(dāng)然也不能細(xì)分得太細(xì),若細(xì)分得太細(xì)的話,反而會(huì)彩響效率。維護(hù)人員 在剛接觸系
87、統(tǒng)的時(shí)儺,并不會(huì)直接去看代碼,直接看代碼的效率也不高,而是要先看系統(tǒng)的相關(guān)文檔,在了解了系統(tǒng)的 業(yè)務(wù)邏輯和配置信息Z后,才會(huì)去看代碼,所以說文檔的內(nèi)容與質(zhì)量就變得相當(dāng)重要了。在開發(fā)程序的過程中,注重文 檔的建立與完善,有利于新員工或者非本系統(tǒng)開發(fā)人員的莫他人員迅速理解與掌握本系統(tǒng)。不管是開發(fā)文檔,還是維護(hù) 檢錄文檔,文檔里面應(yīng)盡可能多地記錄與系統(tǒng)相關(guān)的說明、操作、數(shù)據(jù)等內(nèi)容,這會(huì)提高維護(hù)人員維護(hù)系統(tǒng)的效率,也 會(huì)提高系統(tǒng)的可維護(hù)性。&l
88、t;/p><p> 圖5?3文檔與用戶相關(guān)圖</p><p> 第四,在維護(hù)成本與人量測(cè)試中取得平衡。在軟件的維護(hù)階段,當(dāng)系統(tǒng)出現(xiàn)問題的時(shí)候,在維護(hù)人員提出解決方案 Z后,是需耍對(duì)解決方案進(jìn)行測(cè)試的。隨著測(cè)試量的增大,維護(hù)成本就會(huì)隨Z而升高。如果進(jìn)行少量的測(cè)試,維護(hù)成本 是降低了,但是卻不能保證解決方案的成功率。所以通俗來說,就是不能進(jìn)行過量的測(cè)試,也不能進(jìn)行少量測(cè)試,而這 個(gè)度如何把握,
89、這依賴于系統(tǒng)的復(fù)雜度以及項(xiàng)目組對(duì)維護(hù)的重視度。</p><p> 第五,使用易于維護(hù)的軟件技術(shù)與代碼規(guī)范化。冇效的軟件開發(fā)技術(shù)是提高可維護(hù)性的,如模塊化技術(shù),它的優(yōu)點(diǎn) 是,如果要改變一個(gè)功能,只需要修改相應(yīng)的模塊,不辭要修改也不會(huì)影響到其他的模塊;如果程序辭要添加功能,只 需耍增加一個(gè)新的模塊或模塊層即可。再如面向?qū)濆杓夹g(shù),通過面向?qū)濆璧姆绞?,將現(xiàn)實(shí)世界的物件抽象成對(duì)彖,現(xiàn)實(shí) 壯界中的關(guān)系抽象成類、繼承,幫助人
90、們實(shí)現(xiàn)對(duì)現(xiàn)實(shí)壯界的抽象與數(shù)字建模。通過面向?qū)ο蟮姆椒ǎ谌死斫獾姆?式對(duì)于復(fù)雜的系統(tǒng)進(jìn)行分析與設(shè)計(jì)。代碼規(guī)范化就是使用統(tǒng)一的編碼規(guī)則,不能按照個(gè)人的習(xí)慣進(jìn)行編碼,并且在盡可 能多的地方進(jìn)行注釋,這會(huì)使維護(hù)人員在熟悉系統(tǒng)的時(shí)候,更加迅速地理解與掌握系統(tǒng)。</p><p> 圖5-4代碼規(guī)范化與非規(guī)范對(duì)比圖</p><p> 第六,培訓(xùn)。在一個(gè)軟件企業(yè)長(zhǎng)久的發(fā)展路上,培訓(xùn)是不可或缺的一
91、環(huán)。培訓(xùn)的好壞與多少,有時(shí)會(huì)直接決定新員 工的積極性以及對(duì)系統(tǒng)的熟悉度,只有對(duì)系統(tǒng)熟悉了,才能對(duì)問題有可能岀現(xiàn)在什么地方,該從哪方面解決等等這些問 題有想法,維護(hù)工作才能有條不紊地做下去,才能談如何提高維護(hù)工作的效率。</p><p> 第七,提高軟件維護(hù)的意識(shí)。軟件的可維護(hù)性,并不僅僅在軟件維護(hù)階段才應(yīng)該被考慮到,在軟件的開發(fā)階段也應(yīng) 該被考慮到,應(yīng)該是貫穿整個(gè)軟件系統(tǒng)的生存周期,只要這個(gè)軟件沒冇被放棄,軟件
92、可維護(hù)性就應(yīng)該被考慮,這樣帶著 軟件維護(hù)意識(shí)開發(fā)出來的軟件才更有可維護(hù)性。</p><p> 第八,嚴(yán)謹(jǐn)規(guī)范的維護(hù)流程?;靵y的維護(hù)流程會(huì)使維護(hù)人員不知所措,會(huì)使維護(hù)人員不能淸晰地知道維護(hù)工作進(jìn)行 到了流程中的哪一步,應(yīng)該找誰提交解決方案,這就大大地提高了問題解決的時(shí)間以及降低了維護(hù)的工作效率。而嚴(yán)謹(jǐn) 規(guī)范的維護(hù)流程,會(huì)使人員間的合作更緊密,不會(huì)產(chǎn)生混亂的情況,維護(hù)人員會(huì)淸楚知道此時(shí)應(yīng)該做什么,下一步應(yīng)該 做什么
93、,解決方案應(yīng)該如何提交以及提交給誰,工作就會(huì)顯得冇條不紊,維護(hù)的效率也就因此而提髙。</p><p> 圖5-5規(guī)范的維護(hù)流程示例圖</p><p><b> 6軟件維護(hù)的前景</b></p><p> 近兒年,隨看國內(nèi)計(jì)算機(jī)行業(yè)的發(fā)展,國內(nèi)的越來越多的軟件金業(yè)漸漸了解到了軟件維護(hù)的重要性,雖然維護(hù)的成 木要比開發(fā)的成木高出好十幾倍,但是
94、也一樣是越來越多企業(yè)下重木在軟件維護(hù)工作上。</p><p> 往往一個(gè)軟件開發(fā)出來,生存周期不是兒個(gè)月或者-兩年就淘汰了的,一個(gè)軟件的生存周期一 ?般都會(huì)至少會(huì)冇兒年, 這樣-?來,軟件維護(hù)就顯得特別重要。其實(shí)軟件維護(hù)工作維護(hù)的不僅僅是軟件,也是在維護(hù)一個(gè)企業(yè)的態(tài)度與形彖,一 個(gè)漏洞百出的軟件并不可怕,可怕的是這個(gè)軟件一直都是漏洞百出,沒有任何改進(jìn)的地方,這才會(huì)讓用戶拋棄這個(gè)軟件。 從軟件發(fā)展至今,木來就沒有
95、百分百完美的軟件,哪怕像微軟,甲骨文這樣的世界前百強(qiáng)的大企業(yè),他們的軟件也并不 是完美的,總會(huì)冇補(bǔ)丁與新版木的出現(xiàn),這就會(huì)讓用戶看到了希望,就會(huì)看到這家企業(yè)的的態(tài)度,從而為企業(yè)建立起艮 好的形彖。</p><p> 所以說軟件維護(hù)的發(fā)展并不會(huì)停止,軟件維護(hù)是大勢(shì)所趨,肯定會(huì)有越來越多的軟件公司意識(shí)到軟件維護(hù)的重耍性, 投入在軟件維護(hù)中,除非有一天軟件不再存在。</p><p><b
96、> 7結(jié)束語</b></p><p> 當(dāng)前軟件在整個(gè)國尺經(jīng)濟(jì)當(dāng)屮具冇相當(dāng)廣泛的領(lǐng)域,在人們的口常生活中,軟件可以說無處不在。軟件的可維護(hù)性 的概念,并不只應(yīng)該在維護(hù)階段形成,而是需耍貫徹到軟件牛命周期的每一個(gè)階段,學(xué)習(xí)和掌握軟件牛命周期的每一個(gè) 階段,對(duì)軟件的可維護(hù)性會(huì)產(chǎn)生-?定的影響,對(duì)軟件維護(hù)人員的實(shí)際工作也會(huì)有一定的作用與好處。</p><p> 在這篇關(guān)于
97、軟件維護(hù)的論文中,從理論,到案例,到分析,以及到最后這篇論文的核心:如何提高軟件的可維護(hù)性 與維護(hù)工作效率,讓我更加了解了軟件維護(hù)的不同面,在實(shí)習(xí)的時(shí)儺只是狹隘地認(rèn)為軟件維護(hù)貝是幫助用戶解決問題, 就只冇糾正性維護(hù)而已,但是寫完幣篇論文,才明白了軟件維護(hù)并不僅僅是這樣,它還冇其他很多不同的方面。</p><p> 整篇論文都是圍繞軟件維護(hù)寫的,從實(shí)習(xí)Z前的根本就不淸楚軟件維護(hù)到底是做什么東曲,直到現(xiàn)在對(duì)軟件維護(hù)
98、充 滿信心,轉(zhuǎn)變挺大的,寫完整篇論文,糾正了我錯(cuò)誤的觀念,開闊了我的視野,也增加了我口學(xué)的能力。</p><p><b> 參考文獻(xiàn)</b></p><p> penny grubb armstrong a takang著韓柯孟海軍譯,軟件維護(hù):概念與實(shí)戰(zhàn)(第二版),電子工業(yè)出版社,2004年 6月</p><p> (英)lan Som
99、merville,《軟件工程》,機(jī)械工業(yè)出版社,2011年5 H第九版。</p><p> [31王素芬,《軟件工程與項(xiàng)目管理》,西安電子科技大學(xué)出版社,2010年3月第一版;</p><p> 汪若虛,《如何提高軟件的可維護(hù)性》,安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007年第6期第6卷(總第33 期)</p><p> 連紀(jì)海,計(jì)算機(jī)軟件的維護(hù)[J].赤峰學(xué)院學(xué)
100、報(bào)(自然科學(xué)版),2005年]月</p><p> 陳小輝、鄧杰英、文佳,淺談軟件的可維護(hù)性設(shè)計(jì)[J].華南金融電腦,2009年3月</p><p> 張宏偉,電腦知識(shí)與技術(shù)(雜志),2010年6月21日</p><p> 殷人昆、鄭人杰、馬素霞、白曉穎,《實(shí)用軟件工程》,清華大學(xué)出版社,2010年11月</p><p> 軟件維護(hù)P
101、PT,如何做好軟件維護(hù),如何管理軟件維護(hù)過程,網(wǎng)上下載</p><p><b> 致謝</b></p><p> 在這次的論文寫作中,首先要感謝的肯定是我的導(dǎo)師,給予了我論文上的指導(dǎo)與帑助,老師從選題,到開題報(bào)告, 再到提交論文,都在辛苦地怦促我們,給予我們不同的修改懣見,認(rèn)真的粘神值得我們學(xué)習(xí)。然后就是耍感謝實(shí)習(xí)公司 的項(xiàng)目組長(zhǎng),給予了我許多寶貴的意見與建議,使
102、我寫起這篇論文來更加得心應(yīng)手。</p><p> 存在雷同的重要部分:</p><p><b> 剽竊文字表述</b></p><p> 軟件的運(yùn)營期,錯(cuò)誤只有在軟件的運(yùn)行中才能發(fā)現(xiàn),用戶往往是在任務(wù)緊、時(shí)間急的情況下請(qǐng)求維護(hù)的,所以要求 維護(hù)人員在短時(shí)間內(nèi)能發(fā)現(xiàn)并解決問題。</p><p> 一個(gè)小地方的改
103、動(dòng),常常會(huì)影響到整個(gè)系統(tǒng)。而這種副作用往往在運(yùn)行中造成了問題時(shí)才會(huì)被發(fā)現(xiàn)。這種不可預(yù)知 性導(dǎo)致維護(hù)人員對(duì)維護(hù)工作產(chǎn)生了一定程度的懼怕和厭煩心理,而若要避免這種情況,就需要對(duì)系統(tǒng)進(jìn)行人量的測(cè) 試,</p><p> ?。ㄗ⑨專杭t色文字表示文字復(fù)制部分;黃色文字表示引用部分)</p><p> 打印保存http://check.cnki.net</p><p>&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- [重點(diǎn)]紅河學(xué)院畢業(yè)論文模板畢業(yè)論文范文
- 畢業(yè)論文范文范文
- 畢業(yè)論文范文
- 畢業(yè)論文范文(范文)
- 畢業(yè)論文范文
- 畢業(yè)論文范文
- 畢業(yè)論文范文——人事管理系統(tǒng) (5)
- 標(biāo)準(zhǔn)畢業(yè)論文范文
- 機(jī)械畢業(yè)論文范文
- 食品畢業(yè)論文范文
- 護(hù)理畢業(yè)論文范文
- 法學(xué)畢業(yè)論文范文
- 護(hù)理畢業(yè)論文范文
- plc畢業(yè)論文范文
- 專業(yè)畢業(yè)論文范文
- 音樂畢業(yè)論文范文
- 電大畢業(yè)論文范文
- 護(hù)理畢業(yè)論文范文
- 法學(xué)畢業(yè)論文范文
- 畢業(yè)論文范文.doc
評(píng)論
0/150
提交評(píng)論