某中学的排课管理系统-课程设计报告.pdf

上传人:tbuqq 文档编号:5561295 上传时间:2020-06-07 格式:PDF 页数:25 大小:540.26KB
返回 下载 相关 举报
某中学的排课管理系统-课程设计报告.pdf_第1页
第1页 / 共25页
某中学的排课管理系统-课程设计报告.pdf_第2页
第2页 / 共25页
某中学的排课管理系统-课程设计报告.pdf_第3页
第3页 / 共25页
某中学的排课管理系统-课程设计报告.pdf_第4页
第4页 / 共25页
某中学的排课管理系统-课程设计报告.pdf_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《某中学的排课管理系统-课程设计报告.pdf》由会员分享,可在线阅读,更多相关《某中学的排课管理系统-课程设计报告.pdf(25页珍藏版)》请在三一文库上搜索。

1、某中学的排课管理系统 课程设计报告 题目:某中学的排课管理系统 专业:网络工程 班级: 姓名: 指导教师: 成绩: 计算机学院 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 3.1 关系模型 14 3.2 参照完整性约束条件 14 3.3 系统结构图 15 四、程序代码 15 4.1 创建表 15 4.2 程序编码 19 五、参考文献 24

2、一、 设计内容及要求 学生隶属班级, 班级按照课程表上课, 课程由老师教授, 这些都要有管理人员来 管理。总结出如下需求信息: 1)一个班级有多个学生; 2)一个学生有多门课,一门课对应多个学生; 3)一个教师可以教授多门课,一门课可以由多个教师来教授; 4)一个班级对应一张班级课程表,一个教师也对应一张教师课程表; 5)一个教师可以教授多个班级; 经过对上述系统功能的分析和需求总结,设计总结如下: 1.1 研究的目的和意义 教务管理系统是学校最为核心的信息系统,排课系统又是教务管理系统中非 常重要的一个子系统。 学校的日常教学管理工作均围绕着它展开。排课系统体现 了各学校不同于其它学校的个性

3、化的特点,又将随着学校的人才培养模式的改革 而变化。它不仅可以从侧面反映出学校领导的办学思想,也能体现出学校教育教 学管理的能力和水平。 随着Internet和信息技术的发展,我国高校教育信息化建设成为信息化建 设的前沿阵地和信息时代的弄潮先锋。在国家对高等教育大力发展政策的刺激下, 高校教育事业得到了迅速发展, 在新的教务管理模式和管理体制下,如何利用有 限的资源,以最优化的形式满足教务管理的需要成为了目前急需要解决的重要课 题。 通过建立一个以网络应用为基础、高性能、高可靠性、 高安全性的云南大学 排课系统, 并将管理思想与计算机技术、网络技术有机结合, 开发出真正符合现 代教育管理理念与

4、学习规律、 更稳定、功能更强, 服务更全面的校院两级排课系 统,才能更好地为学生和教学服务, 让教务管理人员真正的将精力花在提高教学 教务管理质量上,而不是简单和繁重的日常事务处理上。 经过对上述系统功能的分析和需求总结,设计总结如下: 1.2 数据字典 1)学生信息表 字段名称数据类型默认值允许空主键 studentID int 是 name char(10) sex char(2) 是 birthday datetime 是 classID int 是 2)班级信息表 字段名称数据类型默认值允许空主键 classID int 是 classname char(20) 3 )教师信息表 字段

5、名称数据类型默认值允许空主键 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(5

6、0) 1.3 全系统的数据项 数据项: 1)学生信息:学生ID、姓名、性别、出生日期、所属班级。 2)班级信息:班级ID、所属年级。 3)教师信息:教师ID、姓名、性别、年龄。 4)课程信息:课程ID、课程名称、教师ID 。 5)课程表信息:星期、第一节、第二节、第三节、第四节、第五节、第六节、第七节、 第八节、班级ID。 1.4 数据流图 录入信息存储查询到的信息反馈 按系统允许的条件查询信息 二、 概要设计 2.1E-R 图 学生实体 E-R 图 管理员 (用户) 用户 信息库 排课系统 学生 学生 ID 姓名 性别班级 ID 出生日期 班级实体 E-R图 班级名称 教师实体 E-R图 课

