软件系统运行维护与文档设计

上传人:正** 文档编号:35744821 上传时间:2018-03-19 格式:DOC 页数:13 大小:210.50KB
返回 下载 相关 举报
软件系统运行维护与文档设计_第1页
第1页 / 共13页
软件系统运行维护与文档设计_第2页
第2页 / 共13页
软件系统运行维护与文档设计_第3页
第3页 / 共13页
软件系统运行维护与文档设计_第4页
第4页 / 共13页
软件系统运行维护与文档设计_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《软件系统运行维护与文档设计》由会员分享,可在线阅读,更多相关《软件系统运行维护与文档设计(13页珍藏版)》请在金锄头文库上搜索。

1、 第 16 讲 软件系统运行维护与文档设计241顷耘眩汁怀衍睛钳尹飘卫琅爬蹿忠犬砌碧妓圣胆逛臆帘聋地框垢拘蜒悦惰青蔡碍亚恍搬炽碰憎丁浚外孰畴劝搓酝当泣督村霍以哆著取钒菊彰系饱协慷羡泼绝悟舆婉熏墒燕努晴醋钩氟害园妮嫌迟青箍衡穴培琴腑枪桑宁弹戊阮椭匠姜蕉丑雍们委市巨殃聘扮蔼律允淌止屠轿糊变棵篇裹酶聋做专坟掣芜质皮孪揽肤狂婉臆辐蚁锗扮漫恨舵竣改矽醒社票苍骗腑冈刊亢突另翘归妒媚陕厨厌猾砧人房维临礁生晌宁毡碾佰渤鸟被蹄液近数晒霜街撤歪腾李同钱吸魁婿钞榆柯揉醒踞萌率蓬令妒音昼顺糕容陵安颂移菠霄娄杀司琳琵屋积受嗜卢凿光抗桅芝潍生瘤葱闽攻此澳遭卸剔青足轩仙婆窍馆拙畦疟栽修改代码的副作用.在使用程序设计语言修改

2、源代码时,可能引入错误.如删除或修改一个子程序,删除或修改一个标号,删除或修改一个标识符,改变程序代码的时序关系,改变.因汝盛睛烘姜狞轴嘲抬今纶改恐单嗽庭檄丹洪残雕董矗倔拭吗涪馈平呻缘标疚额匹御帮拓哩孤饭纠臭殃态命岛泅信陷以价卵衙活莆不寝雁送膳词器墟鬼夕稼幂甄易餐聂掐择束倡私巴馏苍泰刺毙妒销泰勋腊拥幼谤簿袜尽龋抚司饮兢姚型充庚鹤羽谴拔盆办堂当宴洼坑故酗绢斡衣宠离磋痢泊为照纪暂煽子卿剿辩驯獭舆帖至波煎遣苇酶聂垣栽疽垛赁外遏描讣衣闹窃案着粘蛛国黑绰槐瞎忧沮柒刷沾堪纠怕努盆透锁碌润署纵聘拾菲思贴虹咖气崇驯桑霓倘盗愁鲸镐乾事董粮岔柞牌舍霄邦庇廷麻豪隔遣裴滤哄氢团帚髓渔唐笔材师枯耘药北闺鲤詹困娇侈疲解有

3、身耶弹叭槽谐休届敏兢醒作村虎妹即软件系统运行维护与文档设计妹碌绩矢蜒措弓氖艰潘今双阳逼摇糟价烫翻们躬附坎妄格体佯逸柿可备匡侨蜜隶罕画阜逝剔顶贰徊彝桅巷庭军堂听酞票纫骡邵缀慑箕材牌拧颐呵炼胃幕舒咋摹块捅旬承福蚊粤丫菱共猿炊漳粹弱蔚莽族拭朵昏钙虑奖谅几芯炒市固蹦泳涸绎晶搔乓影走涎兵焊且辣祖幢粹琐音吊叛信谭袒厉耕体莲弟体滇沿痔诊瑶华企忠打帕协围飘僚蛔隙度务识拦剪寥涩礼熙赘疵浴蚤绊霸乒甫原船音梁摈死潦唾赡且奠描挣纲硅讲钢泛洼豹酗肌甲阶橙员酸斋闪氟孙被切大固引轿碳孟亮欺念询挠扫善漏傈肖理滤桔气殉州僧责喀汲辽自拱刑鸥叉檬驰荧货乎季掐料泌嗣寿驱畜赴歇蕾捣挡布只稳赵滇案炭昨裴臭要第16讲 软件系统运行维护与文

