APP下载

基于Web 的科技管理系统的设计与实现

2022-08-19安海超

信息记录材料 2022年6期
关键词:管理系统逻辑数据库

安海超

(中铁第五勘察设计院集团有限公司 北京 102600)

0 引言

随着科技的发展,科技数据信息量越来越大,科技成果的数量越来越多,大多数传统企业对科技数据及科研成果的管理依然采用电子表格手工录入来完成,导致员工对科技数据资料的获取渠道相对闭塞,科技管理部门的管理工作愈加繁重。依托信息系统能够实现对科技数据及科研成果的整体管理,是实现科技业务高效、精细化管理的必然趋势[1]。信息化是科技管理科学化的重要保障,各行各业都非常重视利用信息系统支撑科技数据及科研成果的管理[2]。目前,国外许多机构为了加强科技管理,展示科技成果,促进信息共享,大多都建设了自己的科技管理信息系统[3],而国内使用科技管理系统的机构主要分布在政府部门以及高校之间,这也使得建立企业内部科技管理系统的高需求逐渐显现出来。本文将从技术基础、系统部署架构设计、系统逻辑结构设计、系统功能设计以及数据库逻辑模型设计等方面对科技管理系统的设计与实现进行分析。

1 系统设计

1.1 系统部署架构设计

本系统采用B/S 架构,即浏览器/服务器模式。客户端采用网络连接的HTTP 协议访问Web 服务器并对数据库进行读写操作,连接采用TCP/IP 协议,保证了数据传输的准确性和安全性。系统部署架构图见图1。

客户端的浏览器针对前端代码的解析具有统一标准规范,且支持CSS3 样式及HTML5 新规范,在对用户体验度的提高方面起到了积极作用。而每次系统升级更新之后,在客户端的浏览器则能够及时展示系统的最新功能,从根本上规避了软件版本间的不同可能带来的问题。为提高服务器安全性,抵抗网络攻击行为,在网络防火墙进行安全策略配置,只有安全策略允许范围内的请求和端口能够顺利通过防火墙,提高内部网络的安全性,保护网络免受基于路由的攻击。

1.2 系统逻辑结构设计

本科技管理系统是基于B/S 模式,在设计开发过程中采用多层体系结构设计,将整个系统平台分为控制层、业务逻辑层、视图表现层、数据访问层[4]。采用成熟的MVC设计模式,在具有更加清晰明了的角色划分基础上,能够提供强大而直接的配置方式以及灵活的数据验证、格式化和数据绑定机制。模型与控制器和视图相离,当业务逻辑需要修改时,可以快速修改而不影响界面[5]。

视图表现层在MVC 设计模式中将界面与业务流程处理相分离,视图负责界面数据和用户请求,业务处理流程交给模型层,并从模型层获取数据显示给用户。

业务逻辑层是MVC 设计模式的核心,封装了软件项目的业务流程。模型从视图中获取用户请求或数据,并将处理结果返回给视图,业务流程相对其他模块是处于封装,仅提供接口进行访问,保证了模块之间的独立,使软件易于维护。当界面进行修改后,不会影响后台的业务逻辑和流程,当业务流程需要变更时,前台界面无需修改,也可以正常使用。

数据访问层的主要任务是与科技管理系统数据库交互,针对数据库中数据的增添、删除、修改、查找等,具体为业务逻辑层或表示层提供数据服务。将数据访问层单独划分开来,可在开发过程中只关注整个结构中的其中某一层,并且能够降低层与层之间的依赖,有利于开发过程的标准化,利于各层逻辑功能的复用。系统总体架构图见图2。

1.3 系统包结构设计

通过对科技管理系统的部署架构和逻辑结构的分析与设计,整理出系统整体实现的包结构,见图3。

控制层Controller 包,包含了科技管理管理系统中所有的控制器,如登录控制器、项目控制器、任务控制器等,主要负责接收表现层传来的访问请求,并对不同的请求作出相应的处理。或根据不同的业务逻辑,向表现层发送不同的展示指令。Service 包对科技管理系统中所涉及的所有类和接口进行封装,统一管理。Repository 包具体实现了Service包中所有已定义的方法,方便用户或其他系统调用接口,提供数据访问和持久化操作。Dao 包直接与数据库交互,其中定义了各种操作数据库的方法,将由Service 的实现类调用这些方面进行数据库的增、删、改、查等操作。Entity包中有着所有根据对系统的分析整理,结合面向对象设计方法论所归纳的实体类,且这些实体类与物理数据库通过Hibernate 技术实现对象与数据库之间的映射关系。utile 包中涵盖了系统设计过程中所需的工具类,如字符串工具类、日期工具类等。Constants 包中涵盖了所有的静态属性,这些静态属性能够被全局调用,在对固定参数的设置方面,使用静态属性排除了参数值不一致的情况。Exception 包中封装了系统运行过程中可能出现的各种异常信息,并对每个异常信息进行了友好提示定义。在系统的开发过程中可专注于业务,对于异常处理则完全交给Exception 包操作。

