2020年(产品管理)软件复用技术在产品开发中的实践_

上传人:精****库 文档编号:136374052 上传时间:2020-06-28 格式:DOC 页数:8 大小:34.88KB
返回 下载 相关 举报
2020年(产品管理)软件复用技术在产品开发中的实践__第1页
第1页 / 共8页
2020年(产品管理)软件复用技术在产品开发中的实践__第2页
第2页 / 共8页
2020年(产品管理)软件复用技术在产品开发中的实践__第3页
第3页 / 共8页
2020年(产品管理)软件复用技术在产品开发中的实践__第4页
第4页 / 共8页
2020年(产品管理)软件复用技术在产品开发中的实践__第5页
第5页 / 共8页
点击查看更多>>
资源描述

《2020年(产品管理)软件复用技术在产品开发中的实践_》由会员分享,可在线阅读,更多相关《2020年(产品管理)软件复用技术在产品开发中的实践_(8页珍藏版)》请在金锄头文库上搜索。

1、软件复用技术在产品开发中的实践关键词:电子政务、软件复用、领域架构、层次架构、可复用组织 内容来自岁月联盟 随着技术的发展普及,电子化公文管理成为政府机关的一个战略性课题。为了进一步推动政府信息化的建设,必须进一步研究和开发适应新时代的基于Internet和Intranet的公文管理系统,以提高机关公文办理效率,提升政府绩效。正是在这一市场机遇下,我们研究开发了公文管理系统产品DocMan公文管理系统(以下简称:DocMan)并取得了良好的市场效果。 SDocMan公文管理系统是面向政府机关的公文处理系统,是电子政务的主要组成部;因此,DocMan和其他电子政务子系统一样存在跨、分布、异构以及

2、对原有进行整合的问题。为了面对各类机关的应用需要,DocMan公文管理系统,采用了多层B/S架构(客户端浏览器层、层、应用服务器层、数据库层)、并采用了及EJB技术实现系统的分布异构及跨平台。为了满足各类机关的需要,DocMan对流行(Win32系列,系列,linux系列)、Web服务器(Tomcat4.0, WebSphere4.0,BEA WebLogic 5.0)以及数据库管理系统( ,SQL Server , Sybase,Infomix,DB2等)都给予支持。在考虑大型机关应用时,我们选用了代理服务器、多并行Web服务器及多应用服务器技术实现系统的负载均衡和流量管理。由于当前数据库的

3、应用不够成熟,DocMan采用了集中式数据库技术实现机关数据的。 (S)现就我们在开发DocMan产品时遇到的有关软件复用方面的问题、解决方法以及实现策略介绍如下。 SYUE.COM 一、需求重用 岁月联盟提供1 企业产品领域的定位 www.S 随着政府上网工程的推进,电子政府与电子政务正逐步走向成熟;并给软件行业带来了新的业务领域,而我们所开发的公文管理系统只是电子政务的一小部分;因此我们公司将业务定位于电子政务行业。电子政务需要的软件产品众多,而公文管理系统可以看作是政府办公自动化软件的一个子系统,在公文管理系统开发完成后,我们将进一步开发政府办公所需的其他软件子系统,逐步为政府行业的应用

4、提供全套的解决方案。 内容来自岁月联盟2 领域工程核心的识别与抽取 岁月联盟提供 在产品领域定位的指导下,我们经过深入的分析调研,发现所有的事务型系统都有一个共同的特征:工作流程。在ISO9000中也规定任何组织的事务处理必须有,规范的工作流程。(在ISO9000中为了实现ISO9000规定的20个质量要素,必须制定相应的体系文件。这个体系文件分为3层:第一层质量手册,制定组织的质量方针、目标;第二层工作程序,制定为了实现质量目标所定义的工作程序即工作流程;第三层表单,制定了在工作程序运行过程所用的表单。)在系统分析时,可以将这些业务工作流程抽象出来,如公文管理中的收文流程、发文流程、归档流程

