【系统架构设计师】论文:论软件的可维护性设计

论文:论软件的可维护性设计

文章目录

摘要

随着软件大型化,复杂化的发展,软件维护所耗费的资源越来越多,软件可维护性设计日益得到重视。我单位近几年开发综合业务 ATM交换机,用户对交换机的可维护性要求很高。我参加了该项目并负责软件的维护性设计工作。根据当前工作中在维护性设计中的不足。通过在各个软件开发阶段注重软件可维护性的应用,规范文档,使用CASE工具管理软件版本和成立软件可维护性设计小组等方面,为软件的可维护性设计提供了帮助,并最终开发出具有良好可维护性的交换机软件。但是由于初次实施这方面的工作,大家思想上认识不够,许多操作不习惯,并且单位里不具备专用的测试软件和其它CASE工具,在一定程度上制约了软件可维护性的实施。

正文

经过一系列的需求分析、设计、编码和测试之后,软件正式交付用户使用。至此,软件变进入维护期。软件维护的工作量特别大,随着时间的推移,软件维护对开发商带来的成本压力也越来越大。许多软件开发商要把70%的工作量用在维护已有的软件上,平均来说,大型软件的维护成本是开发成本的4倍左右。因此,在开发软件时,就应该考虑到可维护性问题,进行软件的可维护性设计。

2022年底,我单位开始为某集团开发综合业务 ATM交换机。该交换机支持多种业务应用,包括话音、IP数据、图像和视频等;用户可通过维护台或网管对交换机进行配置和管理;由于特殊的应用,用户对该交换机提出了很高的要求,并且提出要求产品交付使用之后,我单位要有很好的服务支持,鉴于将来要大批量生产交换机,软件的可维护性设计被提上日程。我有幸参加了该项目,并负责软件的维护性设计工作。

在以前的课题中,也曾提到过要进行软件的可维护性设计,但在真正实施过程中,还存在诸多问题,主要表现在:

  • (1)在软件开发过程中对可维护性设计考虑欠缺,导致软件设计从根本上就忽视了可维护性的重要性。
  • (2)软件设计文档不规范,内容不一致。在维护阶段出现问题,根据文档不易得到有帮助的信息,难以定位错误的类型和根源。

在本交换机软件的设计过程中,我们通过注重软件可维护性的开发过程,规范文档,使用CASE工具管理软件版本和成立软件可维护性设计小组等方面进行软件的可维护性设计,最终开发出具有良好可维护性的交换机软件。

一、注重可维护性的开发过程

在整个交换机软件的开发过程中,从软件易于理解、易于测试、易于修改的角度出发,提高软件的可维护性。

在需求分析阶段,和用户进行充分的交流和协商,对将来要改进的和可能要修改的部分进行明确。由于该交换机所涉及的业务种类广泛,并且综合了话音、IP和网管等多种技术,任何一种技术实现的功能不完善或者扩展性不好,都不会让用户满意。但是,另一方面,又考虑到用户需求和功能需求并非容易获取,所以通过和用户定期交流,举办各种形式的讨论等方式尽可能了解当前的需求和以后需要扩展的需求信息,由专人整理记录这些信息,作为以后的跟踪内容。即使在其它设计阶段对需求的临时变动,也要在这个记录中体现。

在设计阶段,交换机软件被划分为不同模块进行设计,并遵循“高内聚、低耦合”的设计原则;这些工作便于将来软件维护工作的进行。同时也已考虑到,对可能要扩展的地方,预留出充足接口。在一些模块中,如网管模块中,根据功能,尽可能使用面向对象的设计方法,以便维护时的修改和升级。

在编码阶段,我和小组成员制定了统一的编码规范,经过半天的培训,强化编码人员对注释的使用,并强调要保证注释的质量,对有可能出现误解的地方,注释的要详细。并且,每个文件都要注明编写者,生产日期和版本号。