7、程实体 E-R图 课程 课程 ID 课程名称 教师 教师 ID 姓名 性别 年龄 课程 ID 班级 班级 ID 课程表实体 E-R图 全局 E-R图 课程表 第八节 第二节 第一节 班级 ID 学生 班级 课程教师 课程表 属于 包含 学习 被学习 被教授 被包含 教授 包含 2.2 系统说明书 1)系统要求 某中学的排课管理系统 实现班级、课程等基本信息的管理; 实现学生、教师信息的管理; 实现班级课程及课程的任课教师和排课管理; 创建存储过程检测指定教师、指定节次是否有课; 创建存储过程生成指定班级的课程表; 创建存储过程生成指定老师的课程表; 建立数据库相关表之间的参照完整性约束。 2)

8、方案和概图 a)设计方案 b)系统概图 用户登录界面 学生 注册 班级 设置 课程 信息 设置 班 级 信 息 输入 排课 信 息 录入 学生 信息 输入 课程 信 息 输入 班级信 息管理 学生信 息管理 课程表信 息管理 课程 信息管 理 教师 注册 教师 信息 录入 教师信息 管理 错误提示界面 排课系统主界面 教师信息主界面 教师信息查询 报错 学生信息查询主界面 学生信息查询 报错 教师课表信息查询主界面 课程信息查询 班级信息查询 报错查询班级课程表 教师课程表查询 三、系统关系模型及结构图 3.1 关系模型 1)学生(学生 ID,姓名,性别,出生日期,班级ID) 主键:学生 ID

9、 外键:班级 ID 2)班级(班级 ID,班级名称) 主键:班级 ID 3)教师(教师 ID,姓名,性别,年龄,) 主键:教师 ID 4)课程(课程 ID,课程名称,教师ID) 主键:课程名称外键:教师 ID 5)课程表 1(星期,第一节,第二节,第三节,第四节,第五节,第 六节,第七节,第八节) 主键:星期外键:第一节,第二节,第三节,第四节, 第五节,第六节,第七节,第八节 6)课程表 2(星期,第一节,第二节,第三节,第四节,第五节,第 六节,第七节,第八节,课程名称) 主键:星期外键:第一节,第二节,第三节,第四节, 第五节,第六节,第七节,第八节 3.2 参照完整性约束条件 学生班级

