免费智能真题库 > 历年试卷 > 信息系统运行管理员 > 2019年下半年 信息系统运行管理员 上午试卷 综合知识
  第25题      
  知识点:   信息系统软件的可维护性及维护类型   软件维护   软件需求   维护
  章/节:   信息系统软件运维概述       

 
在系统的使用过程中,用户往往要求扩充原有系统的功能,增加一些在软件需求中没有规定的功能与性能特征。这种信息系统软件维护类型属于〔25)。
 
 
  A.  纠错性维护
 
  B.  完善性维护
 
  C.  适应性维护
 
  D.  预防性维护
 
 
 

 
  第25题    2020年下半年  
   42%
在信息系统运行过程中,软件维护可以分为:(25)。
  第25题    2018年下半年  
   70%
软件维护可分为纠错性维护、适应性维护、(25)和预防性维护。
 
   知识点讲解    
   · 信息系统软件的可维护性及维护类型    · 软件维护    · 软件需求    · 维护
 
       信息系统软件的可维护性及维护类型
        信息系统软件维护工作直接受到软件可维护性的影响。软件可维护性是指软件产品被修改的能力,修改包括纠正、改进或软件对环境、需求和功能规格说明变化的适应。对软件可维护性的度量可以从以下几个方面进行。
        (1)可理解性。可理解性描述了通过阅读源代码和相关文档来了解系统功能及其如何运行情况的难易程度。一个可理解性高的软件系统一般应具备以下的特征:模块化(系统各个模块结构良好、功能完整),程序代码清晰,编程风格具有一致性(代码风格及设计风格的一致性),完整性(对输入数据进行完整性检查),使用有意义的数据名和函数名等。
        (2)可靠性。可靠性表明一个软件系统在给定的一段时间内正确执行的概率。度量可靠性的方法,主要有两类:第一类是根据程序错误的统计数字来进行可靠性预测。比如用一些可靠性模型,根据程序测试中发现并排除的错误数来预测平均失效间隔时间(Mean Time To Failure,MTTF)。第二类是当系统的可靠性与复杂性有关时,可以根据程序的复杂性来预测软件的可靠性。
        (3)可测试性。可测试性表明能够用测试的方法来验证程序正确性的难易程度。软件系统的可测试性取决于系统的可理解性、复杂性、设计合理的测试用例的难易程度等方面的内容。
        (4)可修改性。可修改性描述了程序能够被正确修改的难易程度。一个可修改的程序应当是可理解的、通用的、简单的、灵活的。通用性是指程序适用于各种功能变化而无须修改。灵活性是指能够容易地对程序进行修改。
        (5)可移植性。可移植性表明程序从一个运行环境移植到另一个新的运行环境的可能性的大小。一个可移植性好的程序应具有结构良好、灵活、不依赖于某一具体计算机或操作系统的特性。
        在信息系统运行过程中,软件需要维护的原因是多样的,根据维护的原因不同,可以将软件维护分为以下4种类型:
        (1)纠错性维护。由于系统测试不可能揭露系统存在的所有错误,因此在系统投入运行后频繁的实际应用过程中,就有可能暴露出系统内隐藏的错误。诊断和修正系统中遗留的错误,就是纠错性维护。纠错性维护是在系统运行中发生异常或故障时进行的,这种错误往往是遇到了从未用过的输入数据组合或是在与其他部分接口处产生的,因此只是在某些特定的情况下发生。有些系统运行多年以后才遇到这种情况,暴露出在系统开发中遗留的问题,这是不足为奇的。
        (2)适应性维护。适应性维护是为了使系统适应环境的变化而进行的维护工作。一方面计算机科学技术迅速发展,硬件的更新周期越来越短,新的操作系统和原来操作系统的新版本不断推出,外部设备和其他系统部件经常有所增加和修改,这就必然要求信息系统能够适应新的软硬件环境,以提高系统的性能和运行效率;另一方面,信息系统的使用寿命在延长,超过了最初开发这个系统时应用环境的寿命,即应用对象也在不断发生变化,机构的调整、管理体制的改变、数据与信息需求的变更等都将导致系统不能适应新的应用环境。如代码改变、数据结构变化、数据格式以及输入输出方式的变化、数据存储介质的变化等,都将直接影响系统的正常工作。因此有必要对系统进行调整,使之适应应用对象的变化,以满足用户的要求。
        (3)完善性维护。在系统的使用过程中,用户往往要求扩充原有系统的功能,增加一些在软件需求规范书中没有规定的功能与性能特征,以及对处理效率和编写程序的改进。例如,有时可将几个小程序合并成一个单一的运行良好的程序,从而提高处理效率;增加数据输出的图形方式;增加联机在线帮助功能;调整用户界面等。尽管这些要求在原来系统开发的需求说明书中并没有,但用户要求在原有系统基础上进一步改善和提高;并且随着用户对系统的使用和熟悉,这种要求可能不断提出。为了满足这些要求而进行的系统维护工作就是完善性维护。
        (4)预防性维护。系统维护工作不应总是被动地等待用户提出要求后才进行,应进行主动的预防性维护,即选择那些还有较长使用寿命,目前尚能正常运行,但可能将要发生变化或调整的系统进行维护,目的是通过预防性维护为未来的修改与调整奠定更好的基础。例如将目前尚能应用的报表功能改成通用报表生成功能,以应付今后报表内容和格式可能的变化。
        根据对各种维护工作分布情况的统计结果,一般纠错性维护占21%,适应性维护占25%,完善性维护达到50%,而预防性维护及其他类型的维护仅占4%。可见在系统维护工作中,一半以上的工作是完善性维护。
 
       软件维护
        系统维护工作的对象是整个系统的配置。由于问题可能来源于系统的各个组成部分,产生于系统开发的各个阶段,因此系统维护工作并不仅仅是针对源程序代码,而且还包括了系统开发过程中的全部开发文档。所以,一旦业务处理出现问题或发生变化,就要修改应用程序及有关文档。软件维护是系统维护最主要的内容。
               软件维护管理
               (1)任何人员不得擅自对系统文件进行删除或修改。软件操作人员不得对系统文件进行任何内容的操作。
               (2)系统管理员对软件系统进行全面维护,并进行记录。
               (3)定期对系统进行病毒检查。
               (4)建立故障报告制度。系统运行或软件操作中发生故障,如属简单故障,由系统管理员现场解决;现场无法解决的,由第一发现者进行故障登记,部门负责人会同系统管理员制定处理方案(方案包括:故障分析、拟采取措施、保障数据安全防范措施等),经核算中心分管主任批准后实施。对于无法排除的故障,由系统管理员及时联系相关单位解决。
               (5)对软件进行修改、升级时,首先要全面备份系统的数据,做好新旧系统数据的衔接工作。
               按照维护的具体目标分类
               (1)完善性的维护。完善性维护就是在应用软件系统使用期间为不断改善和加强系统的功能和性能,以满足用户日益增长的需求所进行的维护工作。在整个维护工作量中,完善性维护居第一位。
               (2)适应性维护。适应性维护是指为了让应用软件系统适应运行环境的变化而进行的维护活动。适应性维护工作量约占整个维护工作量的25%。
               (3)纠错性维护。纠错性维护的目的在于,纠正在开发期间未能发现的遗留错误。对这些错误的相继发现,对它们进行诊断和改正的过程被称为纠错性维护。这类维护约占总维护工作量的20%。
               (4)预防性维护。其主要思想是维护人员不应被动地等待用户提出要求才做维护工作,而应该选择哪些还有较长使用寿命的部分加以维护。
               按照开发方分类
               自己公司开发的软件、合同开发的软件、市场买的软件,这三种软件的维护途径可以是不同的。
               自己公司开发的软件一般由原开发人员进行维护。
               按合同开发的软件产品交付后,开发方应依据开发时签定的合同,负责软件的维护和软件版本升级工作。维护活动一般包括:对顾客使用中出现的软件故障进行测试、分析和修复;在维护阶段,按顾客提出的功能和性能改进要求进行软件版本升级,升级后的软件版本应纳入配置管理,并保存软件维护、升级记录。
               若购买了某种软件产品且该软件在产品支持周期内,则还可以购买该软件公司的软件维护服务。软件公司为软件产品用户推出专业技术支持服务,服务一般由公司具有丰富产品知识和实践经验的资深软件工程师协同技术中心专家组成专业技术团队共同提供,目的是帮助客户及时、快速、可靠地解决在软件系统的维护过程中所遇到的技术问题,使得客户的软件系统可以更加安全稳定地运行,以保障和促进客户业务的顺利开展并取得更大的成功。
               软件维护合同一般包括软件的更新和技术支持。两者捆绑在一起每年统一收取一笔费。客户需要签定软件维护合同,以获得技术支持和将来的升级服务。在多数情况下合同的主要目的是软件的更新。
               系统维护中经常会遇到一些问题。系统维护中的编码本身造成的错误比例并不高,仅占4%左右,而绝大部分问题源于系统分析和设计阶段。通常,理解别人编写的程序是很难的,且难度随着软件配置文档的减少而增加;绝大多数系统在设计和开发时并没有很好地考虑将来可能的修改,如有些模块不够独立,牵一发而动全身;系统维护工作相对缺乏挑战性,使系统维护人员队伍不稳定。所以,一般来说,系统维护人员应当就是系统的原开发人员中的一部分。
 
       软件需求
        在进行需求获取之前,首先要明确需要获取什么,也就是需求包含哪些内容。软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通常,这些需求包括功能需求、性能需求、用户或人的因素、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密需求、可靠性需求、软件成本消耗与开发进度需求等,并预先估计以后系统可能达到的目标。此外,还需要注意其他非功能性的需求。具体内容如下。
        (1)功能需求。
        (2)性能需求。
        (3)用户或人的因素。
        (4)环境需求。
        (5)界面需求。
        (6)文档需求。
        (7)数据需求。
        (8)资源使用需求。
        (9)安全保密要求。
        (10)可靠性要求。
        (11)软件成本消耗与开发进度需求。
        (12)其他非功能性要求。
               需求分析的任务
               需求分析主要是确定待开发软件的功能、性能、数据、界面等要求。具体来说有下面几点。
               (1)确定软件系统的综合要求,包括系统界面、功能、性能、安全性、保密性、可靠性、运行等方面的要求。
               (2)分析软件系统的数据要求,包括基本数据元素、数据元素之间的逻辑关系、数据量、峰值等。
               (3)导出系统的逻辑模型,在结构化方法中可用数据流图来描述;在面向对象分析方法中可以用类模型来描述。
               (4)修正项目开发计划。
               (5)如有必要,可开发一个原型系统以验证用户的需求。
               软件需求的分类
               下面介绍软件需求的分类。
               (1)功能需求。所开发的软件必须具备什么样的功能。
               (2)非功能需求。它是指产品必须具备的属性或品质,如可靠性、性能响应时间、容错性和可扩展性等。
               (3)设计约束。其也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。
               软件需求分析方法
               需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成。它定义了表示系统逻辑视图和物理视图的方式。大多数的需求分析方法是由数据驱动的,数据域具有数据流、数据内容和数据结构3种属性。通常一种需求分析方法总要利用其中一种或几种属性。
 
       维护
        维护阶段是软件生存期中时间最长的阶段。软件一旦交付正式投入运行后便进入软件维护阶段。该阶段的关键任务是通过各种必要的维护活动使系统持久地满足用户的需要。每一项维护活动都应该准确地记录下来,作为正式的文档资料加以保存。
   题号导航      2019年下半年 信息系统运行管理员 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第25题    在手机中做本题