1、信息系统工程与实践教务管理系统 设计报告专业班级: 计本1201班 项目分组:计本1201班第二组姓名学号1:戴明昊1205170107姓名学号2:杨新芬1205170130姓名学号3:万丽涛1205170102编写人:戴明昊1205170107目录1引言11.1编写目的11。2项目背景11。3定义11。4参考资料12系统范围描述22.1系统目标22。2软硬件配置22.3系统功能22。4限制与约束33系统设计描述33.1数据结构33.2过程描述43。3软件体系结构73。4输出报表描述83。5图形用户接口界面94各模块描述114。1学生类详细设计114。2管理员类详细设计124.3教学质量评价类
2、详细设计124。4学期类详细设计134。5成绩类详细设计134。6课程类详细设计135数据库设计145。1概念设计145.2逻辑设计15系统设计报告1引言1.1编写目的编写本报告是为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,因此本报告确定各个项目模块的开发情况和主要的负责人,供各项目模块的负责人阅读,做到及时协调,按步有序进行项目的开发,减少开发中的不必要损失.本报告预期的读者是设计人员、开发人员、项目管理人员、测试人员和用户。1.2项目背景教务管理教务管理系统面向教务处、院、系教师和全校学生,实现学籍管理、课表管理、成绩管理、
3、教学质量监控等功能。1。3定义SQL(Structured Query Language)结构化查询语言。SQL 语言的主要功能就是同各种数据库建立联系,进行沟通。PHP开发平台。1.4参考资料(1) 钱乐秋等,软件工程,清华大学出版社;(2) 张害藩,软件工程导论(第四版),清华大学出版社;(3) 王珊等,数据库原理及设计,清华大学出版社;(4) 赵池龙等,软件工程实践教程,电子工业出版社.2系统范围描述2。1系统目标旧的教务管理系统,是传统手工作业方式,在学生信息注册、教师查询成绩、管理员修改成绩等方面存在诸多不利于管理的地方,不适应现代的教学管理形势和信息资源开发利用的要求.开发新的教务
4、管理系统使学校的教务管理工作实现了信息化、规范化,不仅使学校能够高效率完成教务管理的日常工作,还使学校深入开发利用教学资源成为可能。2.2软硬件配置运行环境:Windows数据库:MYSQL硬件条件:服务器sun工作站,终端为pc机2。3系统功能开发教务管理系统旨在改变原有人工进行教务管理的工作方式,实现学籍管理、课表管理、成绩管理、教学质量监控等功能。下图是教务管理系统功能模块图:图 Error! Bookmark not defined.教务管理系统功能模块图2。4限制与约束a.系统的运行寿命的最小值:2年b.进行系统方案选择比较的时间:1周c。经费来源:公司d。运行环境:Windowse
5、。数据库:MYSQLf。硬件条件:服务器sun工作站,终端为pc机g。系统投入使用的最晚时间:2个月3系统设计描述3.1数据结构综合可行性研究和需求分析,得出教务管理系统的实体类、边界类和控制类。(1)教务管理系统的实体类有课程表、管理员、学生、教师、成绩表和教学质量评价表,下图为教务管理系统实体类图:图 Error! Bookmark not defined. 教务管理系统实体类图(2) 教务管理系统边界类有用户登录界面类、课程表管理界面类、教学质量评价管理界面类和成绩管理界面类。图 1 教务管理系统边界类图(3) 教务管理系统控制类有按钮类和链接类。图 Error! Bookmark no
6、t defined. 教务管理系统控制类图3。2过程描述教务管理系统分为管理员模块、教师模块和学生模块,有录入课表、录入成绩、查询课表、查询成绩、进行教学质量评价、设置用户等用例,为更形象的表现各用例的实现过程,建立以下时序图:(1)管理员、教师和学生都可以进行查询信息的操作,查询过程类似,首先输入自己的用户名和密码登入系统,点击“查询成绩”按钮或“查询教学质量评价按钮或“查询课表”按钮。对于查询成绩,选择学期可查看相应学期成绩,只是学生查询到的是本人各科目成绩,教师可以查看班级成绩,管理员可查看全校学生成绩。图 2查询信息时序图(2)管理员可以修改成绩,操作过程为:登录点击“修改成绩按钮-选
7、择学号选择课程-修改该科目成绩。图 Error! Bookmark not defined.修改成绩时序图(3)学生应当对教师进行教学质量评价,进入教学评价质量界面后,根据评价细则选择评价等级完成评价。图 3进行教学质量评价时序图(4) 录入成绩由教师来操作,教师根据科目、学生学号录入学生成绩.图 Error! Bookmark not defined.录入成绩时序图(5) 管理员进行录入课表的操作,登录成功后,选择“录入课表按钮,根据系统所给表格,填入各节课程,保存后完成录入课表操作。图 4录入课表时序图(6) 设置用户由管理员来操作,可以注册用户、修改用户信息和删除用户信息。注册用户就是运
8、用sql语句中的insert into在数据库中插入信息;修改信息运用update对数据库进行操作;delete为删除用户信息。图 5录入学生信息时序图(7) 用户有两种状态,未注册和已注册,状态图如下:图 Error! Bookmark not defined. 用户状态图(8) 对于教学质量评价表,它的状态也有两种,即已评价和未评价。图 6 教学质量评价表状态图(9)成绩表的两种状态,未录入和已录入。图 Error! Bookmark not defined. 成绩表状态图(10) 课表的两种状态,未录入和已录入。图 Error! Bookmark not defined. 课程表状态图3
9、.3软件体系结构(1) 组件图根据类图创建的教务管理系统组件图包括:成绩管理、课表管理和教学质量评价管理。图 7教务管理系统组件图(2) 配置图教务管理系统处理器及其设备之间的连接,以及处理器到处理器的布置,如下图:图 Error! Bookmark not defined. 教务管理系统配置图3。4输出报表描述教务管理系统中输出的报表有学生成绩、课表、教学质量评价、学生信息。(1)管理员可以查看全体学生成绩,报表输出如下:图 8 成绩报表图(2)学生登录后可以查看自己的成绩,报表输出如下:图 9 学生个人信息报表图3。5图形用户接口界面教务管理系统分为管理员模块、教师模块和学生模块,各个模块
10、图形用户接口界面如下:(1)鉴于教务管理系统面向的用户有管理员、教师和学生,所以下图为登录界面,用户输入自己的用户名和密码后,选择身份进入系统。图 10 用户登录界面图(2)学生登录后直接查出自己的成绩,并可以进行教学质量评价和修改密码。图 Error! Bookmark not defined. 查询成绩界面图(3) 学生可以修改密码,界面如下图:图 Error! Bookmark not defined. 学生修改密码界面图(4) 管理员登录后可以查询成绩、查询学生信息、录入成绩、查看教学质量评价和留言等。图 Error! Bookmark not defined. 管理员操作界面图(5)
11、 管理员可以查询学生信息,界面如下图:图 Error! Bookmark not defined. 管理员查询学生信息界面图(6) 录入成绩界面如下图:图 11 录入成绩界面图4各模块描述4。1学生类详细设计4。1。1属性设计学生类包含学生的各种信息,如姓名、所属班级、密码等,详细的格式设计见下表:表 Error! Bookmark not defined.学生类属性设计表名称说明可见性长度类型描述Sname学生姓名私有20int学生信息Scode学生密码私有20int学生信息Sqs学生密保问题私有text学生用于保护和找回学生密码Sas学生密保答案私有text学生用于保护和找回学生密码Scl
12、ass班级私有10varchar学生信息Sno学号私有11int学生信息4。1。2方法设计1、function tosubmit1()和function tosubmit2()函数,有两个变量,submit和submit1,分别供“学生按钮和“管理员按钮使用。输入用户名和密码后,点击“学生”按钮调用function tosubmit1()函数,function tosubmit1()函数又调用document。form1.submit()函数,使得onclick事件跳转到student_login.php页面即学生登录后进入的页面;点击“管理员”按钮,调用function tosubmit2(
13、)函数,同点击“学生”按钮,只是跳转到admin_login.php页面即管理员登录后进入的页面。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=o and term。tid=sreport.tid and sreport.S
14、no=evaluate.Sno and sreport。cno=evaluate。cno ”,将成绩表、学生表、课程表、评价表连结。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 用于
15、收集表单数据.学生可以修改自己的密码,输入原密码和新密码,点击“修改”按钮,“修改”按钮在seditcode。php页面,点击“修改按钮后跳转到sedit1。php页面,在这个页面用post来接收,使用sql语句里的update student set scode=。ncode。” where Sno=.sno.”更新数据库中的字段“学生密码”。4.2管理员类详细设计4。2。1属性设计管理员类包含管理员的各种信息,如管理员ID、管理员密码等。表 Error! Bookmark not defined. 管理员类属性设计表名称说明可见性长度类型描述Aid管理员ID私有20varchar管理员的一
16、个唯一标志Acode管理员密码私有20varchar用于管理员登录Aqs管理员密保问题私有text用于保护和找回密码Aas管理员密保答案私有text用于保护和找回密码4。2.2方法设计管理员可以修改自己的密码,方法同学生修改密码,管理员还可以查询信息:学生成绩、教学质量评价和课程,方法如下:1、查询成绩运用form表单和sql语句查出后,用tr标签将变量显示出来.管理员查询成绩时可以按学号查也可以按学期查,有两个提交按钮,分别为submit2和submit,运用tosubmit1()函数,点击submit2即按学号查询,调用tosubmit1()函数跳转到查询出个人成绩页面;点击submit即
17、按学期查询,调用tosubmit2()函数跳转到查询出全体成绩页面。2、实现注册新生时,点击“注册新生按钮,链接到insert_sinfo.php页面.因为有以及提交按钮,所以也是使用form表单来完成,只是要修改sql语句为”insert into student values(”。sno。”,”.sname.,”.$scode。,”。sqs.”,。sas。”)”。4。3教学质量评价类详细设计4.3.1属性设计教学质量评价是为学生对教师进行评价而设置的,学生通过对课程的评价从而实现了对教师的评价,因为课程是由各个教师所教学的。表 Error! Bookmark not defined. 教学
18、质量评价类属性设计表名称说明可见性长度类型描述Sno学号私有11int学生信息Cno课程号私有20int课程信息Cmt_no评价等级私有11int学生对教师的评价等级4。4学期类详细设计4。4。1属性设计学期类属性有学期号和学期名称。表 Error! Bookmark not defined. 学期类属性设计表名称说明可见性长度类型描述Tid学期号私有20varchar学期的唯一标志Tname学期名称私有20varchar学期名称4。5成绩类详细设计4.5。1属性设计成绩通过一条一条的记录去保存,一条记录保存一个学生一门课程某个学期的成绩。表 Error! Bookmark not defin
19、ed. 成绩类属性设计表名称说明可见性长度类型描述Rid记录号私有20varchar成绩的记录号Rgrade成绩私有20int学生成绩Rnote备注私有20int成绩表里的备注信息Tid学期号私有20varchar学期的唯一标志Sno学号私有11int学生信息Cno课程号私有20int课程信息4.6课程类详细设计4.6。1属性设计课程的属性有课程号和课程名称。表 1 课程类属性设计表名称说明可见性长度类型描述Cno课程号私有20int课程信息Cname课程名称私有20varchar课程信息5数据库设计5.1概念设计教务管理系统中涉及的实体类有:管理员、教师、学生、课程、教学质量评价、成绩,详细
20、的类的属性和方法见下图:(1)管理员这个类的属性有用户名和密码,类的方法有增删改查课表、增删改查学生信息和教师信息、删改查成绩、查询教学质量评价.图 Error! Bookmark not defined.教务管理系统管理员类图(2) 教师类的属性有用户名、姓名、密码和工号。图 Error! Bookmark not defined. 教务管理系统教师类图(3) 学生类的属性有学号、密码、姓名和班级,方法有查询成绩、查询课表和进行教学质量评价。图 12教务管理系统学生类图(3)课程类属性有课程号和课程名称。图 13 教务管理系统课程类图(4) 教学质量评价类有评价等级、学号和课程号三个属性.图
21、 Error! Bookmark not defined. 教务管理系统教学质量评价类图(5) 成绩类图有属性:记录号、课程号、学期号、学号和成绩。图 Error! Bookmark not defined. 教务管理系统成绩类图5。2逻辑设计本节描述数据库中关系表、主外键及各表的联系。对于教务管理系统,要实现的功能有录入学生基本信息、录入教师基本信息、录入课表、录入成绩、进行教学质量评价;查询成绩、查询课表、查询教学质量评价;还有管理员可以对部分信息进行修改和删除操作.所以所涉及的表有8个分别为admin表、course表、evaluate表、feedback表、sreport表、stude
22、nt表、teach表、term表,以下分别对各个表进行详细解释。(1) admin表保存管理员的信息,管理员的属性有ID、密码、密保问题和密保答案,密保为保护管理员密码和修改密码所需。表 Error! Bookmark not defined. admin表管理员ID(主键)管理员密码管理员密保问题管理员密保答案AidAcodeAqsAasadmin11001how are yougoodadmin21002nice to meet you3qadmin31003are you OKfine表间关系:v admin表与feedback表有联系,且是1对多的关系,一个管理员可以进行多条留言.v
23、admin表与teach表有联系,为多对多的关系,一个管理员可以录入多门课程,一门课程也可以由多个管理员来管理。(2)course表反映的是课程号和课程名称。管理员录入课表时,系统作出的响应就是在course表中插入课程号和课程名称。表 Error! Bookmark not defined. course表课程号(主键)课程名称CnoCname1Math2Chinese3Database4Program5Economics6Finance7English表间关系:v course表与evaluate表是多对多的关系,表面上是学生对教师进行教学质量评价,实质是通过选择课程来通过对教学这门课程的
24、教师进行评价。一门课程对应多个学生学习,因此有多个评价;一个学生学习多门课程,所以课程与评价是多对多的关系。v course表与sreport表是1对多的关系,一门课程有多个成绩记录,即一门课程被多个学生学习,有多条成绩记录;一个记录只有一门课程成绩,所以课程与成绩记录是1对多的关系。v course表与teach表是多对多的关系,一门课程可以由多个管理员来管理,一个管理员也可对多个课程进行管理。(3) evaluate表是学生对教师进行教学质量评价所需。学生进行教学质量评价时,系统的响应就是在evaluate表中插入一条条的评价记录,包括哪个学生(学号)对哪门课程(课程号)做出的评价等级。表
25、 Error! Bookmark not defined. evaluate表学号(主键)课程号(主键)评分号SnoCnoCmt_no201402152014014120140121201401352014011520140225表间关系:v evaluate表与student表是多对多的关系,一个评价对应多个学生,一个学生可进行多个评价。(4) feedback表是保存管理员留言的表.表 2 feedback表管理员ID管理员留言AidAfbadmin1ni haoadmin2helloadmin1how are youadmin1333admin121221admin1111admin12
26、222表间关系:v feedback表与admin表是1对多的关系,一个反馈对应一个管理员,一个管理员可进行多条反馈。(5)sreport表是记录学生各学期各科成绩的表,由学号、课程号和学期号共同构成主键.表 Error! Bookmark not defined. sreport表记录ID学号(主键)课程号(主键)学期成绩学期备注学期ID(主键)RidSnoCnoRgradeRnoteTidreport1201401199null0001report6201402192null0001report9201401293null0002report12201402298null0002repor
27、t2201401378null0001report3201401466null0002表间关系:v sreport表与student表是1对多的关系,一条成绩记录对应一个学生,一个学生有多条成绩记录,因为学生学习多门课程。v sreport表与term表是1对多的关系,一条成绩记录对应一个学期,一个学期有多条成绩记录,因为一个学期里有多门成绩.(6) student表,记录了学生的属性,学号、姓名、密码、班级等.表 Error! Bookmark not defined. student表学号姓名密码学生密保问题学生密保答案班级SnoSnameScodeSqsSasSclass201401Ja
28、ck201401where are you frombeijingCS01201402Amy201402how old are you20CS01201403Handy201403Are you OK?OKCS02201404Ganby201404is it goodgoodPP01201405Tommy201405youmePP02表间关系:v student表和evaluate表是多对多的关系,一个学生可以进行多个教学质量评价,一个教学质量评价也由多个学生评价.(7) teach表反映管理员所管理的课程号。表 3 teach表管理员ID课程号AidCnoadmin11admin12admin13admin24admin25admin36admin37表间关系:v teach表和admin表是多对多的关系,一个管理员对应管理多个课程,一个课程可以由多个管理员管理。(8) term表反映学期号和学期名称。表 4 term表学期ID学期名称TidTname00012014term100022014term2表间关系:v term表和sreport表是1对多的关系,一个学期对应多条成绩记录,因为一个学期有多门课程、多个学生学习;一条成绩记录对应一个学期,因为成绩记录是一个学期一门课程一个学生独有一条成绩记录。10