教务管理系统课程设计报告
教务综合管理系统设计报告
专 业:成 员:指导老师:徐日 期:软件工程
车振军 陆建伟
徐 蕾 杨思倩
明 2016-6-15
一、引言
1.1 目的
为了保证项目小组能够按时完成小组任务及目标,便于项目小组成员更好地了解项目情况,使项目小组开展的各个过程合理有序,因此确定各个项目模块的开发情况和主要的负责人,供各项目模块的负责人阅读,做到及时协调,按步有序进行项目的开发,减少开发中的不必要损失。
预期的读者是设计人员、开发人员、项目管理人员、测试人员和用户。
1.2 背景
高校教务管理工作是高等教育中的一个极为重要的环节,是整个院校管理的核心和基础。面对种类繁多的数据和报表,手工处理方式已经很难跟上现代化管理的步伐,随着计算机及通讯技术的飞速发展,高等教育对教务管理工作提出了更高的要求。尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为整个教育系统亟待解决的课题之一。
教务管理系统是一个大型复杂的计算机网络信息系统,满足各类高校现在和将来对信息资源采集、存储、处理、组织、管理和利用的需求,实现信息资源的高度集成与共享,实现信息资源的集中管理和统一调度。为各级决策管理部门提出准确、及时的相关信息和快捷、方便、科学的决策分析处理系统;为信息交流、教务管理提供一个高效快捷的电子化手段;最终达到进一步提高各级领导科学决策水平,提高各院系、各部门管理人员管理水平与办公效率,减轻工作负担的目的。
教务管理系统面向管理员、教师和全校学生,实现学生管理、教师管理、课程管理、成绩处理。
1.3 定义
1.3.1 MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
1.3.2 MyEclipse
MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。
二、需求分析
2.1 功能需求
2.1.1 系统目标
通过本系统可以帮助教务处管理人员利用计算机快速方便的对学生信息以及对于教师信息、课程信息、成绩处理等进行管理,使散乱的信息能够具体化、直观化、合理化、简单化。 2.1.2 处理范围
管理员通过用户名与密码登录。一旦通过系统授予,可以对学生、教师、课程进行增删改查,成绩进行汇总以及排名的处理。
教师登录之后,能够进行课程的处理,以及教师信息的查询,成绩录入模块后续开放。
学生登录后,可以进行选课,成绩信息查询,以及向管理员留言。 2.1.3 系统功能
2.2 性能需求
(1)快速响应:软件响应时间,更新处理时间,要求尽可能的快;同样要求查询信息和成绩响应的结果尽可能的快。
(2)适应性强:对常用的操作系统、浏览器,可以不加修改直接使用;需借助其他软件进行操作的部分,用提供稳定的多余一种的与其他软件的接口;当数据的精度、结构与其他软件接口发生变化时,要求软件适应性强,灵活性大。当软件出现运行错误时,应有明确的提示,并尽可能的挽救用户已输入的数据。最后,系统硬件提供定期的数据备份功能。
(3)可扩充性:当使用到一定阶段时,数据和功能提供升级和更新。 (4)可靠度高:在各项数据的输入,输出及传输过程中要求保持数据的准确,当系统发生故障时,处理系统能及时备份数据库,避免数据流失
(5)友好的用户界面及操作的灵活性:系统提供浏览器界面,便于用户实现各种查询、发送操作。在系统操作工程中体现简单、方便、灵活的特点。为确认信息的传送双方在系统中传送信息的可靠性及安全性,采用认证方法,将信息及时反馈给用户,这样预防了信息的丢失及错发现象。
2.3 环境需求
软件开发环境:MyEclipse 数据库服务器:MySQL
客户端运行:windows 操作系统
三、系统设计
3.1 数据结构
综合可行性研究和需求分析,得出教务管理系统的实体类、边界类和控制类。
教务管理系统的实体类有课程表、管理员、学生、教师、成绩表和留言表(教学质量评价表),下图为教务管理系统实体类图:
教务管理系统实体类图
3.2 过程描述
教务管理系统分为管理员模块、教师模块和学生模块,有添加课表、查询课表、查询成绩、设置用户等用例,为更形象的表现各用例的实现过程,建立以下时序图:
(1)管理员、教师和学生都可以进行查询信息的操作,查询过程类似,首先输入自己的用户名和密码登入系统,点击相应的查询按钮。对于查询学生信息,选择学号可以准确的查到学生的信息,选择专业、班级能够显示相对应的学生信息。(图-学生信息查询)
: 学生 : 登录界面类 : 课程 : 成绩1: 输入用户名和密码2: 按学号查询3: 按班级查询
学生信息查询
(2)管理员可以汇总成绩,操作过程为:登录——>点击“成绩处理”按钮
: 管理员 : 登录界面类1: 输入用户名和密码2: 注册3: 修改4: 删除 : 用户
管理员设置用户
(5)用户有两种状态,未注册和已注册,状态图如下:
未注册注册用户已注册
(6)课表的两种状态,未录入和已录入。
未录入录入成绩已录入
(7)录入成绩由教师来操作,教师根据科目、学生学号来录入成绩。
录入成绩时序图
3.3 软件体系结构
教务管理系统组件图:
成绩成绩管理主系统成绩管理界面课程课程管理课程管理界面
教务管理组件图
3.5 图形用户接口界面
登陆界面(login.jsp)
管理员管理学生界面
_
_
四、各模块设计
4.1学生类详细设计
4.1.1 属性设计
学生类包含学生的各种信息,如姓名、班级、密码等,详情如下: 名称 Sid sname smajor sclass tcredit acredit 说明 学号 姓名 专业 班级 总学分 长度 10 20 20 30 类型 Varchar Varchar Varchar Varchar Double Double 描述 学生唯一标识 学生信息 学生信息 学生信息 学生信息 学生信息 平均学分绩点
egrade major classpm scode
最终至于成绩 专业排名 班级排名 密码 9 Double Int Int varchar 学生信息 学生信息 学生信息 用于学生登录 4.1.2 方法设计
1、从用户界面获取学生输入信息,传递到student.java类。然后student_slt对获取的信息进行处理。最后通过studentDao传入数据库。
2、mysql_query()函数执行一条MySQL查询,参数为query即要发送的sql
查询。学生要进行留言,使用查询语句\"select distinct evaluate.Sno from sreport,course,term,student,evaluate where sreport.Sno = '\".$sno.\"' and sreport.Sno =student.Sno and sreport.cno=course.cno and term.tid=sreport.tid and sreport.Sno=evaluate.Sno and sreport.cno=evaluate.cno \",将成绩表、学生表、课程表、留言表连结。
3、form表单处理,超全局变量$_GET 和 $_POST 用于收集表单数据。学生可以修改自己的密码,输入原密码和新密码。通过menu_slt.java修改数据库中的用户名和密码。
4.2教师类详细设计
4.2.1 属性设计
教师类包含教师的各种信息,如姓名、班级、密码等,详情如下: 名称 tid tname tcode 说明 教师id 教师姓名 登录密码 长度 10 20 9 类型 Varchar Varchar Varchar 描述 教师唯一标识 教师信息 教师登录 4.2.2 方法设计 方法基本与学生表相同
4.3课程类详细设计
4.3.1 属性设计
课程的属性有课程号、课程名称和学分。 名称 Cno cname credit 说明 课程号 课程名 课程学分 长度 10 20 类型 Varchar Varchar Double 描述 课程唯一标识 课程信息 课程信息 4.4用户类详细设计
4.4.1 属性设计 名称 Id Name Code Kind
4.4.2 方法设计
管理员可以修改自己的密码,方法同学生修改密码,管理员还可以查询信息:学生成绩、教学质量评价和课程,方法如下:
1、查询成绩运用form表单和sql语句查出后,用tr标签将变量显示出来。管理员查询成绩时可以按学号查也可以按学期查,有两个提交按钮,分别为submit2和submit,按学号查询,调用函数跳转到查询出个人成绩页面;点击submit即按学期查询,调用函数跳转到查询出全体成绩页面。
2、实现注册新生时,点击“注册新生”按钮,链接到学生注册页面。因为有以及提交按钮,所以也是使用form表单来完成,只是要修改sql语句为\"insert into student values('\".$sno.\"','\".$sname.\"','\".$scode.\"')\"。
说明 用户名 名称 密码 用户类别 长度 10 20 20 15 类型 Varchar Varchar Varchar Varchar 描述 用户的唯一标识 用户信息 登陆密码 区分用户 4.5留言类详细设计
4.5.1 属性设计
留言表是为学生对教师进行评价而设置的,学生通过对课程的评价从而实
现了对教师的评价,因为课程是由各个教师所教学的,所有教学质量难免有所不同。 名称 Id Name Content Date 说明 学生学号 学生姓名 内容 时间 长度 10 20 1000 50 类型 Varchar Varchar Varchar Varchar 描述 学生学号 学生信息 留言信息 留言时间 4.6学生查询课程类详细设计
4.6.1 属性设计 名称 Tid Tname Cno Cname Credit Avscore Maxscroe Minscroe Cteachno Clocation Ctime Cmax 说明 学生ID 学生姓名 课程号 课程名 学分 平均分 最高分 最低分 教授本课教师ID 教学地点 上课时间 上课人数 长度 10 20 10 20 30 20 类型 Varchar Varchar Varchar Varchar Double Double Double Double Int Varchar Varchar Int 描述 学生唯一标识 学生信息 课程信息 课程信息 课程信息 课程信息 课程信息 课程信息 教师信息 课程信息 课程信息 课程信息 4.7教师查询课程类详细设计
4.7.1 属性设计 名称 Tid Tname Cno Cname Credit AVscore Maxscore Minscore Cteachno Clocation Ctime Cmax
说明 教师id 教师姓名 课程号 课程名 课程学分 平均分 最高分 最低分 教授本课教师ID 教学地点 上课时间 上课人数 长度 10 20 10 20 30 20 类型 Varchar Varchar Varchar Varchar Double Double Double Double Int Varchar Varchar Int 描述 教师唯一标识 教师名 课程信息 课程信息 课程信息 课程信息 课程信息 课程信息 教师信息 课程信息 课程信息 课程信息 五、数据库设计
5.1概念设计
教务管理系统中涉及的实体类有:管理员、教师、学生、课程、教学质量评价、成绩,详细的类的属性和方法见下图:
(1)(2)(3)
管理员这个类的属性有用户名和密码,类的方法有增删改查课表、
增删改查学生信息和教师信息、删改查成绩、查询学生留言。
教师类的属性有用户名、姓名、密码和工号。
学生类的属性有学号、密码、姓名和班级,方法有查询成绩、查询
课表和进行留言。
(4) 课程类属性有课程号和课程名称。
(5) 留言表有学号、姓名、时间和课程号三个属性。
(6) 成绩类图有属性:记录号、课程号、学期号、学号和成绩。
5.2逻辑设计
本节描述数据库中关系表、主外键及各表的联系。对于教务管理系统,要实现的功能有录入学生基本信息、录入教师基本信息、录入课表、查询成绩、查询课表、学生留言;还有管理员可以对部分信息进行修改和删除操作。所以所涉及的表有7个分别为user表、course表、record表、sc表、student表、teacher表、tc表,以下分别对各个表进行详细解释。
user表保存管理员的信息,管理员的属性有ID、密码、姓名和类型。
名称ID(主键) 密码 Admin Admin 类型 Admin
王老师 小明 表间关系:
123456 123456 Teacher Student 1、User表与record表相关联,是一对多的关系,管理员可以操作多条record记录。
2、user表与student表相关联,是一对多的关系,管理员可以增删改查学生。
3、user表与course相关联,是多对多的关系,一门课可以由多个管理员录入,一个管理员也可以录入多门课。
4、user表与teacher表项关联,是一对多的关系,一个管理员可以增删改查多个教师。
Student表保存学生的信息,主要有学号、姓名、班级、成绩绩点、学分等。 Sid sname smajor sclass tcredit acredit egrade major classpm scode Null Null Null Null Null 111 小明 计算机 13419042 185 1、Student表与user表相关联
2、student表与sc表相关联,多对多的关系,一个学生有多门课,一门课也有多个学生。
Teacher表保存了教师的信息,主要有工号、姓名、密码。 Tid 123456 1、 2、
Tname 王老师 Tcode 123456 teacher表与tc表有关联,是多对多的关系,一个教师可以开设多个课程,一个课程也可以由多个教师开设。 teacher表与course表也由关联。