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