bernate框架进行数据库持久层操作实现,向上整合Struts2使用MVC设计模式控制系统的业务流程,可以清晰划分系统应用程序的层次,如图l SSH整合框架分层架构图所示。
Spring采用依赖注入思想,可以提高系统的扩展性和灵活性,并通过面向切面编程实现集中式业务处理,减少冗余的程序代码。
整合框架各层具有明确的分工,层间藕合度低,并通过Spring配置文件app“ca-tionContcxt.xml配置组件,来管理系统业务模块的调用流程p1。
万方数据 42 内蒙古工业大学学报 2012年 MVC控制器 Sp山g容嗣’.自动装配 负责用户请求与业务逻辑组件的交互 l,。
_-。
__‘。
-。
‘。
_。
‘一 分控制器 业务逻辑层(SeⅣi∞堪) 负责实现系统的业务逻辑功能 蕾控麓毒 枷∞s|Ip州组件 配置文竹 ■m xnlI №据撤作层 通过操作领域对馨来擞作持久层鼓据 ’_ _ _●o- _●_ _ _ _ 。
… 博黛对尊 囊据tit怍疆 衰现层(J卵组件) (PO,IO英) (D的层) 负责业务数据的收集.星现系统状态 il Hibe咖e(数据持久层) 关系数据库 时童.美系腆射文件 (‘■耵LxmI) I关景致据庳表||天系敦嚣埠丧l……I芙秉数据库袭 图I 、^H整合框架分层架构图 Fig.1 The layered architecture chart of SSH integration framework 3 应用实践 利用上述图l所示的SSH整合框架分层架构笔者开发了科研项目管理系统,具体阐述如下。
3.1 系统功能分析与设计 科研项目管理系统包括九大模块,系统功能模块图如图2所示。
图2系统功能模块图 Fig.2 System functional block chart 系统管理模块主要包括系统数据的备份、恢复操作以及系统开关操作。
系统开关操作通过改变用 户的系统开关字段值控制不同类别用户是否可以登录进行项目申报、项目审批等。
基础数据维护模块主要包括项目类别信息维护、学校信息维护、系统操作日志信息维护等。
个人信息管理模块主要包括系统各类用户的注册、管理员进行各类用户进行授权、用户登录等。
个 人工作模块主要包括待办事务列表维护、正在办理事务列表维护、已办事务列表维护、用户个人消息维 护,通过个人消息维护可以详细查看消息内容、删除已阅读消息、回复消息等功能。
项目申报管理模块主要包括用户填写申报信息内容保存并提交、打印申报信息、将申报信息导出 Word文档、申报项目列表维护、查看项目审批状态等。
项目管理主要包括项目评审分配、项目评审、项目管理功能。
项目评审分配指系统管理员将申报的 项目分配给不同的专家进行评审;项目评审分两种:一种是学校的初审,另一种教育厅终审,该功能包括 项目申请书下载、在线评审、评审结果提交,对于初审的项目还具有上报项目功能。
项目管理指对于最 终评审通过的项目进行全程监控,主要操作是中期检查、成果管理、项目结题等。
信息发布模块主要包括公告通知信息的发布、修改、删除、查看等。
资源上传下载模块主要文件或者表格等资料的上传、下载、删除、修改等。
万方数据 第2期 孙洪华等基于遗传算法的有能力约束车辆路径优化 43 查询统计功能在各个模块基本都有涉及,主要包括通过单一条件、多条件查询进行精确或者模糊综 合查询。
3.2数据库设计 由系统的需求分析,可以抽象出科研项目管理系统中主要的数据实体有科研项目表、项目类别表、 学科门类表、用户表、科研单位(学校)表、公告通知表、资源文件表、日志表、消息表、任务表、项目分配表 等。
根据系统功能的分析与设计,对数据实体间关系进行分析,得到如图3所示的数据模型. 图3系统数据模型图 Fig 3 System data model chart3.3领域对象设计 领域对象可以在没有设计数据库的前提下,完全从面向对象分析开始来设计持久化类。
通过面向对象分析设计的持久化类事实上和数据库中的二维表实体是一一对应的,持久化类的属性对应表实体的字段。
由于3.2已经设计了