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

上传人:飞*** 文档编号:35820874 上传时间:2018-03-20 格式: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号