综合电子设备管理系统的可维护性设计

上传人:s9****2 文档编号:475173998 上传时间:2023-01-04 格式:DOCX 页数:6 大小:11.65KB
返回 下载 相关 举报
综合电子设备管理系统的可维护性设计_第1页
第1页 / 共6页
综合电子设备管理系统的可维护性设计_第2页
第2页 / 共6页
综合电子设备管理系统的可维护性设计_第3页
第3页 / 共6页
综合电子设备管理系统的可维护性设计_第4页
第4页 / 共6页
综合电子设备管理系统的可维护性设计_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《综合电子设备管理系统的可维护性设计》由会员分享,可在线阅读,更多相关《综合电子设备管理系统的可维护性设计(6页珍藏版)》请在金锄头文库上搜索。

1、综合电子设备管理系统的可维护性设计摘要:综合电子设备管理系统是我单位自主研发的基于.net 平台的分布式应用程序,系统一期建设已经完成,其二期建设的主 要内容是“数据安全访问”的问题,目标是建立数据统一访问接口 及其使用规范,约束和审计数据应用访问数据库的行为,对数据应 用提供强制审计的技术手段,结合作者实践,讨论从注重可维护性 的开发过程和注重软件管理两方面提高系统的可维护性,最后分析 采用方法的效果。关键词:可维护性;模块化;可测试性0引言随着软件大型化,复杂化的发展,软件维护所耗费的资源越来越 多,软件可维护性设计日益得到重视。我单位自行研制的综合电子 设备管理系统的一期建设已经完成,在

2、一期建设中已建成数据的统 一存储和统一分发框架。但主要存在以下问题:无法获得应用用户 对数据库的操作日志;开发人员对数据库的使用不规范,查询的结 果集过大,导致数据库的性能大幅下降;应用直接使用数据的登录 数据库,存在着一定的安全隐患。这些问题出现的原因,一是在软 件开发过程中对可维护性设计考虑欠缺,导致软件从根本上忽视了 可维护性的重要性,二是软件文档不规范,内容不一致。在维护阶 段出现问题,根据文档不易得到有帮助的信息,难以定位错误的类 型和根源。因此,系统二期建设的主要目标是注重软件可维护性的 开发过程,规范文档管理,建立数据统一访问接口及其使用规范, 约束和审计数据应用访问数据库的行为

3、,对数据应用提供强制审计 的技术手段。1注重可维护性的开发过程综合电子设备管理系统分为五个子系统,包括驱动封装 子系统1、webservice接口子系统、管理配置网站、存储子系统 (sql server2008数据库)和监控子系统(数据库网络协议分析与 连接控制)。由于系统交付后,存在较长维护期,同时系统存在升 级与扩展的情况,因此对系统的可维护性设计要求较高。1.1系统的可维护性需求系统具有较高的可维护性需求。首先,系统作为数据中心应用的 基础平台,数据中心的新建应用系统必须依赖于本系统,系统的可 靠性和性能直接影响到应用系统的正常运行,系统具有较长的生命 周期。其次,本项目中的接口子系统是

4、基于2.0实现的, 随着的升级,接口子系统也需要升级。监控子系统对sql server数据库的网络包进行解析,由于网络包格式不公开,解析时 会有遗漏,而且用户需求是当发现未能解析的数据包时,应及时添 加到监控子系统中。为了增加系统的可维护性,减少维护人员理解和修改系统的难 度,我们在系统的设计上,不仅仅关注系统的功能需求实现,而且 重视系统的可维护性需求。在系统开发过程中,从软件易于理解、 易于测试和易于修改的角度出发,提高系统的可维护性。1.2改善软件的可理解性本系统涉及的问题域有一定的复杂性,如果将整个问题域的复杂 性完全暴露给维护人员,维护人员很难理解整个系统。因此,首先, 我们将整个系

5、统分为功能独立的五个子系统;其次,在各个子系统 设计时,我们都采用了模块化的方法,即内聚性高的业务逻辑合并 封装成独立的模块;最后,重视设计文档质量,对设计文档做了内 部审核,确保文档清晰准确的描述了设计。一期系统中,各模块之间相互依赖;一个源代码包含多个相关功 能代码。在二期系统中,我们改善了子系统的设计,增强各个模块 的内聚性,降低模块之间的耦合性。首先,各个功能的相关代码处 于不同的代码目录;其次,各模块都做成了单独的静态库,总控模 块负责调度各个库,并且明确各个模块对外提供的接口,模块之间 的调用都通过接口完成。通过这种方式将系统进行清晰的划分,维护人员可通过对模块接 口的学习快速了解

