时间:2024-05-04
宁光莹
摘要:该文主要针对需求分析提出的各个需求模块提出总体设计方案。首先确定了系统的设计目标和原则;第二部分把各个模块进行功能结构设计,详细划分出各大功能模块及其子模块;第三部分从系统架构设计的角度对设计思想进行了分析;第四部分对系统的数据库进行了设计,划分了数据库中的各个表、表中字段以及表之间的关联关系;第五部分对系统的相关类图进行了展示。
关键词:JAVA语言;业务需求管理系统
中图分类号:TP393
文献标识码:A
文章编号:1009-3044(2020)04-0043-03
基于JAVA的业务需求管理平台主要管理的是业务的需求,对于客户提出的软件需求,以需求单的形式录入系统进行管理,需求单驱动整个项目的开展。首先需求人员将需求录入系统,并和客户确认需求中不明确的地方,确定后的需求由项目经理进行需求分配,分配给各个开发人员,开发人员根据确定的需求进行概要设计,详细设计及编码,编码完成后,配置人员对程序进行控件配置,使底层数据与程序结合起来,程序开发完成,分配给测试人员进行测试,测试人员测试通过的交由验证人员进行验证,测试不通过返回给开发继续编码。验证人员验证通过后,项目可以交由客户进行验收,验收完,项目即可上线运行,至此,一个项目的需求从确定到最后的代码实现并上线运行,完整的实现流程。如图1所示即为中国移动业务需求管理的整个流程,从需求的被提出,录入系统,到最后的代码实现并上线投入使用,体现了需求的完整生命周期流程。
基于JAVA的业务需求管理平台是基于某集团业务开发的,专门管理业务需求,为了保证能够高效管理某集团业务需求,需要在每个功能模块设计时都充分考虑整体和局部的关系,遵循一定的原则进行开发,以保证结构清晰,模块之间冗余少耦合度低,灵活性高,整体结构健壮且稳定。下面从几个方面详细说明具体的设计目标和原则:
?本系统釆用B/S结构设计思想,采用Java开发语言进行开发、S2SH开发框架,通过界面展示、业务逻辑、底层数据三层架构实现业务与数据之间的高内聚、低耦合;
?釆用Oracle数据库作为底层的数据库,存储关系型数据,采用该数据库作为数据的迁移的载体;
?由于系统面向的用户群体是项目组的团队成员,需要能兼容组内工作人员的Windows操作系统的不同版本、不同的浏览器、相同的浏览器不同的版本,兼容性也是测试的重点之一;
?在需求分析阶段已提及需要考虑应用的性能,所以开发阶段在功能完善的前提下需要遵循高性能的原则进行开发,高性能包括响应速度快、节省内存、节省CPU消耗等;
?利用一些开源的计算组件,可视化组件减少开发成本,降低开发难度,保证项目开发进度。
1 基于JAVA的业务需求管理平台功能结构设计
基于JAVA的业务需求管理平台在功能设计上分为4部分,对需求进行管理,对需求展现进行管理,对系统的角色、用户、功能进行管理,对系统中发现的缺陷进行管理。其中,系统管理模块实现对角色、用户、功能进行管理,主要是管理员级别的用户对系统进行操作;需求管理模块主要实现对需求单的管理,主要由需求人员进行管理,其他团队成员可进行部分操作,主要实现需求单的录入、删除、流转、划分、导出、修改、搜索操作;需求展现模块主要将需求按类别以图表、报表的形式展示出来;缺陷管理模块主要实现缺陷的生命周期的完整跟踪。
2 基于JAVA的业务需求管理平台架构设计
针对基于JAVA的业务需求管理平台的设计,系统釆用了Struts2+Spring+Hibernate技术来实现系统的功能。
本系统釆用S2SH框架的三层结构,表示层主要是编写Action及Form来处理页面和业务的交互,通过Struts2来实现;业务逻辑层主要编写业务逻辑,Service方法接口和实现类,通过Spring来封装业务逻辑;数据持久层主要通过Dao接口和实现类和Oracle数据库进行交互,通过Hibernate来实现。
三个层级的具体功能描述如下:
?表现层:为用户提供了可视化的操作界面。用户通过客户端浏览器访问系统后,可以在系统界面上进行相关的操作,如查看更新需求单的状态,批量录入下载需求单文档,查看缺陷跟踪状态等等。
?业务逻辑层:系统的逻辑设计和功能实现都在该层完成,是系统的核心部分。该层釆用模块化思想将系统复杂的逻辑关系和整体的功能实现分隔成一个个小的模块进行设计,个模块之间做到尽可能的独立和功能的完整。本系统根据实际需求设计了系统管理、需求管理、需求展现、缺陷管理四大模块。同时,业务逻辑层作为中间层,接收下层的传输数据,为上层提供数据更新。
?数据持久层:提供底层的数据支持。该层主要用于和数据库进行交互,获取和存储需求管理系统所有的数据。
3 基于JAVA的业务需求管理平台数据库设计
由于基于JAVA的业务需求管理平台涉及的数据库表较多,下面将所有的表分为2大类,分2个E-R图展现,如图1,图2所示。
需求管理系统中涉及的数据库关系表如图1所示,需求单数据信息表是整个系统的核心表,存储了一个需求的基本信息,包括开发人员、配置人员、测试人员、测试验证人员、提交时间、备注、验收结果、需求单号、操作人员、操作时间、操作流水等数据。需求单数据信息历史表与需求单数据信息表的结构完全一致,是其备份表。需求单中的附件信息保存在文件上传路径表里,该表的备份表为文件上传路径历史表。系统中的所有操作信息都会被操作日志表记录下来。
对于权限模块的数据库设计如图2所示。
需求管理系统中涉及的权限表如图2所示,角色信息表存储了角色编号、角色名称、角色描述、创建时间,系统功能表存储了系统的功能编号、页面编号、页面名称、功能名称、功能描述、所属项目编号、状态、入库时间。角色功能关系表,存储了角色与功能的对应关系。用户信息表存儲了用户编号、创建时间、创建人编号、用户名、用户名中文、密码、状态、用户级别。用户角色关系表存储了用户编号和角色编号的对应关系。工作环节与需求单状态对应关系表存储了角色编号、角色名、工作环节、工作环节中文名、状态、可流转需求单状态。操作日志表记录了操作的表名、表名的中文名、操作人编号、操作类型、操作人、操作时间、旧操作流水、新操作流水、操作类型描述、操作描述。
4 基于JAVA的业务需求管理平台详细设计
通过类图来概述功能模块中涉及的类与类中的属性和方法,同时类图也表达了各个类之间的关系。除了用类图建模之外,对一些流程复杂的模块增加了流程图表达,可以更进一步地把数据流动路径直观化,釆用UML建模语言来描述软件包和构件的结构,理清软件结构中各个部分的内容及其交互关系,基于松散耦合的原则,实现系统的扩展、更新和维护,为软件实现提供依据。如图3展示了系统的包图及其依赖关系。
如图3所示,可以看岀该系统由几个重要的包组成,分别由实体包、控制包、界面包组成。这些包包含了若干子包,通过相互依赖与服务,保证系统的正常运转。其中实体包包括了需求单实体包、代码申请单实体、用户实体包,这三个包包含了系统重要的实体类。控制包则包含了需求单管理包、代码申请单管理包、用户系统角色管理包,界面包则包含了这三部分重要的专门设计的界面,除了这三类包外,系统还依赖了外部的包提供的服务,如:uploadify-v3.1包提供了需求管理模块中上传附件所需要的界面及底层的支撑类。这些包共同完成整个软件的功能,下面是对部分重要包中的内容的详细介绍。
界面包包含了软件所需的与用户进行交互的GUI,提供了用户功能的用户接口,需求单管理界面,代码申请单界面,用户、角色与系统功能的配置关系等人机界面的设计。控制包图包含了需求单业务相关的类、代码申请单流程管理的类、用户权限处理类等。
实体包则包含了对需求单数据类、代码申请类、附件类、用户类、角色类、功能类等基本类。
以需求管理模块为例,需求管理模块主要对于所有被管理项目的需求进行了类的设计,主要包括对这些需求数据、系统功能、操作日志、代码申请单、上传附件等涉及的数据进行封装,提供了从业务数据到数据库中对象模型的映射依据,及对这些数据的操作的类进行封装,对外提供统一调用的接口。如图4所示,为需求管理模块的静态类图。
需求管理模块主要有SheetManageAction、SheetManageSer-vice及BaseHibernateDaoSupport三个框架类组成,其中SheetManageAction中的onloadNmRequireSheet方法主要实现需求单页面的初始化加载,onloadNmRequireSheet方法主要实现系统代码申请单的初始化加载JistToList主要实现将数据从一种格式类型转化成另一种类型,changeTimeRequire主要用实现修改需求单的时间。SheetManageService中的queryNmRequireSheet主要实现对需求单的查询,而需求单的统计功能由countNmRe-quireSheet类实现,而另外几个方法主要实现对项目的版本发布进行管理。而BaseHibernateDaoSupport由Dao聚合而成,Nm-funcAll系统功能类、NmRequireSheet需求单类.NmOperlog操作日志类.NmDownloadFile±传下载文件类、NmCodeSheet代码申请单类这几个类继承了Dao类。
5 結论
本文所设计的系统,是针对某集团业务需求量大、需求管理复杂、需求变更频繁等问题引起的开发测试过程中需求更新不完整、不及时而导致项目进展,开发的一种高效便捷的需求管理系统。该系统可以方便地完成需求单的录入与管理,不同权限用户对不同类别需求单的查看和状态的更新、需求单的流转、需求单统计展示等需求的管理。同时,为了满足公司应用的业务需求,系统在开发过程中,对用户权限、角色管理、模块控制等进行了详细的分析设计。系统在技术设计方案上,由于釆用的是B/S架构,使用纯Java语言,因此在开发架构上使用最为流行的S2SH技术框架。在数据存储技术上使用了Oracle数据库,由于庞大的数据对数据库的读写操作,釆用了中间表技术来提交数据库访问速度,改善系统性能。同时,数据可视化展示使用了echarts图表,系统前后台数据的实时交互,图表数据的动态加载,釆用了Ajax技术来实现。
参考文献:
[1] 赵芳芳.应急广播网络管理系统的实现[D].北京:北京邮电大学,2011.
[2] 华佳林,谢国强,廖雁.软件需求管理重要性浅析[J].科教文汇,2008(31):237.
[3] 邓康宏.项目成本管理的研究[D].上海:上海交通大学,2009.
[4] Farbey B.Software quality metrics:considerations about requirements and requirement specifications [J].Information and Software Technology,1990,32⑴:60-64.
[5] 尤澜涛.基于JavaEE平台的信息发布系统的设计与实现[J].科技信息,2011(35):125-126.
[6] 缪晨辉.面向IT新产品开发的需求管理研究与实践[D].上海:上海交通大学,2008.
[7] 罗俊伟.软件需求管理工具的研究与实现[D].北京:中国科学院研究生院:软件研究所,2003.
[8] 张哲斌.普通高中新课改管理系统的设计与实现[D].成都:电子科技大学,2015.
[通联编辑:唐一东]
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!