5、、稽催流程、档案管理流程等;另在非公文管理的其他的业务中也可以抽取流程如:车辆管理业务流程、室管理流程、请假加班流程等等。因此,我们可以建立一个工作流平台,使所有的业务流程只要在工作流平台中进行定义就可以运作。从而实现零代码编写的理想目标。 资源来自岁月联盟3 产品非业务性需求分析 www.S 一般的应用软件产品除了完成业务所需要的功能外,还必须有一些支持模块,以支持系统的正常运行。这些模块通常包括:组织管理模块和系统支持模块。组织管理是机关业务得以正常运作的基础,这对于每一个电子政务领域内的应用系统来说都是必不可少的。通常系统支持模块是为了软件系统的正常运作所提供的必不可少的功能,如系统权限

6、管理、日志管理、数据库备份/恢复功能等都属于此类。所有的这些都可以作为我司系列软件产品的公共模块加以复用。 来源岁月联盟4 产品界面风格 岁月联盟提供对于企业来说,保持系列产品在风格上的一致性是非常重要的。它不但可以减少系列产品的费用,减少系列产品的维护、费用;而且还可以在软件开发时进行界面风格复用,减少软件开发费用。因此在企业进行系列产品的开发时保证产品在风格上的一致性、操作方式上的一致性是至关重要的。 本文来自岁月联盟二、设计重用 内容来自岁月联盟 1 领域架构的设计 岁月联盟在产品开发之初,我们识别了所有的业务流程都可以运行于工作流平台之上。因此,我们在产品设计时,采用了以工作流平台为核

7、心的领域软件产品设计架构。如图1所示。 www.S该工作流平台除了向产品最终用户提供流程自定义工具,使用户无需编程就可以自定义出所需要的工作业务流程,并可对流程流转过程进行实时监控;之外,还向软件开发人员提供了快速应用开发工具以及API接口,使开发人员只要调用该工作流平台API就可以实现复杂流程业务程序。 岁月联盟提供 2 层次架构的设计 资源来自岁月联盟 在选好系统领域框架和统一开发方针后, 系统构件的开发就应充分利用已有框架所提供的服务和工具;并力求实现大粒度构件重用。通过系统构件的分层,将频繁变动得业务逻辑层分离出来,实现通用类构件的完全复用。并且在各个模块之间设计统一的接口,当某一模块

8、业务逻辑改变时,使系统之间的影响最小,使系统实现即插即用,让系统容易升级。为此将我们将产品的系统构件模型定义为四个层次:1)系统构件层、2)通用模块构件层、3)业务构件层、4)表现层。如图2所示。 岁月联盟www.S图1 领域构架 www.S本文来自岁月联盟 图2 层次构架 (S)(1)系统构件层,指系统开发平台本身所提供的类库包括 JDK类库等。 信息来源岁月联盟(2)通用类构件层,是我们产品复用的核心。它不但能实现产品的纵向复用,而且还可以实现系列产品的横向复用。在这一层主要包含了工作流平台核心模块、组织管理模块、系统管理模块(包括:权限管理、存取控制、日志管理、数据备份/恢复等等)、页面

9、风格函数以及的CSS、JS等、字符串处理、数据库连接、日期处理等等与业务逻辑无关的类函数。 信息来源岁月联盟 (3)业务构件层,指为了满足各个不同业务的需要而设计的软件包,并在业务软件包中设置明确的接口,方便业务之间的交互,并可以实现系列产品之间的大粒度构件复用。 资源来自岁月联盟 (4)表现层。主要采用JSP、Serverlet页面来展现业务流程界面。在该层JSP只调用JavaBean业务逻辑接口方法实现业务逻辑的处理,而不涉及任何业务逻辑,在系统中取到用户与系统交互的作用。 信息来源岁月联盟3 面向对象的设计 岁月联盟在系统开发时,我们采用了面向对象的技术。通过面向对象的方法、消息、类、继

10、承、封装、多态和实例等机制构造软件系统,并为软件复用提供强有力的支持。 信息来源岁月联盟(1)模块化设计 在设计时我们采用了面向对象的包机制实现对业务流程的模块划分,如公文管理系统的发文流程、收文流程。在模块之间通过定义明确的消息机制与方法接口实现模块之间的交互。另外,在模块划分时,我们还注意到了底层模块的抽取,尽量将用户会话接口包与业务实体包相分离;如在工作流平台设计时我们从中抽取了与用户接口无关的工作流元模型包和工作流引擎包,他们可以向其他包提供调用接口方法,实现尽可能的大粒度重用。 信息来自岁月联盟(2)类设计 在类设计时,我们采用了类的封装、继承、多态等机制实现类设计复用。在类中实现了

