教学管理系统的设计与实现

上传人:优*** 文档编号:53979178 上传时间:2022-02-12 格式:DOC 页数:18 大小:678KB
收藏 版权申诉 举报 下载
教学管理系统的设计与实现_第1页
第1页 / 共18页
教学管理系统的设计与实现_第2页
第2页 / 共18页
教学管理系统的设计与实现_第3页
第3页 / 共18页
资源描述:

《教学管理系统的设计与实现》由会员分享,可在线阅读,更多相关《教学管理系统的设计与实现(18页珍藏版)》请在装配图网上搜索。

1、教学管理系统的设计与实现一、概述随着学校教务的越来越繁重,学校的学生,教师,课程的日益增多,因此对它们的管理问题也是日益突显,所以需要一个专业的应用程序对它们实施系统的管理。为方便对学校日常工作进行高效的管理,设计此数据库以提高学校的管理效率。随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立教学管理信息系统是一个很好的解决办法。本系统教学管理系统就是为了实现对它们的管理而专门设计的。本教学管理系统是用Sybase公司的PowerBuilder数据库应用开发工具而开发的。它主要包括学生管理、成绩管理、班级管理、课程管理和教师管理。它是通过对学校

2、日常教学管理中的课程、选课、学生、班级、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、班级管理、教师管理、课程管理等相关功能的小型数据库管理应用系统。基本要求:1、完成学生、班级、课程等表的维护2、完成成绩表的浏览查找3、完成成绩表的维护4、按班级、按课程计算平均成绩、最高成绩、最低成绩、及格率5、统计某学生、某学期的所有课程的平均成绩。6、查询教师的授课情况7、完成注册用户管理功能二、需求分析1、本系统是开发目标是有效管理学生,教师,课程等信息,实现这些信息的数据录入、浏览、修改、查询等,从而实现对信息的规范化、系统化、自动化管理。根据对终端用户的调研,得出下面的需求分析说明文本

3、:() 由于学生等信息具有一定的保密性,为了便于管理,应该为用户设置密码保护,以提高系统的数据安全性。() 使用该系统,能够对学生,教师信息时行记录,并能够非常方便地浏览、添加、编辑和查询。() 使用该系统,能够对学生的成绩信息非常方便地浏览、添加、编辑和查询,实现对成绩的有效管理,方便教师查看。() 学校的班级是不断增加的,有些班级还要撤编,所以应用程序应该能够方便地对学生班级进行添加、编辑、删除。() 课程信息描述了课程名称、授课教师等重要教学方面的信息,应该方便进行管理。2、根据系统设计规化出的实体有学生实体,班级实体,课程实体,教师实体,各实体的-图如下:图1学生实体E-R图图2班级实

4、体E-R图图3课程实体E-R图图4教师实体E-R图图5各实体联系E-R图3、 数据字典经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图6所示。下面,结合该实例具体情况,给出具体需求。图6教学管理业务流程图 经分析之后,本系统要用到六个基本表:学生信息表,班级信息表,课程信息表,教师信息表,成绩信息表,用户表 学生信息表:定义了学生的学号,姓名,性别,出生日期,班级号,总学分班级信息表:定义了班级的班级号,班级名,学院,专业,人数 课程信息表:定义了课程的课程号,课程名,学时,学分,开课学期,教师号 教师信息表:定义了教师的教师号,教师名,性别,职称成绩信息表:定义了学生的学号,课程

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

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

7、明空值情况教师号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)用户密码不为空五、软件功能设计、登录到教学管理系统可以完成系统管理功能,学生管理功能,成绩管理功能,班级管理功能,班

8、级管理功能,课程管理功能和教师管理功能(如图6)。系统管理:可以实现用户的添加和修改密码。学生管理:可以对学生的记录进行添加,删除,修改和查询。还可以统计某学生,某学期的所有课程的平均成绩。成绩管理:可以对成绩记录进行添加,删除,修改和查询。还可以统计某学生、某学期的所有课程的平均成绩及按班级,按课程计算平均成绩、最高成绩、最低成绩、及格率。班级管理:可以对成绩记录进行添加,删除,修改和查询。课程管理:可以对课程记录进行添加,删除,修改和查询。教师管理:可以对课程记录进行添加,删除,修改和查询及教师授课情况的查询。图7 软件功能图、软件功能介绍()首先进入用户登录界面,在该界面输入有效的用户名

9、与密码,单击“确认”登录。图8 用户登录界面(2)进入教学管理系统主应用界面后,单击对应的菜单栏选项,选择所需的操作。图9主页面(3) 打开学生管理菜单可以对学生的记录进行添加、删除、修改和查询。图10学生管理页面可以对学生的姓名和班级分别进行查询。图11 学生查询页面(4)打开成绩管理菜单可以对成绩的记录进行添加、删除、修改和查询。图12成绩管理页面可以对学号,课程号分别查询,也可以学号、课程号一起查询。图13 成绩查询页面1输入班级号、输入课程号计算平均成绩、最高成绩、最低成绩、及格率图14 成绩查询页面2统计某学生,某学期的所有课程的平均成绩图15 学期平均成绩查询页面(5) 打开班级管

