软件的可维护性设计

2024-06-11

软件的可维护性设计(共12篇)

软件的可维护性设计 篇1

伴随着计算机技术的发展, 计算机软件已在诸多行业发挥着重要作用。通信技术和计算机技术的进一步发展, 使计算机软件的应用更加普及和深入, 计算机软件已经在国民经济和社会生活的各个方面发挥着前所未有的重要作用。然而, 随着社会的进步、业务的发展和新技术的出现, 人们发现许多软件已越来越不适应生产和生活的需要。于是, 人们就试图对这些软件进行修改、完善, 以适应新的业务需要, 但当系统分析师和软件设计师在改造这些软件时, 往往发现其中一些软件改造工作难度相当大, 甚至不可能。原因在于一些软件的可维护性相当差, 缺乏基本的可理解性、可修改性和可测试性。迫于无奈, 最终只得放弃改造, 重新设计开发。因此, 软件的可维护性相当重要。

那么, 如何提高软件的可维护性呢?一般情况下, 可从系统分析、软件设计、软件编码和软件测试等各个方面提高软件的可维护性。本文仅从软件设计角度谈谈软件的可维护性设计。

一、软件可维护性

软件可维护性是指软件能够被理解、纠错、完善及增强功能的难易程度。软件的可维护性、可使用性、可靠性是衡量软件质量的几个主要特性指标。目前, 有多种软件可维护性综合度量方法, 但要对可维护性进行定量度量还相当困难, 尚无能对软件的可维护性进行综合性定量评价的方法。

二、软件的可维护性设计

一般情况下, 软件项目需通过系统分析、软件设计、编码、测试和上线运行等软件开发阶段。在软件设计阶段, 可从如下方面提高软件的可维护性。

(一) 采用组件技术提高软件可维护性

完成系统分析之后, 在总体设计阶段, 根据系统待实现的功能点, 按“高内聚、低耦合”原则, 划分出不同功能点集, 形成传统意义上的功能模块。按“高内聚、低耦合”原则划分软件模块, 使软件模块内部的内聚性强而模块之间的耦合度低。这样, 当需修改完善某个软件功能时, 由于模块内聚性强, 往往只需修改其中一个模块, 而无需修改多个模块, 也就无需在其他模块上浪费太多时间。这样, 高内聚的软件模块便有效降低了软件修改完善的难度, 从而有效提高了软件的可维护性。同时, 由于模块之间的耦合度低, 修改某个模块对其他模块的影响就相对较小, 因而修改给整个软件带来的副作用就相对较小, 修改的容易程度就相对较高, 软件的可维护性也就相对较强。

在详细设计阶段, 采用EJB或Web Service等组件技术实现不同功能模块, 各个组件可单独部署安装, 可进一步提高软件系统的可维护性。由于各个功能模块采用组件实现, 各个功能可单独部署。这样, 各功能模块实现了运行时相互隔离, 功能模块之间的故障传播得到了有效控制。当某个功能出现故障时, 只需停止相应组件, 而无需停止整个软件系统, 可有效降低维护工作的压力。同时, 由于各模块采用组件实现, 其内部实现完全透明, 各模块可采用不同技术实现, 在很大程度上提高了软件的可维护性。

(二) 尽量使用非直接耦合和数据耦合提高软件可维护性

模块之间的耦合类型, 按耦合性的高低, 一般可分为:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。

其中非直接耦合指模块除受主控模块调用外, 相互之间不发生任何关系。比如一个办公系统的邮件模块和短息模块, 两个模块可设计为只受主控模块调用, 而两模块之间不直接调用。这种耦合的模块独立性最强, 基于这种耦合的软件的可维护性最高, 但在实践中, 模块之间往往会有相互关系, 因而这种耦合相对较少。

当模块之间不得不发生关系时, 则可能出现其他耦合类型。此时, 软件设计师应根据系统分析结果, 尽量使用数据耦合。

数据耦合指当一个模块访问另一个模块时, 是通过数据参数 (不含控制参数、公共数据结构或外部变量) 来交换信息。模块之间只传递数据参数, 一模块不会直接控制另一模块, 也无需访问公共数据结构和外表变量。模块之间是松耦合, 模块的独立性比较强。当需要修改完善采用数据耦合的功能模块组中的某一功能模块时, 由于被修改模块只向其他模块传递数据, 而不向其他模块传递控制, 也不修改公共数据结构和公共变量, 这样模块的修改就不会波及到其他模块。实施修改时, 只需考虑被修改模块在修改前后对其他模块的数据访问是一致的即可, 无需考虑修改可能影响其他模块的内部控制变化问题, 这就有效降低了修改完善的难度, 提高了软件的可维护性。

(三) 合理设计日志提高软件可维护性

在详细设计阶段, 需画出复杂函数的流程图, 写出复杂函数的伪代码。软件设计师可在流程图和伪代码的帮助下, 修改完善软件。基于复杂函数的流程图和伪代码, 可有效提高软件的可维护性, 但若仅仅如此, 显然不够。对于纠错性软件维护, 合理的运行日志相当重要。

因此, 在软件设计阶段, 软件设计师需根据维护需要, 合理设计运行日志。一旦软件运行过程中出现故障, 排错人员可在运行日志的支持下, 定位软件故障位置, 然后基于流程图或伪代码, 提出修改方案, 完成维护工作。

软件的可维护性设计 篇2

论文摘要:伴随计算机技术快速发展,不断产生各种应用软件,并面向各应用领域满足需求,对软件进行维护和保护已成为软件行业所面临的一个现实问题。伴随软件工程的不断完善,使软件开发越来越复杂,并具有一整套科学方法,进而提升了软件系统的可靠性、可理解性和可维护性,提升了软件生产率,降低了开发成本。该文对计算机软件可维护性方法进行了探索和研究,并作出应有的贡献,希望为今后软件可维护性的发展做出一些应有的贡献。

计算机软件是用户和硬件之间的接口界面。计算机用户可以通过软件和计算机实行沟通,软件是计算机系统设计的重要根据。为能方便用户,让计算机体系极具较高的整体效用,在计算机系统设计时,要对硬件和软件相结合的全局进行考虑,并满足用户的需求。软件保护技术,即怎样防止破解合法软件,软件保护产品所涉及内容极为宽泛,属于综合技术范畴之内。在软件生命周期中,每个阶段均采取了科学和优秀的管理方法和技术,并在每个阶段结束前,从技术和管理方面实行严格审查,只有合格了才能进行下一阶段的工作,这使得软件开发工程项目全过程通过有条有序的方式进行,以确保软件的质量,尤其是提升了软件的可维护性。

软件的可维护性设计 篇3

【关键词】基于场景;软件维护性需求;分析方法

0.引言

我们现今所处的时代可以说是一个计算机的时代,而要想使计算机能够更好的为我们服务、为我们实现多种功能,优秀的软件则是必不可少的,而辨别软件的好坏,其自身的性能固然重要,而其所具有的维护性也是我们必须进行重点考虑的功能。虽然对于软件的维护性能来说,其仅仅是属于软件内部功能之外的一种属性,且只有通过对于软件实际进行维护才能够得到表现,但是我们也应当能够看到它也是软件自身所具有固有特性的一种,是被我们设计出来的,其主要方式是通过对于软件自身特点、编码等设计环节进行结合而得到实现的,如何能够在对软件进行设计的过程中能够获取到非常一致、清晰的维护需求则成为了我们后续做好软件维护工作的重中之重。但是,就我国目前对于软件进行设计的过程中,无论是在设计环节还是在需求分析环节都没有对软件维护性所具有的需求进行全面的应对,在很多方面还是仅仅在维护上较为宽泛,从而使软件最终的可操作性以及设计性都较差。对此,就需要我们能够对这种需求分析的方法进行更好的探寻。

1.基于场景进行软件维护需求分析的原理

要想做好软件维护性需求的分析工作,首先就需要对软件维护性需求的概念进行充分的了解。对于一个软件来说,软件具有良好的维护性最为关键的就是需要具有较好的实现以及设计方面可操作性,而对于一个维护需求信息较为明确的软件来说,其主要的内容有:实现信息、约束信息以及维护属性信息,而正是由这三个重要的因素,则能够形成我们对于软件维护性需求进行分析的一个模型,即操作模板、维护以及约束性模板。对于这三个模板来说,其则能够以较为清晰、明了的方式对软件自身维护性的需求以及对其进行实现的方式进行定义,从而更好的对软件需求进行研究。而在软件需求分析的过程中,就需要我们能够在设计研究阶段对于未来的维护场景进行获取,并能够对场景对于软件模型的影响进行更深入的分析,从而在深入分析的基础上对软件的需求以及组件等等提出最佳的措施。

2.软件维护场景

软件维护场景也是我们进行软件需求分析过程中非常重要的一个因素,其能够对软件进行一定部署之后所发生的维护活动进行较为全面的描述。对于一个完整的软件维护场景来说,其可以分为以下几个部分:首先,是软件场景中进行实施的目标;其次,是在不同维护场景中对于软件所开展的维护活动,而这部分活动则主要有对于软件信息的增删改查等等;最后,则是在维护场景中对于软件体系结构所具有的影响信息,即软件维护的场景中我们所开展的活动将能够对软件整体系统产生哪个方面的变化。对此,我们设Object Set{o1 o2...on}这个非空有限集合作为我们对于软件场景进行维护所需要实现的目标集,而将Action set{a1 a2...an}作为我们对于进行软件维护所执行的活动的集合。而将Main set{c1 c2...cn}作为我们软件维护场景中所能够产生影响的构建集。

