目录
1.系统的受众说明
2.系统关键技术
2.1 java技术
2.2 MYSQL数据库
2.3 B/S结构
3.系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2经济可行性
3.2 系统性能分析
3.3 系统功能分析
3.5系统流程分析
3.5.1登录流程
3.5.2注册流程
3.5.3添加信息流程
3.5.4删除信息流程
4.系统设计
4.1系统概要设计
4.2系统结构设计
4.3系统顺序图设计
4.3.1登录模块顺序图
4.3.2添加信息模块顺序图
4.4数据库设计
4.4.1数据库E-R图设计
4.4.2数据库表设计
5.系统详细设计
5.1管理员功能模块
5.2教师功能模块
5.3学生功能模块
5.4 系统功能模块
1.系统的受众说明
1 在校学习的学生,可用于日常学习使用或是毕业设计使用
2 毕业一到两年的开发人员,用于锻炼自己的独立功能模块设计能力,增强代码编写能力。
3 亦可以部署为商化项目使用。
4 需要完整资料及源码,请在文末获取联系方式领取。
2.系统关键技术
2.1 java技术
java语言是目前软件市场上应用最广泛的语言开发程序。可以在多种平台上运用的,兼容性比较强,适应市面上大多数操作系统,不会出现乱码的现像,其扩展性和维护性都更好,具有分析问题和解决问题的能力,是面向过程的程序设计方便我们编写的代码更强壮。
java相对其它语言来说,比较简单,编译起来更方便一些,安全可靠性高。不完全统计,现在全世界大约有2000多万人在使用它,java既可以镶嵌使用又可以独力的使用。java大致可以分成两个部分,一种部分是java负责的编译,另一种是java负责的运行。java和C++语言很相像,但java在编程时是一种以对象为导向的方式来进行编译的,使得编出来的软件可以单机使用,也可以在互联网上使用,检查出错更为方便。java分布式、体系结构中立的特点也使得其存储更快,编议更简单。面向对象包括四个特点,一是封装,就是说在定义类的时候可以实现一定的功能和属性。二是抽象,属于类的一种,可以把一个具有共同属性的类封装在一个抽象里,便于简单编议。三是继承,顾名思义就是带有前者的特性。还有一个就是多态的特点,可以多种一起运用,表现了它可扩展性好[8]。
2.2 MYSQL数据库
网站的开发必须配套相应数据库,数据库具有一定的组织结构,能够存放和管理数据信息,在以前数据库的功能仅仅是数据保存和管理操作,但是时代的变迁和发展,现在的数据库演变成了数据处理的方式,数据库从最开始的简单存放数据表格信息到现在的能够存放成千上万数据的大型数据库,期间还是经历了许多的改革。
本次开发的学生成绩管理系统使用的数据库是MYSQL数据库,该数据库运行速度快,安全性能也很高,而且对使用的平台没有任何的限制,所以被广泛应运到系统的开发中。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性,虽然功能未必强大,导致很多人都了解这个数据库的基本应用,在数据库中,总共建立了10几个表,这里面每个表都是相对应的,都各自有各自的联系,数据库意义重大,如果没有数据库的链接,就没办法运行程序,这显然可以看见数据库与程序的重要性,是紧密相连接的[9]。
2.3 B/S结构
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要学生在客户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装mysql数据库等数据库[10]。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,microframework技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序跟学生交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。
2.4 ssm简介
ssm是一个轻量级的可定制框架,使用java语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,ssm还有很强的定制性,学生可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让学生实现个性化的网站定制,开发出功能强大的网站。
ssm是目前十分流行的web框架,采用java编程语言来实现相关功能。它被称为微框架(microframework),“微”并不是意味着把整个
Web应用放入到一个java文件,微框架中的“微”是指ssm旨在保持代码简洁且易于扩展,ssm框架的主要特征是核心构成比较简单,
但具有很强的扩展性和兼容性,程序员可以使用java语言快速实现一个网站或Web服务。一般情况下,它不会指定数据库和模板引擎等对象,学生可以根据需要自己选择各种数据库。ssm自身不会提供表单验证功能,在项目实施过程中可以自由配置,从而为应用程序开发提供数据库抽象层基础组件,支持进行表单数据合法性验证、文件上传处理、学生身份认证和数据库集成等功能。ssm主要包括Werkzeug和Jinja2两个核心函数库,它们分别负责业务处理和安全方面的功能,这些基础函数为web项目开发过程提供了丰富的基础组件。
Werkzeug库十分强大,功能比较完善,支持URL路由请求集成,一次可以响应多个学生的访问请求;支持Cookie和会话管理,通过身份缓存数据建立长久连接关系,并提高学生访问速度;支持交互式Javascript调试,提高学生体验;可以处理HTTP基本事务,快速响应客户端推送过来的访问请求。Jinja2库支持自动HTML转移功能,能够很好控制外部黑客的脚本攻击。系统运行速度很快,页面加载过程会将源码进行编译形成java字节码,从而实现模板的高效运行;模板继承机制可以对模板内容进行修改和维护,为不同需求的学生提供相应的模板。目前java的web框架有很多。除了ssm,还有django、Web2py等等。其中Diango是目前java的框架中使用度最高的。但是Django如同java的EJB(EnterpriseJavaBeansJavaEE服务器端组件模型)多被用于大型网站的开发,但对于大多数的小型网站的开发,使用SSH(Struts+Spring+Hibernat的一个JavaEE集成框架)就可以满足,和其他的轻量级框架相比较,ssm框架有很好的扩展性,这是其他Web框架不可替代的。
3.系统分析
3.1 可行性分析
在系统开发之初要进行系统可行分析,这样做的目的就是使用最小成本解决最大问题,一旦程序开发满足学生需要,带来的好处也是很多的。下面我们将从技术上、操作上、经济上等方面来考虑这个系统到底值不值得开发。
3.1.1 技术可行性
本学生成绩管理系统采用ssm框架、java编程语言和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。
3.1.2经济可行性
本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让学生觉得不流畅。学生一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于学生来说免培训就能使用。
从上面几个部分的可行性分析得出,这次开发的学生成绩管理系统在开发上面没有什么大问题,值得开发。
3.2 系统性能分析
(1)系统响应效率:页面响应时问应该在3秒以内,最长不能超过4秒,并支持至少10000人同时在线所有系统。
(2)界面简洁清晰:系统界面要求简单明了,容易操作,符合学生操作习惯。
(3)储存性高:因为学生成绩管理系统中有很多的信息需要存储,因此对于系统的存储量有很大的要求,需要有一个强大的数据库的支持才能确保所有的信息都能安全稳定的进行存储。
(4)易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。
(5)稳定性需求:开发的学生成绩管理系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
3.3 系统功能分析
本学生成绩管理系统主要包括三大功能模块,即管理员功能模块、教师模块、学生模块。
(1)管理员模块:首页、个人中心、学生管理、教师管理、优秀教师管理、优秀班主任管理、学校简介管理、教学课件管理、在线答疑管理、公告信息管理、优秀学生管理、班级成绩管理、学生成绩管理、试题管理、试卷管理、系统管理、考试管理等功能。管理员用例如图3-1所示。
图3-1 管理员用例图
(2)教师:首页、个人中心、教学课件管理、在线答疑管理、优秀学生管理、班级成绩管理、学生成绩管理、试题管理、试卷管理、考试管理等功能,用例如图3-2所示。
图3-2 教师用例图
(3)学生:首页、个人中心、在线答疑管理、班级成绩管理、学生成绩管理、我的收藏管理、考试管理。用例如图3-3所示。
图3-3 学生用例图
3.5系统流程分析
3.5.1登录流程
登录模块主要满足管理员以及学生的权限登录,学生登录流程图如图3-4所示。
图3-4 登录流程图
3.5.2注册流程
未有账号的学生可进入注册界面进行注册操作,学生注册流程图如图3-5所示。
图3-5 注册流程图
3.5.3添加信息流程
学生在添加信息时,信息编号自动生成,系统会对添加的信息进行验证,验证通过则添加至数据库,添加信息成功,反之添加失败。添加信息流程如图3-6所示。
图3-6 添加信息流程图
3.5.4删除信息流程
学生可选择要删除的信息进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图3-7所示。
4.系统设计
4.1系统概要设计
本学生成绩管理系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要学生能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:
图4-1 系统工作原理图
4.2系统结构设计
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。
本学生成绩管理系统结构图如图4-2所示。
图4-2 系统功能结构图
4.3系统顺序图设计
4.3.1登录模块顺序图
登录模块主要满足了管理员以及学生、教师的权限登录,登录模块顺序图如图4-3所示。
图4-3 登录顺序图
4.3.2添加信息模块顺序图
管理员以及学生、教师登录后均可进行添加信息操作,添加信息模块顺序图如图4-4所示。
图4-4 添加信息顺序图
4.4数据库设计
4.4.1数据库E-R图设计
本学生成绩管理系统采用的是MYSQL数据库,数据存储快,因为学生成绩管理系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确,系统的E-R图如下图所示:
1、教师信息实体图如图4-2所示:
图4-2 教师信息实体图
- 班级成绩管理实体图如图4-3所示:
图4-3班级成绩管理实体图
4.管理员信息实体图如图4-4所示:
图4-4管理员信息实体图
4.4.2数据库表设计
本学生成绩管理系统设计需要后台数据库,数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MYSQL,SQL Server, Oracle等。结合以上几点本系统采用了MYSQL数据库作为该系统的数据存储。一下是本学生成绩管理系统数据库的详细信息内容。各个表的设计结果如下:
表4-1 allusers表
列名 | 数据类型 | 长度 | 约束 |
id | int | 11 | NOT NULL |
username | varchar | 50 | default NULL |
pwd | varchar | 50 | default NULL |
cx | varchar | 50 | default NULL |
表4-2 xueshengxinxi表
列名 | 数据类型 | 长度 | 约束 |
id | int | 11 | NOT NULL |
xueshengxuehao | varchar | 50 | default NULL |
mima | varchar | 50 | default NULL |
xueshengxingming | varchar | 50 | default NULL |
nianji | varchar | 50 | default NULL |
banji | varchar | 50 | default NULL |
xingbie | varchar | 50 | default NULL |
lianxidianhua | varchar | 50 | default NULL |
youxiang | varchar | 50 | default NULL |
shenfenzheng | varchar | 50 | default NULL |
表4-3:jiaoshixinxi表
列名 | 数据类型 | 长度 | 约束 |
id | int | 11 | NOT NULL |
Jiaoshigonghao | varchar | 50 | default NULL |
mima | varchar | 50 | default NULL |
jiaoshixingming | varchar | 50 | default NULL |
xinbie | varchar | 50 | default NULL |
zhaopian | varchar | 50 | default NULL |
zhicheng | varchar | 50 | default NULL |
lianxidianhua | varchar | 50 | default NULL |
jiaoshiyouxiang | varchar | 50 | default NULL |
表4-4:youxiujiaoshi表
列名 | 数据类型 | 长度 | 约束 |
id | int | 11 | NOT NULL |
jiaoshigonghao | varchar | 50 | default NULL |
jiaoshixingming | varchar | 50 | default NULL |
fengmian | varchar | 50 | default NULL |
rongyu | varchar | 50 | default NULL |
xiangqing | varchar | 50 | default NULL |
表4-5:youxiubanzhuren表
列名 | 数据类型 | 长度 | 约束 |
id | int | 11 | NOT NULL |
addtime | varchar | 50 | default NULL |
xuexiaomingcheng | varchar | 50 | default NULL |
fengmian | varchar | 50 | default NULL |
xiaoyuanfengcai | varchar | 50 | default NULL |
xiaoyuanjianjie | varchar | 50 | default NULL |
表4-6:jiaoxuekejian表
列名 | 数据类型 | 长度 | 约束 |
id | int | 11 | NOT NULL |
addtime | varchar | 50 | default NULL |
biaoti | varchar | 50 | default NULL |
wenjian | varchar | 50 | default NULL |
fengmian | varchar | 50 | default NULL |
neirong | varchar | 50 | default NULL |
jiaoshigonghao | varchar | 50 | default NULL |
jiaoshixingming | varchar | 50 | default NULL |
fabushijian | varchar | 50 | default NULL |
5.系统详细设计
5.1管理员功能模块
管理员登录,管理员通过输入用户名、密码,角色进行系统登录,如图5-1所示。
图5-1管理员登录界面图
学生管理,在学生管理可以查看学生学号、学生姓名、密码、年级、班级、性别、联系电话、邮箱、身份证等信息并进行添加、删除、修改操作,如图5-2所示。
图5-2学生管理界面图
教师管理,在教师管理页面通过教师工号、密码、教师姓名、性别、职称、联系电话、教师邮箱并进行添加、删除、修改等操作,如图5-3所示。
图5-3教师管理界面图
优秀教师管理,在优秀教师管理页面通过标题、教师工号、教师姓名、封面、荣誉等并进行添加、删除、修改以及查看等操作,如图5-4所示。
图5-4优秀教师管理界面图
优秀班主任管理,在优秀班主任管理页面通过标题、教师工号、教师姓名、职称、封面等并进行添加、删除、修改以及查看操作,如图5-5所示。
图5-5优秀班主任管理界面图
教学课件管理,在教学课件管理页面通过标题、文件、封面、教师工号、教师姓名、发布时间等并进行添加、删除、修改以及查看操作,如图5-6所示。
图5-6教学课件管理界面图
公告信息管理,在公告信息管理页面通过标题、封面、发布时间等并进行添加、删除、修改以及查看操作,如图5-7所示。
图5-7公告信息管理界面图
优秀学生管理,在优秀学生管理页面通过标题、年级、班级、学生学号、学生成绩、发布时间、封面等并进行添加、删除、修改以及查看操作,如图5-8所示。
图5-8优秀学生管理界面图
学生成绩管理,在学生成绩管理页面通过标题、学生学号、科目、成绩、班排名、发布时间等并进行添加、删除、修改以及查看操作,如图5-9所示。
图5-9学生成绩管理界面图
5.2教师功能模块
教师登录,教师通过输入用户名,密码、角色进行系统登录,如图5-10所示。
图5-10教师登录界面图
个人信息,在个人信息页面通过教师工号、密码、教师姓名、性别、职称、联系电话、教师邮箱等并进行添加、删除、修改以及查看操作,如图5-11所示。
图5-11个人信息界面图
优秀学生管理在优秀学生管理页面通过标题、年级、班级、学生学号、学生成绩、发布时间、封面等并进行添加、删除、修改以及查看操作,如图5-12所示。
图5-12优秀学生管理界面图
班级成绩管理,在班级成绩管理页面通过标题、年级、班级、科目、总成绩、平均分、教师工号、登记时间等并进行添加、删除、修改以及查看操作,如图5-13所示。
图5-13班级成绩管理界面图
学生成绩,在学生成绩页面中可以查看标题、学生学号、科目、成绩、班排名、发布时间等详细操作,如图5-14所示。
图5-14学生成绩界面图
试卷管理,在试卷管理页面中可以查看试卷名称、考试时长、试卷状态等详细信息,并进行添加、删除、修改操作,如图5-15所示。
图5-15试卷管理界面图
5.3学生功能模块
学生登录,学生通过输入用户名,密码、角色进行系统登录,如图5-16所示。
图5-16学生登录界面图
在线答疑管理,在线答疑管理页面通过教师工号、学生学号、学生姓名、留言时间、审核回复等并进行详情操作,如图5-17所示。
图5-17在线答疑管理
班级成绩管理,在班级成绩管理页面中可以查看标题、年级、班级、科目、总成绩、平均分、教师工号、登记时间等详细操作,如图5-18所示。
图5-18班级成绩管理界面图
学生成绩管理,在学生成绩管理页面中可以查看标题、学生学号、科目、成绩、班排名、发布时间等详细操作,如图5-19所示。
图5-19学生成绩管理界面图
考试管理,在考试管理页面中可以查看试卷、考试时长/分钟等详细操作,如图5-20所示。
图5-20考试管理界面图
5.4 系统功能模块
学生成绩管理系统设计;主要实现首页、优秀教师、优秀班主任、学校简介、教学课件、公告信息、优秀学生、试卷列表、新闻资讯、我的、跳转到后台,功能。网站首页效果如图5-21所示:
图5-21首页界面
优秀教师,在优秀教师页面可以填写标题、教师工号、荣誉等详细,如图5-22所示:学校简介,在学校简介页面可以填写校园风采、校园简介等详细,如图5-23所示
图5-22优秀教师界面图
图5-23学校简介界面图
优秀学生,在优秀学生页面可以填写标题、年级、班级、学生学号、学生成绩、发布时间等详细,如图5-24所示:
图5-24优秀学生界面图
学生注册,在学生注册页面可以填写学生学号、学生姓名、密码、联系电话、邮箱、身份证等详细,如图5-25所示:
图5-25学生注册界面图
个人中心,在个人中心页面可以填写考试记录、错题本、我的收藏等详细,如图5-26所示:
图5-26个人中心界面图