1引言..............................................................1
1.1项目开发背景...............................................1
1.2开发技术简介...............................................1
1.2.1SSM简介................................................2
1.2.2BOOTSTRAP简介..........................................2
1.2.3MAVEN简介..............................................2
1.3开发工具简介...............................................3
1.4项目开发技术路线...........................................3
2需求分析..........................................................4
2.1功能需求描述...............................................4
2.2非功能需求描述.............................................4
2.3需求用例建模...............................................5
2.3.1学生信息管理功能模块.....................................5
2.3.2教师管理功能模块.........................................8
2.3.3班级信息管理功能模块....................................10
2.3.4管理员功能模块..........................................12
3系统概要设计.....................................................14
3.1系统设计原则..............................................14
3.2系统框架设计..............................................14
3.3系统功能设计..............................................15
3.3.1学生信息管理功能设计....................................16
3.3.2教师管理功能设计........................................17
3.3.3班级信息管理功能设计....................................17
3.3.4管理员功能设计..........................................18
3.4数据库设计................................................19
3.4.1设计原则................................................19
II
3.4.2概念设计...............................................19
3.4.3逻辑设计...............................................20
3.4.4数据字典...............................................20
4系统详细设计.....................................................22
4.1学生信息管理功能模块......................................22
4.1.1学生信息管理模块说明...................................22
4.1.2学生信息管理功能模块详细设计...........................22
4.2教师功能模块..............................................23
4.2.1教师功能模块说明.......................................23
4.2.2教师功能模块详细设计...................................23
4.3班级信息管理功能模块设计..................................25
4.3.1班级信息管理功能模块说明...............................25
4.3.2班级信息管理功能模块详细设计...........................25
4.4管理员功能模块设计...........................................26
4.4.1管理员功能模块说明.....................................26
4.4.2管理员功能模块详细设计.................................26
5系统实现...........................................................27
5.1学生信息管理模块实现.........................................27
5.1.1管理员功能模块界面设计.................................27
5.1.2教师管理模块核心代码实现:.............................28
5.2教师管理模块实现.............................................30
5.2.1教师管理模块界面设计...................................30
5.2.2教师管理模块核心代码实现:.............................30
5.3班级信息管理模块实现.........................................34
5.3.1班级信息管理模块界面设计...............................34
5.3.2班级信息管理模块模块核心代码实现:.....................35
5.4管理员模块实现...............................................37
5.4.1管理员模块界面设计.....................................37
III
5.4.2管理员模块模块核心代码实现:...........................37
6系统测试..........................................................39
6.1学生信息管理功能测试.........................................39
6.2教师管理功能测试.............................................40
6.3班级信息管理功能测试.........................................40
6.4管理员功能测试...............................................41
7设计小结..........................................................41
参考资料............................................................42
IV
基于SSM的学生综合测评管理系统的设计
与实现
1引言
网络的快速发展从根本上更改了世界各组织的管理方式,自二十世纪九十
年代开始,我国的政府、企事业等单位就设想可以通过互联网系统来进行管理
信息。由于以前存在各方面的原因,比如网络普及度低、学生不接受、互联网
构中的发展速度。进入二十一世纪以后,我国经济有了快速的发展,限制机构
管理的各个难题逐一被解决,国内各大机构都加入到了电子信息化的管理模式
中来。
1.1项目开发背景
方式不但时效性低,而且需要查找和变更的时候很不方便。随着科学的进步,
技术的成熟,计算机信息化也日新月异的发展,社会也已经深刻的认识,计算
机功能非常的强大,计算机已经进入了人类社会发展的各个领域,并且发挥着
十分重要的作用。本系统利用网络沟通、计算机信息存储管理,有着与传统的
方式所无法替代的优点。比如计算检索速度特别快、可靠性特别高、存储容量
能够得到极大地提高,延伸至服务水平也会有好的收获,有了网络,在线大学
生综合素质评分平台的各方面的管理更加科学和系统,更加规范和简便。我的
毕业设计也就正是一个综合测评系统的设计与实现---学生综合测评管理系统。
1.2开发技术简介
运用JAVA言语实行WEB应用系统SSM(spring+springmvc+mybatis架构
设计,运用JSP静态页面技术、优良的轻量级的JAVASCRIPT框架JQUERY和
BOOTSTRAP前端框架设计WEB页面,完成了剧本与页面的别离,经过MAVEN便捷
地管理项目标JAR包依靠、开发;如今WEB技术开展愈来愈快,要想要开发好的
WEB使用,纯熟把握.上面的这些技术,这是开发好WEB使用的根底和保证。
1
1.2.1SSM简介
本程序开发使用到的框架技术,英文名称缩写是SSM,在JavaWeb开发中使
用的流行框架有SSH、SSM、SpringMVC等,作为一个课题程序采用SSH框架也
可以,SSM框架也可以,SpringMVC也可以。SSH框架是属于重量级别的框架,
配置繁琐,不够灵活,修改程序需要修改好多个文件,并且运行起来也占用内
存较高,CPU使用率相对也高,SpringMVC是Spring开发的一套MVC架构,更
灵活更好用,SSM框架取中间值,既没有SSH臃肿,也没有SpringMVC简化,属
于中间级别的,在配置过程和使用过程中更能编写和理解。MyBatis框架取代Hi
bernate框架是因为它更灵活,不需要完全在框架里操作,它在数据操作上可以
写出更灵活的代码,它的性能也比Hibernate框架更稳定。总的来说,使用SSM
框架是通过综合考虑而使用的,网上有很多的使用教程和心得体会,而且SSM又
是这么的流行,用SSM框架开发是顺其自然的。。
1.2.2BOOTSTRAP简介
在Bootstrap前端框架是最广泛使用的CSS,JS和HTML框架,用于移动设
备优先级Web项目和程序员开发响应式界面布局。
Bootstrap包含大量的Web组件,这些组件使您能够更快地构建美观实用的
网站,其中包括以下组件:
按钮组,下拉菜单和导航列,路径导航,页面分页,提示对话框,框布局,
进度条动画,精美的缩略图,流媒体对象等。
自从它在互联网上被推出以来,bootstrap就越来越受到了前端用户的青睐,
并且在当前github(代码托管平台)上得到了持续维护。此前端项目也被称为美
国国家航空航天局(nasa)的msnbc(微软国家广播公司)作为参考。一些国际移动
研究人员已经开始对此前端的框架有所了解。
1.2.3MAVEN简介
当程序员开发一个JAVA项目时,从编译到测试再到打包的工作相对繁琐而
如此,程序员通常还需要花费更多的精力来引用JAR包来配置项目环境。因此,
跨人员或跨部门的项目总体结构通常是不同的。MAVEN集成了继承和聚合,仓库
管理,依赖性管理和其他功能,以帮助项目构建准备非常完整的解决方案。
MAVEN有两个核心:
依赖性管理:MAVEN已经准备了一个MAVEN中央代码存储库来统一管理JAR
2
包。我们只需要在项目中配置依赖项,MAVEN就会去中心仓库安装所有相应的依
赖项包,同时为我们解决依赖项。
项目构建步骤,基本操作是编译,测试,打包,部署项目,最后将代码上
传到专用服务器等。
1.3开发工具简介
工具的使用:采用INTELLIJIDEA+tomcat+mysql
IntelliJIDEA是java编程语言开发的集成环境。被公认为最好的java开
发工具tomcat作为小型服务期有着很多的优点,安装和部署都方便,第三是
TOMCAT适合做一些中小型的项目。
使用Tomcat,因为它运行时占用的系统资源非常少,扩展性好,而且支持
负载平衡等程序开发应用系统最常用的一般功能;目前它还在不断的更新和完
善,程序爱好者都可以加入新的功能以实现自己的需求。Tomcat是一个测试常
用的小型服务器,在中小型的系统中(并发访问用户不是很多)被普遍使用,是
开发者调试网站程序的第一选择。对于一个实践者来说,可以这样认为,当机
器上配置好服务器时,可利用它响应用户对HTML页面访问的请求。实际上
Tomcat只有部分是Apache服务器的扩展,它是独立运行的,所以当我们运行
tomcat服务器时,实际上他是作为-一个与Apache独立开来的进程单独运行的
程序。
mysql其优点有:综合统一,高度非过程化,面向集合的操作方式,以一种
语法结构提供多种使用方式,语言简洁,易学易用。
1.4项目开发技术路线
前端页面通过网络途径解决,在页面中添加大量注解,通过servlet将数
据传递到后台,后台在通过ssm框架,Controller层-->Service层-->Dao层。
Dao层通过注解,以及xml映射关系和数据库进行数据交互。数据库再通过SSM
框架发送数据到前端页面,前端页面通过ajax进行数据渲染。SSM框架技术的
优点:首先它采用的是分层思想,可以更好的进行后续的数据维护以及修改,比
如像新增功能、下架功能等。SSM的底层是对JDBC进行的封装,我们可以更方
便、更快捷的使用JDBC,这样会使我们的代码量减少。
3
2需求分析
2.1功能需求描述
随着各大高校的建设,现如今,各大高校人数都不下于几千人,在最初对
学生管理的方式已经不能满足高校的办公需求。必须需要一个综合测评系统,
用来简化每天的工作的复杂程度。综合测评系统可以提升办公效率:如果你想找
一个学生的的信息或者成绩管理,如果是以往,可能会通过档案的形式,一个
一个的找,效率极低;如果使用综合测评系统,那么查询的工作交给计算机执行,
既方便、又快捷。因此我们很需要这样一个高效的系统来帮我们实现很多功能,
增加我们的效率。同时,对于可维护性这个概念,具有两个含义,那就是可靠
性和可测试性等。可靠性通常是指强度和准确度。在开发过程中,必须权衡一
些互相矛盾的目标,并且尽可能满足各种要求。
息,查看学生的成绩,以及可以修改学生的成绩比例;此外还可以实现对学生
活动的增加,删除,修改操作。
以及上传个人异议申报。
包括修改管理员密码这一个功能。
2.2非功能需求描述
信息更是繁多。这样做极大程度上了保障了学生的隐私安全。更有利于高校的
发展以及规划。
4
2.3需求用例建模
通过对功能需求的分析,创建以下总体用例模型,如图2-1所示。
图2-1学生综合测评管理系统的总体用例模型
系统管理员通过对后台信息的管理,对每项管理都能够实现增加、删除、
修改和查询的操作。
2.3.1学生信息管理功能模块
面向对象的需求分析阶段通过用例图和活动图进行了梳理分析。功能模块
1具体的用例描述如图2-2所示,分别具有查询个人信息、修改个人信息、查看
个人成绩等操作功能。采用这样的架构,让用户界面层甚至可以不知道数据库
的结构,当要对数据进行维护的时候,它只要维护与业务层之间的接口即可。
5
图2-2学生信息管理功能模块用例图
通过对用例的细化,使用活动图针对系统动态行为进行建模。模块1活动
图如图2-3所示。
6
图2-3学生信息管理功能模块活动图
通过对图2-2用例图及图2-3活动图进一步的细化分析,得到每个用例的
描述表。学生管理模块用例描述如表2-1所示,可以进行增删改等操作。
表2-1学生信息管理模块用例描述
项目描述
用例名称学生信息管理
用例标识号01
参与者管理员、学生、教师
7
简要说明
前置条件参与者已经打开系统的学生页面student.html
2.在输入框添加学生
基本事件流3.提交数据,系统自动检测数据合法性
4.有效数据则存入数据库,并返回映射到页面中
5.用例终止
其他事件流提示错误的信息,需要参与人确认
异常事件流提示错误信息,参与人确认
后置条件进入的主界面,装载相应的数据
2.3.2教师管理功能模块
面向对象的需求分析阶段通过用例图和活动图进行了梳理分析。教师功能
模块具体的用例描述如图2-4所示,分别具有增加、删除、修改、查寻等操作
功能。采用这样的架构,让用户界面层甚至可以不知道数据库的结构,当要对
数据进行维护的时候,它只要维护与业务层之间的接口即可。
图2-4教师管理功能模块用例图
8
通过对用例的细化,使用活动图针对系统动态行为进行建模。模块2活动
图如图2-5所示。
图2-5教师管理功能模块活动图
通过对图2-4用例图及图2-5活动图进一步的细化分析,得到每个用例的
描述表。学生管理模块用例描述如表2-2所示,可以进行增删改等操作。
表2-2教师管理模块用例描述
用例名称教师管理
9
用例标识号02
简要说明参与者输入信息,合法加入数据进数据库
前置条件参与者已经打开系统的教师页面login.html
2.在输入框搜索教师信息
2.3.3班级信息管理功能模块
具体的用例描述如图2-6所示,分别具有删除、查询、导出数据等操作功能。
采用这样的架构,让用户界面层甚至可以不知道数据库的结构,当要对数据进
行维护的时候,它只要维护与业务层之间的接口即可。
图2-6班级信息管理功能模块用例图
10
图如图2-7所示。
图2-7班级信息管理功能模块活动图
通过对图2-6用例图及图2-7活动图进一步的细化分析,得到每个用例的
描述表。班级信息管理模块用例描述如表2-3所示,可以进行增删改等操作。
表2-3班级信息管理模块用例描述
11
用例名称班级信息管理
前置条件参与者已经打开系统的管理页面class.html
2.在输入框输入班级名称
2.3.4管理员功能模块
面向对象的需求分析阶段通过用例图和活动图进行了梳理分析。课程功能
模块具体的用例描述如图2-8所示,分别具有增加、删除、修改、查寻等操作
12
图2-8管理员功能模块用例图
图2-9管理员功能模块活动图
13
通过对图2-8用例图及图2-9活动图进一-步的细化分析,得到每个用例的
描述表。学生管理模块用例描述如表2-4所示,可以进行增删改等操作。
表2-4管理员功能模块用例描述
用例名称管理员管理
用例标识号05
简要说明参与者输入信息,合法则修改数据进数据库
前置条件参与者已经打开系统的页面register.html
2.在输入框输入正确信息
基本事件流3.选择需要的功能,提交数据,系统自动检测数据合法性
3系统概要设计
3.1系统设计原则
根据现在现代化的要求,我们的代码风格必须要统一,数据化的处理必须
要快。对于前端的设计必须简约大气,让用户拥有良好的交互体验,能够一眼
看到着重点。因为我们的端口比较多,数据需求也比较繁重,所以一定不能因
为数据的上传反应问题而影响用户体验。
3.2系统框架设计
根据系统的需求分析、用例建模分析结合开发平台的特点设计学生综合测
评管理架构模型,如图3-1所示。
14
图3-1学生综合测评管理系统整体架构图
3.3系统功能设计
系统模块化结构设计工作是在系统分析阶段对子系统划分的基础上,在进
一步地划分,将它逐层的分解成多个大小相同、功能单一、具有一定独立性的
模块,以便程序设计工作的同时,有加强了数据库之间的联系,使系统更加的
完美。根据学生综合测评系统的需求分析和用例建模分析,本文确定了学生综
合系统的主要功能模块,包括教师管理、学生管理、课程功能等。学生综合测
评管理系统的功能结构图如图3-2所示,本系统主要功能模块。
15
图3-2学生综合测评系统功能结构图
3.3.1学生信息管理功能设计
功能描述使用功能流程图描述,如下图3-3。
开始
输入用户名、
密码等信息
选择权限
提示信息不能
是用户名、密码等是否空
为空
否
提示信息不正
用户名密码等是否正确否
确
是
结束
图3-3学生信息管理模块流程图
有一定独立性的模块,以便程序设计工作的同时,有加强了数据库之间的联系,
使系统更加的完美。根据学生及其用户的需求分析和用例建模分析,本文确定
了学生综合测评系统的主要功能模块,包括查看学生个人成绩,查看学生活动
16
等。
3.3.2教师管理功能设计
该功能由流程图表示,如下图3-4。
图3-4教师功能流程图
3.3.3班级信息管理功能设计
该功能由流程图表示,如下图3-5。
17
图3-5班级信息管理功能流程图
3.3.4管理员功能设计
该功能由流程图表示,如下图3-6。
18
图3-6管理员功能流程图
3.4数据库设计
数据库是计算机信息系统的基础。目前,电脑系统的关键与核心部分就是
数据库。数据库开发的优劣对整个系统的质量和速度有着直接影响。
3.4.1设计原则
为取得较好的设计效果,进行数据库设计需要遵从以下原则:
1.标准化原则
数据库设计务必要遵照统一的设计标准与命名规范。具备统一设计分类与
编码规范的数据库不仅设计清晰直观,更有利于后期数据库及程序的维护,为以
后项目可扩展性提供条件。
2.冗余原则
以往数据库的设计要求不允许有冗余,要尽可能的满足3NF。然而,在系
统运行过程中,满足3NF的数据库设计并不能高效运行。复杂的表间关系,会
降低访问数据库执行的效率;过低的范式标准,又会导致数据库数据。所以,
在数据库设计中,适当的冗余设计(允许派生性冗余设计,杜绝重复性冗余设
计),找到冗余与数据处理速度的平衡点,常常可以既提高速度,又能减少重复。
3.4.2概念设计
在数据库概念设计的过程中,采用E-R图来描述概念设计的结果。E-R图是
概念数据模型的高层描述所使用的数据模型或模式图,它为表述实体联系模式
图形式的数据模型提供了图形符号。根据学生综合测评系统分析,E-R图如下图
3-5所示。
19
图3-5学生综合测评系统E-R图
3.4.3逻辑设计
针对ER模型,通过数据实体属性、实体间关系的全面分析,结合学生综合
测评系统的实际需求,根据E-R图转化为关系模式的转换方法,建立起了本系
统的关系模式,具体转化后的关系模式如下:
学生表(xuehao,sname,scsny,sphone,ssex,sscid);
教师表(id,tcard,tnanme,tsex,tphone,tbirth,tzc);
活动表(id,ananme,axx,ssuid,adate,address,alx);
3.4.4数据字典
学生表的表结构如表3-3所示,该表主要用于记录学生信息,主要字段
为xuehao,sname,scsny,sphone。
表3-3学生表表结构
字段名称数据类型字段内容主键设置非空
XuehaoInt学号是否
Snamevarchar姓名否是
ScsnyDate日期否是
20
Ssexvarchar性别否是
sscidint课程号否是
教师表的表结构如表3-4所示,该表主要用于记录教师信息,主要字段为
id,tcard,tnanme,tsex,tphone。
表3-4教师表表结构
IdInt教师编号id是否
TcardInt教师卡号否是
TnameVarchar姓名否是
TsexVarchar性别否是
TbirthDate出生日期否是
tzcvarchar主讲否是
活动表的表结构如表3-5所示,该表主要用于记录活动信息,主要字段为
id,ananme,axx,ssuid,adate,address。
表3-5活动表表结构
IdInt编号id是否
Anamevarchar姓名否是
AxxVarchar活动名字否是
SsuidInt活动编号否是
Adatevarchar日期否是
addressVarchar课程号否是
alxvarchar活动类型否是
数据库设计总结:根据综合测评的需求分析和用例建模分析,本文确定了
学生综合测评管理功能模块,包括学生管理、教师管理、课程管理和成绩管理。
学生综合测评系统的功能结构图根据测评管理的需求分析和用例建模分析,本
文确定了学生综合管理系统的只要功能模块。
21
4系统详细设计
本系统主要思想为SSM框架技术,每一层负责属于自己的工作,controller
层负责与前端数据进行交互,service负责处理事务,dao层负责和数据库JDBC
进行数据交互。
4.1学生信息管理功能模块
4.1.1学生信息管理模块说明
角色对应的菜单进行赋权操作。赋权成功后进入主页。
4.1.2学生信息管理功能模块详细设计
使用UML序列图来分析和设计需求分析中每个子功能的用例,如图4-1所
示为学生信息功能的时序图。
如下表4-1所示。
图4-1学生信息管理功能的时序图
22
图4-2学生信息管理功能的类图
类名学生
描述用于管理学生信息
属性userID,username,sex,birthyear,grade,collegeID
findAllStudent()、findStudentById()、update()、Insert
方法
()、Delete()
4.2教师功能模块
4.2.1教师功能模块说明
该角色对应的菜单进行赋权操作。赋权成功后进入主页。
4.2.2教师功能模块详细设计
UML序列图来分析和设计需求分析中每个子功能的用例,如图4-3所示为教师
功能的时序图。
23
图4-3教师功能的时序图
通过分析,得到学生综合测评管理系统教师功能的类图,如图4-4所示。
图4-4教师功能的类图
如下表4-2所示。
类名教师
描述用于管理教师
属性userID,username,sex,birthyear,degree,title,grade,
24
collegeID
findAllTeacher()、findTeacherById()、update()、
Insert()、Delete()、MarkUI
4.3班级信息管理功能模块设计
4.3.1班级信息管理功能模块说明
班级信息管理也是学生信息管理系统中不可以缺少的一个功能模块,老师
和管理员可以在这个模块中对班级信息进行添加、删除、修改、查询。
4.3.2班级信息管理功能模块详细设计
以下图4-5为添加班级功能的时序图。
表4-5班级信息管理功能时序图
如下表4-3所示。
类名ClassController
描述对班级各种操作进行控制
属性Java
方法addClazz()
25
类名ClassService
描述班级各种操作实现的类
类名ClassMapper
描述实现班级实体与数据交互的各种操作
方法Insert()
4.4管理员功能模块设计
4.4.1管理员功能模块说明
管理员功能也是学生信息管理系统中不可以缺少的一个功能模块,老师和
管理员可以在这个模块中对班级信息进行添加、删除、修改、查询。
4.4.2管理员功能模块详细设计
以下图4-5为管理员功能的时序图。
26
表4-5管理员功能时序图
如下表4-4所示。
类名AdmisterController
描述对教师学生课程各种操作进行控制
5系统实现
5.1学生信息管理模块实现
5.1.1学生信息管理模块界面设计
学生管理界面,如图5-1所示:该界面主要包括一个输入框和一个按钮。用
户登入:用户通过系统管理员提供的账号和密码(默认123456),通过输入用户名
和密码进入系统。如果您通过了身份验证,并根据权限显示不同的菜单,不通