在测试阶段,测试组成员已经负责进行测试,我们小组这时的工作是根据测试报告,对照测试大纲和用例设计,对当前的测试进行总结,比如,何种测试用例发现何种错误,最常见的错误,如何从测试结果判断是哪种错误,该错误所在的模块是什么。在相关人员修改错误时,记录排错时的思路和过程。特别是,根据这些总结,我们编写了“ATM交换机软件故障解析”,这篇总结在后来的维护阶段被证明是最受欢迎的文档之一。

在维护阶段,制定严格的管理要求。每一次维护工作之后,都要按照配置关联,同步更新维护有关的系统文档和用户文档,包括维护需求、源代码、注释、设计文档、测试文档和用户使用手册等,保证系统的一致性。维护中所进行的修改要专人记录,生成“ATM交换机维护更新”文档,做为内部文件存档。同时把一些内容扩充到“ATM交换机软件故障解析”中。在用户使用时,做好用户的培训工作,初期由专人和用户一起操作交换机,直到能熟练操作,以免用户使用交换机时产生不满。

二、规范文档

交换机交付用户使用之后,除了在培训时所了解的内容之外,为了让用户对交换机软件能够更好的理解和使用,向用户提供了多种随机文档,包括功能说明,安装文档,用户使用手册,参考手册,管理员指南等。在文档的编写过程之前,我们编写了“ATM交换机软件文档编写规范”,对文档格式和一些必要内容进行了规范,保证各文档的风格一致,内容一致。对于一些用户使用中容易出错的地方,比如配置某种功能时,在用户使用手册示例说明。在具体编写文档时,根据设计人员的反馈信息,也及时调整了文档编写规范。
在设计开发过程中,对某个问题进行修改,或者功能增删,要充分考虑到问题所涉及的不同文档,保证前后文档在该问题的一致性。对于所修改的部分,要填写“更改单”,需要写明更改人,更改理由,更改所影响的程序和文档,更改日期,批准人。采用CASE工具在这一方面也起到了事半功倍的作用。

三、使用CASE工具管理软件版本

在软件的设计编码过程中,尤其是在调试阶段,会不断的生成新的程序版本。为了有效的管理版本问题,采用Ration公司的ClearCase工具,由专人负责进行管理,从而保证软件版本的一致性。

四、成立软件可维护性设计小组

为了有效的对软件可维护性设计进行管理,成立了软件可维护性设计小组。我担任小组组长,明确了维护性设计的工作内容和各人的责任,针对不同的模块,又确定四个责任人。在运作过程中,组长对软件开发阶段所需进行的工作进行协调,各负责人对维护性设计所涉及的变动控制进行维护。
因为交换机软件的各个模块开发时间有穿插,因此,对开发过程中出现的一些问题,包括技术方面和管理方面的问题,我们都及时进行了记录,对后面开发的软件模块进行指导,避免了同样问题的再次发生。现在这份文档已经成为单位新课题启动时的“必修”文档。

按照上面的思路,经过两年多的工作,我们已完成了交换机软件的开发,新的软件运行良好,交付用户后,用户很满意,受到了业务部门和技术部门高层的赞许。尤其是我们所总结的“ATM交换机软件故障解析”和“ATM交换机软件文档编写规范”等文档,对单位其它课题也起到了很好的指导和规范作用。并且,在提高软件可维护性的同时,也提高了软件产品的质量,我自己的开发管理水平也得到了很大的提升。单位的高层领导对我们制定的规范和做法也表示认可,正式在其它课题中推广。

总结

然而,由于初次在整个软件开发过程中进行可维护性设计,还有许多要改进的地方。许多情况下,现有的可维护性设计措施理论性太强,具体实施时可参考的依据少,比如我们测试小组如何更好的与各课题开发组间进行协调工作,感觉还是有不尽人意的地方。在测试阶段,单位条件所限,没有采用专业的测试软件进行测试,主要靠人工根据经验生成测试用例,测试力度不够,隐含的问题较多,这也不利于今后的维护工作。

软件可维护性设计是一个长期的工作过程,我希望今后能够不断的充实自己在这方面的知识,提供整体能力,为单位软件可维护性设计方面提供新的、好的思路。

  • 17
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据知道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值