3.基于场景的软件维护性需求分析

在基于场景的软件维护性需求分析工作中,主要具有两个主要的步骤,即首先要对软件所具有的维护场景进行全面的分析以及获取,并能够对其进行全面、精确的表示,之后则应当对不同软件维护场景对于整个软件体系结构产生的影响进行分析,从而能够更好的对软件体系结构的维护性需求进行获取。

3.1 软件维护场景的获取

通常来说,对于软件的维护场景可以通过同软件的用户、开发者、维护者以及软件设计人员等软件的风险承担着进行适当的交谈而获取他们的期望,而通过上述步骤所获得的集合则可以用一个集合来对不同的维护场景进行表示,即s={s1s2...sn}。而在对于软件场景的表示方面,则需要通过下面几个步骤来完成:即首先对于软件的维护场景进行分析,从而能够更好的获取软件全部的维护活动,其次则应当对于不同维护活动对于体系结构所产生的影响进行分析。

3.1.1 软件维护活动的获取

对于软件维护活动来说,我们需要对于因为对于软件进行维护所引起的场景变化而对其进行实现。在这方面变化中,主要具有以下几个环节:首先,需要我们能够根据场景的维护情况来对这部分场景所产生影响的用例进行统计以及分析;其次,则可以根据我们已经获取的变化用例情况同软件的需求进行分析,从而确定我们对于实现用例的对象情况已经产生了何种的更改;最后,我们则应当根据对象的变化情况来对于软件内部中需要实施更改的区域等进行确定,通过这种方式,我们则能够对软件体系结构中所有产生的软件维护活动进行确定,并在此基础上对于软件自身所发生的变化情况进行适当的记录以及实现,并根据每一个软件维护场景情况的变化情况以及构件所发生的变化信息等等进行全面的记录。

3.1.2 软件维护活动对软件结构产生的影响

在软件内部的构件之中,同时也存在着较多的相互之间的关系,而其中如果某一个构件在应用的过程中发生的改变,则很可能会对与之相关的构件产生影响,同时也需要我们能够对这部分构件进行更改。而对于这种现象的存在,我们则称之为对于软件维护的波及效应,通过这种效应,我们则能够较为简单的确定在某一个软件维护场景中,我们所发生的软件更改对于整个软件体系结构会发生多大的影响。而如果我们想获取软件维护场景对软件体系结构的影响程度,则主要需要以下方式,首先,我们需要建立起此软件系统结构的可达矩阵,通过这个矩阵,则可以较好的对不同软件构件之间所存在的可达性进行分析。之后,我们则可以在对此可达矩阵进行构建的基础上对每一个软件场景的维护活动及进行确定,从而以此来进一步的确定我们所开展的软件维护活动对于整个软件不同构件所产生影响程度的大小。

3.2 软件维护性需求的获取

软件维护性需求是我们对已经具有软件维护场景进行一定详细分析之后所获取的,其思路是需要对于软件维护场景对于软件体系结构所产生的影响情况确定一个影响程度的值,如果该值大于恒定值,那么则可以发现我们该次的维护场景将较大的对整个软件系统的稳定性产生影响,我们需要严格的对此类维护事件进行限制,对此,我们就需要能够在体系结构设计的过程中对原有的更改进行一定的变化,从而避免对软件产生较大的影响。

4.结束语

总的来说,对于软件维护性需求进行分析是我们对软件性能进行保证的重要举措,对此,就需要我们能够在软件设计的过程中做好维护需求分析工作,从而更好的保证软件的可维护性。

【参考文献】

[1]宋萍.工业过程控制计算机系统的软件架构设计及开发[J].钢铁技术,2010(03):30-31.

[2]黄宁,陈未如,彭弗楠.软件架构中连接件可靠性计算[J].沈阳化工学院学报,2009(01):72-75.

[3]唐井雄.基于WebServices软件架构的企业信息子系统集成模式研究[J].煤炭技术,2009(11):175-177.

软件的可维护性设计 篇4

1 计算机软件设计的可维护性的研究和衡量标准

1.1 计算机软件设计可维护性的重要性

现在计算机是无处不在, 在各行各业中或多或少多都会使用到计算机, 因此使得计算机网络技术的发展和应用都有一个非常广阔的发展空间, 人们的生活和工作都离不开计算机的帮助, 它已经慢慢地渗透到我们的生活, 并且成为了我们必不可少的工具, 网上购物、聊天、工作等都是利用它完成的, 计算机的出现与不断完善, 为人们的生活和工作提供了诸多的便利。

毋庸置疑, 计算机对我们的生活和工作都产生了很大的影响, 但是由于我们的生活要求和工作习惯等不断的变化, 需要计算机不同的功能来满足我们的需要, 因此在这种高速的变化前提下, 计算机软件技术就相对要滞后于人们的需求, 那么怎么来有效的解决这个问题呢?计算机的设计者和开发者在设计开发软件的时候肯定会遇到各式各样的挑战, 比如说是语言的转化, 或者是逻辑性问题不能直接的让人们理解等, 这样就导致软件不能升级, 不能进行进一步的维护, 如果设计者改变原来的系统, 就需要重新设计开发, 那么就会造成时间和资源的浪费, 并且成本也大幅度提高。从上述可以发现:在计算机软件设计中, 计算机软件的可维护性和易改变性对设计者和开发者的影响力, 那么计算机的设计者应该如何用他们的方式来针对性的完善软件, 然后满足人们需求呢?

1.2 计算机软件设计过程中的可维护性衡量标准

通过多年的计算机软件的开发积累的经验和不断地实践, 我国在计算机软件设计过程中已经逐渐意识到软件设计过程中的可维护性和易修改性的必要性, 并且针对计算机的软件设计的可维护性有了一个综合衡量的方法, 可以由以下几点来说明。

(1) 质量检查表。它是用来对计算机软件中的一些程序的质量进行一个针对性的检查, 而且将这些问题列成清单, 目的是为计算机软件设计过程中可维护性提供一个有效的凭据。

(2) 质量测试。质量测试是针对于计算机软件是否能够达到相关规定, 这可以作为一个评价程序质量和实际应用的标准。

(3) 质量标准。由于计算机软件在设计时, 它的性质肯定是不一样的, 有可能之间还存在着抵触现象, 由于这样的原因, 所以针对于不同的计算机软件的可维护性质量标准是不同的。

2 影响计算机软件设计过程中的可维护性因素

2.1 理解性

在现在的计算机软件中最为主要的就是用户在应用计算机软件后表现出来的评价。用户使用过后经常出现这样的情况, 不理解软件程序的应用原理, 这样就导致了计算机软件不能够进行全面的推广工作, 所以就需要对原来的软件程序进行修改, 在修改的时候就涉及到:软件的结构、功能、接口等多方面的技术, 软件的应用程序是否能够清晰反应出用户需要的功能, 软件模块的内容是否能够让使用的人员理解, 这些都是影响着计算机软件设计过程中的可维护性。

2.2 可测性

软件设计的程序应用理解的难易程度是直接影响是否需要对软件完善和修改的。所有的计算机软件设计者都会考虑到用户的可能需求, 经过一个科学合理的安排来设定一个明确的软件文档, 一个完善的软件结构设计能够给计算机软件的诊断和测试有一定的帮助。

3 如何优化计算机软件设计过程中的可维护性

计算机软件的设计本身最后的作用对象都是用于用户, 因此在这个基础上就要根据用户的需求来设计。首先就是要建立一个有质量的软件, 这个软件一定是有效率的, 并且能够有实际的作用, 可以修改, 能够让用户理解的一个系统。虽然计算机的软件有很多, 很多的软件有可能存在着一定的抵触与漏洞, 但是对于计算机软件来说, 虽然每一项都有要求具有可维护性, 但是由于不同的计算机的程序用途不同, 所对应的重要性也是不一样的。

选择可供将来维护的设计语言也是非常重要的, 现在计算机设计的语言不断地增多, 计算机的语言程序上的设计也对计算机的软件可维护性有很大的影响。计算机的语言也分为了一般的语言编辑和一些特殊的语言, 这些语言通常是比较复杂且难以掌握, 因此就加大了可维护性的难度。相比低级的语言与高级的语言, 低级语言更加的难易理解, 就算是高级的语言也有很多是不能轻易掌握的, 并且有些语言还能够生成图形或者是报表类, 当今的计算机语言已经有四代, 因此比较多出现的语言更容易修改, 那么由此对应的计算机产生的指令条数也就少一些, 同时其开发的速度却是更加地快捷。

4 总结

综上所述:计算机的应用已经渗透到国家经济发展和人民生活的方方面面, 因此计算机软件技术也得到了大幅度的发展, 从中能够发现它的作用是不可忽视的。不过同时也能够发现, 在信息技术高速发展的时候, 人们的需求也变得更加的多样化和复杂化, 这就对于软件的完善化也需要新的要求, 由此计算机软件设计过程中的可维护性能要不断的升级, 要尽可能的提高软件的可维护性并且降低成本, 只有这样才能够通过计算机软件的不断优化将经济效益最大化。

