某中学的排课管理系统课程设计报告.docx
- 文档编号:27678820
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:31
- 大小:218.97KB
某中学的排课管理系统课程设计报告.docx
《某中学的排课管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《某中学的排课管理系统课程设计报告.docx(31页珍藏版)》请在冰豆网上搜索。
某中学的排课管理系统课程设计报告
学号
《某中学的排课管理系统》
课程设计报告
题目:
某中学的排课管理系统
专业:
网络工程
班级:
姓名:
指导教师:
成绩:
计算机学院
2017年12月8日
一、设计内容及要求
学生隶属班级,班级按照课程表上课,课程由老师教授,这些都要有管理人员来管理。
总结出如下需求信息:
1)一个班级有多个学生;
2)一个学生有多门课,一门课对应多个学生;
3)一个教师可以教授多门课,一门课可以由多个教师来教授;
4)一个班级对应一张班级课程表,一个教师也对应一张教师课程表;
5)一个教师可以教授多个班级;
经过对上述系统功能的分析和需求总结,设计总结如下:
1.1研究的目的和意义
教务管理系统是学校最为核心的信息系统,排课系统又是教务管理系统中非常重要的一个子系统。
学校的日常教学管理工作均围绕着它展开。
排课系统体现了各学校不同于其它学校的个性化的特点,又将随着学校的人才培养模式的改革而变化。
它不仅可以从侧面反映出学校领导的办学思想,也能体现出学校教育教学管理的能力和水平。
随着Internet和信息技术的发展,我国高校教育信息化建设成为信息化建设的前沿阵地和信息时代的弄潮先锋。
在国家对高等教育大力发展政策的刺激下,高校教育事业得到了迅速发展,在新的教务管理模式和管理体制下,如何利用有限的资源,以最优化的形式满足教务管理的需要成为了目前急需要解决的重要课题。
通过建立一个以网络应用为基础、高性能、高可靠性、高安全性的云南大学排课系统,并将管理思想与计算机技术、网络技术有机结合,开发出真正符合现代教育管理理念与学习规律、更稳定、功能更强,服务更全面的校院两级排课系统,才能更好地为学生和教学服务,让教务管理人员真正的将精力花在提高教学教务管理质量上,而不是简单和繁重的日常事务处理上。
经过对上述系统功能的分析和需求总结,设计总结如下:
1.2数据字典
1)学生信息表
字段名称
数据类型
默认值
允许空
主键
studentID
int
是
name
char(10)
sex
char
(2)
是
birthday
datetime
是
classID
int
是
2)班级信息表
字段名称
数据类型
默认值
允许空
主键
classID
int
是
classname
char(20)
3)教师信息表
字段名称
数据类型
默认值
允许空
主键
teacherID
int
是
name
char(10)
sex
char
(2)
是
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)系统概图
用户登录界面
错误提示界面
排课系统主界面
教师信息主界面
教师信息查询
报错
学生信息查询主界面
学生信息查询
报错
教师课表信息查询主界面
课程信息查询
班级信息查询
报错查询班级课程表
教师课程表查询
三、系统关系模型及结构图
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系统结构图
四、程序代码
4.1创建表
1)class表
CREATETABLE[dbo].[class](
[classID][int]NOTNULL,
[classname][nchar](20)NOTNULL,
CONSTRAINT[PK_class]PRIMARYKEYCLUSTERED
(
[classID]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=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*fromcourselist1wherecourselist1.classID=@classID
executeup_class'1101'
9)创建存储过程生成指定老师的课程表
createprocup_teacher(@teacherIDint)
as
select*fromcourlist1wherecourselist1.teacherID=@teacherID
executeup_teacher'1'
10)创建存储过程检测指定教师、指定节次是否有课
createprocup_teacheer(@teacherIDint,@星期nvarchar(50))
as
select*fromcoueselist1wherecourselist1.teacherID=@teacherIDandcourselist1.星期=@星期
executeup_teacher'1','第一节'
4.2程序编码
usingSystem.Data.SqlClient;
1)用户登录关键代码
if(textBox1.Text=="")
{
MessageBox.Show("用户名不能为空!
");
return;
}
if(textBox2.Text=="")
{
MessageBox.Show("密码不能为空!
");
return;
}
stringconstr="server=.;database=中学排课系统;uid=sa;pwd=sa";
SqlConnectionconn=newSqlConnection(constr);
conn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中学 管理 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)