6、子系统的运行流程,当需要时再对某模块进一步 分析。1.3改善软件的可测试性维护人员对代码进行修改后,必须进行测试,才能保证软件的质 量4。并且,用户对系统的可靠性要求很高。因此,在软件设计 的整个过程中,我们都考虑了测试的问题。首先,各个子系统的内部模块必须是单向依赖,对出现循环依赖 的模块,我们采用调整功能分布,抽取公共模块等方面消除循环依 赖。其次,对于接口子系统,我们需要对某些模块内部进行深入的 测试,而由于模块接口的封装性,无法直接访问内部数据;对于这 样的情况,我们在设计这样的模块时,专门提供了测试接口。最后, 开发中采用了 cppunit、nunit和junit测试框架,通过测试框

7、架 来组织测试程序。在测试阶段,我们根据测试报告,对照测试大纲和用例设计,对 当前的测试进行总结,比如,何种测试用例发现何种错误,最常见 的错误,如何从测试结果判断是哪种错误,该错误所在的模块是什 么。在相关人员修改错误时,记录排错时的思路和过程。根据这些 总结,编写了相应文档备查,事实证明,这些文档在系统维护阶段 发挥了很大作用。1.4改善软件的可扩展性监控子系统采用网络监听的方式获取数据库访问的信息,这种方 式的优点是不给业务系统增加性能负担,缺点是由于数据库协议不 公开,虽然我们进行了大量测试,但肯定仍有遗漏之处。为了当发现未能解析的数据包时,及时添加监控子系统,同时不 重新编译系统,我

8、们进行了可扩展性设计。我们采用了动态库加载 和针对接口编程的方法。监控子系统启动后,会加载指定目录下的 动态库,这些动态库都实现了规定的接口。2注重软件管理2.1规范文档系统交付使用后,除了在培训时所了解的内容之外,为了让用户 对系统更好的理解和使用,向用户提供了多种随机文档,包括功能 说明,用户使用手册,参考手册,管理员指南等。在文档编写的过 程中,我们编写了“综合电子设备管理系统编写规范”,对文档格 式和一些必要内容进行了规范,保证各文档的风格一致,内容一致。 对于一些用户使用中容易出错的地方,在用户使用手册中示例说 明。在具体编写文档时,根据设计人员的反馈信息,也及时调整了 文档编写规范

9、。在设计开发过程中,对某个问题进行修改,或者功能增删,要充 分考虑到问题所涉及的不同文档,保证前后文档在该问题的一致 性。对于所修改的部分,要填写“更改单”,写明更改人,更改理 由,更改所影响的程序和文档,更改日期,批准人。采用case工 具在这方面起到了事半功倍的作用。2.2使用case工具管理软件版本在软件的设计编码过程中,尤其在调试阶段,会不断的生成新的 程序版本。为了有效的管理版本问题,采用ration公司的clearcase 工具5,由专人负责进行管理,从而保证软件版本的一致性。3结束语在整个系统的开发过程中,采用不同的设计和措施对系统的可维 护性影响是很大的。由于在系统设计上重视可

10、维护性,软件进行模 块化设计,提供了完备的软件文档,维护人员可以较快的定位与解 决问题;回归测试集的提供使维护人员可以运行回归测试验证软件 质量;监控子系统的扩展性设计使得维护人员可以及时增加新的协 议包解析功能;这些设计在很大程度上提高了系统的可维护性。然 而,由于初次在软件开发过程中进行可维护性设计,因此,还有许 多需要改进的地方,软件可维护性设计领域还有很多知识点需要研 究,在后续的开发过程中将对此继续学习和实践,开发具有高可维 护性的软件系统。参考文献:1 soumyasch,:dotnet.svg.2009.3.28.2 james martin、carma mcclure,软件维护-问题解答m.北京:机械工业出版社,1990: 34-36.作者简介:杨薇(1975-),女,硕士,高级工程师,91550部队,研究方向: 指挥自动化;吴小欣(1976-),女,本科,高级工程师,91550部 队,研究方向:指挥控制;袁野(1982-),女,硕士,工程师,91550 部队,研究方向:指挥自动化。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号