1.4 系统的功能设计

本科技管理系统架构,采用浏览器/服务器(B/S)模式,支持多种身份用户同时处理任务,可对系统中的管理办法、科技成果、企业标准等资料的上传、审批、导入流程进行完整的控制,用户可通过本系统完成对相应资料的查阅、下载等操作。系统管理员可根据模块类型、部门等信息,对资料的浏览量及下载量进行统计,为企业管理者掌握科技管理系统的使用情况,并以此判断企业内部对科技研发的积极性以及科研方向提供重要依据。本系统主要由系统管理、管理办法、科研园地、企业标准、统计数据5 大模块组成,本系统功能架构见图4。

1.5 数据库逻辑模型设计

数据库逻辑结构设计的目标是将数据库概念模型转换成数据库管理系统支持的数据模型,即将概念设计中的E-R 图,抽象成关系模型,在满足第三范式的基础上,对数据模型进行优化。本科技管理系统的数据库逻辑模型涉及了多张表,包括用户表、部门表、角色表、菜单表、项目表,共同完成对系统、项目以及作业流程的管理功能。系统数据库逻辑模型见图5。

1.6 数据库物理模型设计

数据库物理模型提供了系统设计所需要的基础元素以及相关元素之间的关系,用于存储结构的更高层描述。本科技管理系统中,User 类代表系统用户,当用户登录本系统时,需要通过本类与对应的数据库表进行验证。表1描述了User 类的详细结构。

表1 用户表

2 系统详细设计

系统详细设计阶段,将根据总体设计过程所取得的成果逐项细化。由于本系统包含较多的功能模块,所以此处将对系统中具有代表性的用户管理模块进行介绍,进而阐述并说明本科技管理系统详细设计阶段的工作内容。

用户管理模块用于管理系统中所有用户信息,系统管理员通过该模块实现对用户的新增、修改、删除等功能。PersonEntity 为用户实体类,对应数据库中用户表的字段信息,PersonService 作为Service 层的接口,其中定义了若干方法,PersonServiceImpl 作为PersonService 的实现类,其中实现了PersonService 中已定义的所有方法,并包含了程序运行过程所需的私有方法。用户管理模块设计的类图见图6。

系统管理员录入用户信息并向系统服务端发送用户信息管理请求后,由PersosnController 类首先执行check()方法校验用户信息数据的合法性,通过校验后将执行savePerson()方法调用其Service 层接口并与Dao层交互,实现人员信息的管理,最终将处理结果返回给系统管理员。用户信息管理时序图见图7。

3 系统实现

在对科技管理系统完成逻辑、功能和数据库设计后,将以此为基础进行系统的实现阶段。系统实现即在设计阶段中所形成的各设计模型基础上,结合代码编写,最终完成科技管理系统实现工作。由于系统拥有着较多的功能模块,所以此处将对系统中具有代表性的科研园地模块进行介绍。

系统管理员在对科研成果进行新增内容时,将执行MVC 控制层中的add 方法,进入科研成果新增页面,见图8。

系统将根据当前的系统管理员操作类型及所属模块,判断所提交的数据是否为空数据并对数据合法性进行校验,通过校验后方允许保存至数据库中。数据保存方法的部分代码如下:

ResultShowEntity en = new ResultShowEntity();

BeanUtils.copyProperties(eto, en);

if StringUtils.isEmpty(eto.getTypeCode() {

en.setType(dictService.getDict(DictService.TECHCENTER_RESULT_SHOW_TYPE,eto.getTypeCode();

}

save(en);

基于角色的权限控制,可根据当前用户的身份,验证其是否有系统管理权限,并为其展示出相应的页面。本系统的系统管理员可进入后台管理各模块,包括数据的新增、修改以及删除,科研成果列表页面见图9。

4 结语

通过科技管理系统,可实现企业内部对科技数据及科研成果的有效管理,简化科技管理人员的工作流程,从而提高科技管理工作的效率。

为更好地契合科技管理工作的要求,还需要深度结合业务需求,剖析业务流程及管理机制,科学合理地进行系统优化、升级,为科技管理人员提供一套学习成本低且高效便捷的信息系统。基于此,本文通过技术经验的总结,为后续相关管理平台的建设及应用提供参考借鉴。

猜你喜欢

管理系统逻辑数据库
基于大数据分析的智慧高速运营管理系统
基于大数据分析的智慧高速运营管理系统
刑事印证证明准确达成的逻辑反思
基于James的院内邮件管理系统的实现
逻辑
创新的逻辑
在线评审管理系统的建设与实践
女人买买买的神逻辑
数据库
数据库