参考文献

[1]王浩.加强计算机软件设计可维护性的措施探究[J].电子技术与软件工程, 2014 (08) :80.

[2]杨静.对计算机软件开发过程中的可维护性分析[J].电子技术与软件工程, 2014 (05) :77.

[3]张创.计算机软件的可维护性的实践探索[J].电子技术与软件工程, 2013 (11) :42.

[4]徐涵.计算机软件设计过程中的可维护性分析[J].科技创业家, 2013 (11) :53.

软件维护电子简历 篇5

软件维护简历模板介绍如下:

姓名:-yjbys国籍:中国

个人照片

目前所在地:广州民族:汉族
户口所在地:梅州身材:165 cm 55 kg
婚姻状况:未婚年龄:24 岁
培训认证: 诚信徽章: 
求职意向及工作经历
人才类型:应届毕业生
应聘职位:计算机类:技术支持维护 市场销售/营销类 其它类
工作年限:0职称:无职称
求职类型:均可可到职-随时
月薪要求:1500--希望工作地区:广州 深圳
个人工作经历:
公司名称:广州心创网络科技有限公司软件开发部起止年月:-03 ~ 2008-06
公司性质:私营企业所属行业:计算机业
担任职务:软件维护及技术支持 
工作描述:参与公司内部及客户的网络组建,利用Visual Basic、Visual C++等进行网站和软件维护 ,协助公司同事对公司ERP和OA软件系统等信息系统和网络安全、邮件系统等的维护和管理,负责有需要的同事的日常电脑管理、指导、培训;

协助制定信息管理的各项规章制度及操作规程;

协助公司为客户撰写和实施软件升级与备份方案;

通过在工作中实际接触对网络技术和软件开发的更多应用有了更全面和深入的理解,掌握了一些工作方法和工作技巧,为今后更好地工作积累了丰富的经验。 

离职原因: 
 
