数据库课程设计-教学管理系统的设计与实现

上传人:aa****6 文档编号:29993607 上传时间:2018-01-26 格式:DOC 页数:16 大小:666.50KB
返回 下载 相关 举报
数据库课程设计-教学管理系统的设计与实现_第1页
第1页 / 共16页
数据库课程设计-教学管理系统的设计与实现_第2页
第2页 / 共16页
数据库课程设计-教学管理系统的设计与实现_第3页
第3页 / 共16页
数据库课程设计-教学管理系统的设计与实现_第4页
第4页 / 共16页
数据库课程设计-教学管理系统的设计与实现_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数据库课程设计-教学管理系统的设计与实现》由会员分享,可在线阅读,更多相关《数据库课程设计-教学管理系统的设计与实现(16页珍藏版)》请在金锄头文库上搜索。

1、1教学管理系统的设计与实现一、概述随着学校教务的越来越繁重,学校的学生,教师,课程的日益增多,因此对它们的管理问题也是日益突显,所以需要一个专业的应用程序对它们实施系统的管理。本系统教学管理系统就是为了实现对它们的管理而专门设计的。本教学管理系统是用 Sybase 公司的 PowerBuilder 数据库应用开发工具而开发的。它主要包括学生管理、成绩管理、班级管理、课程管理和教师管理。它是通过对学校日常教学管理中的课程、选课、学生、班级、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、班级管理、教师管理、课程管理等相关功能的小型数据库管理应用系统。基本要求:1、完成学生、班级、课程等

2、表的维护2、完成成绩表的浏览查找3、完成成绩表的维护4、按班级、按课程计算平均成绩、最高成绩、最低成绩、及格率5、统计某学生、某学期的所有课程的平均成绩。6、查询教师的授课情况7、完成注册用户管理功能2二、需求分析1、本系统是开发目标是有效管理学生,教师,课程等信息,实现这些信息的数据录入、浏览、修改、查询等,从而实现对信息的规范化、系统化、自动化管理。根据对终端用户的调研,得出下面的需求分析说明文本:() 由于学生等信息具有一定的保密性,为了便于管理,应该为用户设置密码保护,以提高系统的数据安全性。() 使用该系统,能够对学生,教师信息时行记录,并能够非常方便地浏览、添加、编辑和查询。()

3、使用该系统,能够对学生的成绩信息非常方便地浏览、添加、编辑和查询,实现对成绩的有效管理,方便教师查看。() 学校的班级是不断增加的,有些班级还要撤编,所以应用程序应该能够方便地对学生班级进行添加、编辑、删除。() 课程信息描述了课程名称、授课教师等重要教学方面的信息,应该方便进行管理。2、根据系统设计规化出的实体有学生实体,班级实体,课程实体,教师实体,各实体的- 图如下:图 1学生实体 E-R 图3图 2班级实体 E-R 图图 3课程实体 E-R 图图 4教师实体 E-R 图4图 5各实体联系 E-R 图三、数据库逻辑设计根据图 5 得出各个关系模式:学生信息表(学号,姓名,性别,出生日期,

4、班级号,总学分)班级信息表(班级号,班级名,学院,专业,人数)课程信息表(课程号,课程名,学时,学分,开课学期,教师号)教师信息表(教师号,教师名,性别,职称)成绩信息表(学号,课程号,分数,学期,班级号)用户表(用户名,密码)其中用户表是教学管理系统注册用户使用的。由关系模式得出关系表,如下:表stu 学生信息表字段名 数据类型 含义说明 空值情况学号 Char(6) 学生编号 主关键字姓名 Char() 学生姓名 不为空性别 Char(2) 学生性别 不为空出生日期 Date 出生日期 可为空班级号 Char(6) 所在班级 可为空总学分 Dec(4,1) 总学分 可为空表class 班级

5、信息表5字段名 数据类型 含义说明 空值情况班级号 Char(6) 班级编号 主关键字班级名 Char(12) 班级名称 可为空学院 Char(12) 所在学院 可为空专业 Char(12) 所在专业 可为空人数 Dec(2) 班级人数 可为空表course 课程信息表字段名 数据类型 含义说明 空值情况课程号 Char(6) 课程编号 主关键字课程名 Char(12) 课程编号 不为空学时 Dec(2) 课程学时 可为空学分 Dec(2) 课程学分 可为空开课学期 Dec(2) 开课学期 可为空教师号 Char(6) 授课教师 外键表teacher 教师信息表字段名 数据类型 含义说明 空值

6、情况教师号 Char(6) 教师编号 主关键字教师名 Char(8) 教师姓名 不为空性别 Char(2) 教师性别 可为空职称 Char(8) 教师职称 可为空表score 成绩信息表字段名 数据类型 含义说明 空值情况学号 Char(6) 学生编号 主关键字课程号 Char(6) 课程编号 主关键字分数 Dec(2) 考试分数 可为空学期 Dec(2) 考试学期 可为空班级号 Char(6) 班级编号 可为空表 6 user 用户信息表字段名 数据类型 含义说明 空值情况用户名 Varchar(12) 用户名称 主关键字密码 Varchar(12) 用户密码 不为空四、软件功能设计、登录到

7、教学管理系统可以完成系统管理功能,学生管理功能,成绩管理功能,班级管理功能,班级管理功能,课程管理功能和教师管理功能(如图66) 。系统管理:可以实现用户的添加和修改密码。学生管理:可以对学生的记录进行添加,删除,修改和查询。还可以统计某学生,某学期的所有课程的平均成绩。成绩管理:可以对成绩记录进行添加,删除,修改和查询。还可以统计某学生、某学期的所有课程的平均成绩及按班级,按课程计算平均成绩、最高成绩、最低成绩、及格率。班级管理:可以对成绩记录进行添加,删除,修改和查询。课程管理:可以对课程记录进行添加,删除,修改和查询。教师管理:可以对课程记录进行添加,删除,修改和查询及教师授课情况的查询