10、学生. 班级 ID=班级. 班级 ID 教师课程教师. 课程 ID=课程. 课程 ID 课程表班级课程表 . 班级 ID=班级. 班级 ID 课程表教师课程表 . 教师 ID=教师. 教师 ID 3.3 系统结构图 四、程序代码 4.1 创建表 1)class 表 CREATE TABLE dbo.class( classID int NOT NULL, classname nchar(20) NOT NULL, CONSTRAINT PK_class PRIMARY KEY CLUSTERED ( classID ASC )WITH (PAD_INDEX = OFF, STATISTICS_

11、NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, 排课管理系统 教 师 信 息 管 理 学 生 信 息 管 理 课 程 信 息 管 理 班 级 信 息 管 理 系 统 用 户 管 理 课 程 表 管 理 教 师 信 息 添 加 教 师 信 息 查 询 教 师 信 息 修 改 学 生 信 息 添 加 学 生 信 息 查 询 学 生 信 息 修 改 课 程 信 息 添 加 课 程 信 息 查 询 课 程 信 息 修 改 班 级 信 息 添 加 班 级 信 息 查 询 班 级 信 息 修 改 密 码 管 理 用 户 管 理 班 级 课 程 表 管 理 教 室 课 程

12、表 管 理 班 级 课 程 添 加 班 级 课 程 查 询 班 级 课 程 修 改 教 师 课 程 添 加 教 师 课 程 查 询 教 师 课 程 修 改 ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY 2)course 表 CREATE TABLE dbo.course( courseID int NOT NULL, coursename nchar(20) NOT NULL, teacherID int NULL, CONSTRAINT PK_course PRIMARY KEY CLUSTERED

13、( 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 ALTER TABLE dbo.course WITH CHECK ADD CONSTRAINT FK_course_teacher1 FOREIGN KEY(teacherID) REFERENCES dbo.teacher (teacherID) ALTER TABLE

14、dbo.course CHECK CONSTRAINT FK_course_teacher1 3)student表 CREATE TABLE dbo.student( studentID int NOT NULL, name nchar(10) NOT NULL, sex nchar(2) NULL, birthday datetime NULL, classID int NULL, CONSTRAINT PK_student PRIMARY KEY CLUSTERED ( studentID ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE

15、 = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY ALTER TABLE dbo.student WITH CHECK ADD CONSTRAINT FK_student_class FOREIGN KEY(classID) REFERENCES dbo.class (classID) ALTER TABLE dbo.student CHECK CONSTRAINT FK_student_class 4)teacher表 CREATE TABLE

16、dbo.teacher( teacherID int NOT NULL, name nchar(10) NULL, sex nchar(2) NULL, age int NULL, CONSTRAINT PK_teacher PRIMARY KEY CLUSTERED ( 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)co

17、urselist1表 CREATE TABLE 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 ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1

18、_course FOREIGN KEY(第一节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course1 FOREIGN KEY(第二节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist1 CHECK CONSTRAI

19、NT FK_courselist1_course1 ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course2 FOREIGN KEY(第三节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course2 ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course3

20、 FOREIGN KEY(第四节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course3 ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course4 FOREIGN KEY(第五节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_

21、courselist1_course4 ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course5 FOREIGN KEY(第六节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course5 ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course6 FOREI

22、GN KEY(第七节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course6 ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course7 FOREIGN KEY(第八节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_course

23、list1_course7 6)courselist2表 CREATE TABLE 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 ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRA

24、INT FK_courselist2_course FOREIGN KEY(第一节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course1 FOREIGN KEY(第二节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courseli

25、st2 CHECK CONSTRAINT FK_courselist2_course1 ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course2 FOREIGN KEY(第三节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course2 ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_c

26、ourselist2_course3 FOREIGN KEY(第四节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course3 ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course4 FOREIGN KEY(第五节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist2 CH

27、ECK CONSTRAINT FK_courselist2_course4 ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course5 FOREIGN KEY(第六节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course5 ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_coursel

28、ist2_course6 FOREIGN KEY(第七节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course6 ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course7 FOREIGN KEY(第八节 ) REFERENCES dbo.course (coursename) ALTER TABLE dbo.courselist2 CHECK CO

29、NSTRAINT FK_courselist2_course7 7)用户 user 表 CREATE TABLE dbo.users( username varchar(50) NOT NULL, password varchar(50) NOT NULL, CONSTRAINT PK_users PRIMARY KEY CLUSTERED ( username ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCK

30、S = ON) ON PRIMARY ) ON PRIMARY 8)创建存储过程生成指定班级的课程表 create proc up_class(classID int) as select * from courselist1 where courselist1.classID=classID execute up_class 1101 9)创建存储过程生成指定老师的课程表 create proc up_teacher(teacherID int) as select * from courlist1 where courselist1.teacherID=teacherID execute

31、up_teacher 1 10) 创建存储过程检测指定教师、指定节次是否有课 create proc up_teacheer(teacherID int,星期 nvarchar(50) as select * from coueselist1 where courselist1.teacherID=teacherID and courselist1. 星期 = 星期 execute up_teacher 1,第一节 4.2 程序编码 using System.Data.SqlClient; 1)用户登录关键代码 if (textBox1.Text = “ ) MessageBox.Show(

32、“用户名不能为空!“ ); return; if (textBox2.Text = “ ) MessageBox.Show( “密码不能为空!“ ); return; string constr = “server=.;database=中学排课系统;uid=sa;pwd=sa“; SqlConnection conn = new SqlConnection(constr); conn.Open(); try string login = “select * from users where username = “ + textBox1.Text.Trim() + “ and passwor

33、d = “ + textBox2.Text + “; SqlCommand sqlCmd = new SqlCommand (login, conn); SqlDataReader sqlReader = sqlCmd.ExecuteReader(); sqlReader.Read(); if (sqlReader.HasRows) sqlReader.Close(); start start = new start(); start.Show(); this .Hide(); else MessageBox.Show( “用户名或密码错误!“ ); catch ( Exception ex)

34、 MessageBox.Show(ex.Message); MessageBox.Show( “用户名或密码错误!“ ); finally conn.Close(); 2)查询关键代码(以教师信息查询为例) privatevoid chaxun_Click(object sender, EventArgs e) if (ID.Text.Trim() = “ ) MessageBox.Show( “请填写教师编号!“ ); return; string constr = “server=.;database=中学排课系统;uid=sa;pwd=sa“; SqlConnection conn =

35、new SqlConnection(constr); conn.Open(); string str = “select * from teacher where teacherID=“+ID.Text.Trim(); SqlCommand command = new SqlCommand (str, conn); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = command; DataSet dataSet = new DataSet (); adapter.Fill(dataSet, “type

36、“); dataGridView1.DataSource = dataSet.Tables0; conn.Close(); ID.Text = “ ; 3)添加关键代码(以教师信息添加为例) privatevoid tianjia_Click(object sender, EventArgs e) if (ID.Text.Trim() = “ | na.Text.Trim() = “ | se.Text.Trim()=“ | ag.Text.Trim()=“ ) MessageBox.Show( “请填写完整信息!“ ); return; string constr = “server=.;d

37、atabase=中学排课系统;uid=sa;pwd=sa“; SqlConnection conn = new SqlConnection(constr); conn.Open(); try string str = “insert into teacher values (“ + ID.Text.Trim() + “, “ + na.Text.Trim() + “, “ + se.Text.Trim() + “, “ + ag.Text.Trim() + “)“ ; SqlCommand sqlCommand = new SqlCommand (); sqlCommand.Connectio

38、n = conn; sqlCommand.CommandText = str; sqlCommand.CommandType = CommandType .Text; sqlCommand.ExecuteNonQuery(); MessageBox.Show( “添加成功! “ ); catch ( Exception ex) MessageBox.Show( “添加失败! “ ); finally conn.Close(); teacherinformation_Load(sender, e); 4)删除关键代码(以教师信息删除为例) privatevoid shanchu_Click(ob

39、ject sender, EventArgs e) if (ID.Text.Trim() = “ ) MessageBox.Show( “请填写教职工号!“ ); return; if ( MessageBox.Show( “确定删除吗?“ , “提示 “ , MessageBoxButtons .OKCancel) = DialogResult.OK) string constr = “server=.;database=中学排课系统;uid=sa;pwd=sa“; SqlConnection conn = new SqlConnection(constr); conn.Open(); tr

40、y string str = “delete from teacher where teacherID=“ + ID.Text.Trim(); SqlCommand sqlCommand = new SqlCommand (); sqlCommand.Connection = conn; sqlCommand.CommandText = str; sqlCommand.CommandType = CommandType .Text; sqlCommand.ExecuteNonQuery(); catch ( Exception ex) MessageBox.Show( “删除失败! “ );

41、finally conn.Close(); teacherinformation_Load(sender, e); 5)修改关键代码(以教师信息修改为例) 在下边的文本框中显示选中的行 string id = “ ; string mingzi = “ ; string xingbie = “ ; string nianling = “ ; privatevoid dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) id = dataGridView1.Rowse.RowIndex

42、.Cells0.Value.ToString(); mingzi = dataGridView1.Rowse.RowIndex.Cells1.Value.ToString(); xingbie = dataGridView1.Rowse.RowIndex.Cells2.Value.ToString(); nianling = dataGridView1.Rowse.RowIndex.Cells3.Value.ToString(); na.Text = mingzi; se.Text = xingbie; ag.Text = nianling; 信息修改 privatevoid xiugai_C

43、lick(object sender, EventArgs e) string constr = “server=.;database=中学排课系统;uid=sa;pwd=sa“; SqlConnection conn = new SqlConnection(constr); conn.Open(); try string str = “update teacher set name = “ + na.Text.Trim() + “, sex = “ + se.Text.Trim() + “, age = “ + ag.Text.Trim() + “ where teacherID = “+

44、id; SqlCommand sqlCommand = new SqlCommand (); sqlCommand.Connection = conn; sqlCommand.CommandText = str; sqlCommand.CommandType = CommandType .Text; sqlCommand.ExecuteNonQuery(); catch ( Exception ex) MessageBox.Show( “修改失败! “ ); finally conn.Close(); teacherinformation_Load(sender, e); 五、参考文献 李彦鸿 . 全面学分制下高校教务管理信息系统的设计与实现D. 云南:云南大学, 2006 王能斌 . 钱祥根 . 大学课程表调度系统一utss J.计算机学报 ,2001(5) 张清绵,徐明 . 智能教学组织管理与课程表调度系统J . 大连理工大学学 报,2002(2)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1