10、理菜单可以对班级的记录进行添加、删除、修改和查询。图16 班级管理页面输入班级号,对班级所有信息进行查询图17 班级查询页面(6) 打开课程管理菜单可以对课程的记录进行添加、删除、修改和查询。图18 课程管理页面输入课程号,对课程所有信息进行查询图19 课程查询页面(7) 打开教师管理菜单可以对教师的记录进行添加、删除、修改和查询。图20 教师管理页面输入教师号,可对教师所授课程时行查询图21教师查询页面六、程序源代码下面给出系统的部分设计图及部分源代码 (1)在进行系统界面编程前,先建立数据库,并建立外键。(2)数据库建立后,进行窗口编程。首先建立一个新的工作空间和应用。连接数据库,在应用的

11、open事件下输入如下代码:/ Profile StudentSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = Connectstring=DSN=studentconnect;if sqlca.sqlcode0 thenmessagebox(连接失败,不能连接数据源)returnend ifopen(w_login) (3) 学生管理页面、成绩管理页面、班级管理页面、课程管理页面、教师管理页面功能似,类所以以学生管理页面为例,学生管理页面(图10)的代码如下: 显示按钮cb_3的代码:dw_1.retrieve(%,%)添加按钮c

12、b_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.text,:sle_4.text,:ls_szong);commit;dw_1.retrieve(%,%)dw_1.scrolltorow(dw_1.rowcount()删除按钮cb_1的代码: d

13、w_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=dw_1.getitemstring(dw_1.getrow(),姓名)em_1.text=string(dw_1.getitemdate(dw_1.getrow(),出生日期)sle_4.text=dw

14、_1.getitemstring(dw_1.getrow(),班级号)sle_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_1.checked=falseend ifelse cb_4.text=修改string ls_ssexdec ls_szongif rb_1.checked thenls_ssex=男elseif rb_2.

15、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(dw_1.getrow(),总学分,dec(sle_5.text)dw_1.setitem(dw_1.getrow(),出生日期,date(em_1.text)dw_1.setitem(dw_1.getrow()

16、,性别,ls_ssex) commit;sle_1.text=sle_2.text=sle_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)学生查询页面、成绩查询页面、班级查询页面、课程查询页面、教师查询页面功能类似,所以以学生查询页面为例,学生查询页面(图11)的代码如下:学生查询按钮cb_1的代码:dw_1.retrieve(%+sle_1.text+%,)班级查询按钮cb_的代码:dw_1

17、.retrieve(,%+sle_2.text+%)其中dw_1的DataObject属性为d_stu.(5)按班级号、按课程号计算平均成绩、最高成绩、最低成绩、及格率功能类似,所以以查询班级号的及格率为例,查询班级号的及格率页面(图14)的代码如下:Tab_1.tabpage_4.cb_7的clicked事件下的代码为:integer count1,result,count2declare jisuan cursor forselect 分数 from score where 班级号=:sle_7.text; open jisuan; fetch jisuan into :result; d

18、o while sqlca.sqlcode=0count2=count2+1if result=60 then count1=count1+1end iffetch jisuan into :result;loopclose jisuan;messagebox(提示,该班级的及格率是:+string(count1/count2)*100)+%)(6)查询教师授课成绩页面(图19)的代码如下:Teacher表与course表以教师号为外键建立关联。按钮Cb_1的clicked事件下的代码:dw_1.retrieve(%+sle_1.text+%)其中dw_1的DataObject属性为d_sho

19、uke七、 心得体会PowerBuilder开发工具是一款比较好用的开发工具,通过这次课程设计,我基本上掌握了PB开发工具的运用,能独立完成一些小型软件的设计了,不得不说,课程设计是一门必要的课程。在做教学管理系统的这段时间里让我学会了很多,也懂得了很多。通过这次课设让我更深刻的了解到了在课堂上的学习总是肤浅的,只有在实践中才能学到更多的东西,才能对书本上的知识理解的更透彻。数据库理论是建数据库的基础,使数据库的建立更加完善,使数据库之间的联系更加紧密。只有数据库组织数据还是远远不够的,因为人是最终用户,所以操作界面必须得友好,操作起来更加得心应手。在本次课程设计过程中,我查阅了大量的关于教学

20、管理系统的资料和网站,通过老师的指导和自己的努力,终于完成了本次课程设计。希望在以后的学习生活当中能够再接再厉。最后的结果固重要,但更重要的是它让自己了解了数据库设计的一般过程。在接受客户的一个项目的时候,首先是进行系统分析。首先分析其以后的销售情况以及技术可行性。如果二者可行,我们接下来做的就是总体设计。我们首先必须听取客户的要求,将其提出的功能按某种方式划分为几种模块。这就是整体设计。在对每一个模块进行细化形成最为简单的模块。然后是考虑每一细化模块的算法并将其用语言刻画出来。这就是详细设计。这就迈出了最为关键的一步。剩下的就是编译测试阶段。这是编程的必经阶段,也是我们劳动结果的验金石。只有得到我们期望的结果我们才算真正完成了任务。克服困难,坚持不懈作为一个软件编程者更是必不可少的。只有敢于对困难说不,我们才能成为真正的软件编程者。不懈上帝是公平的,又付出就有回报。眼前的困难只是你前进路上的绊脚石。只要我们不怕痛,我们就能坚持的走下来,最终走向胜利。人类需要处理的数据越来越多,对数据管理的要求也越来越重要。软件的发展也从面向程序发展成为面向数据。 (注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注!)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!