数据库教务管理系统设计方案1.1背景伴随着网络的不断发展,便捷化,高效化的办公需求不断的摆在我们的面前,而教务管理也不例外,传统的手工式的操作已经远远不能满足日益增强的操作需求,所以步入20世纪以来,随着网络化的普及,开发出一款适用于校园办公的网络化办公软件一直是人们所致力于研究的产品,当然在这么多年的摸索与实践中教务管理系统也日趋成熟,似乎教务管理也无需完善,然而,网络应用不同于传统的手工应用,网络应用的宗旨是:满足于客户。
所以我选择了教务管理这一课题,希望能在前人的肩膀上对教务管理进行进一步的完善。
通过查阅资料以及到同类型的高校去浏览访问,我发现了一个问题,就是高校的教务管理系统强调的是其办公的便捷性而往往忽略了办公的趣味性以及资源平台的共享性,这在许多高校中是存在,当然,我们不否认办公的高效性与便捷性是一个教务管理系统最主要的功能实现,然而我们也不能否认一款网络应用最能吸引人眼球的是其趣味性的存在。
当然有人会怀疑作为一款办公性的软件其实用性往往要比他的趣味性重要,当然,这点也是不能否认的,可是我所说的趣味性指的是用户的参与度,我们不能把教务管理系统做成一款学生与学校之间的平台,而要做成一款联系学生与学校之间的纽带,让学生真正参与进教务管理这一项工作里来。
该套系统的主要功能包括:学籍管理、课程管理、成绩管理、教学管理以及“学”“校”易通等功能,能够最大程度上满足学生与学校以及学校对学生的管理。
1.2功能概述使用该系统可以使用一下的功能浏览校园热点信息;用户登录与注销;对自身信息的修改;留言;各类权限的操作;用户在使用时需要进行登录,如果不需要使用此功能,用户可以进行登出的操作,登出的用户不影响网页的使用。
1.3用户环境硬件环境处理器:Pentium3以上;存:大于512MB;硬盘:大于40G;软件环境操作系统:windows xp及以上;数据库:MySQL;Web容器:Tomcat 6.0;开发环境:Myeclipse 8.5 + JDK 1.7 + MySQL + Firefox + PhotoShop第二章概要设计及数据库设计确立一个系统的主要功能主要根据客户提出的要求进行设计,分析其主要需要实现的功能结构确定整体的设计方案,可以实现其流程方案图。
再通过各个模块的分析确定数据库的实现。
完成各功能之间的流图以及数据表之间的各种关联关系。
2.1 的功能结构设计通过对系统的分析,以及对各高校的教务管理系统的了解,可以分析得出以下的系统功能实现图,该系统的主要功能实现将围绕该系统功能实现图进行设计图2-1 功能结构图2.2数据库设计2.2.1数据库介绍本系统采用的是MySQL的数据库,改数据库的优点在于其轻量级的数据库操作,其高度的非过程化以及面向集合的操作方式使其广泛的应用于Internet的中小型上,他的体积小,速度快成本低让他成了大多数网络应用所亲睐的一款数据库产品,并且语言简单易学易用,也成了许多初学者使用的一款不错的数据库产品。
与oracle、db2等一些大型数据库相比他的不能自定义的数据类型使得产品性能大打折扣,以及对存储过程和触发器的支持不够良好是一些大型公司摒弃他的主要原因。
考虑到成本以及易用性、操作的简洁性,该套系统还是采用了MySQL作为数据的媒介,整套系统的数据库开发基于MySQL完成。
2.2.2数据库需求分析通过对本系统的分析,我们不难得出系统的数据模型,在数据模型的基础上可以简单的分析出数据流图。
通过建立E-R图可以分析出数据库的逻辑结构设计以及实现数据库。
各实体间存在着一对一、一对多、多对一、多对多的关系,分析出他们的关系是实现某一系统比不可少的步骤,通过对前人所完成的教务管理系统的研究以及结合自身的需求发现本系统需要实现前台界面以及后台管理界面。
通过流程的分析不难得出该系统功能流程图如下图所示:管理员失败登录成功选择功能数据库操作前台显示图2-2 管理员流程图对各个系统模块进行分析,我们可以不断的细化到每一个子模块的功能实现,然后确定每一个子模块所需要的用例,得到子模块的E-R图,根据分析,该系统主要需要以下的实体图2-3 学生信息实体图图2-4 教师信息实体图图2-5 用户实体图图2-6 院系信息实体图图2-7 班级信息实体图图2-8 课程信息实体图图2-9 专业信息实体图图2-10 选课信息实体图图2-11 留言实体图根据这些独立的实体图可以得到各个实体图的对应关系,分析他们之间的联系,我们可以得到他的实体关系图,我们可以看出管理员与用户,以及管理员与本系统之间的关系,一个专业可以对应多个专业方向,一个专业也可以在多个院系之间开展。
一个院系有多个年级,一个年级也有多个自然班级。
培养计划与课程之间存在着多对多的关系。
某一教师可以对应的多个班级的教学。
一个自然班也对应了多个学生。
通过分析我们可以得出以下的实体关系图图2-12 实体关系图2.2.3数据库表设计对上述E-R图的分析不断的对细节的完善我们可以在数据库中建立以下的一些表结构:管理后台管理员的表:管理员表admin(如表2-1所示)该表用来保存管理员的信息,其中管理员的编号是用来唯一标识管理员的存在,该字段为表的主键,其中的字段有管理员的用户名,密码等;表 2-1后台管理员表(admin)保存学生信息的表:学生信息表student(如表2-2所示)用来保存学生的信息,其中有学号,学生,学生性别,所在院系编号等。
学号作为该表的主键student_ID,实现自增;表2-2 学生信息表(student)保存教师信息的表:教师信息表teacher(如表2-3所示)用来保存教师的信息,其中有工号,教师,教师性别,所在院系编号等。
工号作为该表的主键teacher_ID,实现自增;表2-3 教师信息表(news)保存院系的表:院系信息表institute(如表2-4所示)用来保存学院的信息,其中包括学院代码,学院名称,学院负责人,院系地址,学院联系方式等。
其中学院代码设置为主键,实现自增;表2-4学院信息表(institute)保存留言的表:表guest为留言表(如表2-5所示)用来保存师生之间留言互动的信息容,主要包括编号,留言的容,留言的编号唯一标识留言表的容,实现自增;表2-5留言板(guest)保存专业信息的表:专业表major(如表2-6所示)用来保存院校专业的信息,主要包括专业代码,专业名称等,该表的主键为major_id,并且该主键为自增;表2-6专业信息(major)保存课程信息:课程信息表course(如表2-7所示)用来保存选课课程的信息,包括课程编号,课程名,该表的主键设为course_id,自增;表2-7课程信息(course)第三章系统的功能实现与详细设计3.1 实现功能3.1.1系统用例图本系统用户分为三类,第一类为:普通用户,可以浏览系统的一些信息。
包括校公告,校园动态等一系列公共新闻。
第二类为:学生,作为学生登录,则拥有对自身信息的查询修改,以及查询成绩,查询学分,选择课程,师生互动等操作。
第三类为:老师,老师的登陆则可以对本人本课程的成绩学分进行一些相应的操作。
网上解决学生问题等等。
下图3-1表示了一个用户的用例图:图3-1 用户用例图作为本系统的管理员,拥有以下的权限,首先管理员登录该系统的后台功能,身份验证成功后可以根据管理员所拥有的权限对该系统进行操作,作为本系统的超级管理员,拥有以下的所有权限,对学籍信息的操作;对管理员信息的操作;对课程的操作;对留言的操作;对教务的操作;退出该系统等。
另外,作为该系统的拥有不同权限的管理员只能对各自所拥有的权限进行操作,并且不能越过自己的权限。
下图3-2所示为管理员的用例图:图3-2 管理员用例图3.1.2 系统功能清单备注功能编号功能名称文中标题编号01 登录、注册注册新用户为管理员操作02 退出03 浏览校务信息04 浏览校园动态05 浏览留言信息06 自身权限操作学分,学籍(查询、修改)等07 留言08 信息修改3.2 时序说明3.2.1登录用户打开浏览器,通过访问的域名来使用本系统,由于本次操作是在测试环境进行的,在浏览器中输入localhost:8080//JWGLWebapp进入本系统,首先系统会进入index.html的界面,显示的各种新闻的信息,用户在使用该系统的时候选择登录按钮登陆到到该系统,此时后台将进入login.html的页面进行会员登录的验证。
用户在输入框输入学号(工号),密码,前台js将调用ajax进行用户名密码的验证,通过方法checkUser()进行验证,如果成功则进入下一页面。
如果不成功,则返回上一级菜单继续验证,即回到login.html准备再次验证信息,如下图3-3所示,为用户的一次登录的时序图图3-3 用户登录时序图3.2.2退出会员在成功登录后,如果不需要进行操作也可以选择点击退出按钮进行安全退出,当用户点击退出按钮时,系统加载logout.js进行注销,系统在注销的同时完成对本次操作的信息保存,以防用户的误操作下进行下一次登录的记录。
图3-4表示了用户在注销时所实现过程的时序图图3-4 用户注销时序图3.2.3注册使用本系统的用户为本校的学生与老师以及拥有权限的管理员,本系统用户名默认为学号且不可更改,用户可以根据喜好修改个人昵称,系统的密码默认为后六位,用户可以在个人信息中修改自己的密码。
3.2.4留言系统用户通过本系统进入留言界面,可以对老师以及学生进行留言的操作,也可以对本系统的提供的一些新闻等进行交流。
老师通过即时更新完成对学生问题反馈等一系列操作。
下图3-5表示了一次留言过程中的时序图图3-5 留言系统时序图第四章系统界面设计4.1 前台界面设计4.1.1登录模块图4-1 登录界面用户首次进入后,可以进行基本信息的浏览,校园热点新闻的预览等,是否需要使用一些特殊功能取决于用户自身的需求,学生登录成功后:能对学生自身做一些操作,包括成绩查询、学分查询、选择课程、留言管理等操作。
教师登录登陆成功后:可以对本人本学年所教的课程进行测评成绩的评定,以及方便快捷的联系到学生等。
管理员登录则可以拥有更高的操作权限。
存在的真实的用户将根据系统所规定的权限的不同完成不同的操作。
以下代码为用来判断用户是否真实public IUser publicCheck(String username, String password,String verifycode,RequestContext rc){// 判断对应的用户名是否存在int v_count = DBHelper.queryForScalar("select count(*) fromuser_info where phone=?", Integer.class, username);if (v_count == 0) {throw new RuntimeException("学号不存在或密码不正确");}String userPassword = DBHelper.queryForScalar("select password from user_info where phone = ?", String.class, username);password = CryptUtils.encrypt(password+ Constants.PASSWORD_STRDICT);if (!StringUtils.equals(password, userPassword)) {throw new RuntimeException("学号不存在或密码不正确");}return DBHelper.queryForBean("select phone as id, phone as username, cust_name as chsname from user_info where phone = ?",User.class, username);}登陆成功的用户将实现不同功能的展示,如图4-2、4-3所示:图4-2 学生登录图4-3 管理员登录4.1.2新闻模块新闻模块主要是给一些想了解我校信息的社会人士提供一个便捷的渠道,同时新闻模块也会发布一些校园的信息切实关系到学生的一些社会类的实践活动等,学生可以通过新闻模块报名参加。