8、。图 6 软件功能图、软件功能介绍()首先进入用户登录界面,在该界面输入有效的用户名与密码,单击“确认”登录。如果没有用户名和密码的话也可以自己注册。7图 7 用户登录界面图 8用户注册密码(2)进入教学管理系统主应用界面后,单击对应的菜单栏选项,选择所需的操作。图 8主页面(3)打开学生管理菜单可以对学生的记录进行添加、删除、修改和查询。8图 9学生管理页面可以对学生的姓名和班级分别进行查询。图 10 学生查询页面(4)打开成绩管理菜单可以对成绩的记录进行添加、删除、修改和查询。图 11成绩管理页面9可以对学号,课程号分别查询,也可以学号、课程号一起查询。图 12 成绩查询页面 1输入班级号

9、、输入课程号计算平均成绩、最高成绩、最低成绩、及格率图 12 成绩查询页面 2统计某学生,某学期的所有课程的平均成绩10图 13 学期平均成绩查询页面(5) 打开班级管理菜单可以对班级的记录进行添加、删除、修改和查询。图 14 班级管理页面输入班级号,对班级所有信息进行查询图 15 班级查询页面(6) 打开课程管理菜单可以对课程的记录进行添加、删除、修改和查询。11图 16 课程管理页面输入课程号,对课程所有信息进行查询图 17 课程查询页面(7) 打开教师管理菜单可以对教师的记录进行添加、删除、修改和查询。图 18 教师管理页面输入教师号,可对教师所授课程时行查询12图 19教师查询页面五、

10、程序源代码下面给出系统的部分设计图及部分源代码(1)在进行系统界面编程前,先建立数据库,并建立外键。(2)数据库建立后,进行窗口编程。首先建立一个新的工作空间和应用。连接数据库,在应用的 open 事件下输入如下代码:/ Profile StudentSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = Connectstring=DSN=studentconnect;if sqlca.sqlcode0 thenmessagebox(连接失败,不能连接数据源)returnend ifopen(w_login)(3)学生管理页面、成绩管理

11、页面、班级管理页面、课程管理页面、教师管理页面功能似,类所以以学生管理页面为例,学生管理页面(图 9)的代码如下:13显示按钮 cb_3 的代码:dw_1.retrieve(%,%)添加按钮 cb_tianjia 的代码:string ls_ssexdec ls_szongif rb_1.checked thenls_ssex=男else if rb_2.checked thenls_ssex=女end ifend ifls_szong=dec(sle_5.text)insert into stu values(:sle_1.text,:sle_2.text,:ls_ssex,:em_1.te

12、xt,:sle_4.text,:ls_szong);commit;dw_1.retrieve(%,%)dw_1.scrolltorow(dw_1.rowcount()删除按钮 cb_1 的代码: dw_1.deleterow(dw_1.getrow()修改按钮 cb_4 的代码:dw_1.selectrow(dw_1.getrow(),false)if cb_4.text=修改 thendw_1.selectrow(dw_1.getrow(),true)cb_4.text=确认sle_1.text=dw_1.getitemstring(dw_1.getrow(),学号 )sle_2.text=

13、dw_1.getitemstring(dw_1.getrow(),姓名 )em_1.text=string(dw_1.getitemdate(dw_1.getrow(),出生日期)sle_4.text=dw_1.getitemstring(dw_1.getrow(),班级号 )14sle_5.text=string(dw_1.getitemdecimal(dw_1.getrow(),总学分)if dw_1.getitemstring(dw_1.getrow(),性别)=男thenrb_1.checked=truerb_2.checked=falseelserb_2.checked=truerb

14、_1.checked=falseend ifelse cb_4.text=修改string ls_ssexdec ls_szongif rb_1.checked thenls_ssex=男elseif rb_2.checked thenls_ssex=女end ifend ifls_szong=dec(sle_5.text)dw_1.setitem(dw_1.getrow(),学号,sle_1.text)dw_1.setitem(dw_1.getrow(),姓名,sle_2.text)dw_1.setitem(dw_1.getrow(),班级号,sle_4.text)dw_1.setitem(

15、dw_1.getrow(),总学分,dec(sle_5.text)dw_1.setitem(dw_1.getrow(),出生日期,date(em_1.text)dw_1.setitem(dw_1.getrow(),性别,ls_ssex) commit;sle_1.text=sle_2.text=15sle_4.text=sle_5.text=em_1.text=rb_1.checked=falserb_2.checked=falseend if修改按钮 cb_2 的代码:dw_1.update()其中 dw_1 的 DataObject 属性为 d_stu.(4)学生查询页面、成绩查询页面、班

16、级查询页面、课程查询页面、教师查询页面功能类似,所以以学生查询页面为例,学生查询页面(图 10)的代码如下:学生查询按钮 cb_1 的代码:dw_1.retrieve(%+sle_1.text+%,)班级查询按钮 cb_的代码:dw_1.retrieve(,%+sle_2.text+%)其中 dw_1 的 DataObject 属性为 d_stu.(5)按班级号、按课程号计算平均成绩、最高成绩、最低成绩、及格率功能类似,所以以查询班级号的及格率为例,查询班级号的及格率页面(图 12)的代码如下:Tab_1.tabpage_4.cb_7 的 clicked 事件下的代码为:integer count1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号