公司名称:美国 VOGUE TRIMMINGS 广州办事处起止年月:2007-07 ~ 2007-08
公司性质:外商独资所属行业:纺织,服装
担任职务:兼职翻译,导购 
工作描述:主要负责日常翻译工作,接受客户咨询,介绍新产品,在必要时陪外国客户外出(主要到广州服装辅料中心)导购.通过这次直接面对外国客人,让我对自己的`英语能力由开始的怀疑,逐渐的变得坦然起来,最终更自信. 
离职原因: 
 
公司名称:广州番禺某手机店起止年月:2006-07 ~ 2006-08
公司性质:私营企业所属行业:电器,电子,通信设备
担任职务:促销员 
工作描述:主要从事各种手机的促销,吸引各类不同的客户,提供相应的咨询和服务.通过与客户之间的沟通,让我懂得了推销产品更多地应该从客户需求的角度入手. 
离职原因: 
 
教育背景
毕业院校:广东金融学院
最高学历:大专毕业-2008-07-01
所学专业一:技术支持/软件维护/网站设计维护所学专业二: 
受教育培训经历:
起始年月终止年月学校(机构)专 业获得证书证书编号
-092008-07广东金融学院计算机应用技术专科毕业证书 
2005-092006-07广东金融学院英语CET-4 
2006-092007-01广东金融学院翻译良好 
2007-032007-07广东金融学院日语良好 
 
语言能力
外语:英语 良好  
国语水平:良好粤语水平:良好
 
工作能力及其他专长
 熟练掌握计算机系统基本理论

熟悉Visual Basic、Visual C++语言的软件维护和简单开发

计算机软件维护的管理技术研究 篇6

【关键词】计算机、软件维护、管理技术

软件和硬件共同构成了计算机,从普遍意义上来说,硬件出现的问题可以忽略不计,如若出现问题,也需要专业的计算机维修人员进行解决,平常需要维护的无非就是计算机中的软件,不仅要保障计算机系统正常运行,还要不定期对应用程序进行检测和维护,对计算机进行杀毒处理,问题严重的还需要重装系统。从用户的角度出发,加强计算机软件维护与管理能够为自身带来更深层次的情感体验,一定程度上也能够提升计算机的使用寿命,这也就要求用户在使用计算机的过程中要对计算机软件不定期的进行管理与维护,而这也是确保用户获得更好的体验的前提条件。

一、分析计算机软件维护的概念

计算机软件维护顾名思义是指在完成开发工作、交付使用以后,对软件产品进行的一些软件工程活动,计算机软件维护工作可以笼统的概括为四个方面:其一,改正性维护,也就是当软件中出现错误时能够自行纠正,其二,适应性维护,计算机中的软件能够自觉适应外部环境,而外部环境是指(计算机的硬件升级、操作系统升级)以及标准、规则发生变化,以此确保计算机软件的正常运行。其三,完善性维护,在原有软件功能的基础上进行完善或者扩充,以此来提升软件的性能,同时也是满足用户不同层次的体验。其四,预防性维护,将用户在使用软件后出现的一些问题进行改正,进一步改进维护性和提升软件的可靠性,大多采用的是软件工程方法,在原有基础上再设计,为将来更好的开展维修工作提供可能。

二、分析计算机软件管理过程中经常出现的问题

1、互联网本身存在的安全隐患。互联网是一个相对复杂的环境,用户在互联网的使用过程中由于其本身存在安全隐患,某种程度上会影响计算机软件功能的发挥。互联网具有开放性的特点,而互联网创建的网络协议其初衷和目的都是为了让用户获得更多的情感体验,因而没有全面考虑到互联网存在的安全问题,致使网络协议在使用过程中出现的问题越来越多,随着互联网用户的急剧增加,网络信息参差不齐,为不良信息和病毒流入到计算机软件中创造了机会,从而影响计算机软件的运行速度,阻碍了计算机软件功能作用的发挥。

2、用户忽视了计算机软件维护与管理的重要性。用户在使用计算机软件过程中,对其进行维护与管理能够提升软件性能,使其效用最大限度显现出来。无疑,互联网与计算机满足了用户不同层次的体验,但是用户在使用的过程中忽视了计算机软件维护与管理重要性,这也是计算机功能受到影响的原因所在。用户不同层次的需要无形之中损害了计算机软件,加上用户需求的不可预测性,使用过程中不可避免的出现各种问题,给计算机软件维护人员带来困扰,小则影响计算机软件功能的发挥,大则导致系统瘫痪。

三、计算机软件维护与管理可以通过以下方式实现

1、加强用户计算机软件维护与管理的意识。经济的迅猛发展,使得计算机使用愈加广泛,相应的计算机软件开发业也变得更加普遍,用户要想获得更高的网络体验,因此加强自身计算机软件维护与管理意识具有迫切性。在使用软件过程中加强对各种软件的认识,用户自身也就能够处理计算机软件使用过程中出现相对简单的问题,例如:电脑硬盘出现故障,排除物理损坏这个因素,就可以采用硬盘保护卡进行修复,再者,病毒入侵,在不小心的情况下删除一些重要资料或者更改设置,都可以使用硬盘保护卡进行还原。在这个过程中还可以将维护和管理计算机软件的意义进行推广,以此促进计算机软件维护与管理技术进一步发展。

2、对计算机软件维护过程中出现的问题及时解决,防止其扩大化。在使用计算机软件的过程难免会出现各种各样的问题,倘若没有在最短时间内将这些问题进行处理,其造成的影响是不可估量的,倘若将其处理好,能够提升计算机系统的安全性和稳定性。对于个人来说,可以建立安全维护系统,最为常见的是:网络用户的访问控制程序、网络用户个人信息的加密程序、防火防毒程序等。但是在一些计算机使用量大的地方,例如:机关单位、学校、网吧等,计算机的维护可以考虑使用CHOST企业版,企业版相对于个人版来说,其功能更加强大。因此在大量安装计算机系统时,使用它就可以轻松搞定,可以减少一些不必要的麻烦,但是其需要满足一个条件,那就是计算机配置要相同。计算机软件的信息加密技术作为防止黑客入侵的有效手段,很多黑客往往会利用计算机软件的“真空地带”盗取自身所需的各种信息,使得软件无法正常运行,致使系统瘫痪。防毒防火墙能够有效抵御各种病毒、木马的入侵,也是確保计算机正常运行的关键,防火墙技术可以时刻对各种病毒、不良信息等进行监视,甚至可以过滤掉一些客户所不需要的信息。

结语:计算机软件的应用已经与我们的生活、工作、学习紧密的联系在一起,虽然计算机软件维护工作看起来比较简单,但是如果其出现问题没有及时得到解决,其造成影响是巨大的。计算机软件的开发随着经济的迅猛发展变得越加普遍,但是在计算机软件维护与管理中还存在很多急需要解决,也只有这样才能够满足用户更高层次的网络体验。这也就要求软件维护工作者都学习先进的软件维护与管理技术,大胆开拓和创新计算机软件的维护方法,在顺应社会发展需要的同时,为我国计算机事业健康发展奠定坚实基础。

参考文献:

[1] 安宏伟. 高校计算机机房软件维护管理的探索[J]. 无线互联科技. 2012(07)

[2] 暴锡文. 初步分析学校机房的软件维护策略[J]. 信息与电脑(理论版). 2011(12)

[3] 陈巧妮. 论机房软件的维护与管理措施[J]. 信息与电脑(理论版). 2011(05)

作者简介:

降低维护代价的软件设计方法 篇7

在管理信息系统 (MIS) 中, 软件维护是软件生命周期中一个重要阶段, 提高软件的可维护性, 对降低软件维护成本, 延长软件的生存期具有决定意义。但在实际维护过程中, 会发现许多软件的维护十分困难, 例如, 文档资料不全、开发过程不注意采用结构化方法、忽视程序设计风格等。造成软件维护工作量加大, 成本上升, 修改出错率升高。本文从维护角度出发, 结合ORACLE数据库开发经验, 从使用可重用代码、软件的开发规范等几个方面来讨论软件开发过程中如何提高软件的质量, 减少软件的维护代价。

2. 使用可重用代码

使用可重用代码, 能够提高软件生产率, 提高系统的性能和可靠性, 减少系统的维护代价。在ORACLE数据库开发中, 常用的可重用代码有存储过程、触发器等。

(1) 存储过程。

在ORACLE中, 可以把常用的或复杂的业务处理和应用作为过程 (Procedure) 存储, 存储过程是一组SQL和PL/SQL语句。把存储过程存放在数据库服务器上, 结果是代码只存储了一次却可以被多个应用使用。使得同一个应用程序的不同用户, 使用一致的方式操纵数据库, 在ORACLE中, 系统全局区 (System Global Area) 中的共享SQL区 (Share Sql Area) 储存可执行命令执行后的分析版本, 从而当一个过程被再次执行时, 它将能够利用上一次的分析操作来提高存储过程的执行性能。使用存储过程一方面减少了网络传输, 另一方面又省去了DBMS对SQL语句的语法检查、查询优化和编译等过程, 从而可以明显改善系统的性能。

(2) 触发器。

ORACLE数据库触发器定义了当一些数据库相关事件发生时 (如对表中的数据进行修改、删除或插入时) 数据库应采取的动作;触发器的优点是自动激发, 不管什么引起数据修改 (来自程序的或是来自用户的) , 它们都工作, 所以常常用于不同数据表中的相关数据的串接修改。在ORACLE中, 触发器是一段程序, 当发生INSERT、UPDATE或DELETE操作时被自动执行, 与过程的调用 (是通过调用语句调用执行) 不同, 因此当某事件的发生引起连环更新或其他的相应操作时, 通过自动执行触发器代码实现而不用人工干预, 大大减轻了维护工作, 同时也很好的保证了数据的一致性。

(3) PL/SQL库。

在ORACLE FORMS开发环境下, 用PL/SQL语言编写独立的PL/SQL库程序, PL/SQL库存放在客户端。在每个应用模块中只要附加上PL/SQL库名, 即可调用该库中的任何过程和函数。使用PL/SQL库的优点是它可以调用ORACLE FORMS内部成分, 诸如SHOW_VIEW或者GET_ITEM_PEROP-ERTY等FORMS提供的功能, 从而使程序达到重用的目的。

3. 优化数据库设计

数据库的设计是信息系统设计的基础, 在考虑设计要求的前提下, 应尽量考虑如何简化系统的实现。

(1) 使用%TYPE和%ROWTYPE方式声明变量。

在ORACLE程序设计中使用%TYPE、%ROWTYPE方式声明变量, 使得PL/SQL代码中的数据类型定义独立于其下的数据结构, 使变量声明的类型与表中的保持同步, 当表中数据类型或宽度发生变化时, 并不需要修改PL/SQL代码, 其相关变量将在运行时动态地决定数据类型。这样的程序在一定程度上具有更强的通用性。如果数据库表发生改变, 只需要重新编译程序代码即可。

(2) 重新组织索引。

重新组织索引能改善应用程序的性能。特别在对表中的记录频繁的删除 (DELETE) 和插入 (INSERT) 时, 索引空间量会不断增加, 通过使用ALTER INDEX REBUILD命令, 可以回收未使用的空间。

(3) 适当的冗余。

在保证数据库的数据完整性、一致性不受威胁的前提下, 以空间换时间, 有些适当的冗余, 可以使设计简单化, 减少应用开发工作量, 软件易于维护。

(4) 视图。

ORACLE视图是存储的能够被查询的记录, 能使复杂的查询变得易于理解和使用。在设计应用程序时, 视图能够以表的形式隐藏复杂的查询逻辑, 使开发的软件变得简单, 易于维护。另外, 在创建视图时可以使用优化器提示控制存取路径到达最佳的查询性能。

4. 提高程序容错能力

一个好的应用系统不仅要有良好的用户界面、齐全的功能处理模块, 而且要有很强的错误处理能力。在出现错误时, 系统应该能检测出错误, 并且提供简单和容易理解的错误处理的功能。因此在编程时预先定义各种异常处理, 并尽可能从错误中恢复过来 (编写相应异常处理代码) 。ORACLE中的异常处理格式如下:

当程序遇到一个异常时, PL/SQL便自动引发 (RAISE) 相应的异常处理程序, 即停止主程序的执行, 处理过程EX-CEPTION块中相应的异常处理程序。之后由异常处理程序决定往后要做什么。对于捕获未预料到的错误并防止对某些异常未给予处理时, 可以用OTHERS进行统一处理, 保证程序的正常运行。

引入PL/SQL异常处理的好处是: (1) 可以将错误处理部分从正常处理部分分离出来, 使程序结构更加清晰可靠。 (2) 避免了每一个语句之后都要检测执行错误, 简化程序设计。

5. 提高程序可理解性

程序可理解性就是通过阅读源代码和相关文档, 了解程序功能及其如何运行的, 所以要求开发人员具有良好的程序设计风格。在MIS开发之前要制定严格详细的开发规范, 约束开发人员的行为和设计、编程风格, 使不同子系统和模块设计以及最终开发出的软件形成同一的风格, 便于今后系统的维护和扩展。

(1) 源程序文档化。

(1) 采用统一的标识符命名规则。对于诸如变量名、常量名、过程名、函数名、触发器名等数据库对象命名时, 应尽量能表示其功能或含义, 使其能够见名知意, 有助于对程序功能的理解。

(2) 程序的注释。正确的注释能够帮助理解程序为后续维护提供明确的指导。每个程序模块的开头部分, 应给出程序的整体说明, 对于理解程序本身具有引导作用。在程序体中有重要的信息或难以理解的部分也应该给出注释, 便于今后的理解。

(3) 采用缩进书写风格。在一行内只写一条语句, 程序段之间可用空行隔开, 运算符两侧各保留一个空格;对于过程性语句和程序块采用缩进书写风格, 会使程序的逻辑结构更加清晰, 层次更加分明, 易于阅读。

(4) 统一大小写。对字母采用一致的约定, 统一大写或小写。

(2) 文档编制。

高质量的文档, 能够起到桥梁作用, 有助于软件的管理和开发, 为软件的维护打下良好的基础。但是编制文档经常和编程工作产生矛盾, 不能得到及时的更新。在程序设计过程中以一定的粒度要求, 在不同阶段要完成不同阶段的文档, 这样才能以文档作为协同工作的基础。这对于软件的开发和维护非常重要。

(3) 用户界面。

纵观众多得到用户认可的信息系统界面的共同特点是简洁, 易学易用。所以在系统实现的过程中, 要不断的与用户交流, 确定用户喜欢的界面风格。

(1) 界面要具有一致性。例如, 在界面中字体及大小、背景颜色、按键以及对话框等都必须具有相同的风格。 (2) 常用操作要有捷径。例如, 常用操作要设置快捷方式 (如快捷键) 等, 不仅会提高用户的工作效率, 还使得界面在功能实现上简洁和高效。 (3) 提供信息提示。对操作人员的重要操作要有信息提示, 以帮助用户减少操作方面的错误。 (4) 设计良好的联机帮助。虽然对于熟练用户来说, 联机帮助并非必不可少, 但是对于大多数不熟练用户来说, 联机帮助具有非常重要的作用。

6. 软件测试

只有经过充分测试的软件, 才可能在运行过程中出现的错误最少。软件测试主要包括: (1) 程序员编码过程中的测试。程序员的测试就是要确保所有的代码在正确使用下不会有问题, 否则将浪费大量的时间修改代码。程序员编程不仅要按时完成, 而且要按质完成。 (2) 组织测试人员。在项目实施中, 关键的是按照规范要求组织项目测试小组。即组织有经验的测试人员组成测试小组, 进行系统测试, 否则交付的软件质量无法保证, 这关系到项目是否成功。 (3) 用户测试。系统在正式使用前要经过一定时间的用户测试, 用户不仅可以验证该软件是否已正确地实现要求, 还可以发现至今未发现的错误。

7. 版本的控制

在大型信息系统开发工程中, 要注意程序版本的控制, 否则运行的版本和源程序的版本不一致, 将给维护工作带来很大困难, 甚至给整个系统带来灾难。

8. 结束语

大型MIS软件的开发工作是一项复杂而艰巨的系统工程, 在系统开发过程中要严格管理, 降低设计的复杂度, 尽可能提高软件质量。高的软件质量为软件的维护带来了极大的方便, 此外, 许多维护要求并不是程序中出错而提出, 而是为适应新的需求变化而提出的。由于维护工作面广, 维护难度大, 稍有不慎, 就会在修改中给软件带来新的问题或引入新的差错。因此, 在软件维护过程中, 也要强调维护的质量。纵观整个软件生命周期维护工作将是大量而繁重的, 为了使得软件能够易于维护, 在软件设计的各个不同阶段都必须考虑使软件具有可维护性。

参考文献

[1]Kevin Loney.ORACLE8数据库管理员手册[M].李晓军, 译.北京:机械工业出版社, 1998.

[2]丁铖.ORACLE8/8I数据库系统管理[M].北京:人民邮电出版社, 2001.

软件的可维护性设计 篇8

计算机网络在人民生活和社会发展中扮演着越来越重要的角色。WWW网站运行作为互连网的重要应用之一已成为具有最广泛用户的首要应用。Web网站是直接向用户或潜在的客户提供产品信息和服务信息的一种途径,其内容是由超文本的文本、声音、图形图像甚至电影等形式组成,它们能够有机地关联并可被浏览器识别,是通过HTML语言实现的。同时,CGI又使Web具有交互功能。Web网站能指引用户浏览该站点或其他站点上的分页信息,可以通过表单或电子邮件的连接提供双向交互方式。

网站是未来开展电子商务与远程教育的基础设施和信息平台,它是知识经济的制高点,企业的网址犹如企业的品牌和商标一样,是反映企业形象和文化的巨大的无形资产。Web网站的设计犹如报纸中设计的一页篇幅,又像电视中设计的一个片段,能给读者或观众留下深刻的印象,从而产生广告效应。Web网站的管理与维护不单要对网站的内容进行修改与更新,还要与浏览者通过各种因特网方式进行互动,从而产生“客户群”等作用。本文主要介绍了数据库软件系统在网站的设计和维护等方面的作用。

1 网站的设计

网站是宣传的工具,是一个组织的形象窗口,不论是商业性还是非商业性网站,都希望以最小的投入达到最好的运行效果。通过合理的网站设计,可以获得一个更好的模式和更好的运行效果。目前,基于数据库的运行和管理的网站运行模式就是一种典型设计。

1.1 网站的运行模式

整个设计开发过程,都是本着技术先进、界面友好、功能全面、维护性好的设计目标,以软件工程学的观点和方法系统的研究了整个开发过程,有计划、有步骤地分模块进行软件开发,以提高其效率,保证质量。当前,动态模式是将编程脚本技术(SCRIPT)、层迭样式技术(CSS)和文本对象技术(DOM)应用于网站设计,从而实现生动、丰富的页面效果。在信息化的今天,页面内容更新速度的增快,直接加大了网站运行维护的成本。因此,越来越多的网站使用了基于数据库的网站设计技术,即B/S结构的网站设计技术。

1.2 结构模型

B/S结构是一种具有二级的Client/Server模式(亦即三层C/S结构),如图1所示。

第一级C/S结构是给Web服务器提供的WWW服务,同时又给客户端浏览器提供浏览服务。在Web Server上安装着预先建立的网页文件,这些页面描述语言可以包括运行在客户端的HTML、DHTML标注语言,VBscript、Javascript脚本语言和运行在服务器上的ASP、PHP、JSP等多种编程语言。服务器将执行结果转换成对应的HTML语言文本传送到客户端,再由客户端软件解释运行,产生显示结果。第二级C/S结构则是将Web服务器作为客户机,进行以数据库系统为服务器的C/S运行模式。客户端以编程语言C++、ASP、PHP、JSP等的程序作为客户端软件进行数据库的访问操作。通过CGI或者其他方式实现Web服务器端与客户端实现信息互动。服务器端同时使用第三方数据库系统(如Ac2cess、SQL Server、Oracle等)作为数据库的支持与管理系统来提供第二级C/S结构的数据库服务。

早期的不少的网站设计主要只包含第一级C/S结构。这样的网站缺乏互动成分,且更新速度慢。这也是许多非商业性网站存在的弱点。即使是有些商业性网站,数据库的应用也主要体现在用户的注册登录,信息检索等方面,而在信息的更新、编辑仍然需要大量熟练工程技术人员参与。这毫无疑问会大大增加网站的运行成本。而B/S结构的网站设计技术,就能很好的解决这一问题。

2 网站的维护

当网站建设有了一定规模以后,尤其是对于那些流量较大、内容较多的网站,每天更新站点成了网站管理员维护网站的首要任务之一。然而,往往是有了资料以后,还要先做出与其相关的页面,然后才能对网站进行更新,这对于那些流量小,且时间充裕的管理员来说问题不大;但当站点是一个企业网站,有较大规模,每天的新闻或公告等信息发布较多,这样的更新就成了一项繁重的任务。根据制作网站的经验,将信息动态存入数据库,并利用ASP技术,及时把数据库信息显示到页面上。这样就不用每一条信息都做一幅静态页面,然后再链接到网页条目中,而让页面能保持自动更新和自动生成浏览页面。下面重点介绍在网站的动态设计过程中如何建立数据库连接和数据库记录的添加、修改、检索和删除。

2.1 建立数据库连接

一个真正的、完整的站点离不开数据库。利用数据库管理数据,可使查询和更新方便、快捷。数据库有很多种,如Fox数据库(.dbf)、Access数据库(.mdb)、Informix、Oracle和SQL Server等等。下面以Mi2crosoft Access数据库和SQL Server2000为例来说明如何访问数据库。访问数据库首先要连接数据库,这要用到ADO对象,下面简单介绍ADO的概念,然后给出具体数据库连接的例子。

2.2 基本原理

浏览器为客户端的操作平台,Web服务器可以基于IIS服务器或PWS的个人服务器。为了使数据更新方便,现代Web网站大量使用动态网页,这类网页的数据一般通过数据库来管理,因此应设置后台数据库来存放所有数据。Web服务器要访问数据库中的数据,需通过ASP文件的ADO对象来实现。如图2所示。

ADO是以ActiveX技术为基础的数据存取方法,其特点是使用简单、访问速度快。此外,还可以通过具有远程数据服务功能的RDS,在一次循环中就能把服务器端的数据传送到客户端的应用程序或Web页面中,在客户端对数据进行处理后,便能立即更新服务器端的数据。ASP是一种动态服务器主页,利用它可以建立和运行动态的、高效的、交互的Web服务器的应用程序。Web服务器能自动将ASP程序解读成标准的HTML格式的网页内容,并送到用户的浏览器得以显示。因此,用户只要使用支持HTML代码的浏览器,就可以浏览所有用ASP设计的网页。若客户的浏览器向Web服务器请求下载文件时,Web服务器会在提取文件后,随即判断该文件的类型,如果是HTML文件,就可直接将文件下载给客户。若是ASP文件,IIS、PWS则会先予以解读,在解读的过程中,如遇到HTML标记或一般文字,会直接将有关内容下载给客户浏览器;如遇到<%%>的标记,则将其中内容视为程序,按下述步骤予以解释执行:

1)使用ASP程序中的ADO对象发送SQL指令,从数据库中取出所需数据。

2)由ASP程序的ADO对象发出指令,把从数据库中取出的数据传送给Web服务器。

3)通过HTTP传输协议将有关数据下载到客户端,送往浏览器显示。

在上述过程中,ASP程序是直接在服务器上解释执行,其源代码不用下载到客户端,进一步保证了源程序的安全。

2.3 实现方法

2.3.1 模块组成

Web网站维护方法可以分为以下三个模块予以编程实现。

1)数据编辑模块

此模块主要是实现对数据库内容的添加、删除与修改。用户只需通过客户端的浏览器进入网站的主页,即可调用维护程序进行操作。如果是添加内容操作,只需按界面提示填写内容后提交即可。如果是进行修改或删除操作,则应先从数据库中读取数据后,再按界面提示逐一操作,之后再将处理结果予以提交。为防止非法用户随意更改网站内容,除了使用网络系统平台的安全体系对用户进行一般的身份认证外,在此模块的界面上还采取了页面加密措施,包括在IIS和在有关文件夹中设立权限等。此外,此模块还自动识别用户所提交数据的格式是否正确,不正确时将要求用户重新填写。

2)数据的存储

将用户通过数据编辑模块提交的结果按要求入库,是数据存储模块的主要功能。该模块使用ASP程序接收用户的提交请求,通过ADO对象发送相应的SQL指令,将相应数据存入数据库。

3)用户浏览器接口

客户端浏览器必须通过该接口才能浏览数据库中的数据,该接口同时还能提高网页的浏览速度。当接口收到用户的浏览请求时,将先通过ASP程序所提供的对象到库中提取数据,然后由Web服务器送给浏览器。

2.3.2 开发环境

1)系统平台

可以在Windows NT和IIS服务器系统平台,也可以基于Unix或PWS个人服务器等平台上开发。

2)数据库的选择

目前可用的数据库系统有很多,如Oracle、Sybase、Access等都是很好的产品。但Oracle数据库对系统的软硬件环境、使用及维护等方面要求较高,且投资大;Sybase主要适合与PowerBuilder配套使用;Access则是小型数据库。根据系统规模和所需处理数据的容量,以及与系统平台的无缝集成等综合因素,选取恰当的数据库系统。

3)开发工具的选择

Java Script、VBScript、CGI与ASP都是可用于动态网页脚本制作的工具。但是,Java Script和VBScript在执行时,需要先把程序下载到客户端,再由浏览器进行解释执行,这样会导致源代码被公开,从而影响网络安全性。ASP程序则是CGI程序的改进版,它跟CGI程序一样是在Web服务器端执行,因此安全性较好。相对而言,在收集网页数据时,ASP比CGI的解析速度快、解析效果好,因而选用ASP最为合适。

3 数据库系统在WWW服务中的问题

数据库在WWW服务应用中能帮助Web站点更好地运行,但同时也有一定的负面影响。主要问题表现为:

1)用户在对页面进行访问时,如果同时要进行大量的数据库查询与读取工作,会对用户的访问速度有一定的影响。

2)由数据库系统是与Web服务器共同完成Web服务的,这便使Web服务器增加对系统的依赖性,也增加了它被攻击的潜在因素。

3)对编程技术具有更高的要求。若对数据库编程不当,可能使得数据库因负载过重而出现故障,从而影响系统的稳定性。然而,这些问题都可以通过恰当的方式加以解决。

4)解决办法

对问题1)和2)可以采用双以太结构方式加以改善。如图3(a)和(b)分别为单以太结构和双以太结构设计的逻辑结构。

双以太结构可以有效的进行数据流负载分流,改善以太负载曲线。同时隐藏数据库,保障其安全。对于问题3),主要是通过软件设施加以解决。例如选用适当的数据库,加强程序缓冲能力,及时关闭链接,增强程序坚固性等。

4 结束语

由于网络具有传播信息容量极大、形态多样、迅速方便、覆盖面广、自由和交互的特点,已成为新的传播媒体。随着网络技术的突飞猛进,各行各业都渴望加入到IT行业中来。如何设计出达到用户目的的网站,吸引尽可能多的人参观访问是网站设计人员值得研究的课题。不断探索,将越来越多的网站建设中的新技术应用到“科学数据库网站”中来。

参考文献

[1]马莉,王歌.基于Web网企业动态信息发布系统[J].计算机工程与应用,2002,38(5):166-171.

[2]郑源,王加阳.基于ASP技术的Web数据库远程维护[J].计算机工程与应用,2002,38(11):193-195.

[3]王剑钊,陈萍.数据库技术在网站设计中的应用[J].技术交流,2003(8):46-49.

计算机软件的可维护性分析 篇9

作为硬件同用户之间的接口界面, 计算机软件具有十分重要的作用。在进行系统设计的过程中, 设计者会综合考虑用户的使用以及软件同硬件之间的结合, 使得系统具有整体效用, 通过全局性的把控, 满足各类用户的需求。在整个生命周期中, 软件技术的各个阶段所采用的技术以及管理都具有先进性, 每个阶段在完成后都需要针对性的进行严格的审查、管理, 只有在上一阶段工作合格之后才能进行下个环节的开发, 这就确保了软件开发的质量, 尤其在可维护性上得到了有效提高。

1 维护性概述

软件的周期主要有两个重要的阶段, 一个是开发阶段另一个则是运行阶段, 在运行过程中会发现实际上系统是存在很多的错误和漏洞的, 软件的开发是一项大投资, 在生产率提高、成本降低的同时, 人们希望获得高品质的软件, 从而快速的实现软件的应用和扩张。因此就需要在软件投入使用运行后, 由软件人员进行进一步的修改, 针对系统中存在的错误和漏洞进行修正, 这就是我们常说的软件维护。

常见的软件维护有三种:首先是纠正维护, 主要针对软件中的错误进行修改;其次为完善维护, 主要用于对软件的性能和功能予以扩大和提升;最后则是适应维护, 该类工作则是为了提高软件对外部环境的适应性。

2 一般维护方法

2.1 模块化提升以及质量技术提升

在开发软件时, 对软件可维护性提高最有效的方式之一便是对开发质量的提高, 这不但会对成本予以降低, 同时也能够提高技术的有效性。功能模块的独立性是该种方式的优势, 若某一模块需要更改, 那么只需要对该模块进行修正, 而不是整体性修改, 不会对其他模块造成影响;若程序需要增添新的功能, 那么只需要对该功能进行新模块的添加即可;而在测试重复以及程序时更加方便, 很容易发现序列错误, 并对其进行修正, 从而提高了运行效率。

2.2 品质的创建以及优先级的创建

维护性对于程序来说应当是能够理解、修改、移植、使用并且可靠性以及效率较高的。上述要求的实现, 需要付出相当大的代价, 并且即便是付出了也不一定具有可行性。一些软件在质量特性上具有一定的互补性, 例如可修改性、可理解性以及可理解和测试性等。但是在其他的特质上同样具有一定的矛盾性, 例如可移植性同效率之间或者效率同可变化性之间。所以, 软件在满足可维护性要求的同时应当根据程序的使用和环境的要求而做出适当的调整。

2.3 设计语言的选择

根据程序可维护性, 选择程序设计语言, 其影响是极大的。低层次的语言就是机器语言和汇编语言, 这非常难以理解和掌握, 也更难以对其进行维护。高级语言更容易理解, 具有更好的可维护性。不管是什么语言, 程序编制出来都很容易理解和修改, 但存在指令数量可能会少一个数量级, 而语言编制数量级要多一个, 其开发速度会快多倍。

3 可维护性加强措施

在进行软件的维护过程中, 会遇到诸多的问题, 例如软件开发过程中人员变动较大, 开发商的变动性也较大;由于文档资料的缺失, 使得开发过程中对他人的开发体系无法全面的掌握;程序问题或者稳当文件的不恰当, 软件结构出现问题, 难以理解, 无法对不恰当的地方予以修改, 或者即便修改也容易出现问题。

在企业计算机技术应用中, 领域管理应用较为广泛, 程序深入程度更胜一筹。管理程序主要可以从两方面进行分析, 一个是信息化管理, 一个则是工业控制。引入自我维护是软件设计执行上的重大进步, 该项功能提高了软件自身的活力。但是在设计上, 该项自动维护功能还是具有一定难度的, 其运行会占用系统资源。但是计算机技术在发展, 并且时至今日, 计算机资源已经十分充盈, 自我维护功能所占用的量完全可以为系统所承受, 不会影响系统运行, 综合考虑, 其功能的应用是值得的。而在其他软件的开发中, 将该种自我维护技术加以应用, 全面结合系统的个性、共性, 那么对于软件技术的发展将会是一种更高层次的进步。

4 结束语

通过上述内容可以分析出, 目前国民经济中软件产业占据了十分广泛的空间, 无论是生产还是生活学习中, 到处都有计算机软件的存在, 计算机信息系统的灵魂便是计算机软件, 这是计算机技术得以发展应用的基础, 并且软件技术开始重视信息系统的新型发展方向, 逐步的实现集成化、多元化, 使得结构分布更为广泛。在实践中完成一系列的创新, 可维护性是软件在这一阶段主要形成的重要方面, 所以, 在进行软件开发的各个环节中都必须对可维护性进行把控, 使之能够贯穿始终。将软件整个周期进行全面的掌握, 能够有效提高软件所具有的可维护性, 同时也能够促进软件开发的效率, 对维护人员的维护工作也具有一定的意义。



参考文献

[1]陈小辉, 邓杰英, 文佳.浅谈软件的可维护性设计[J].华南金融电脑, 2009 (03) .

[2]丁剑洁.基于度量的软件维护过程管理的研究[D].西北大学, 2006.

计算机软件的可维护性的实践探索 篇10

软件的可维护性是指:当软件出现问题时, 软件维护人员能够及时采取修正措施, 对软件系统进行修改、完善, 使系统能够满足更高的要求。在软件工程领域, 软件的可维护性意义非凡, 它不仅是软件工程发展的方向标, 同时在软件发展过程中扮演着十分重要的角色。

软件质量的好坏, 可从以下几个指标来评定:软件是否能够良好使用、软件是否能够稳定运行以及软件是否能够有效维护等, 这些指标也是用户最为关注的。在软件开发的过程中, 软件是否能够有效维护是最为关键的。软件可维护性的影响因素颇多, 如:软件编码、设计、配置等, 每种因素都会使软件的可维护性大受影响。

2 影响软件设计中可维护性的因素

在软件开发设计的过程中, 软件的可维护性十分关键, 因此下面对可维护性的影响因素进行分析。

2.1 可理解性

可理解性这一因素的针对对象为外来者, 当外来者在原有软件的基础上进行完善时, 可理解性体现在对软件结构以及软件内部处理的复杂程度。在软件的结构中, 软件模块设置是否合理, 软件文档是否明确, 软件设计编程语言的选择是否科学等, 都对软件的可理解性具有很大影响, 进而影响到软件的可维护性。

2.2 可测试性

软件理解的难易程度, 是软件诊断和测试的难易程度的直接影响因素, 与此同时, 软件诊断的测试也与软件文档和软件设计结构的合理性有着密不可分的关系, 软件文档与软件设计结构愈合理, 软件诊断测试的难度愈低。此外, 在对测试、诊断工具和调试方式的选择时, 应立足于软件使用者的实际情况进行合理选择, 并对软件测试过程进行规范化处理, 对测试的过程进行科学设计, 做好调试诊断的基础工作。

2.3 可重用性

可重用性是同一事物, 未经修改或仅做小范围修改可以在多种环境中进行重复使用。当对具有可重用特性的软件来开发设计新的软件时, 可从下述方面对维护性进行提升。

(1) 通常来说, 软件的开发设计不可能在设计完成之初就能实现完美, 而是通过不断的使用, 不断修改、完善, 而日趋完美。在软件设计开发时, 应对软件的结构进行细致分析, 在软件开发完成进入使用阶段时, 也会不时出现一些不尽完美、不够理想的问题, 此时, 应对这些问题进行及时修正。在重用时, 随着发现的问题被一一解决, 设计上的错误被逐一修正, 日后出现问题的间隔就会越来越长。因此, 对软件的可重用性进行合理利用, 可以有效减少软件维护所用的时间。

(2) 具有可重用性的软件其具有良好的修改性能, 将这类软件进行广泛使用, 可以有效提升软件的适应性和完善性, 也使软件更加易于维护。

3 提升软件可维护性的方法

3.1 使用先进的软件开发技术和工具

在软件开发技术和工具进行选取时, 应遵循先进性、科学性以及合理性的原则, 以降低软件的开发成本, 提高软件的质量。当前被广泛应用的软件开发技术为对向对象的软件开发技术, 其应用在软件开发中, 可有效提高软件的稳定性、可测试性, 并且可以降低软件的难度, 使软件易于理解、修改和调试, 其功能强大可见一斑。在对软件进行开发时, 应成立开发小组, 对组内成员的职责进行合理细分, 能够实现边设计边检测, 全面提升软件质量。在对软件进行维护时, 也应成立专门的小组, 将软件维护的职责进行细分, 为提升软件质量提供有力保障。

3.2 建立明确的质量保证

提高软件的可维护性可以有效提高软件的质量, 软件质量可以通过测试、检查工作来改善。当前, 在软件开发的每个阶段中, 软件质量的检测都是十分必要的, 它是软件维护的有效手段和关键措施。提高软件的可维护性, 可以通过以下途径来实现:对软件包进行定期检查维护、对软件进行定期维护检查、对软件的质量进行定期验收以及对检查点进行认真检查。

3.3 选择可维护的语言

对于软件来说, 编程语言的选择也十分重要, 选择的是否合理将直接影响到软件的维护。如果语言的等级不高, 则理解起来十分困难, 掌握起来也颇具难度, 对软件进行维护则很难进行。但是如果选取高级语言, 理解起来就容易得多, 如目前的主流软件程序——第四代语言, 其具有很强的可维护性, 修改也十分容易, 利用高级语言编写的软件也具有十分良好的可维护性。对于高级语言来说, 无论何种类型, 其易修改性和易理解性都是不变的, 而且在设计过程的指令也更少, 较之PL/1语言来说, 指令条数少了接近一个数量级, 大大提高了软件的开发效率。在一些比较智能的编程语言中, 如第四代语言, 其具有极强的灵活性, 用户完全无需对程序实现的算法进行了解, 用户只需提出想要实现的目标, 编译程序就可以做出智能回应, 如第四代语言可以实现对字符类型进行自动选择, 对报表中数据的显示形式进行自动选择等。整体来说, 第四代语言从维护性能的角度出发, 其具有很好的可维护性。

3.4 改进程序的文档

程序文档对程序设计的规划、程序所要实现的功能、程序各部分间关系的补充说明。程序是否能够阅读, 都取决于程序文档, 对软件性能完善具有一定的助推作用。因此, 要对文档进行充分阅读, 并加深对程序的理解, 以便使软件能够更易维护。

4 结论

综上所述, 软件的可维护性可以有效延长软件的使用寿命, 降低软件的使用成本。对软件可维护性进行有效提升, 可以提高软件的运行性能, 以及对错误操作的纠错能力。可见, 软件的可维护性意义十分重大, 在软件的设计开发阶段, 都应对可维护性给予高度重视。用户对软件要求的不断提高, 以及软件使用过程中日渐涌现的新状况, 都要求我们要加强对软件可维护性方法的掌握, 使软件能够有序、高效的运行。

摘要:当前, 计算机技术得到快速发展, 各类应用软件层出不穷, 向用户提供更为全面的服务, 与此同时, 软件的维护管理成为软件发展过程中的一大问题。随着软件工程的迅猛发展和日益完善, 软件开发的难度愈来愈大, 开方的方法也愈发先进、科学, 使软件系统的可靠性和可维护性上升了一个新的高度。基于此, 本文以计算机软件可维护性的内涵为切入点, 对影响软件设计中可维护性的因素进行了分析, 并探讨了提升软件可维护性的方法。

关键词:计算机软件,可维护性,方法研究

参考文献

[1]张小波.浅析计算机软件可维护性方法及保护技术[J].计算机光盘软件与应用, 2010 (10) :77-78.

[2]曹新辉.计算机软件中的插件技术探讨[J].科技创业家, 2011 (7) :128-129.

计算机软件系统的维护及管理初探 篇11

关键词:计算机;软件系统;维护管理;应用软件

中图分类号:TP311.53 文献标识码:A 文章编号:1007-9599 (2012) 10-0000-02

计算机软件主要是指计算机中各种相应的程序及其文档的总和。但与传统的概念有所不同的是,这些程序并不完全等于软件,换言之,就是说软件的定义更加强调文档的重要性,文档为软件的开发及维护提供了十分重要的支持和依据。计算机软件是整个计算机系统中较为重要的组成部分之一,它与计算机硬件并称为计算机两大主系统。若是将计算机看做人的躯体,则软件系统就是人的灵魂。计算机要是没有软件系统予以支持,这样的计算机只能算作裸机,具体一点讲,就是由诸多物理设备堆砌而成的物件,基本不具备任何工作能力。为此,计算机软件系统的维护及管理就显得尤为重要。借此本文就计算机软件系统的维护及管理展开探讨。

一、计算机软件系统概述

通常情况下,计算机软件大致可分为系统软件和应用软件两类。其中系统软件的主要作用是负责维护、管理、控制和开发计算机的软硬件资源,并为用户提供便利的操作界面和编制应用软件的资源环境。系统软件主要包括操作系统、程序设计语言、处理程序以及数据库管理系统等。其中操作系统属于整个软件系统的核心,具体负责计算机全部软硬件资源的管理、分配和调度,它是计算机与用户两者之间的接口;程序设计语言主要是供编程人员使用的软件,它属于一种比较特殊的语言,可用于实现数据处理;数据库管理系统也是计算机中较为重要的系统软件,这是因为应用软件功能的实现全部需要数据库的支持,如电子商务系统和信息管理系统等。应用软件主要是指为解决某个特定领域中的具体问题而编制的软件产品,如信息管理系统、办公软件以及图像处理程序等等。由于应用领域的不同,所以应用软件的种类比较繁多。

计算机的软件发展大致经历了以下三个阶段:其一,初期阶段。该阶段始于上世纪40年代,截止到50年代中期。在该阶段中,计算机的软件开发主要凭借的是低级语言,开发效率相对较低,其应用领域也都局限在工程和科学的数值计算上面。软件文档的编制基本上未获得足够的重视,一般都是将重点放在代码的编写上;其二,发展阶段。这一阶段从上世纪50年代中期开始直至60年代末期截止。在该阶段中,随着技术的發展和进步,大量高级语言随之诞生,各类软件程序的开发效率也明显提高,与此同时形成了较为成熟的操作系统以及数据库管理系统。直至60年代后期,因为软件的规模不断扩大,加之复杂程度日益提高,从而导致了软件危机,正因如此,具有针对性的软件开发理论和实践研究相继出现;其三,成型阶段。从上世纪70年代初期至今,软件应用领域的规模不断扩大,各类大型应用软件的开发已经成为工程性任务,随之形成了极具代表性的软件工程,其在不断推广使用的过程中,获得了长足发展和进步。同时软件技术也随之得到相应发展,并逐步转向集成化、自动化、智能化、开发化和并行化。

二、计算机软件系统故障诊断技术

为了进一步提高计算机软件系统的运行安全性和可靠性,软件维护人员应当了解并掌握软件系统故障诊断技术。所谓的软件系统故障诊断技术具体是指软件运行过程中出现的一种不可接受的内部状态,这种状态将会影响软件系统的正常运行。

(一)故障分类

在软件系统的实际运行过程中,因其性质以及用途等方面的不同,所以故障导致的后果也存在很大差别,有些故障由于对系统正常运行的影响相对较小,故此可以忽略不计。而有些故障会对设备造成严重损害,因此,这种类型的故障是绝对不允许出现的。这就要求维护人员应按照故障引发的结果对其进行系统的分类,通过分类后,便于软件维护人员制定相应的策略。通常情况下,可按照软件系统故障所导致的后果对其进行分类,具体可分为如下几类:其一,费用损失情况。主要是指按照故障造成的费用损失多少来判定该故障的严重程度,这是一种十分实用的分类方法,但是该方法的弊端是费用的具体损失情况不容易准确计算;其二,服务功能缺失程度。这种分类方法相对比较简单,软件系统服务功能缺失主要可分为四个等级:基本服务功能缺失、基本服务功能退化、使用不方便、影响轻微。

(二)故障诊断技术的特点

软件系统故障诊断技术具有以下特点:其一,软件故障基本都是由程序运行中软件错误被出发而导致的,这种错误一般都是由于设计原因造成的,若不对其进行更改,则这种错误会始终存在;其二,软件的故障率会随时间的增加而有所下降,这是因为软件发生错误可穿插在实际使用过程中进行;其三,有的软件的使用一段时间后,可能会被淘汰或废除,具体是因为软件版本较低,无法满足用户的使用要求;其四,软件系统对于普通的用户而言,具有不可维护性,一旦出现错误只能通过开发商重新设计才能排除错误。

三、计算机软件系统的维护及管理方法

(一)常用的软件系统维护技术

目前,较为常用的软件系统维护技术主要有以下几种类型:

1.改正性维护。在软件的开发过程中,由于现阶段没有任何一种测试技术能够检查出软件中所有的错误,所以势必会有一些未被发现的错误被带到运行当中,而正是因为这些错误的存在,使得软件系统在运行过程中有可能出现故障。对于这类错误的修改被称为改正性维护。据不完全统计,软件系统中的改正性维护占全部维护工作的20%左右。

2.适应性维护。近些年来,随着计算机的迅猛发展,其外部环境和数据环境也都随之发生了巨大变化,为了确保软件系统能够适应这种变化而对其进行的修改被称为适应性维护。

3.完善性维护。在软件系统的实际使用过程中,用户由于某些特殊的需要会对软件提出一些新的功能和性能方面的要求,为进一步满足用户的使用需求,对软件进行的修改称为完善性维护。如用户界面修改等等。

4.预防性维护。为使计算机中的程序能够被更好地纠错,借此来增强软件的可靠性和可维护性等,而采取的改进软件性能的过程被称为预防性维护。

(二)计算机软件系统的管理方法

对于计算机软件系统的管理可采取以下几种方法:

1.采用具有网络对拷功能的硬盘保护卡进行数据传输。可将所有软件都安装完毕的计算机作为发射台,并将其他计算机作为接收端,这些计算机中均不需要安装任何软件。而作为发射台的计算机能够将预先设定好的系统完整地传输至接收端的计算机中,当传输完成后,硬盘保护卡会对每台计算机的硬盘内容进行自动保护。这种方法的操作十分简单,只需要在启动机器时按照保护卡上的提示进行操作即可,其优点是无需打开机箱拆下硬盘,只要确保网络连接正常便可以对硬盘进行复制。

2.利用Ghost软件对数据进行备份。Ghost软件是一种面向通用型硬件传送的软件,通过该软件对硬盘进行对拷,不仅能够快速实现系统安装和恢复,而且还便于维护管理。Ghost软件的工作原理与其他的备份软件有所不同,它是将硬盘中的某一个分区或是整个硬盘当成对象进行操作,能够非常完整地对硬盘中的所有对象进行复制,如硬盘分区信息、操作系统引导区内的信息等。同时可将复制后的信息压缩成一个映像文件,若有需要还可将该文件恢复对相应的硬盘或分区中。该软件具有如下功能:两台计算机间的硬盘对拷、两个硬盘分区对拷、单台计算机内的两个硬盘对拷、映像文件制作等等。其中应用较多的是分区备份功能,它可以将硬盘中某一个分区备份成为一个映像文件,并将其存储到另一个硬盘或是容量较大的软盘中,一旦原本的分区出现故障时,便可将备份的文件拷贝回去,使其恢复正常运行。这种方法常被用于没有局域网的计算机机房软件系统维护及管理当中。

(三)复制后软件无法正常运行的解决途径

通常情况下,在对硬盘数据进行复制以后,只需要更改一下计算机名称便可以正常使用。然而有的软件在复制后却无法正常运行,软件提示需要重新注册,但是按照正常的注册方法却又无法完成注册。导致软件无法正常运行的原因是注册信息出现了错误。在对母盘软件进行注册安装时,主要是针对拥有母盘的计算机硬件ID进行注册的,当数据复制完成后,由于每台计算机的硬件ID均不相同,加之原始的注册信息不复存在,因此,无法进行重新注册。解决此类问题的方法为,在母盘的制作过程中,先不对软件进行注册,安装完毕后也做测试运行。只需要确保安装正常即可。待硬盘中的数据复制完成以后,再在每一台计算机上分别对这些软件进行注册。这样的注册信息都是针对这台计算机,就不存在无法运行的问题。

参考文献:

[1]陈俊睿.提高计算机软件系统维护效率的几点探索[J].中国新技术新产品,2011,17

[2]陈良维.计算机实验机房的系统维护[J].达县师范高等专科学校学报,2009,14

[3]張宝柱,刘志峰,吴喜文.计算机机房软件系统维护管理探讨[J].中国现代教育装备,2009,6

[4]熊铭,何明德,阮永良.基于COTS构件的软件系统开发及其升级维护管理[J].计算机工程,2009,2

[5]吴海霞.图书馆读者用机软件系统的快速安全恢复[J].现代图书情报技术,2008,3

[6]王力君,何国民.谈计算机实验室的设备维护与管理[J].实验室研究与探索,2007,5

软件维护的内容探讨 篇12

软件在交付使用后, 为了改正错误或满足新的需要而修改软件的过程称之为软件维护。

1 改正性维护

任何大型程序在使用期间用户必然会发现程序错误, 并且把他们遇到的问题报告给软件开发人员, 然后有开发商对程序进行诊断并改正发现的错误, 再交给用户使用。2009年试运行的民航气象传真广播系统中, 需要将实时库中的记录定期迁移到历史库中, 但由于迁移失败导致使用历史库中数据的客户端程序无法使用;另外大量记录积压在实时库中, 造成实时库对应的表空间满, 从而导致实时库中的表记录无法更新。这是典型的一个改正性维护实例。

2 适应性维护

计算机科学技术领域的各个方面发展非常迅速, 经常推出新操作系统或旧操作系统的修改版本;另一方面应用软件的使用寿命却容易超过十年。以我单位使用的填图前置机为例, 操作系统和应用程序的使用已有十年, 操作系统仍然使用WINDOWS 98, 而对于外部设备的适用性, 它要低于更高版本的操作系统, 而使用高版本的操作系统又支持不了原来的应用程序, 而改造原来的应用程序到投入运行的效率, 远比我们想象的要低。应用程序不识别外部数据的情况有时也会发生。民航气象数据库系统的功能之一就是将用户通过自动观测系统发送的报文转发给相关目的主机。2007年新安装的自动观测系统 (MIDAS IV) 替换原来的自动观察系统 (MIDAS 600) 后, 数据库系统不能收发本场实况报文, 经过仔细分析和测试, 发现是由于两个的控制字符不同, 这就造成数据库系统无法正常收发报。解决问题的最好途径是修改数据库系统程序源代码。

3 完善性维护

当应用软件进入稳定运行期后, 用户会有一些新的需求, 这就需要完善应用系统的功能, 为了满足这类要求需要进行完善性维护。仍以民航气象数据库系统为例。某些气象资料的入库工作, 软件开发商只留了相应的功能接口, 相应的数据提供需要另外从各自的系统提取、转换并传送给数据库系统, 而这部分工作是不得不由维护人员来完成。由维护人员去编写适合功能接口的程序代码不是一件容易的事, 也有可能影响原来应用程序的工作效率。比如雷达资料、自动观测资料、预报的产品, 不仅要了解相应应用接口规则, 还要了解各个资料的通讯规则, 产品的形成过程。还有就是要掌握一种开发工具。所以, 对于这种完善性维护, 工作起来效率不是很高。

4 日常维护

日常维护相对来说要简单一些, 一般来说只要应用文档写的很详细, 维护工作都能顺利完成。在民航气象数据库系统中, 日常性维护有很多, 例如对文件系统的检查, 查看是否有空闲空间;对数据库管理系统的检查, 检查数据库表空间的使用情况, 检查数据库是否正常运行, 检查数据库侦听进程是否在运行;对消息中间件系统进行检查, 检查队列管理器是否在运行, 检查通道的状态;对各个应用进程进行检查, 检查其状态是否正常。为了满足用户需要, 还经常要对数据控制表进行修改来增加新的资料。对某些资料的处理, 程序文档里并没写明有好的处理办法, 例如对程序认为是错误的资料或对用户来说是不需要的资料, 这些资料如果不及时处理, 最终会造成应用系统瘫痪。如果通过修改控制数据进行处理, 一天这几百条的消息, 对维护人员来说工作量是巨大的, 用维护软件去处理时, 有可能在软件中引入潜伏的故障, 从而降低了软件的质量。

5 结论

与软件维护有关的绝大多数问题, 都可归因于软件定义和软件开发有缺点。有时合理的要求不能及时得到满足将引起用户的不满。理解别人写的程序通常非常困难, 而需要维护的软件没有合理的文档, 或文档资料不足, 则会出现严重问题。当要求对软件进行维护时, 不能指望有开发人员给我们仔细说明软件。因为维护时间很长, 因此, 当需要解释软件时, 往往原来开发程序的人已经离开了。

所以, 我们应该推广在实践中总结出来的开发软件的成功的技术和方法, 消除在软件开发过程中的错误观念和做法, 开发出优质的应用系统。

参考文献

[1]克鲁奇特, 阿斯顿.软件工程过程[M].施平安, 译.北京:清华大学出版社, 2008.

上一篇:地质预测下一篇:便携图书馆