11、所有的处理逻辑,这些类中一般都可以提供新增、删除、修改、查询四大类操作,并尽可能的提供处理逻辑所需要的方法接口,实现一次编写处处运行的理想目标。采用继承和多态机制后子类的实现可以继承父类的各个属性与操作,从而避免了相似功能的重复编码,提高了程序的可维护性,简洁性、可读性。 S三、代码重用 岁月联盟 在采用上述可复用的分析、设计方法后,系统的实现将变得相对的容易。在各代码段的实现时,只需要调用明确的接口,就可以实现处理功能,降低了算法的复杂度,大大提高了编码的效率及程序的可维护性。在编码时,我们主要采用了JavaBean和JSP技术实现了业务实体逻辑和用户系统操作接口。在JavaBean中充分采

12、用了Java的优秀的面向对象机制,实现了业务实体类的处理逻辑,并尽可能的达到了JavaBean方法的一次编写处处运行的目标。在编写JSP时,我们完全引用了业务逻辑层的JavaBean,从而使JSP的页面编写变得简单,并实现了业务逻辑的封闭性,提高了JSP程序代码的性。 本文来自岁月联盟 另外,在编码过程中的一个重要复用是算法的复用。由于在类设计时基本上每一个类都提供了相似的功能,如新增、删除、修改、查询,而这些操作的算法基本上是一致的,差别只在于SQL语句的差别;所以在设计编码时,可以先设计一个基类提供这些功能,在其他类实现时可以继承基类并重载或应用这些方法,实现算法的重用。 来源岁月联盟 四

13、、复用的组织结构 本文来自岁月联盟在软件复用的过程中,仅仅有软件复用方法是不够的,还必须有复用的开发组织结构可以支持。因此,我们在产品开发过程中建立了复用的组织架构。一般的复用的组织架构主要由三组成员组成:复用构件创建组、构件应用组和协调组。复用构件创建组,主要收集归纳并创建可以复用的构件提供给构件应用组使用;构件应用组主要进行业务逻辑的设计与实现,在开发过程中使用构件创建组提供的可复用构件进行业务逻辑的快速实现,并帮助构件创建者归纳,收集可复用构件;协调组主要在构建创建组和构件复用组织间起协调的作用,起到构件的分发推广的作用,在项目较小时可以由或系统分析员充当。 (S)其实在软件复用过程当中

14、,不仅仅通用构件层提供的类函数可以复用,在业务层模块之间也可相互引用。但是在引用时,也应该尽量避免模块之间的交互,提高模块的内剧性、降低模块间的耦合性。在模块之间的引用协调也由协调组完成。 资源来自岁月联盟五、软件部件库 WWW.SYUE.COM在软件复用过程当中,我们建立了软件部件库以进行可复用构件的推广使用。在构件创建完成后,创建者将该构件存放于产品项目工程中提供应用组使用;并用JBuilder生成JavaDoc文档存放于Visual SourceSafe部件文档库中以便应用时查询,同时通知每一个开发成员。 信息来自岁月联盟 当应用组成员需要调用通用构件或其他模块的方法或函数时,直接应用即

15、可;如果在软件部件库中没有他需要的方法或函数,则可询问协调者,由协调者解决该问题。协调者可以通知创建者进行创建提供或用其他方式解决。 岁月联盟提供六、结论与不足 信息来自岁月联盟在公文管理系统及电子政务产品开发过程中,我们主要采用了以上方法进行软件的复用开发。实现了产品领域横向的复用和产品开发过程中的纵向层次架构的复用;并在软件开发过程中采用全程(从需求分析到编码实现)复用的策略进行软件开发,从而大大提高了软件产品的可复用性,提高了软件开发的生产率,并为后继产品的开发提供了良好的可复用基础。但在开发过程中也存在一些不足,有待于我们进一步改善。如: 内容来自岁月联盟(1)系统分析设计的力度不够。由于在系统开发过程中系统分析设计人力不足,在项目紧任务重的情况下,没有对分析设计文档审核就开始编码实现。因此对分析设计过程中存在的错误没有进行及时改正。另外,对模块包的划分也没有仔细的考虑、验证,对某些类的设计也不够合理。 (Syue.c

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

当前位置:首页 > 商业/管理/HR > 企业文档

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