软件工程综合实验报告.docx
《软件工程综合实验报告.docx》由会员分享,可在线阅读,更多相关《软件工程综合实验报告.docx(33页珍藏版)》请在冰豆网上搜索。
软件工程综合实验报告
软件工程
教务管理系统项目
学校:
嘉应学院
学院:
计算机学院
班级:
指导老师:
小组成员:
2013年12月18日
目录
1.概述4
2.可行性分析4
2.1项目定义4
2.2技术可行性5
2.3产品策略5
3.需求分析5
3.1用户登录5
3.1.1 能力5
3.1.2限制6
3.2管理员管理学期6
3.2.1能力6
3.2.2限制6
3.3学生选课6
3.3.1能力6
3.3.2限制7
3.4老师评分7
3.4.1能力7
3.4.2限制7
3.5成绩查询7
3.5.1能力7
3.5.2限制8
4.数据库设计8
4.1、系统环境需求8
4.2、系统概念设计8
4.3、逻辑设计9
4.3.1、系统关系模型9
4.3.2、系统数据库表结构9
4.4、源码12
5.系统总体设计17
6.系统详细设计17
6.1系统部署:
17
6.2系统操作:
17
7.系统编码设计21
7.1、文件编码:
21
7.2、传递参数编码:
21
8.系统测试22
8.1.简介22
8.1.1目的22
8.1.2背景22
8.1.3范围22
8.2.测试资源24
8.2.1测试环境24
8.2.2测试工具24
8.3.测试策略25
8.3.1接口测试25
8.3.2集成测试25
8.3.3用户界面测试26
8.3.4性能评测26
8.4问题跟踪27
9.总结27
1.概述
(1)项目背景:
教务系统管理平台充分利用互联网络B/S管理系统模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个账号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统.
(2)系统开发目的:
提高学生,老师管理和操作事务的运作效率。
(3)系统开发定义:
学生选课和老师评分必须在管理员的设置条件下进行。
2.可行性分析
2.1项目定义
教务管理系统在各大学校的整个供应链中起着至关重要的作用,如果不能保证正确的学生选课管理和老师评分管理将会导致管理费用的增加,服务质量难以得到保证,从而影响学校学生学籍管理的效率也无法保证学校各种资源的高效利用。
现在的教务系统评分控制作业十分复杂化、多样化,仅靠单纯的试卷改分,不但费时费力,而且容易出错,给学校带来巨大影响.
为了克服以上问题,必须使学生分数和计算机系统相互结合起来,以使评分服务得到有效的执行和监督.教务管理系统可以对学生选课、老师评分各环节实施全过程控制管理,并可对分数计算进行管理,从而实现仓流程全过程的电子化操作.另外还可以根据学校的需求制作多种合理的统计报表.
2.2技术可行性
本系统产品用JAVA编程与数据库的相结合的方法进行开发,而教务管理系统实现的理论及技术已经日趋成熟,因此教务管理系统应用软件的开发手段是完全可行的。
2.3产品策略
在该项目开发过程中,全部使用实验室及图书馆现成的设备和资料。
因此该系统的开发在经济方面也是可行的。
3.需求分析
3.1用户登录
3.1.1 能力
(1) 在支持的系统平台上,用户使用支持的浏览器可以成功登录系统。
(2) 并发多用户可以在规定时间内成功登录系统。
3.1.2限制
当用户名为非法字符时,无法登录系统。
3.2管理员管理学期
3.2.1能力
(1)可以批量加载已拥有的学期,不过当达到一定数量时,出现加载失败的情况。
(2)添加学期和修改学期状态能成功运行。
3.2.2限制
当本学期状态不为‘结束’时,不能添加学期。
3.3学生选课
3.3.1能力
(1)可以成功加载全部可选课程和已选课程
(2)已选课程学分能准确计算总和,并显示在学分统计框。
3.3.2限制
(1)不能在学期状态为‘开始’以外的时候选择课程。
(2)已选课程学分不能超过总学分,否则无法点击‘保存’按钮。
(3)角色为学生以外的账号不能选课。
3.4老师评分
3.4.1能力
(1)可以成功加载全部已经选择自己课程的学生情况。
(2)点击某个学生时,右侧能成功加载该学生所有个人信息。
(3)成绩评分框编辑评分后能顺利保存。
3.4.2限制
(1)不能在学期状态为‘评分’以外的时候对学生评分。
(2)成绩打分时限制在0-100之间,否则无法保存。
3.5成绩查询
3.5.1能力
(1)选择需要查看成绩的学期
(2)能成功加载该学期的自己的成绩
3.5.2限制
当学期未选择时不能加载成绩
4.数据库设计
4.1、系统环境需求
系统模式
本系统采用B/S模式作为开发模式
硬件环境
服务器端:
高性能的计算机一台,
普通的双绞线作为连接。
客户端:
普通的计算机或者工作站,
普通的双绞线作为连接。
软件环境
服务器端:
安装MYSQL的服务器版本
4.2、系统概念设计
系统ER图
4.3、逻辑设计
4.3.1、系统关系模型
a)选课成绩表(选课编号,平时成绩,期末成绩,综合成绩)
b)用户表(用户编号,用户名称,用户密码,性别,住址,电话)
c)班别表(班别编号,班别名称,班别描述)
d)系别(系别编号,系别名称,系别电话)
e)学期时间(学期编号,学期名称,学期开始时间,学期结束时间,学期状态)
f)课室表(课室编号,课室名称,课室面积,课室最大人数)
g)课程表(课程编号,课程名称,课程学分,课程类型,课程学时)
h)角色表(角色编号,角色名称,角色权限)
i)老师授课表(授课编号,授课时间)
j)上课地点表(地点编号)
4.3.2、系统数据库表结构
数据库表索引
表名
中文名
Score
选课成绩表
Sysuser
用户表
Classes
班别表
Dept
系别表
Items
学期时间表
Major
课程表
Classroom
课室表
Userstyle
角色表
Mdteacher
老师授课表
Majorroom
上课地点表
用户表(Sysuser)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Id
varchar
20
P
Notnull
用户编号
classesid
Varchar
20
f
Notnull
班级编号
Userstyleid
Varchar
10
f
Notnull
角色编号
Username
Varchar
10
Notnull
用户名
Password
Varchar
10
Notnull
密码
Sex
Varchar
2
Notnull
性别
Address
Varchar
50
住址
Phone
Varchar
10
电话
选课成绩表(Score)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Scid
int
10
P
Notnull
选课成绩编号
id
Varchar
20
F
Notnull
用户名称
Muid
Int
10
F
Notnull
课程编号
Itemid
Varchar
20
F
Notnull
学期编号
Pacgrade
Int
平时成绩
Endgrade
Int
期末成绩
Syngrade
Int
综合成绩
班别表(Classes)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Classesid
varchar
20
P
Notnull
班别编号
Classesname
Varchar
10
Notnull
班别名称
Classescontext
Varchar
50
Notnull
班别描述
系别表(Dept)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Deptid
varchar
20
P
Notnull
系别编号
Deptname
Varchar
10
Notnull
系别名称
Deptphone
Varchar
10
系电话
Deptaddress
Varchar
20
系地址
学期时间表(Items)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Itemsid
varchar
20
P
Notnull
学期编号
Itname
Varchar
10
Notnull
学期名称
Starttime
Data
10
学期开始时间
Endtime
Data
10
学期结束时间
Itstate
Varchar
10
Notnull
学期状态
课程表(Major)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
MDid
varchar
20
P
Notnull
课程编号
Mdname
Varchar
10
Notnull
课程名称
Mdcredit
Varchar
10
Notnull
课程学分
Mdstyle
Varchar
10
Notnull
课程类型
Mdstudytime
varchar
10
课程学时
课室表(Classroom)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Roomed
varchar
20
P
Notnull
课室编号
Roomname
Varchar
10
Notnull
课室名称
Area
Int
10
Notnull
面积
Maxnum
Int
4
Notnull
最大人数
角色表(Userstyle)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Usersyleid
varchar
20
P
Notnull
角色编号
Userstylename
Varchar
10
Notnull
角色名称
Permission
Varchar
10
Notnull
权限
教师授课表(Mdteacher)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Muid
Int
20
P
Notnull
授课编号
Id
Varchar
10
F
Notnull
用户编号
Mdid
Varchar
10
F
Notnull
课程编号
Mtime
Datetime
10
Notnull
授课时间
上课地点表(Majorroom)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Mrid
varchar
20
P
Notnull
上课地点编号
Roomid
Varchar
10
F
Notnull
课室编号
Mdid
Varchar
10
F
Notnull
课程编号
4.4、源码
/*==============================================================*/
/*DBMSname:
MySQL5.0*/
/*Createdon:
2013/12/1813:
12:
19*/
/*==============================================================*/
droptableifexistsClasses;
droptableifexistsClassroom;
droptableifexistsDept;
droptableifexistsItems;
droptableifexistsMajor;
droptableifexistsMajorroom;
droptableifexistsMdteacher;
droptableifexistsScore;
droptableifexistsSysuser;
droptableifexistsUserstyle;
/*==============================================================*/
/*Table:
Classes*/
/*==============================================================*/
createtableClasses
(
classesidvarchar(20)notnull,
deptidvarchar(20),
classnamevarchar(20),
clacontextvarchar(50),
primarykey(classesid)
)
auto_increment=classid;
/*==============================================================*/
/*Table:
Classroom*/
/*==============================================================*/
createtableClassroom
(
roomidvarchar(20)notnull,
roomnamevarchar(20),
areaint,
maxnumint,
primarykey(roomid)
)
auto_increment=roomid;
/*==============================================================*/
/*Table:
Dept*/
/*==============================================================*/
createtableDept
(
deptidvarchar(20)notnull,
deptnamevarchar(20),
depphonevarchar(10),
primarykey(deptid)
)
auto_increment=deptid;
/*==============================================================*/
/*Table:
Items*/
/*==============================================================*/
createtableItems
(
itemsidvarchar(20)notnull,
itnamevarchar(20),
starttimedatetime,
endtimedatetime,
itstatevarchar(10),
primarykey(itemsid)
)
auto_increment=itemsid;
/*==============================================================*/
/*Table:
Major*/
/*==============================================================*/
createtableMajor
(
MDidvarchar(20)notnull,
MDnamevarchar(10),
MDcreditint(10),
MDstylevarchar(10),
MDstudytimeint(10),
primarykey(MDid)
)
auto_increment=MDid;
/*==============================================================*/
/*Table:
Majorroom*/
/*==============================================================*/
createtableMajorroom
(
MRidint(10)notnull,
roomidvarchar(20),
MDidvarchar(20),
primarykey(MRid)
)
auto_increment=MRid;
/*==============================================================*/
/*Table:
Mdteacher*/
/*==============================================================*/
createtableMdteacher
(
muidint(10)notnull,
idvarchar(20),
MDidvarchar(20),
Mtimedatetime,
primarykey(muid)
)
auto_increment=muid;
/*==============================================================*/
/*Table:
Score*/
/*==============================================================*/
createtableScore
(
scidint(10)notnull,
idvarchar(20),
muidint(10),
itemsidvarchar(20),
pacgradeint(10),
endgradeint(10),
syngradeint(10),
primarykey(scid)
)
auto_increment=scid;
/*==============================================================*/
/*Table:
Sysuser*/
/*==============================================================*/
createtableSysuser
(
idvarchar(20)notnull,
classesidvarchar(20),
userstyleidvarchar(10),
usernamevarchar(20),
passwordvarchar(10),
sexvarchar(10),
addressvarchar(10),
phonevarchar(20),
primarykey(id)
);
/*==============================================================*/
/*Table:
Userstyle*/
/*==============================================================*/
createtableUserstyle
(
userstyleidvarchar(10)notnull,
userstylenamevarchar(20),
permissionvarchar(50),
primarykey(userstyleid)
)
auto_increment=userstyleid;
altertableClassesaddconstraintFK_Reference_11foreignkey(deptid)
referencesDept(deptid)ondeleterestrictonupdaterestrict;
altertableMajorroomaddconstraintFK_Reference_15foreignkey(MDid)
referencesMajor(MDid)ondeleterestrictonupdaterestrict;
altertableMajorroomaddconstraintFK_Reference_18foreignkey(roomid)
referencesClassroom(roomid)ondeleterestrictonupdaterestrict;
altertableMdteacheraddconstraintFK_Reference_10foreignkey(id)
referencesSysuser(id)ondeleterestrictonupdaterestrict;
altertableMdteacheraddconstraintFK_Reference_16foreignkey(MDid)
referencesMajor(MDid)ondeleterestrictonupdaterestrict;
altertableScoreaddconstraintFK_Reference_13foreignkey(muid)
referencesMdteacher(muid)ondeleterestrictonupdaterestrict;
altertableScoreaddconstraintFK_Reference_19foreignkey(itemsid)
referencesItems(itemsid)ondeleterestrictonupdaterestrict;
alter