基于SSH的学生成绩信息管理系统的设计与分析
2017-12-07田文涛张笑冰
田文涛,张 钊,张笑冰
(1. 黑龙江省哈尔滨市职工医学院,黑龙江 哈尔滨 150000;2. 黑龙江省伊春市第一医院,黑龙江 伊春 153000)
基于SSH的学生成绩信息管理系统的设计与分析
田文涛1,张 钊1,张笑冰2
(1. 黑龙江省哈尔滨市职工医学院,黑龙江 哈尔滨 150000;2. 黑龙江省伊春市第一医院,黑龙江 伊春 153000)
本系统是Browser/Server的结构,能够统一客户端,将主要功能实现的核心部分集中在了服务器上。在技术上是以Java、Hibernate、Spring、Struts和MYSQL数据库来开发和实现的。不但注重系统的实际操作,系统的布局简洁,功能清晰,也能够让使用者清楚明了的进行操作,符合了学生和老师的需要。本文主要介绍了该系统的开发设计思想及软件的需求分析。
学生成绩信息管理;Browser/Server结构;MYSQL数据库;设计与分析
1 开发设计
1.1 系统开发的目标
采用学生成绩信息管理系统能够使学校建立一种先进的学生管理模式提高学校的管理效率,提高工作的准确性和操作的简洁、快速。学校的管理者能够通过学生成绩信息管理系统高效、快速的对学生进行日常的管理,既能帮助学校提高管理效率,又能降低管理的成本,并且维护简单,查看方便,管理高效。
1. 教师端:
(1)对学生信息进行管理
(2)对班级信息进行管理
(3)对学生选课信息进行管理
(4)对课程信息进行管理
(5)对学生成绩信息进行管理
2. 学生端:
(1)查询和修改个人信息
(2)查询课程信息
(3)查询个人成绩
(4)选课
本系统主要是提供给在校的教师和学生使用。
1.2 系统开发的设计思想
本系统是以SHH框架来进行开发。在系统中,Hibernate主要是处理对象数据表的增、删、改、查;Spring框架通过依赖注入(IOC)的关系将持久化作为控制器的业务;Struts框架是为了实现功能与 JSP页面的交互操作[1]。
Struts发展到现在已经具备了相当成熟稳定的技术,并且在 Struts的技术社区支持下,携带着开源技术的优势,让大部分企业都作为自己稳固战略的首选。同时 Struts技术也凭借着它的强大的性能和较高的知名度,对项目的开发也提供了很大的支持和帮助[2]。
Spring是一个很强大的轻量级框架,它的出现解决了许多J2EE开发中常见问题。Spring本身的基础结构和对其他工具的支持上都是极为强大的。它不仅仅能用于轻量级的应用开发。还能让程序研发人员可以通过Spring来把不同技术之间的风险降低[3]。
2 需求分析
2.1 系统的可行性分析
2.1.1 经济可行性
本系统所采用的技术主要中 MYSQL和 JAVA都是免费的、开源的技术,所需要的开发人员不多,电脑也不需要多高的配置,所以本系统的开发成本低廉,在经济方面完全是可行的,符合经济可行性。
2.1.2 技术可行性
技术可行性主要体现在开发人员所掌握的技术能否完整的开发出本系统以及软、硬件的配置能否满足开发人员的需求。本系统是由Spring、Struts、Hibernate三大框架构建,由Java编译,由MYSQL数据库存储数据来进行项目的开发,所以该系统的开发是具有一定的难度的。为了保证系统开发的顺利,在考虑问题的时候一定要全面,同时采用工程化的开发方法,让开发者有一个清晰的思路,从而能够让系统又快又好的开发出来。
2.2 系统的需求分析
系统在设计到后期往往会发生一些功能不足,需要添加功能的情况。所以在设计数据库的时候要尽量的把数据库设计的容易更改和扩建。能够做到当需求发生改变或者需要添加功能的时候,只需要修改或添加部分代码即可实现,并且数据库不会在结构上发生任何变化。
2.2.1 系统的功能结构图
通过对学生成绩管理的大量实践调查,大体上确定了系统的主要需求,通过Microsoft Visio软件制作出学生成绩信息管理系统的功能结构图,以清晰的展现出其中的各个功能模块。具体内容如图 1所示:
图1 系统的功能结构图Fig.1 Functional structure diagram of the system
2.2.2 系统的功能介绍
本系统主要是对学生的个人信息、班级信息、课程信息、课程成绩进行操作,所以根据这个中心思想,确立各种功能模块。学生成绩信息管理主要有两种用户:教师和学生。根据系统的需求分析,结合两种用户模式所拥有的权利不同,两种用户的具体功能如下
教师端功能
1. 学生个人信息:教师能够添加、删除、查看某个学生的个人信息,能够对任意学生的个人信息进行删改;
2. 班级信息管理:教师能够对班级的信息进行管理;
3. 课程信息管理:教师能够添加、删除、修改任意一门课程信息;能够查看选择课程的学生名单
4. 学生成绩管理:教师能够添加、删除、修改学生的成绩信息;
5. 总成绩管理:教师能够对学生的总成绩进行管理;
学生只有部分权限,具体功能如下:
1. 学生能对自己的个人信息查询及修改2. 学生能够查询自己的成绩
3. 学生能够查询自己的课程信息
4 学生的能够为自己选课
2.3 系统技术架构
2.3.1 MVC技术
MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开[4]。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
2.3.2 Struts技术
Struts技术的一个最大的优点就是它是一个开源的软件,这个优点可以让开发人员更直接、更进一步的了解其内部实现的构造机制。除此之外,Struts还有两个很大的优点,就是页面导航和Taglib。
配置使用Struts框架,主要就是配置struts-config.xml文件,其地址一般为WEB-INFstruts-config.xml。配置完成后,Struts通过拦截器来处理用户的请求,Action负责前后台交互,控制整个应用流程,从而接收页面请求,实现页面的跳转[5]。
2.3.3 Spring技术
因为Spring框架的体系结构是分层架构的,所以开发人员可以独立的使用其任意部分,此时它仍是稳定的,因此对于学习和使用是很有价值的。当系统使用Spring框架技术进行开发,将大大提高编码的可重用性。
Spring框架是一个以依赖注入(inversion of control IOC)原则和面向方面编程思想(aspect-oriented programming,AOP)为基础的轻量级框架。其中使用IOC容器可以建立一个应用上下文来帮助生成对象,在对象与对象之间建立联系。使用IOC容器可以轻松的通过使用JavaBean属性来实现业务对象之间的替换[6]。
Spring框架技术的核心就是Bean工厂。它的主要作用是建立一个 Model供开发人员使用。Spring正是在这个基础上提供了AOP的实现。通过Spring框架,让开发人员更方便的对J2EE进行使用。Spring框架技术真正的实现了逻辑层和Web层的分离,使开发人员更轻松、更清晰的对系统完成开发[7]。
2.3.4 Hibernate技术
Hibernate是一个开放源代码的对象关系映射框架,它通过对JDBC方法进行轻量级的对象封装来实现对数据库的访问。开发人员通过使用Hibernate可以随时随地的对数据库进行操作,方便了项目的开发。只要应用了JDBC方法,就可以使用Hibernate框架进行开发。Hibernate可以通过 Java客户端的Servlet/JSP的web应用中使用[8]。
在JDBC的编程开发使用中,开发人员通过DAO曾编写SQL语句中的INSERT(添加)语句插入数据,通过编写 SELECT(查询)语句进行查询,通过编写UPDATE(更新)语句来保存和更新数据,编写DELETE(删除)语句进行数据删除。
Hibernate和 JDBC的开发院里类似,只不过Hibernate充当了JDBC中的DAO层,根据关系映射配置来自动生成相应的SQL语句,即HQL语句。从控制台中可以看到通过Hibernate生成的HQL语句[9]。
Hibernate生成的HQL语句是动态生成的,而JBDC中的SQL语句是需要人工编写的,所以HQL语句更加方便。因此当系统的实体类发生改变时,JDBC需要根据实体类的变化来修改相对应的 SQL语句,工作量很大且极其复杂,而在使用了Hibernate的系统中只需要修改对应的实体类的配置即可实现。因此,Hibernate框架是方便快捷的,使用它进行开发可以提高开发的效率[10]。
2.3.5 JavaScript技术
JavaScript是一种经典的网络脚本语言,是动态的语言。早起在HTML网页上进行使用以增加网页的动态功能,是目前广泛的应用于客户端的一种脚本语言[11]。
JavaScript语言是一种解释型的脚本语言,不需要像 C语言或者 C++语言那样先进行编译才能执行,而是在程序的运行中逐渐的进行解释。JavaScript还能使用现有的对象,同时又能创建新的对象,使用起来简单紧凑[12]。同时它还是动态的,可以根据用户的输入做出相应的反应,比如用户对一个网页页面进行鼠标移动、点击等操作时,JavaScript不需要经过 Web服务器就可以对事物做出与之相对应的反应,节省了时间,提高了互动性[13-15]。因此,JavaScript的特点是无穷无尽的,只要有创意,通过JavaScript都可以实现。
[1] 张洪伟. Tomcat Web开发及整合应用[M].北京.清华大学出版社, 2006: 10-230.Zhang Hongwei. Tomcat Web Development and Integration Application[M]. Beijing. Tsinghua University Press, 2006:10-230.
[2] 李刚. Struts2权威指南:基于WebWork核心的MVC开发[M].电子工业出版社, 2007: 93-332.Li Gang. Struts2 Authoritative Guide: MVC Development Based on WebWork Core[M]. Electronic Industry Press,2007: 93-332.
[3] 陈天河. Struts. Hibernate. Spring集成开发宝典[M. 电子工业出版社, 2007: 246-249.Chen Tianhe. Integrated Development Book of Struts-Hibernate-Spring[M]. Electronic Industry Press, 2007: 246-249.
[4] 梁立新.基于SSH的Java应用开发[M]. 北京. 电子工业出版社. 2006: 10-300.Liang Lixin. Java Application Development Based on SSH[M]. Beijing Electronic Industry Press. 2006: 10-300.
[5] 石志国, 薛为民, 董洁. JSP高等学校计算机语言应用教程[M]. 清华大学出版社, 2004: 190-196.Shi Zhiguo, Xue Weimin, Dong Jie.JSP Computer Language Application Course of Universities and Colleges.[M]. Tsinghua University Press, 2004:190-196.
[6] 张国平, 郑均辉, 张琳. 基于SSH2和Ajax的物联网社区信息化管理系统[J]. 现代电子技术, 2015(14): 79-81+85.Zhang Guoping, Zheng Junhui, Zhang Lin. Internet of Things Community Information Management System Based on SSH2 and Ajax[J]. Modern Electronic Technology, 2015(14):79-81+85.
[7] 孙卫琴. Java网络编程精解[M]. 电子工业出版社, 2007:66-70.Sun Weiqin. Explanations of Java Network Programming[M]. 2007: 66-70. Electronic Industries Press.
[8] Manheim. M. L. An architecture for active DSS[J]. 21st International Conference on System Science. Hawaii: IEEE Computer Society Press, 1988: 356-365.
[9] Bruce Eckel. Theoretical Artificial Intelligence[J]. 1998, 10(4): 393-402.
[10] 廖义奎. Java Web 开发之Srtuts编程基础与实例精讲[M].中国电力出版社, 2006: 133-137.Liao Yikui. Srtuts Programming Basis and Examples Explanation of Java Web Development[M]. China Electric Power Press, 2006: 133-137.
[11] 孙卫琴, 李洪成. Tomcat与Java Web开发技术详解[M]. 电子工业出版社, 2004: 56-61.Sun Weiqin, Li Hongcheng.Tomcat and Java Web Development Technology Explanation [M].Electronics Industry Press,2004:56-61.
[12] Marty Hall. Servlet与JSP权威指南[M]. 北京. 机械工业出版社, 2002: 30-350.Marty Hall. Authoritative Guide on Servlet and JSP[M]. Beijing. Mechanical Industry Press, 2002: 30-350.
[13] 邱哲, 王俊标, 马斗. Java开发利器: Struts Web设计与开发大全[M]. 清华大学出版社, 2006: 67-72.Qiu Zhe, Wang Junbiao, Ma Dou.Java development tool:Struts Web Design and Development Encyclopedia [M].Tsinghua University Press, 2006: 67-72.
[14] 韩存武, 张凤梅, 孙德辉, 吴力普, 梁宇. 基于RFID技术的高校设备管理系统设计[J]. 新型工业化, 2016, 6(2): 1-6.Han Cunwu, Zhang Fengmei, Sun Dehui, Wu Lipu, Liang Yu.Design of University Equipment Management System Based on RFID Technology [J]. New Industrialization, 2016, 6(2): 1-6.
[15] 郑业芬, 梁孙祥. 自考办信息管理系统设计[J]. 软件,2017, 38(8): 176-179.Zheng Yefen, Liang Sunxiang. Information Management System Design of Self-taught Examination Office[J]. Software,2017, 38 (8): 176-179.
Design and Analysis of Information Management System of Student’s Achievements Based on SSH
TIAN Wen-tao1, ZHANG Zhao1, ZHANG Xiao-bing2
(1. Harbin Staff Medical College of Heilongjiang, Harbin, Heilongjiang, 150000;2. Yichun City the First Hospital of Heilongjiang, Yichun, Heilongjiang, 153000)
With structure of Browser/Server, the system unifies client, integrates core part of main function on the server, which is developed and realized through Java, Hibernate, Spring, Struts and MYSQL database technically.The system not only pays attention to actual operation of system, concise layout, clear function, but allows users to operate clearly, meeting needs of students and teachers. The article mainly introduces development and design thoughts of system and requirement analysis of the software.
Information management of student’s achievements; Browser/Server structure; MYSQL database;Design and analysis
G434
A
10.3969/j.issn.1003-6970.2017.11.040
本文著录格式:田文涛,张钊,张笑冰. 基于SSH的学生成绩信息管理系统的设计与分析[J]. 软件,2017,38(11):212-215
黑龙江省青年专项课题(ZJD1316013)
田文涛,男,黑龙江省巴彦县,哈尔滨市职工医学院,中级职称(实验师),本科学历,研究方向:计算机及辅助教学。