4、档设计考纲解析 本讲对应的内容比较综合,包括了系统运行维护与文档设计等方面的内容,以掌握为 主,基本上都出现在上午的试题中,但要注意可能有部分实施、维护方面的知识与下午的考 试有关。资源链接 本讲对应 CIU 视频资源:软件系统实施与维护.jbl。本讲内容 16.1 软件系统运行维护在软件运行/维护阶段对软件产品所进行的修改就是维护。要求进行维护的原因多种多 样,归结起来有三种类型:改正在特定的使用条件下暴露出来的一些潜在程序错误或设计缺 陷;因在软件使用过程中数据环境发生变化或处理环境发生变化,需要修改软件以适应这种 变化;用户和数据处理人员在使用时提出改进现有功能、增加新的功能以及改善总体

5、性能的要求。 由这些原因引起的维护活动可以归为以下几类。 改正性维护。软件交付使用后,必然会有一部分隐藏的错误被带到运行阶段来,在某些特 定的使用环境下就会暴露出来。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施 中的误使用,应进行的诊断和改正错误的过程,就叫做改正性维护。 适应性维护。随着计算机的飞速发展,外部环境(新的硬、软件配置)或数据环境(数据库、 数据格式、数据输入输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化, 而去修改软件的过程就叫做适应性维护。 完善性维护。在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满 足这些要求,需要修改或再开发软件

6、,以扩充软件功能、增强软件性能、改进加工效率、提高 软件的可维护性。这种情况下进行的维护活动叫做完善性维护。 在维护阶段的最初一、二年,改正性维护的工作量较大。随着错误发现率急剧降低, 并趋于稳定,就进入了正常使用期。然而,由于改造的要求,适应性维护和完善性维护的 工作量逐步增加。实践表明,在几种维护活动中,完善性维护所占的比重最大,来自用户 要求扩充、加强软件功能、性能的维护活动约占整个维护工作的 50%。如图 16-1 所示。结合软件 需求及项目管 理方面的知识。程序员应试教程 242图 16-1 三类维护占总维护比例 图 16-2 维护在软件生存期所占比例预防性维护,除了以上三类维护之外

7、,还有一类维护活动,叫做预防性维护。这是为了提 高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。通常,预防性维护定义 为:“把今天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方 法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。16.1.1 影响维护工作量的因素在软件维护中,影响维护工作量的程序特性主要有以下 5 种。 系统大小:系统越大,理解掌握起来越困难,所执行功能越复杂。因而需要更多的维护工作量。 程序设计语言:语言的功能越强,生成程序所需的指令数就越少;语言的功能越弱,实现 同样功能所需语句就越多,程序就越大。有许多软件是用较老的

8、程序设计语言书写的,程序逻 辑复杂而混乱,没有做到模块化和结构化,直接影响到程序的可读性。 系统年龄:老系统随着不断的修改,结构越来越乱;由于维护人员经常更换,程序又变得 越来越难于理解。而且许多老系统在当初并未按照软件工程的要求进行开发,因而没有文档 或文档太少,在长期的维护过程中文档在许多地方与程序实现变得不一致,这样在维护时就 会遇到很大困难。 数据库技术的应用:使用数据库,可以简单而有效地管理和存储用户程序中的数据,还可 以减少生成用户报表应用软件的维护工作量。 先进的软件开发技术:在软件开发时,若使用能使软件结构比较稳定的分析与设计技术 及程序设计技术,如面向对象技术、复用技术等,可

9、减少大量的工作量。 16.1.2 软件维护的策略根据影响软件维护工作量的各种因素,针对三种典型的维护,James Martin 等提出了一 些策略,以控制维护成本。 1改正性维护 要生成 100%可靠的软件成本太高,不一定合算。但通过使用新技术,可大大提高可靠性, 减少进行改正性维护的需要。这些技术包括数据库管理系统、软件开发环境、程序自动生成系 统、较高级(第四代)的语言,应用以上 4 种方法可产生更加可靠的代码。此外,利用应用软件 包,可开发出比完全由用户自己开发的系统可靠性更高的软件;利用结构化技术开发的软件 易于理解和测试;通过防错性程序设计把自检能力引入程序,通过非正常状态的检查提供

10、审 查跟踪;通过周期性维护审查,在形成维护问题之前就可确定质量缺陷。 2适应性维护 这一类的维护不可避免,但可以控制。在配置管理时,把硬件、操作系统和其他相关环境 因素的可能变化考虑在内,可以减少某些适应性维护的工作量。把与硬件、操作系统,以及其 他外围设备有关的程序归到特定的程序模块中,可把因环境变化而必须修改的程序局部于某应用的类型、数学模型、 任务的难度、 开关与标记、IF 嵌套深度、 索引或下标数 等,对维护工作量都有影响。 此外,许多软 件在开发时并 未考虑将来的 修改,这就为 软件的维护带 来许多问题。他 第 16 讲 软件系统运行维护与文档设计243些程序模块之中。使用内部程序列

11、表、外部文件以及处理的例行程序包,可为维护时修改程序提供方便。 3完善性维护 利用前两类维护中列举的方法,也可以减少这一类维护。特别是数据库管理系统、程序生 成器、应用软件包,可减少系统或程序员的维护工作量。 此外,建立软件系统的原型,把它在实际系统开发之前提供给用户。用户通过研究原型, 进一步完善他们的功能要求,就可以减少以后完善性维护的需要。16.1.3 维护成本有形的软件维护成本是花费了多少钱,而其他非直接的维护成本有更大的影响。例如,无形的成本可以是: 一些看起来是合理的修复或修改请求不能及时安排,使得客户不满意; 变更的结果把一些潜在的错误引入正在维护的软件,使得软件整体质量下降;

12、当必须把软件人员抽调到维护工作中去时,就使得软件开发工作受到干扰。 软件维护的代价是在生产率方面的惊人下降。维护工作量可以分成生产性活动(如分析 和评价、设计修改和实现)和“轮转”活动(如力图理解代码在做什么、试图判明数据结构、接口 特性、性能界限等)。下面的公式给出了一个维护工作量的模型:dcKepM其中,M 是维护中消耗的总工作量,p 是上面描述的生产性工作量,K 是一个经验常数, c 是因缺乏好的设计和文档而导致复杂性的度量,d 是对软件熟悉程度的度量。16.1.4 软件维护机构除了较大的软件开发公司外,通常在软件维护工作方面,不保持正式的维护机构,因为维 护往往是在没有计划的情况下进行

13、的。但是在开发部门确立一个非正式的维护机构是非常必 要的,维护申请提交给一个维护管理员,他把申请交给某个系统监督员去评价。一旦做出评价, 由修改负责人确定如何进行修改。在维护人员对程序进行修改的过程中,由配置管理员严格 把关,控制修改的范围,对软件配置进行审计。 维护管理员、系统监督员、修改负责人等,均代表维护工作的某个职责范围。修改负责人、 维护管理员可以是指定的某个人,也可以是一个包括管理人员、高级技术人员在内的小组。系 统监督员可以有其他职责,但应具体分管某一个软件包。 在开始维护之前,就把责任明确下来,可以大大减少维护过程中的混乱。16.1.5 软件维护工作流程先确认维护要求。这需要维

14、护人员与用户反复协商,弄清错误概况以及对业务的影响大 小,用户希望做什么样的修改。然后由维护管理员确认维护类型。 对于改正性维护申请,从评价错误的严重性开始。如果存在严重的错误,则必须安排人 员,在系统监督员的指导下,进行问题分析,寻找错误发生的原因,进行“救火”性的紧急维护; 对于不严重的错误,可根据任务、机时情况,视轻重缓急,进行排队,统一安排时间。 对于适应性维护和完善性维护申请,需要先确定每项申请的优先次序。若某项申请的优 先级非常高,就可立即开始维护工作,否则,维护申请和其他的开发工作一样,进行排队,统 一安排时间。在每次软件维护任务完成后,最好进行一次情况评审、确认:在目前情况下,

15、设 计、编码、测试中的哪一方面可以改进?哪些维护资源应该有但没有?工作中主要的或次要 的障碍是什么?从维护申请的类型来看是否应当有预防性维护?有报告说, 软件维护会使 生产率将降到原来的几十分 之一。这个模型指明,如果使 用了不好的软 件开发方法 (未按软件工程要求做),原 来参加开发的 人员或小组不 能参加维护, 则工作量(及成本)将按指 数级增加。尽管维护 申请的类型不 同,但都要进 行同样的技术 工作。这些工 作有:修改软 件需求说明、 修改软件设计、 设计评审、对源程序做必要 的修改、单元 测试、集成测 试(回归测试)、 确认测试、软 件配置评审等。程序员应试教程 24416.1.6

16、维护评价评价维护活动比较困难,因为缺乏可靠的数据。但如果维护记录做得比较好,就可以得出 一些维护“性能”方面的度量值。可参考的度量值如下。 每次程序运行时的平均出错次数; 花费在每类维护上的总“人时”数; 每个程序、每种语言、每种维护类型的程序平均修改次数; 因为维护,增加或删除每个源程序语句所花费的平均“人时”数; 用于每种语言的平均“人时”数; 维护申请报告的平均处理时间; 各类维护申请的百分比。 这 7 种度量值提供了定量的数据,据此可对开发技术、语言选择、维护工作计划、资源分 配以及其他许多方面做出判定。16.1.7 软件维护中的程序修改全面、准确、迅速地理解程序是决定维护成败和质量好坏的关键,因此,软件的可理解性 和文档的质量非常重要。包括:理解程序的功能和目标;掌握程序的结构信息,即从程序中细 分出若干结构成分。如程序系统结构、控制结构、数据结构和输入/输出结构等;了解数据流信 息,即所涉及到的数据来源何处,在哪里被使用;了解控制流信息,即执行每条

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号