教务管理系统设计报告.docx
《教务管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《教务管理系统设计报告.docx(22页珍藏版)》请在冰豆网上搜索。
![教务管理系统设计报告.docx](https://file1.bdocx.com/fileroot1/2022-12/10/d2345f11-1389-4080-93e8-c2b1096f1f67/d2345f11-1389-4080-93e8-c2b1096f1f671.gif)
教务管理系统设计报告
信息系统工程与实践
《教务管理系统》
设计报告
专业班级:
计本1201班
项目分组:
计本1201班第二组
姓名学号1:
戴明昊1205170107
姓名学号2:
杨新芬1205170130
姓名学号3:
万丽涛1205170102
编写人:
戴明昊1205170107
系统设计报告
1引言
1.1编写目的
编写本报告是为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,因此本报告确定各个项目模块的开发情况和主要的负责人,供各项目模块的负责人阅读,做到及时协调,按步有序进行项目的开发,减少开发中的不必要损失。
本报告预期的读者是设计人员、开发人员、项目管理人员、测试人员和用户。
1.2项目背景
教务管理教务管理系统面向教务处、院、系教师和全校学生,实现学籍管理、课表管理、成绩管理、教学质量监控等功能.
1.3定义
SQL(StructuredQueryLanguage)结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通.PHP开发平台.
1。
4参考资料
(1)钱乐秋等,《软件工程》,清华大学出版社;
(2)张害藩,《软件工程导论》(第四版),清华大学出版社;
(3)王珊等,《数据库原理及设计》,清华大学出版社;
(4)赵池龙等,《软件工程实践教程》,电子工业出版社.
2系统范围描述
2.1系统目标
旧的教务管理系统,是传统手工作业方式,在学生信息注册、教师查询成绩、管理员修改成绩等方面存在诸多不利于管理的地方,不适应现代的教学管理形势和信息资源开发利用的要求。
开发新的教务管理系统使学校的教务管理工作实现了信息化、规范化,不仅使学校能够高效率完成教务管理的日常工作,还使学校深入开发利用教学资源成为可能。
2。
2软硬件配置
运行环境:
Windows
数据库:
MYSQL
硬件条件:
服务器sun工作站,终端为pc机
2。
3系统功能
开发教务管理系统旨在改变原有人工进行教务管理的工作方式,实现学籍管理、课表管理、成绩管理、教学质量监控等功能.下图是教务管理系统功能模块图:
图1教务管理系统功能模块图
2。
4限制与约束
a.系统的运行寿命的最小值:
2年
b.进行系统方案选择比较的时间:
1周
c.经费来源:
**公司
d.运行环境:
Windows
e。
数据库:
MYSQL
f.硬件条件:
服务器sun工作站,终端为pc机
g.系统投入使用的最晚时间:
2个月
3系统设计描述
3.1数据结构
综合可行性研究和需求分析,得出教务管理系统的实体类、边界类和控制类。
(1)教务管理系统的实体类有课程表、管理员、学生、教师、成绩表和教学质量评价表,下图为教务管理系统实体类图:
图2教务管理系统实体类图
(2)教务管理系统边界类有用户登录界面类、课程表管理界面类、教学质量评价管理界面类和成绩管理界面类。
图3教务管理系统边界类图
(3)教务管理系统控制类有按钮类和链接类。
图4教务管理系统控制类图
3。
2过程描述
教务管理系统分为管理员模块、教师模块和学生模块,有录入课表、录入成绩、查询课表、查询成绩、进行教学质量评价、设置用户等用例,为更形象的表现各用例的实现过程,建立以下时序图:
(1)管理员、教师和学生都可以进行查询信息的操作,查询过程类似,首先输入自己的用户名和密码登入系统,点击“查询成绩”按钮或“查询教学质量评价”按钮或“查询课表”按钮。
对于查询成绩,选择学期可查看相应学期成绩,只是学生查询到的是本人各科目成绩,教师可以查看班级成绩,管理员可查看全校学生成绩.
图5查询信息时序图
(2)管理员可以修改成绩,操作过程为:
登录——〉点击“修改成绩”按钮—->选择学号—->选择课程——修改该科目成绩。
图6修改成绩时序图
(3)学生应当对教师进行教学质量评价,进入教学评价质量界面后,根据评价细则选择评价等级完成评价。
图7进行教学质量评价时序图
(4)录入成绩由教师来操作,教师根据科目、学生学号录入学生成绩。
图8录入成绩时序图
(5)管理员进行录入课表的操作,登录成功后,选择“录入课表"按钮,根据系统所给表格,填入各节课程,保存后完成录入课表操作.
图9录入课表时序图
(6)设置用户由管理员来操作,可以注册用户、修改用户信息和删除用户信息。
注册用户就是运用sql语句中的insertinto在数据库中插入信息;修改信息运用update对数据库进行操作;delete为删除用户信息。
图10录入学生信息时序图
(7)用户有两种状态,未注册和已注册,状态图如下:
图11用户状态图
(8)对于教学质量评价表,它的状态也有两种,即已评价和未评价.
图12教学质量评价表状态图
(9)成绩表的两种状态,未录入和已录入。
图13成绩表状态图
(10)课表的两种状态,未录入和已录入.
图14课程表状态图
3。
3软件体系结构
(1)组件图
根据类图创建的教务管理系统组件图包括:
成绩管理、课表管理和教学质量评价管理。
图15教务管理系统组件图
(2)配置图
教务管理系统处理器及其设备之间的连接,以及处理器到处理器的布置,如下图:
图16教务管理系统配置图
3.4输出报表描述
教务管理系统中输出的报表有学生成绩、课表、教学质量评价、学生信息。
(1)管理员可以查看全体学生成绩,报表输出如下:
图17成绩报表图
(2)学生登录后可以查看自己的成绩,报表输出如下:
图18学生个人信息报表图
3。
5图形用户接口界面
教务管理系统分为管理员模块、教师模块和学生模块,各个模块图形用户接口界面如下:
(1)鉴于教务管理系统面向的用户有管理员、教师和学生,所以下图为登录界面,用户输入自己的用户名和密码后,选择身份进入系统。
图19用户登录界面图
(2)学生登录后直接查出自己的成绩,并可以进行教学质量评价和修改密码。
图20查询成绩界面图
(3)学生可以修改密码,界面如下图:
图21学生修改密码界面图
(4)管理员登录后可以查询成绩、查询学生信息、录入成绩、查看教学质量评价和留言等.
图22管理员操作界面图
(5)管理员可以查询学生信息,界面如下图:
图23管理员查询学生信息界面图
(6)录入成绩界面如下图:
图24录入成绩界面图
4各模块描述
4。
1学生类详细设计
4。
1.1属性设计
学生类包含学生的各种信息,如姓名、所属班级、密码等,详细的格式设计见下表:
表1学生类属性设计表
名称
说明
可见性
长度
类型
描述
Sname
学生姓名
私有
20
int
学生信息
Scode
学生密码
私有
20
int
学生信息
Sqs
学生密保问题
私有
text
学生用于保护和找回学生密码
Sas
学生密保答案
私有
text
学生用于保护和找回学生密码
Sclass
班级
私有
10
varchar
学生信息
Sno
学号
私有
11
int
学生信息
4。
1。
2方法设计
1、functiontosubmit1()和functiontosubmit2()函数,有两个变量,submit和submit1,分别供“学生”按钮和“管理员”按钮使用.输入用户名和密码后,点击“学生”按钮调用functiontosubmit1()函数,functiontosubmit1()函数又调用document。
form1.submit()函数,使得onclick事件跳转到student_login.php页面即学生登录后进入的页面;点击“管理员”按钮,调用functiontosubmit2()函数,同点击“学生”按钮,只是跳转到admin_login.php页面即管理员登录后进入的页面。
2、mysql_query()函数执行一条MySQL查询,参数为query即要发送的sql查询.学生要进行教学质量评价,使用查询语句"selectdistinctevaluate。
Snofromsreport,course,term,student,evaluatewheresreport.Sno='".$sno。
”'andsreport。
Sno=student。
Snoandsreport。
cno=course。
cnoandterm.tid=sreport。
tidandsreport.Sno=evaluate。
Snoandsreport。
cno=o”,将成绩表、学生表、课程表、评价表连结。
3、mysql_fetch_array()函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有返回根据从结果集取得的行生成的数组,如果没有更多行则返回false.经2使用mysql_query()函数查询到结果后,用mysql_fetch_array()函数将Cmt_no即评分等级取出,再用if语句进行判断,若Cmt_no不空,则用echo显示“已评价"。
Cmt_no是长度为11的int型变量。
4、form表单处理,超全局变量$_GET和$_POST用于收集表单数据。
学生可以修改自己的密码,输入原密码和新密码,点击“修改”按钮,“修改"按钮在seditcode.php页面,点击“修改"按钮后跳转到sedit1.php页面,在这个页面用post来接收,使用sql语句里的"updatestudentsetscode='”。
$ncode.”’whereSno=’”.$sno。
"’”更新数据库中的字段“学生密码”。
4.2管理员类详细设计
4.2.1属性设计
管理员类包含管理员的各种信息,如管理员ID、管理员密码等。
表2管理员类属性设计表
名称
说明
可见性
长度
类型
描述
Aid
管理员ID
私有
20
varchar
管理员的一个唯一标志
Acode
管理员密码
私有
20
varchar
用于管理员登录
Aqs
管理员密保问题
私有
text
用于保护和找回密码
Aas
管理员密保答案
私有
text
用于保护和找回密码
4。
2。
2方法设计
管理员可以修改自己的密码,方法同学生修改密码,管理员还可以查询信息:
学生成绩、教学质量评价和课程,方法如下:
1、查询成绩运用form表单和sql语句查出后,用tr标签将变量显示出来.管理员查询成绩时可以按学号查也可以按学期查,有两个提交按钮,分别为submit2和submit,运用tosubmit1()函数,点击submit2即按学号查询,调用tosubmit1()函数跳转到查询出个人成绩页面;点击submit即按学期查询,调用tosubmit2()函数跳转到查询出全体成绩页面。
2、实现注册新生时,点击“注册新生”按钮,链接到insert_sinfo.php页面.因为有以及提交按钮,所以也是使用form表单来完成,只是要修改sql语句为"insertintostudentvalues(’”。
$sno。
”','".$sname。
”',’”。
$scode。
”’,'"。
$sqs.”',’”.$sas。
"’)”。
4。
3教学质量评价类详细设计
4。
3。
1属性设计
教学质量评价是为学生对教师进行评价而设置的,学生通过对课程的评价从而实现了对教师的评价,因为课程是由各个教师所教学的.
表3教学质量评价类属性设计表
名称
说明
可见性
长度
类型
描述
Sno
学号
私有
11
int
学生信息
Cno
课程号
私有
20
int
课程信息
Cmt_no
评价等级
私有
11
int
学生对教师的评价等级
4.4学期类详细设计
4.4.1属性设计
学期类属性有学期号和学期名称.
表4学期类属性设计表
名称
说明
可见性
长度
类型
描述
Tid
学期号
私有
20
varchar
学期的唯一标志
Tname
学期名称
私有
20
varchar
学期名称
4。
5成绩类详细设计
4。
5。
1属性设计
成绩通过一条一条的记录去保存,一条记录保存一个学生一门课程某个学期的成绩.
表5成绩类属性设计表
名称
说明
可见性
长度
类型
描述
Rid
记录号
私有
20
varchar
成绩的记录号
Rgrade
成绩
私有
20
int
学生成绩
Rnote
备注
私有
20
int
成绩表里的备注信息
Tid
学期号
私有
20
varchar
学期的唯一标志
Sno
学号
私有
11
int
学生信息
Cno
课程号
私有
20
int
课程信息
4.6课程类详细设计
4。
6。
1属性设计
课程的属性有课程号和课程名称。
表6课程类属性设计表
名称
说明
可见性
长度
类型
描述
Cno
课程号
私有
20
int
课程信息
Cname
课程名称
私有
20
varchar
课程信息
5数据库设计
5。
1概念设计
教务管理系统中涉及的实体类有:
管理员、教师、学生、课程、教学质量评价、成绩,详细的类的属性和方法见下图:
(1)管理员这个类的属性有用户名和密码,类的方法有增删改查课表、增删改查学生信息和教师信息、删改查成绩、查询教学质量评价。
图25教务管理系统管理员类图
(2)教师类的属性有用户名、姓名、密码和工号。
图26教务管理系统教师类图
(3)学生类的属性有学号、密码、姓名和班级,方法有查询成绩、查询课表和进行教学质量评价。
图27教务管理系统学生类图
(3)课程类属性有课程号和课程名称.
图28教务管理系统课程类图
(4)教学质量评价类有评价等级、学号和课程号三个属性。
图29教务管理系统教学质量评价类图
(5)成绩类图有属性:
记录号、课程号、学期号、学号和成绩。
图30教务管理系统成绩类图
5.2逻辑设计
本节描述数据库中关系表、主外键及各表的联系.对于教务管理系统,要实现的功能有录入学生基本信息、录入教师基本信息、录入课表、录入成绩、进行教学质量评价;查询成绩、查询课表、查询教学质量评价;还有管理员可以对部分信息进行修改和删除操作。
所以所涉及的表有8个分别为admin表、course表、evaluate表、feedback表、sreport表、student表、teach表、term表,以下分别对各个表进行详细解释。
(1)admin表保存管理员的信息,管理员的属性有ID、密码、密保问题和密保答案,密保为保护管理员密码和修改密码所需。
表7admin表
管理员ID(主键)
管理员密码
管理员密保问题
管理员密保答案
Aid
Acode
Aqs
Aas
admin1
1001
howareyou
good
admin2
1002
nicetomeetyou
3q
admin3
1003
areyouOK
fine
表间关系:
vadmin表与feedback表有联系,且是1对多的关系,一个管理员可以进行多条留言。
vadmin表与teach表有联系,为多对多的关系,一个管理员可以录入多门课程,一门课程也可以由多个管理员来管理。
(2)course表反映的是课程号和课程名称。
管理员录入课表时,系统作出的响应就是在course表中插入课程号和课程名称。
表8course表
课程号(主键)
课程名称
Cno
Cname
1
Math
2
Chinese
3
Database
4
Program
5
Economics
6
Finance
7
English
表间关系:
vcourse表与evaluate表是多对多的关系,表面上是学生对教师进行教学质量评价,实质是通过选择课程来通过对教学这门课程的教师进行评价。
一门课程对应多个学生学习,因此有多个评价;一个学生学习多门课程,所以课程与评价是多对多的关系。
vcourse表与sreport表是1对多的关系,一门课程有多个成绩记录,即一门课程被多个学生学习,有多条成绩记录;一个记录只有一门课程成绩,所以课程与成绩记录是1对多的关系。
vcourse表与teach表是多对多的关系,一门课程可以由多个管理员来管理,一个管理员也可对多个课程进行管理。
(3)evaluate表是学生对教师进行教学质量评价所需。
学生进行教学质量评价时,系统的响应就是在evaluate表中插入一条条的评价记录,包括哪个学生(学号)对哪门课程(课程号)做出的评价等级。
表9evaluate表
学号(主键)
课程号(主键)
评分号
Sno
Cno
Cmt_no
201402
1
5
201401
4
1
201401
2
1
201401
3
5
201401
1
5
201402
2
5
表间关系:
vevaluate表与student表是多对多的关系,一个评价对应多个学生,一个学生可进行多个评价。
(4)feedback表是保存管理员留言的表。
表10feedback表
管理员ID
管理员留言
Aid
Afb
admin1
nihao
admin2
hello
admin1
howareyou
admin1
333
admin1
21221
admin1
111
admin1
2222
表间关系:
vfeedback表与admin表是1对多的关系,一个反馈对应一个管理员,一个管理员可进行多条反馈.
(5)sreport表是记录学生各学期各科成绩的表,由学号、课程号和学期号共同构成主键。
表11sreport表
记录ID
学号(主键)
课程号(主键)
学期成绩
学期备注
学期ID(主键)
Rid
Sno
Cno
Rgrade
Rnote
Tid
report1
201401
1
99
null
0001
report6
201402
1
92
null
0001
report9
201401
2
93
null
0002
report12
201402
2
98
null
0002
report2
201401
3
78
null
0001
report3
201401
4
66
null
0002
表间关系:
vsreport表与student表是1对多的关系,一条成绩记录对应一个学生,一个学生有多条成绩记录,因为学生学习多门课程。
vsreport表与term表是1对多的关系,一条成绩记录对应一个学期,一个学期有多条成绩记录,因为一个学期里有多门成绩。
(6)student表,记录了学生的属性,学号、姓名、密码、班级等.
表12student表
学号
姓名
密码
学生密保问题
学生密保答案
班级
Sno
Sname
Scode
Sqs
Sas
Sclass
201401
Jack
201401
whereareyoufrom
beijing
CS01
201402
Amy
201402
howoldareyou
20
CS01
201403
Handy
201403
AreyouOK?
OK
CS02
201404
Ganby
201404
isitgood
good
PP01
201405
Tommy
201405
you
me
PP02
表间关系:
vstudent表和evaluate表是多对多的关系,一个学生可以进行多个教学质量评价,一个教学质量评价也由多个学生评价.
(7)teach表反映管理员所管理的课程号。
表13teach表
管理员ID
课程号
Aid
Cno
admin1
1
admin1
2
admin1
3
admin2
4
admin2
5
admin3
6
admin3
7
表间关系:
vteach表和admin表是多对多的关系,一个管理员对应管理多个课程,一个课程可以由多个管理员管理。
(8)term表反映学期号和学期名称.
表14term表
学期ID
学期名称
Tid
Tname
0001
2014term1
0002
2014term2
表间关系:
vterm表和sreport表是1对多的关系,一个学期对应多条成绩记录,因为一个学期有多门课程、多个学生学习;一条成绩记录对应一个学期,因为成绩记录是一个学期一门课程一个学生独有一条成绩记录。