某中学的排课管理系统课程设计报告.docx
《某中学的排课管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《某中学的排课管理系统课程设计报告.docx(25页珍藏版)》请在冰豆网上搜索。
某中学的排课管理系统课程设计报告
学号
《某中学的排课管理系统》
课程设计报告
题目:
某中学的排课管理系统
专业:
网络工程
班级:
姓名:
指导教师:
成绩:
计算机学院
2017年12月8日
一、设计内容及要求2
1.1研究的目的和意义2
1.2数据字典2
1.3全系统的数据项3
1.4数据流图4
二、概要设计4
2.1E-R图4
学生实体E-R图4
2.2系统说明书7
三、系统关系模型及结构图14
2.3关系模型14
2.4参照完整性约束条件14
2.5系统结构图15
四、程序代码15
4.1创建表15
4.2程序编码19
五、参考文献24
一、设计内容及要求
学生隶属班级,班级按照课程表上课,课程由老师教授,这些都要有管理人员来管理。
总结出如下需求信息:
1)一个班级有多个学生;
2)一个学生有多门课,一门课对应多个学生;
3)一个教师可以教授多门课,一门课可以由多个教师来教授;
4)一个班级对应一张班级课程表,一个教师也对应一张教师课程表;
5)一个教师可以教授多个班级;
经过对上述系统功能的分析和需求总结,设计总结如下:
1.1研究的目的和意义
教务管理系统是学校最为核心的信息系统,排课系统又是教务管理系统中非常重要的一个子系统。
学校的日常教学管理工作均围绕着它展开。
排课系统体现了各学校不同于其它学校的个性化的特点,又将随着学校的人才培养模式的改革而变化。
它不仅可以从侧面反映出学校领导的办学思想,也能体现出学校教育教学管理的能力和水平。
随着Internet和信息技术的发展,我国高校教育信息化建设成为信息化建设的前沿阵地和信息时代的弄潮先锋。
在国家对高等教育大力发展政策的刺激下,高校教育事业得到了迅速发展,在新的教务管理模式和管理体制下,如何利用有限的资源,以最优化的形式满足教务管理的需要成为了目前急需要解决的重要课题。
通过建立一个以网络应用为基础、高性能、高可靠性、高安全性的云南大学排课系统,并将管理思想与计算机技术、网络技术有机结合,开发出真正符合现代教育管理理念与学习规律、更稳定、功能更强,服务更全面的校院两级排课系统,才能更好地为学生和教学服务,让教务管理人员真正的将精力花在提高教学教务管理质量上,而不是简单和繁重的日常事务处理上。
经过对上述系统功能的分析和需求总结,设计总结如下:
1.2数据字典
i)学生信息表
字段名称
数据类型
默认值
允许空
主键
studentID
int
是
name
char(10)
sex
char⑵
是
birthday
datetime
是
classID
int
是
2)班级信息表
字段名称
数据类型
默认值
允许空
主键
classID
int
是
classname
char(20)
3)教师信息表
字段名称
数据类型
默认值
允许空
主键
teacherID
int
是
name
char(10)
sex
char⑵
是
age
int
是
courseID
int
是
4)课程信息表
字段名称
数据类型
默认值
允许空
主键
courseID
int
是
classname
char(20)
teacherID
int
是
5)课程表信息表
字段名称
数据类型
默认值
允许空
主键
星期
char(20)
是
第一节
char(20)
是
第八节
char(20)
是
班级ID
Int
6)用户信息表
字段名称
数据类型
默认值
允许空
主键
users
varchar(50)
是
password
varchar(50)
1.3全系统的数据项
数据项:
1)学生信息:
学生ID、姓名、性别、出生日期、所属班级。
2)班级信息:
班级ID、所属年级。
3)教师信息:
教师ID、姓名、性别、年龄。
4)课程信息:
课程ID、课程名称、教师ID。
5)课程表信息:
星期、第一节、第二节、第三节、第四节、第五节、第六节、第七节、第八节、班级ID。
1.4数据流图
二、概要设计
2.1E-R图
学生实体E-R图一
学生
班级实体E-R图
班级
教师实体E-R图
课程实体E-R图
课程表实体E-R图
全局E-R图
被包含
包含
课程表
2.2系统说明书
1)系统要求
某中学的排课管理系统
实现班级、课程等基本信息的管理;实现学生、教师信息的管理;实现班级课程及课程的任课教师和排课管理;创建存储过程检测指定教师、指定节次是否有课;创建存储过程生成指定班级的课程表;创建存储过程生成指定老师的课程表;
建立数据库相关表之间的参照完整性约束。
2)方案和概图
a)设计方案
课程表信
息管理
b)系统概图
用户登录界面
错误提示界面
排课系统主界面
教师信息主界面
教师信息查询
报错
学生信息查询主界面
学生信息查询
报错
请埴豆学生学号i
确定
教师课表信息查询主界面
课程信息查询
班级信息查询
报错查询班级课程表
教师课程表查询
三、系统关系模型及结构图
3.1关系模型
1)学生(学生ID,姓名,性别,出生日期,班级ID)
主键:
学生ID外键:
班级ID
2)班级(班级ID,班级名称)
主键:
班级ID
3)教师(教师ID,姓名,性别,年龄,)
主键:
教师ID
4)课程(课程ID,课程名称,教师ID)
主键:
课程名称外键:
教师ID
5)课程表1(星期,第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节)
主键:
星期外键:
第一节,第二节,第三节,第四节,
第五节,第六节,第七节,第八节
6)课程表2(星期,第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节,课程名称)
主键:
星期外键:
第一节,第二节,第三节,第四节,
第五节,第六节,第七节,第八节
3.2参照完整性约束条件
学生一一班级学生.班级ID二班级.班级ID
教师一一课程教师.课程ID二课程.课程ID
课程表一一班级课程表.班级ID二班级.班级ID
课程表一一教师课程表.教师ID二教师.教师ID
3.3系统结构图
排课管理系统
1
教师信息管理
学生信息管理
课程信息管理
班级信息管理
系统用户管理
课程表管理
1
1
教师信息添加
教师信息查询
教师信息修改
学生信息添加
学生信息查询
学生信息修改
课程信息添加
课程信息查询
课程信息修改
班级信息添加
班级信息查询
班级信息修改
密码管理
用户管理
班级课程表管理
教室课程表管理
班级课程添加
班级课程查询
班级课程修改
教师课程添加
教师课程查询
教师课程修改
四、程序代码
4.1创建表
1)class表
CREATETABLE[dbo].[class](
[classID][int]NOTNULL,
[classname][nchar](20)NOTNULL,
CONSTRAINT[PK_class]PRIMARYKEYCLUSTERED(
[classID]ASC
)WITH(PADINDEX=OFF,STATISTICSNORECOMPUTE=OFF,IGNOREDUPKEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]2)course表
CREATETABLE[dbo].[course](
[courseID][int]NOTNULL,
[coursename][nchar](20)NOTNULL,
[teacherID][int]NULL,
CONSTRAINT[PK_course]PRIMARYKEYCLUSTERED(
[coursename]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
ALTERTABLE[dbo].[course]WITHCHECKADDCONSTRAINT[FK_course_teacher1]FOREIGNKEY([teacherID])
REFERENCES[dbo].[teacher]([teacherID])
ALTERTABLE[dbo].[course]CHECKCONSTRAINT[FK_course_teacher1]
3)student表
CREATETABLE[dbo].[student](
[studentID][int]NOTNULL,
[name][nchar](10)NOTNULL,
[sex][nchar]
(2)NULL,
[birthday][datetime]NULL,
[classID][int]NULL,
CONSTRAINT[PK_student]PRIMARYKEYCLUSTERED(
[studentID]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
ALTERTABLE[dbo].[student]WITHCHECKADDCONSTRAINT[FK_student_class]FOREIGNKEY([classID])
REFERENCES[dbo].[class]([classID])
ALTERTABLE[dbo].[student]CHECKCONSTRAINT[FK_student_class]
4)teacher表
CREATETABLE[dbo].[teacher](
[teacherID][int]NOTNULL,
[name][nchar](10)NULL,
[sex][nchar]
(2)NULL,
[age][int]NULL,
CONSTRAINT[PK_teacher]PRIMARYKEYCLUSTERED(
[teacherID]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,
ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
5)courselist1表
CREATETABLE[dbo].[courselist1](
[第一节][nchar](20)NULL,
[第二节][nchar](20)NULL,
[第三节][nchar](20)NULL,
[第四节][nchar](20)NULL,
[第五节][nchar](20)NULL,
[第六节][nchar](20)NULL,
[第七节][nchar](20)NULL,
[第八节][nchar](20)NULL,
[星期][nchar](20)NULL
)ON[PRIMARY]
ALTERTABLE[dbo].[courselist1]WITHCHECKADDCONSTRAINT[FK_courselist1_course]
FOREIGNKEY([第一节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist1]CHECKCONSTRAINT[FK_courselist1_course]
ALTERTABLE[dbo].[courselist1]WITHCHECKADDCONSTRAINT[FK_courselist1_course1]
FOREIGNKEY([第二节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist1]CHECKCONSTRAINT[FK_courselist1_course1]
ALTERTABLE[dbo].[courselist1]WITHCHECKADDCONSTRAINT[FK_courselist1_course2]
FOREIGNKEY([第三节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist1]CHECKCONSTRAINT[FK_courselist1_course2]
ALTERTABLE[dbo].[courselist1]WITHCHECKADDCONSTRAINT[FK_courselist1_course3]
FOREIGNKEY([第四节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist1]CHECKCONSTRAINT[FK_courselist1_course3]
ALTERTABLE[dbo].[courselist1]WITHCHECKADDCONSTRAINT[FK_courselist1_course4]
FOREIGNKEY([第五节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist1]CHECKCONSTRAINT[FK_courselist1_course4]
ALTERTABLE[dbo].[courselist1]WITHCHECKADDCONSTRAINT[FK_courselist1_course5]
FOREIGNKEY([第六节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist1]CHECKCONSTRAINT[FK_courselist1_course5]
ALTERTABLE[dbo].[courselist1]WITHCHECKADDCONSTRAINT[FK_courselist1_course6]
FOREIGNKEY([第七节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist1]CHECKCONSTRAINT[FK_courselist1_course6]
ALTERTABLE[dbo].[courselist1]WITHCHECKADDCONSTRAINT[FK_courselist1_course7]
FOREIGNKEY([第八节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist1]CHECKCONSTRAINT[FK_courselist1_course7]
6)courselist2表
CREATETABLE[dbo].[courselist2](
[第一节][nchar](20)NULL,
[第二节][nchar](20)NULL,
[第三节][nchar](20)NULL,
[第四节][nchar](20)NULL,
[第五节][nchar](20)NULL,
[第六节][nchar](20)NULL,
[第七节][nchar](20)NULL,
[第八节][nchar](20)NULL,
[星期][nchar](20)NULL
)ON[PRIMARY]
ALTERTABLE[dbo].[courselist2]WITHCHECKADDCONSTRAINT[FK_courselist2_course]
FOREIGNKEY([第一节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist2]CHECKCONSTRAINT[FK_courselist2_course]
ALTERTABLE[dbo].[courselist2]WITHCHECKADDCONSTRAINT[FK_courselist2_course1]
FOREIGNKEY([第二节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist2]CHECKCONSTRAINT[FK_courselist2_course1]
ALTERTABLE[dbo].[courselist2]WITHCHECKADDCONSTRAINT[FK_courselist2_course2]
FOREIGNKEY([第三节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist2]CHECKCONSTRAINT[FK_courselist2_course2]
ALTERTABLE[dbo].[courselist2]WITHCHECKADDCONSTRAINT[FK_courselist2_course3]
FOREIGNKEY([第四节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist2]CHECKCONSTRAINT[FK_courselist2_course3]
ALTERTABLE[dbo].[courselist2]WITHCHECKADDCONSTRAINT[FK_courselist2_course4]
FOREIGNKEY([第五节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist2]CHECKCONSTRAINT[FK_courselist2_course4]
ALTERTABLE[dbo].[courselist2]WITHCHECKADDCONSTRAINT[FK_courselist2_course5]
FOREIGNKEY([第六节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist2]CHECKCONSTRAINT[FK_courselist2_course5]
ALTERTABLE[dbo].[courselist2]WITHCHECKADDCONSTRAINT[FK_courselist2_course6]
FOREIGNKEY([第七节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist2]CHECKCONSTRAINT[FK_courselist2_course6]
ALTERTABLE[dbo].[courselist2]WITHCHECKADDCONSTRAINT[FK_courselist2_course7]
FOREIGNKEY([第八节])
REFERENCES[dbo].[course]([coursename])
ALTERTABLE[dbo].[courselist2]CHECKCONSTRAINT[FK_courselist2_course7]7)用户user表
CREATETABLE[dbo].[users](
[username][varchar](50)NOTNULL,
[password][varchar](50)NOTNULL,
CONSTRAINT[PK_users]PRIMARYKEYCLUSTERED(
[username]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
8)创建存储过程生成指定班级的课程表
createprocup_class(@classIDint)as
select*fromcourselistlwherecourselist1.classID=@classID
executeup_class'1101'
9)创建存储过程生成指定老师的课程表createprocup_teacher(@teacherIDint)
as
select*fromcourlistlwherecourselist1.teacherID=@teacherID
executeup_teacher'1'
10)创建存储过程检测指