基于SSH框架卫生科技成果申报系统的设计与实现
2018-08-13李天赐田精白
李天赐,田精白
基于SSH框架卫生科技成果申报系统的设计与实现
李天赐,田精白
(湖北工业大学计算机学院,湖北 武汉 430068)
为了提高科技成果申报工作的效率,设计并实现一款基于SSH框架的卫生科技成果申报管理JavaWeb系统。卫生科技成果申报系统实现了对申报信息的增删改插,信息对比等功能,拥有清晰的分类,便捷的操作等特点。
SSH;科技成果申报;JavaWeb;管理系统
0 引言
随着互联网技术的不断发展,Web应用得到了广泛的使用,其中日常办公也在信息化发展的影响下效率不断提高。在传统的卫生科技成果申报流程中有着过程比较繁琐、人员分布分散的特点导致申报效率较低、信息量较大等问题。因此采用一种信息化的方式代替原始的科技成果申报流程是势在必行的。
1 需求分析
在对卫生科研系统进行需求分析前,开发团队需要进行需求获取。通过对系统的使用者的采访,系统流程的记录,需求分析人员需要对采访和记录文档进行需求分析。
为了更好的分析系统需要实现的功能以及用户功能权限和使用过程,描绘如图2的系统用例图。
(1)登录:在登录时,系统要判别用户的种类。在登录界面,可以设计三个不同的登录入口或者一个选择用户登录类型的下拉框。
(2)查看个人信息:利用机构编号在个人信息表中查找即可,但需要注意的是个人信息表的部分信息可以修改。
(3)修改密码:用户需要输入原始密码和两次新密码,如果正确则返回登录界面重新登陆,如果错误则提示修改失败。
(4)录入、修改信息:因为录入和修改是市县属机构的功能,所以要利用Struts2技术对其他用户进行拦截。对于每一个科技成果申报的项目都有对应数据库表,也在代码中对应有JavaBean,在前端代码中只需要利用面向对象技术把数值存储到对象中,最后把对象传到后台的逻辑业务处理代码中以实现存储或修改。
图1 系统功能图
图2 系统用例图
(5)导出信息:根据用户不同的需求从数据库中取出相应的数据,利用Apache Poi技术进行业务处理后输出Excel表格。
(6)信息对比:因为此功能是只有部省属机构拥有,所以需要设计相应的过滤器。根据不同的查询条件查询出不同的数据,然后存放在对象中进行运算处理,再根据JavaScript技术把数据显示到前端界面上。
(7)添加修改个人登陆账号和密码:类同于录入修改信息功能,也因是管理员独有功能,设计出相应的过滤器。
通过功能分析,开发人员发现在系统中需要进行很多申报信息表的查询。本系统采用的是经典的SSH框架,其中的hibernate的持久化技术可以很好的解决频繁访问数据库的问题。Struts2框架使得系统层次分离,提高开发效率;Spring框架使得系统“高内聚,低耦合“,增强系统的可扩展性。
2 数据库设计
数据库设计在系统设计开发前,一定要经过相关范式和理论的检验以确保设计的准确性。在数据库实现时,系统需要确保把实体上的属性对应到数据库表的每个表项中。以市县属机构为例,市县属机构的属性有机构编号、机构名称、所在市、所在县、详细地址、机构网址、联系人、联系人电话、机构邮箱、机构所有制、机构类别、机构等级12个表项。市县属机构详细实体属性如图3所示,数据库表如表1所示。
图3 市县属机构实体图
其中对市县属机构的外键city是对应着cityinfo表的主键city_num。在cityinfo表中每一个city_num对应着一个city_name。当市区名需要变化时,只需要修改数据库表中city_name即可完成修改相关市区名,降低了后期人员修改的难度。市县机构属性中所在县,机构所有制,机构类别,机构等级也是采用类似的解决方案。
表1 市县属机构数据库表
Tab.1 City and county organization entity diagram
为了厘清在三个实体(市县属机构,部省属机构,管理员)的交互关系,并设计相应数据库表的字段,设计出如图4的系统E-R图。
3 系统实现
在系统实现上,根据需求分析的结果进行数据库设计、功能设计,之后需要实现SSH框架的搭建和接口设置以及数据库建立表格且录入相关数据。前端页面利用JSP,CSS,JavaScript,JQuery,EL表达式,bootstrap,JSON实现界面美化。用户通过JSP页面和SSH框架系统的业务处理技术访问MySQL数据库数据。以下是对部省属机构的信息对比功能进行简单的实现描述:
图4 系统E-R图
目标:需要把两个不同市所有机构的所有关于“人员知识结构基本情况”信息进行整合对比。
思路:首先是对两个不同市搜索出对应的所有机构,对每个机构进行搜索,查找出每个机构中“人员知识结构基本情况”的信息,然后把相同市的机构信息对应着相同属性进行累加即可。按照以上思路写出相应的SQL语句,即FSQL。根据SQL查询语句把对应的数据存放在Query类型的对象q 中。再把查询到的数据放入到List对象Flist中,依据Flist.size()进行for循环把相关数据进行累加计算。在for循环中首先是把List中的对象取出来并强制转换为Object对象的数组,从Object的数组中取出对象利用get()方法取出相应的数据进行计算。具体代码如下
DAO层:Query q = session.createQuery(FSQL);
List Flist = q.list();
Service层:for(int i = 0; i Object[] obj =(Object[])Flist.get(i); FdoctorFtsum += ((Institutioninfo)obj[1]).getdoctorFt (); //…还有许多属性省略} 其中Stinvestment表示对应着所有“人员知识结构基本情况”的数据库表,Institutioninfo表是对应着所有“机构的基本信息”的数据库表。 实现:在用户输入比较数据并点击对比后,系统根据JSP页面所提交的表单中获取到的show_ findCompare.action找到Service层中相关的ShowAction包中的findCompare()方法。FindCompare()调用由CompareServiceImpl类实现的CompareService类接口中的方法。CompareServiceImpl类调用由CompareDaompl类实现的CompareDao。CompareDaompl类依托hibernate技术对数据库进行访问,把访问到的数据传送回Service层进行业务逻辑再传送回到Action层。在控制层处理对比数据后,将处理后的数据发送到前端页面JSP中,再依据EL表达式显示数据。登录图如5,对比效果如图6所示。 图5 系统登录界面 图6 系统对比功能图 在系统开发前需要进行软件工程的需求分析,概要设计,详细设计。在完成编码过程后要根据软件需求进行软件测试再投入使用。软件测试是要以较少的时间,人力和样例来测试出系统可能存在的缺陷或者问题。本系统的软件测试方法是以黑盒测试为主,白盒测试为辅。以需要输入的数字文本框为例,对其测试需要进行测试输入数字,空格,字母,字符,长度很长的数字,不输入值等情况测试,测试文本框是否能对这些情况做出相应的提示或反应。除了对输入数字的文本框进行测试外,系统还需测试struts2的过滤器是否能够正常过滤信息,数据库是否能正常地进行增删改查的功能等。 本文是对一个基于SSH框架的卫生科技成果申报系统需求分析,数据库设计,系统实现,系统测试的介绍。本系统实现了申报信息的增删改查,信息比对等功能,对实际开发卫生科技成果申报系统提供相应的参考。但是不同的机构有着不同的需求,所以具体分析情况应结合具体机构实际情况进行分析,从而做出与其机构相应情况符合的系统。本文对卫生科技成果申报系统开发提供了相应的思路,方便程序员更好地开发项目。 [1] 李福荣, 吴海涛. 基于AOP的卫生科技成果申报系统的设计与实现. 电子设计工程. 2016(7): 8-3. [2] 符宇航, 郑宗良, 曾莉. 基于Web的科研项目管理系统的设计与实现. 电脑知识与技术. 2016(27), 80-2. [3] 朱亚玲, 张睿敏, 李晓斌. 基于SSH架构的企业信息 管理平台的设计及实现. 工业仪表与自动化装置. 2016(5), 26-3. [4] 林莉莉. 基于SSH框架的论坛信息管理系统管理系统的设计. 科技资讯. 2016(10a), 11-2. [5] 余甜, 蔡文. 一种基于Web Service和SSH的网络管理系统设计与实现.软件开发与应用. 2017(15), 65-5. [6] 刘肖峥. Java SSH架构在Java Web中的应用.信息记录材料. 2017(9), 152-2. [7] 袁立. 基于MVC模式SHH2框架的教研项目管理系统设计与实现. 电脑编程技巧与维护. 2017(2), 48-5. [8] 欧阳宏基, 葛萌. 基于Struts2与Hibernate框架的Java Web应用研究. 计算机应用. 2016(2), 48-5. Design and Implementation of Health Science and Technology Declaration System Based on SSH Framework LI Tian-ci, TIAN Jing-bai (Hubei University Of Technology Computer College, Hubei Wuhan, 430068) In order to improve the efficiency of declaring scientific and technological achievements, we designed and implemented a health science and technology declaration management JavaWeb system based on the SSH framework. The health science and technology declaration system has realized the functions of adding and deleting the declaration information, the information comparison and so on, it also has the characteristics of clear classification and convenient operation. SSH; Declaration of scientific and technological achievements; Java web; Management system TP311.52 A 10.3969/j.issn.1003-6970.2018.07.017 李天赐(1997-),男,本科在读,研究方向:软件工程(Javaweb开发);田精白(1982-),男,博士,研究方向:软件需求工程。 本文著录格式:李天赐,田精白. 基于SSH框架卫生科技成果申报系统的设计与实现[J]. 软件,2018,39(7):84-884 系统测试
5 结语