什么是信息系统维护
信息系统维护是指为适应系统的环境和其他因素的各种变化、保证系统正常工作而对系统所进行的修改,包括系统功能的改进和解决系统在运行期间发生的问题。
信息系统维护的类型
(1)更正性维护
众所周知,系统测试不可能发现系统中的所有错误,还有许多潜在的错误,只有在系统运行过程中具备一定的激发条件才可能出现,人们把诊断和改正这类错误的维护工作称为更正性维护。
出现这些错误的原因通常是由于遇到了调试阶段从未使用过的输入数据的某种逻辑组合或判断条件的某种组合,即没有测试到这些情况。在系统运行期中遇到的错误,有些可能不太重要或者很容易处理或回避,有的可能相当严重,甚至会使系统无法正常工作。但无论错误的严重程度如何,都要设法去改正。修改工作需要制定修改计划,提出修改要求,经领导审查批准后,并在严格的管理和控制下进行系统的更正性维护。
(2)适应性维护
适应性维护是指信息系统的外部环境发生变化时需要进行的系统维护。计算机技术(包括硬件和软件)的发展速度非常快,而一般的系统使用寿命都超过最初开发这个系统时的系统环境的寿命。计算机硬件系统的不断更新,新的操作系统或操作系统新版本的出现,都要求对系统做出相应的改动。此外,数据环境的变化(如数据库管理系统的版本升级、数据存储介质的变动等)也要求系统进行适应性维护。适应性维护也要制定维护计划,有步骤、分阶段地组织实施。
(3)完善性维护
当信息系统投入使用并成功运行以后,由于企业业务需求变化和扩展,用户可能会提出修改某些功能、增加新的功能等要求,这种系统维护被称为完善性维护。其目的是为了改善和加强信息系统的功能,满足用户对系统日益增长的需求。
此外,还有一些其他的完善性维护工作,例如,系统经过一段时间的运行,发现系统某些地方运行效率太低而需要提高,或者某些功能界面的可操作性有待提高,或者需要增加一些新的安全措施等,这类维护也属于完善性维护。
(4)预防性维护
预防性维护是一种主动性的预防措施,对一些使用时间较长,目前尚能正常运行,但可能要发生变化的部分模块进行维护,以适应将来的修改或调整。与前三种维护类型相比,预防性维护工作相对较少。
在信息系统的维护中四种维护类型出现的比例见表。
维护类型 | 描述 | 在维护中占的百分比 |
更正性维护 | 修复系统设计和规划错误 | 70 |
适应性维护 | 因环境改变而修改系统 | 10 |
完善性维护 | 维护系统解决新的问题或者为新问题解决提供有利条件 | 15 |
预防性维护 | 维护系统将来的问题 | 5 |
信息系统维护的步骤
图中所示简要说明了维护工作的全过程步骤,从图可以看出,在某个维护目标确定以后维护人员必须先理解要维护的系统,然后建立一个维护方案。由于程序的修改涉及面较广,某个模块的修改很可能会影响其他模块,所以建立维护方案后要加以考虑的重要问题是修改的影响范围和波及面的大小,然后按预定维护方案修改程序,还要对程序和系统的有关部分进行重新测试。若测试发现较大问题,则要重复上述步骤。若通过,则可修改相应文档并交付使用,结束本次维护工作。
必须强调的是,维护是对整个系统而言的,因此,除了修改程序、数据、代码等部分以外,必须同时修改涉及的所有相应文档。
信息系统维护的内容
系统维护面向信息系统中的各种构成因素,按照维护对象的不同,系统维护的内容可分为以下几类。
1.应用软件维护
应用软件的维护即对程序的维护。由于系统的各种业务流程是先于应用程序发生的,因此当业务流程出现问题或有某些变化时,就必然要修改应用程序,以适应新的变化。所以,应用程序的维护是系统维护中最主要的内容。应用软件系统维护的内容主要包括4类:完善性维护、纠错性维护、适应性维护和预防性维护。
2.数据维护
在系统运行过程中,随着业务流程的变化,对数据的要求也在不断改变,包括删除过时数据,增加新的数据,调整数据结构,备份和恢复数据等。
3.代码维护
由于信息系统应用范围和应用环境的变化,系统中的各种代码需要进行某些增加、删除、修改的操作,或者设置一些新的代码,这些工作均属代码的维护。
4.计算机硬件设备的维护
计算机硬件系统是保障信息系统运行的物质基础,因此,必须注意对硬件设备的维护,操作人员要严格遵守操作顺序和规则,维护人员要做好对设备的日常维护与管理,及时进行易损件的更换及一般故障的处理。因此,必须时刻监视系统硬件的工作情况,及时发现系统不正常运行的现象或苗头,以便采取预防措施。平日要做好对计算机设备的定期检修与维护,有关备品配件的准备及补充计算机的日常消耗品。同时,做好系统运行记录。
5.数据库与代码维护
系统的正常运行有赖于状态良好的数据库提供存取信息的支持。为了防止特殊情况下(如断电、严重的误操作等)对数据库的损害,为了适应业务变化引起的对数据库的某些更改要求,必须加强对数据库的维护。一方面,为防止数据库的丢失、损坏,应定时进行数据库备份,防止因原数据库系统发生问题时,备份数据库能保障信息系统的正常运行。另一方面,系统运行一段时期后,由于对数据库不断进行增、删、改的操作,可能引起数据库物理结构的破坏,影响对数据库存储空间的利用和降低数据的存取效率。为此,需要进行数据库的重组织操作,按原设计要求重新安排数据记录的存储位置。
6.系统安全维护
系统安全主要是指硬件设备的安全,也包括应用软件与文档的安全及数据的安全。①硬件的安全。为保证系统中硬件的安全,应建立并严格执行有关制度,如进入机房的制度,禁止非机房值班人员随意进入机房;设备操作制度,禁止非值班人员操作机器;设备的保养维修制度,应定期、定时检查设备的运行状态,保证有足够的设备备件及备品,及时排除各种故障苗头。②应用软件及文档的安全。系统的工作是靠应用软件来实现的。故保证应用软件的安全十分重要。信息系统维护过程中必须加强对原版应用软件的管理,以备日后需要时进行复制。而在系统中运行工作的,是复制的应用软件。各种文档资料是保证系统有序工作及进行系统维护与日常运营管理的重要依据。因此,也应建立备份并妥善保管,应建立使用文档资料的制度并严格执行。③数据的安全。为防止系统中数据资料的丢失、损坏及防止他人篡改、滥用系统内的数据信息,应利用加密技术及规定进入系统的权限,来保证系统中数据的安全。
信息系统维护的管理
信息系统开发完成并经过严密的测试和系统切换后,就进入了系统日常运行阶段。信息系统是一个面向管理领域的人机交互系统,在其运行过程中要完成管理、维护、评价分析等工作。如果系统的运行管理不善,新系统的优越性就无法充分发挥出来,不能达到系统开发的目标。
1.完善的组织机构
信息系统的组织管理机构是信息系统开发、维护和管理的综合性部门,在许多大型企业中都设有信息中心(或计算中心),专门负责企业的信息化建设。信息系统的维护部门一般由软硬件维护部门、数据和信息维护部门、行政管理部门等组成。由于负责信息系统运行的组织在企业中的地位不高,往往不被重视,造成我国信息系统组织机构不完善,影响了信息系统的开发和应用。随着我国企业信息化建设的加快,企业对信息化认识的不断提高,信息系统的组织在企业中的地位也在不断提高。
2.管理制度的建立
完善的管理制度是保证系统正常运行的必要条件之一。只有建立了完善的管理制度,企业信息系统在日常运行中才能做到有章可循,为企业的生产、经营和管理奠定基础。
下面列出了一些信息系统日常运行过程中的管理制度,从系统安全、操作等多个方面规定了系统日常运行的工作以及对意外情况的处理。
①系统运行操作规程。
②系统信息的安全保密制度。
③系统运行日志及填写规定。
④系统定期维护制度。
⑤系统安全管理制度。
⑥用户操作规程。
⑦系统修改规程。
3.维护人员的配备
作为系统维护人员,不仅要了解系统的开发过程,而且要善于建立良好的维护人员和操作员之间的关系。系统维护人员应能够预测那些可能要出错的地方,还要根据业务需求的改变,考虑必要功能的改变,根据系统需求的改变考虑修改硬件、软件及其接口。因此,维护工作涉及的范围较广,是一项长期复杂的工作。
系统维护人员究竟该由谁来担当?属于自主开发或联合开发的信息系统,可以由程序开发人员或参与系统开发的用户人员作为系统的维护人员,他们清楚系统的构架和程序的体系内容,可以较为轻松地完成系统的维护任务;对于委托开发方式或是购买商品化软件,企业应该培养系统维护人员或者是委托软件公司负责系统的维护工作。
4.维护任务的安排
信息系统在运行过程中会遇到各种类型的维护任务,必须对其进行统一有效的管理,才能保证系统维护工作有条不紊地进行。换句话说,有的维护任务很紧急,有的维护任务可以推迟一段时间,要采取一定方法对其进行甄别排序,决定哪一维护任务先被执行哪一个后被执行或忽略,如图所示。
一般来说,首先要确定维护任务的类型。例如,对于更正性维护,要判断引起错误故障的重要性,如果非常重要,就需要给它赋予较高的优先权,把它放在任务队列的前面,等待维护处理。再如,有些维护任务不是由错误引起的,而是为了系统适应新技术,或者是为了业务改变而增加新的业务功能。同样,也需要对这些任务进行评估、分类以及排序,然后放到任务队列上。需要注意的是,必须有一个共同的标准,来评价和判断每一个系统维护任务,并作为其分类和排序的依据。
5.自动化维护工具的使用
在信息系统的开发过程中,占用时间最多的是系统编码和测试工作。而且,在系统维护中,如果系统修改被批准后,仍然要进行代码修改和测试工作。与此同时,还必须将已修改的信息更新到系统文档和说明书中,目的是为了保证所有的系统文档的一致性。但是,这些工作往往很枯燥、费时,因而往往系统中许多维护工作被维护人员所忽略,这必然会给以后的维护工作带来困难。
为了解决上面的问题并提高维护工作效率,很多公司开发出了支持系统维护的CASE自动化工具,它们能够实现对代码修改和文档更新同步化,为系统的维护工作提供了支持。特别是在使用一些综合的CASE开发环境时,系统能自动生成系统分析、设计以及维护的所有文档,例如数据流图、代码设计、输出设计等。而且,如果对系统设计文档进行了修改,系统会自动地修改代码并生成新的版本。同时,大多数文档的维护工作也会自动完成。因此,自动化工具的使用可以