某中学排课理系统
课程设计报告
题目:
某中学排课理系统
专业:
网络工程
班级:
姓名:
指导教师:
成绩:
计算机学院
2017年X月X日
目录
设计容求 2
11研究目意义 2
12数字典 2
13全系统数项 3
14数流图 4
二 概设计 4
21ER图 4
学生实体ER图 4
22系统说明书 7
三系统关系模型结构图 14
31关系模型 14
32参完整性约束条件 14
33系统结构图 15
四程序代码 15
41创建表 15
42程序编码 19
五参考文献 23
设计容求
学生隶属班级班级课程表课课程老师教授理员理总结出需求信息:
1) 班级学生
2) 学生门课门课应学生
3) 教师教授门课门课教师教授
4) 班级应张班级课程表教师应张教师课程表
5) 教师教授班级
述系统功分析需求总结设计总结:
11研究目意义
教务理系统学校核心信息系统排课系统教务理系统中非常重子系统学校日常教学理工作均围绕着展开排课系统体现学校学校性化特点着学校培养模式改革变化仅侧面反映出学校领导办学思想体现出学校教育教学理力水
着Internet信息技术发展国高校教育信息化建设成信息化建设前阵信息时代弄潮先锋国家高等教育力发展政策刺激高校教育事业迅速发展新教务理模式理体制利限资源优化形式满足教务理需成目前急需解决重课题
通建立网络应基础高性高性高安全性云南学排课系统理思想计算机技术网络技术机结合开发出真正符合现代教育理理念学规律更稳定功更强服务更全面校院两级排课系统更学生教学服务教务理员真正精力花提高教学教务理质量简单繁重日常事务处理
述系统功分析需求总结设计总结:
12数字典
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)
13全系统数项
数项:
1) 学生信息:学生ID姓名性出生日期属班级
2) 班级信息:班级ID属年级
3) 教师信息:教师ID姓名性年龄
4) 课程信息:课程ID课程名称教师ID
5) 课程表信息:星期第节第二节第三节第四节第五节第六节第七节第八节班级ID
14数流图
理员(户)
户
录入信息存储 查询信息反馈
排课系统
系统允许条件查询信息
信息库
二 概设计
21ER图
学生
学生实体ER图
学生ID
姓名
性
出生日期
班级ID
班级实体ER图
班级
班级ID
班级名称
教师实体ER图
教师
教师ID
姓名
性
年龄
课程ID
课程实体ER图
课程
课程ID
课程名称
课程表实体ER图
第节
班级ID
第二节
……
课程表
第八节
全局ER图
属
包含
学生
班级
学
学
教授
教授
教师
课程
包含
包含
课程表
22系统说明书
1) 系统求
某中学排课理系统
l 实现班级课程等基信息理
l 实现学生教师信息理
l 实现班级课程课程课教师排课理
l 创建存储程检测指定教师指定节次否课
l 创建存储程生成指定班级课程表
l 创建存储程生成指定老师课程表
l 建立数库相关表间参完整性约束
2) 方案概图
a)设计方案
学生注册
班级设置
课程信息设置
班级信息输入
排课
信息录入
学生信息输入
课程
信息输入
班级信息理
学生信息理
课程表信息理
课程
信息理
教师
注册
教师信息录入
教师信息理
b)系统概图
户登录界面
错误提示界面
排课系统界面
教师信息界面
教师信息查询
报错
学生信息查询界面
学生信息查询
报错
教师课表信息查询界面
课程信息查询
班级信息查询
报错 查询班级课程表
教师课程表查询
三系统关系模型结构图
31关系模型
1)学生(学生ID姓名性出生日期班级ID)
键:学生ID 外键:班级ID
2)班级(班级ID班级名称)
键:班级ID
3)教师(教师ID姓名性年龄)
键:教师ID
4)课程(课程ID课程名称教师ID)
键:课程名称 外键:教师ID
5)课程表1(星期第节第二节第三节第四节第五节第六节第七节第八节)
键:星期 外键:第节第二节第三节第四节第五节第六节第七节第八节
6)课程表2(星期第节第二节第三节第四节第五节第六节第七节第八节课程名称)
键:星期 外键:第节第二节第三节第四节第五节第六节第七节第八节
32参完整性约束条件
学生——班级 学生班级ID班级班级ID
教师——课程 教师课程ID课程课程ID
课程表——班级 课程表班级ID班级班级ID
课程表——教师 课程表教师ID教师教师ID
33系统结构图
排课理系统
教师信息理
课程表理
学生信息理
课程信息理
班级信息理
系统户理
户理
密码理
班级信息修改
班级信息查询
班级信息添加
课程信息修改
课程信息查询
课程信息添加
学生信息查询
教师信息添加
学生信息添加
学生信息修改
教师信息修改
教师信息查询
班级课程表理
教室课程表理
班级课程添加
班级课程查询
班级课程修改
教师课程查询
教师课程添加
教师课程修改
四程序代码
41创建表
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_NORECOMPUTE OFF IGNORE_DUP_KEY OFF 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
(
[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 [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 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 [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) courselist1表
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_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 CONSTRAINT [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] 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_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] FOREIGN 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_courselist1_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 CONSTRAINT [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][courselist2] 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_courselist2_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] CHECK 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_courselist2_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 CONSTRAINT [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_LOCKS ON) ON [PRIMARY]
) ON [PRIMARY]
8)创建存储程生成指定班级课程表
create proc up_class(@classID int)
as
select * from courselist1 where courselist1classID@classID
execute up_class '1101'
9)创建存储程生成指定老师课程表
create proc up_teacher(@teacherID int)
as
select * from courlist1 where courselist1teacherID@teacherID
execute up_teacher '1'
10)创建存储程检测指定教师指定节次否课
create proc up_teacheer(@teacherID int@星期 nvarchar(50))
as
select * from coueselist1 where courselist1teacherID@teacherID and courselist1星期@星期
execute up_teacher '1''第节'
42程序编码
using SystemDataSqlClient
1) 户登录关键代码
if (textBox1Text )
{
MessageBoxShow(户名空)
return
}
if (textBox2Text )
{
MessageBoxShow(密码空)
return
}
string constr serverdatabase中学排课系统uidsapwdsa
SqlConnection conn new SqlConnection(constr)
connOpen()
try
{
string login select * from users where username ' + textBox1TextTrim() + ' and password ' + textBox2Text + '
SqlCommand sqlCmd new SqlCommand(login conn)
SqlDataReader sqlReader sqlCmdExecuteReader()
sqlReaderRead()
if (sqlReaderHasRows)
{
sqlReaderClose()
start start new start()
startShow()
thisHide()
}
else
{
MessageBoxShow(户名密码错误)
}
}
catch (Exception ex)
{
MessageBoxShow(exMessage)
MessageBoxShow(户名密码错误)
}
finally
{
connClose()
}
2) 查询关键代码(教师信息查询例)
private void chaxun_Click(object sender EventArgs e)
{
if (IDTextTrim() )
{
MessageBoxShow(请填写教师编号)
return
}
string constr serverdatabase中学排课系统uidsapwdsa
SqlConnection conn new SqlConnection(constr)
connOpen()
string str select * from teacher where teacherID+IDTextTrim()
SqlCommand command new SqlCommand(str conn)
SqlDataAdapter adapter new SqlDataAdapter()
adapterSelectCommand command
DataSet dataSet new DataSet()
adapterFill(dataSet type)
dataGridView1DataSource dataSetTables[0]
connClose()
IDText
}
3) 添加关键代码(教师信息添加例)
private void tianjia_Click(object sender EventArgs e)
{
if (IDTextTrim() || naTextTrim() || seTextTrim() || agTextTrim())
{
MessageBoxShow(请填写完整信息)
return
}
string constr serverdatabase中学排课系统uidsapwdsa
SqlConnection conn new SqlConnection(constr)
connOpen()
try
{
string str insert into teacher values (' + IDTextTrim() + ' ' + naTextTrim() + ' ' + seTextTrim() + ' + agTextTrim() + )
SqlCommand sqlCommand new SqlCommand()
sqlCommandConnection conn
sqlCommandCommandText str
sqlCommandCommandType CommandTypeText
sqlCommandExecuteNonQuery()
MessageBoxShow(添加成功)
}
catch (Exception ex)
{
MessageBoxShow(添加失败)
}
finally
{
connClose()
}
teacherinformation_Load(sender e)
}
4) 删关键代码(教师信息删例)
private void shanchu_Click(object sender EventArgs e)
{
if (IDTextTrim() )
{
MessageBoxShow(请填写教职工号)
return
}
if (MessageBoxShow(确定删? 提示 MessageBoxButtonsOKCancel) DialogResultOK)
{
string constr serverdatabase中学排课系统uidsapwdsa
SqlConnection conn new SqlConnection(constr)
connOpen()
try
{
string str delete from teacher where teacherID + IDTextTrim()
SqlCommand sqlCommand new SqlCommand()
sqlCommandConnection conn
sqlCommandCommandText str
sqlCommandCommandType CommandTypeText
sqlCommandExecuteNonQuery()
}
catch (Exception ex)
{
MessageBoxShow(删失败)
}
finally
{
connClose()
}
teacherinformation_Load(sender e)
}
}
5) 修改关键代码(教师信息修改例)
边文框中显示选中行
string id
string mingzi
string xingbie
string nianling
private void dataGridView1_RowHeaderMouseClick(object sender DataGridViewCellMouseEventArgs e)
{
id dataGridView1Rows[eRowIndex]Cells[0]ValueToString()
mingzi dataGridView1Rows[eRowIndex]Cells[1]ValueToString()
xingbie dataGridView1Rows[eRowIndex]Cells[2]ValueToString()
nianling dataGridView1Rows[eRowIndex]Cells[3]ValueToString()
naText mingzi
seText xingbie
agText nianling
}
信息修改
private void xiugai_Click(object sender EventArgs e)
{
string constr serverdatabase中学排课系统uidsapwdsa
SqlConnection conn new SqlConnection(constr)
connOpen()
try
{
string str update teacher set name ' + naTextTrim() + ' sex ' + seTextTrim() + ' age + agTextTrim() + where teacherID + id
SqlCommand sqlCommand new SqlCommand()
sqlCommandConnection conn
sqlCommandCommandText str
sqlCommandCommandType CommandTypeText
sqlCommandExecuteNonQuery()
}
catch (Exception ex)
{
MessageBoxShow(修改失败)
}
finally
{
connClose()
}
teacherinformation_Load(sender e)
}
五参考文献
李彦鸿全面学分制高校教务理信息系统设计实现[D]云南:云南学2006
王斌钱祥根学课程表调度系统utss [J]计算机学报2001(5)
张清绵徐明智教学组织理课程表调度系统[J〕连理工学学报2002(2)
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档