扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
摘要:
关键词:
随着信息化
现就我们在开发DocMan产品时遇到的有关软件复用方面的问题、解决方法以及实现策略介绍如下。
一、需求重用
1 企业产品领域的定位
随着政府上网工程的推进,电子政府与电子政务正逐步走向成熟;并给软件行业带来了新的业务领域,而我们所开发的公文管理系统只是电子政务的一小部分;因此我们公司将业务定位于电子政务行业。电子政务需要的软件产品众多,而公文管理系统可以看作是政府办公自动化软件的一个子系统,在公文管理系统开发完成后,我们将进一步开发政府办公所需的其他软件子系统,逐步为政府行业的应用提供全套的解决方案。
2 领域工程核心的识别与抽取
3 产品非业务性需求分析
一般的应用软件产品除了完成业务所需要的功能外,还必须有一些支持模块,以支持系统的正常运行。这些模块通常包括:组织管理模块和系统支持模块。组织管理是机关业务得以正常运作的基础,这对于每一个电子政务领域内的应用系统来说都是必不可少的。通常系统支持模块是为了软件系统的正常运作所提供的必不可少的功能,如系统权限管理、日志管理、数据库备份/恢复功能等都属于此类。所有的这些都可以作为我司系列软件产品的公共模块加以复用。
4 产品界面风格
对于企业来说,保持系列产品在风格上的一致性是非常重要的。它不但可以减少系列产品的广告费用,减少系列产品的维护、培训费用;而且还可以在软件开发时进行界面风格复用,减少软件开发费用。因此在企业进行系列产品的开发时保证产品在风格上的一致性、操作方式上的一致性是至关重要的。
1 领域架构的设计
在产品开发之初,我们识别了所有的业务流程都可以运行于工作流平台之上。因此,我们在产品设计时,采用了以工作流平台为核心的领域软件产品设计架构。如图1所示。
该工作流平台除了向产品最终用户提供流程自定义工具,使用户无需编程就可以自定义出所需要的工作业务流程,并可对流程流转过程进行实时监控;之外,还向软件开发人员提供了快速应用开发工具以及API接口,使开发人员只要调用该工作流平台API就可以实现复杂流程业务程序。
2 层次架构的设计
在选好系统领域框架和统一开发方针后, 系统构件的开发就应充分利用已有框架所提供的服务和工具;并力求实现大粒度构件重用。通过系统构件的分层,将频繁变动得业务逻辑层分离出来,实现通用类构件的完全复用。并且在各个模块之间设计统一的接口,当某一模块业务逻辑改变时,使系统之间的影响最小,使系统实现即插即用,让系统容易升级。为此将我们将产品的系统构件模型定义为四个层次:1)系统构件层、2)通用模块构件层、3)业务构件层、4)表现层。如图2所示。
图1 领域构架
图2 层次构架
(1)系统构件层,指系统开发平台本身所提供的类库包括Java JDK类库等。
(2)通用类构件层,是我们产品复用的核心。它不但能实现产品的纵向复用,而且还可以实现系列产品的横向复用。在这一层主要包含了工作流平台核心模块、组织管理模块、系统管理模块(包括:权限管理、存取控制、日志管理、数据备份/恢复等等)、页面风格函数以及JSP的CSS、JS等、字符串处理、数据库连接、日期处理等等与业务逻辑无关的类函数。
(3)业务构件层,指为了满足各个不同业务的需要而设计的软件包,并在业务软件包中设置明确的接口,方便业务之间的交互,并可以实现系列产品之间的大粒度构件复用。
(4)表现层。主要采用JSP、Serverlet页面来展现业务流程界面。在该层JSP只调用JavaBean业务逻辑接口方法实现业务逻辑的处理,而不涉及任何业务逻辑,在系统中取到用户与系统交互的作用。
3 面向对象的设计
在系统开发时,我们采用了面向对象的技术。通过面向对象的方法、消息、类、继承、封装、多态和实例等机制构造软件系统,并为软件复用提供强有力的支持。
(1)模块化设计 在设计时我们采用了面向对象的包机制实现对业务流程的模块划分,如公文管理系统的发文流程、收文流程。在模块之间通过定义明确的消息机制与方法接口实现模块之间的交互。另外,在模块划分时,我们还注意到了底层模块的抽取,尽量将用户会话接口包与业务实体包相分离;如在工作流平台设计时我们从中抽取了与用户接口无关的工作流元模型包和工作流引擎包,他们可以向其他包提供调用接口方法,实现尽可能的大粒度重用。
(2)类设计 在类设计时,我们采用了类的封装、继承、多态等机制实现类设计复用。在类中实现了所有的处理逻辑,这些类中一般都可以提供新增、删除、修改、查询四大类操作,并尽可能的提供处理逻辑所需要的方法接口,实现一次编写处处运行的理想目标。采用继承和多态机制后子类的实现可以继承父类的各个属性与操作,从而避免了相似功能的重复编码,提高了程序的可维护性,简洁性、可读性。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者