学生成绩管理系统PB课程设计.doc
《学生成绩管理系统PB课程设计.doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统PB课程设计.doc(39页珍藏版)》请在三一办公上搜索。
1、PB课程设计学生成绩管理系统学 号:姓 名:指导老师: 引言Powerbuilder 是目前最有代表性的数据库前端开发工具之一。它具有强大的数据库管理功能,以特有的数据窗口技术和简单易用功能强大的powerscript语言满足了快速开发和实施的需要。在这个学期学习的powerbuilder结合数据库原理进行了本系统的设计,本系统为学生成绩管理系统,制作了一个小型的系统,实现了基本的学生成绩管理功能,在实践中进一步理解和掌握了数据库技术,并使所学的知识有一定的应用价值。学生成绩管理系统能够有效运行,从而完成自动,高效,科学的学生和老师信息的输入和维护,以及老师对学生成绩的录入。系统开发的总体任务
2、是实现学生成绩管理的系统化,规范化和自动化,同时这是对学完powerbuilder之后开发的第一次完整实践。本学生成绩管理系统主要包括三大模块:一、管理员模块,管理员可对教师和学生的基本信息进行输入和维护,对学校课程进行录入、修改,对学生成绩的查看等。二、教师模块,教师可查看自己的基本信息,以及对录入学生成绩和登陆密码的修改等。三、学生模块,学生可查看自己的基本信息、课表,以及选课、退课和修改登陆密码等。本系统中,基本满足对学生成绩的管理,没有对学生成绩进行统计分析。通过做这次的学生成绩管理系统,自己受益匪浅,由于水平有限,不当之处在所难免,恳请老师批评指正。目录一、系统分析与设计11.1 系
3、统功能分析11.2 系统功能模块设计1二、数据库设计与实现42.1 数据库设计42.2 创建数据库42.3 创建应用72.4 创建窗口8 2.4.1创建登陆窗口8 2.4.2创建学生窗口11 2.4.3创建教师窗口15 2.4.4创建管理员窗口212.5 创建选单25 2.5.1创建学生选单25 2.5.2创建教师选单262.6 创建数据窗口28 2.6.1创建学生数据窗口28 2.6.2创建教师数据窗口30 2.6.3创建管理员数据窗口322.7 小结34三、使用说明343.1 学生模块使用说明343.2 教师模块使用说明343.3 管理员模块使用说明353.4 登陆模块使用说明35四、系统
4、优缺点分析354.1优点分析354.2 缺点分析35五、 心得体会35六、 参考文献35一、 系统分析和设计学生成绩管理是学校教务管理的重要环节之一。近年来,随着高校的不断扩招,学生人数越来越多,学生成绩管理的任务更加繁重,必须借助现代化的管理工具和手段提高学生成绩管理效率。学生成绩管理系统广泛应用于高校教务管理部门的学生成绩管理,其作用和功能也是学生比较熟悉和容易理解的。一个应用系统的开发过程包括分析、设计、实现、调试和发布等阶段。以下是分析说明。1.1 系统功能分析本系统可以实现的功能主要包括以下几点:(1) 管理员对学生基本信息的输入和维护,包括学号、姓名、性别、专业、总学分等。(2)
5、管理员对教师基本信息的输入和维护,包括职工号、姓名、年龄、性别、所授的课程号等。(3) 管理员对用户权限的设置,包括用户名、密码、和登陆权限等。(4) 管理员对课程信息的输入和修改,包括课程号、课程名、开课学期、学时、学分等。(5) 管理员对学生成绩的查询等。(6) 教师对学生成绩的录入以及登陆密码的修改等。(7) 学生对自己基本信息、课表和成绩查询,快速选课,修改登陆密码等。1.2 系统功能模块设计通过对上述功能的分析、分类、综合,按照模块化程序设计的要求,得到如图2-1所示的功能模块图。学生成绩管理系统学生功能管理员功能教师功能帮助密码修改学生成绩录入教师所授课程查询密码修改教师基本信息查
6、询学生课程管理学生基本信息查询学生成绩查询用户管理关于学校首页学生成绩查询全校课程信息输入与分配学生基本信息输入与维护教师基本信息输入与维护学生选课用户权限管理用户登录管理学生课程查询学生退课 图2-1二、 数据库设计与实现数据库在学生成绩管理系统中占有非常重要的地位,数据库结构的好坏将直接影响到应用系统操作效率已经能否保证数据的一致性、完成性和安全性。2.1 数据库设计 根据学生成绩管理系统的功能要求,通过分析系统要设计的相关实体一集要收集、存储和操纵数据信息,得到如下图所示的系统E-R图。关系模式如下: 学生基本信息(学号,姓名,性别,专业,总学分) 教师基本信息(职工号,姓名,年龄,性别
7、,所授课程) 课程(课程号,课程名,开课学期,学时,学分) 成绩(学号,课程号,成绩,所获学分) 用户(用户账号,密码,权限) E-R图如图3-1:总学分专业性别姓名学号课程号所获学分成绩选修学生 1课程名 n教授课程 n学分学时 1工作 开课学期 1教师职工号 1姓名性别年龄 图3-12.2 创建数据库 开始,在E盘根目录下建立本实例的工作文件夹“workspace”再在”E:workspace”文件夹下建立文件夹”data”,用于存储数据文件。选择ODB ODBC-Utilities-Create ASA Database,如图4-1 图4-1选择table-new table设置参数如图
8、4-2到图5-4。图4-2图4-3 图5-1图5-2图5-3图5-41“学生”表表名:student主键:xh2“教师”表表名:teacher主键:zgh外键:kch3.“课程”表表名:kc主键:kch4“成绩”表表名:xs_cj主键:xh和kch外键:xh和kch5“用户”表表名:user主键:id表之间的具体联系如图6-1:图6-12.3创建应用在”E:workspace”文件夹下建立工作空间命名为“workspace”,如图7-1和7-2:图7-1图7-2创建新的应用,打开new,选择“target”页中的应用“Application”,单击ok,弹出保存文件对话框,选择到新建的目录E:
9、workspace,输入文件名为“project”,单击finish,具体如图8-1:图8-1创建应用之后,在project的open事件中编写代码:/ Profile studentSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=student;UID=dba;PWD=sqlconnect;if sqlca.sqlcode0 thenmessagebox(提示,数据库连接失败!)else open(w_load)end if2.4 创建窗口2.4.1 创建登陆窗口 1.单击new,选择PB O
10、bject,点击window,然后单击ok,窗口如下:保存窗口为“w_load”。2.添加控件并设置属性 在窗口上放置1个图片控件,5个静态文本控件,2个单行编辑控件,1个 图9-1下拉列表控件,2个按钮控件,各个控件的位置和大小如图9-1所示。对象属性取值W_loadTitle学生成绩管理系统Window typeResponse!sle_2PasswordTrue3.编写脚本 (1)定义全局变量string qj_id,qj_password,qj_qx,qj_kch,qj_xfstring s_kch,s_xh(2)定义实例变量int l_n;string l_id,l_password
11、,l_qx(3)w_load的open事件脚本为:st_4.text=string(today(),yyyy-mm-dd)st_5.text =string(now(),hh:mm:ss)Timer(1)在timer()中脚本为:st_5.text=string(now()(4)在sle_1中的getfocus中的脚本为:this.selecttext(1,len(this.text)(5)在sle_2中的getfocus中的脚本为:l_id=trim(sle_1.text)if l_id=thenmessagebox(error,用户名不能为空,请输入!)sle_1.setfocus();e
12、lseselect user.idinto :qj_idfrom userwhere (user.id=:l_id);if sqlca.sqlcode0 thenmessagebox(error,用户名不存在,请重新输入!)sle_1.setfocus();elsesle_2.setfocus();end ifend ifthis.selecttext(1,len(this.text)(6)在ddplb_1的selecttionchanged中的脚本为:l_id=trim(sle_1.text)l_password=trim(sle_2.text)if l_password=thenmessa
13、gebox(error,密码不能为空,请输入!)sle_2.setfocus();elseselect user.id,user.passwordinto :qj_id,:qj_passwordfrom userwhere (user.id=:l_id and user.password=:l_password);if sqlca.sqlcode0 thenmessagebox(error,密码错误,请重新输入!)sle_2.setfocus();elseddplb_1.setfocus();end ifend if(7)在cb_1的clicked中的脚本为:l_id=trim(sle_1.t
14、ext)l_password=trim(sle_2.text)l_qx=trim(ddplb_1.text)select user.id,user.password,user.qxinto :qj_id,:qj_password,:qj_qxfrom userwhere (user.id=:l_id and user.password=:l_password and user.qx=:l_qx);if sqlca.sqlcode0 thenmessagebox(error,用户类型不匹配,请重新选择!) ddplb_1.setfocus();elsechoose case l_qx case
15、管理员 open(w_admin) close(w_load) case 教师 open(w_teacher) close(w_load) case 学生 open(w_student) close(w_load) end chooseend if(8)给cb_1定义一个用户事件u_keydown,事件号为pbm_keydown,u_keydown中的脚本为:if keydown(keyenter!) thenthis.triggerevent(clicked!)end if(9)cb_2的clicked脚本为:close(parent)(10)给cb_2定义一个用户事件u_2,事件号为pbm
16、_keydown,u_2中的脚本为:if keydown(keyenter!) thenthis.event clicked()end if2.4.2 创建学生窗口1 创建窗口,命名为“w_student”: 图11-1(1)添加控件 在窗口上放置一个数据窗口控件,一个选单,如图11-12 创建学生快速选课窗口(1) 创建学生选课窗口命名为“w_ksxk”;图12-1(2) 添加控件在窗口上放置一个数据窗口控件,2个静态文本控件,1个单行编辑文本控件,三个按钮控件,给数据窗口控件添加个数据窗口对象d_ksxk,如图12-1。(3) 在w_ksxk的open事件中的脚本为:dw_1.settra
17、nsobject(sqlca)dw_1.retrieve()(4) 在cb_1的clicked中的脚本为:string mm=trim(sle_1.text)insert xs_cj(xh,kch)values (:qj_id,:m)using sqlca;if sqlca.sqlcode0 thenmessagebox(error,选课失败:此课程不是可选课程或已被选,请检查!)sle_1.setfocus()sle_1.selecttext(1,len(m)elsemessagebox(选课成功,你已成功选定课程号+m)sle_1.text=end if(5) 在cb_2中的clicked
18、的脚本为:sle_1.text=(6) 在cb_3中的clicked的脚本为:close(parent)3创建快速退课窗口(1) 创建学生退课窗口,命名为“w_tuike”:图13-1(2)添加控件在窗口上放置一个数据窗口控件,2个静态文本控件,1个单行编辑文本控件,三个按钮控件,给数据窗口控件添加个数据窗口对象d_kc。如图13-1.(3)在w_tuike的open事件中的脚本为:dw_1.settransobject(sqlca)dw_1.retrieve()(4)在cb_1的clicked中的脚本为:string m,cj_kchm=trim(sle_1.text)select xs_c
19、j.kchinto :cj_kchfrom xs_cjwhere(xs_cj.xh=:qj_id);if cj_kchm thenmessagebox(error,课程表中没有此课程,请重新输入!)sle_1.setfocus()sle_1.selecttext(1,len(m)elsedelete from xs_cjwhere(xs_cj.kch=:m)using sqlca;messagebox(退选成功,你已成功退选课程号+m)w_tuike.dw_1.retrieve(qj_id)sle_1.text=end if(5)在cb_2中的clicked的脚本为:sle_1.text=(6
20、)在cb_3中的clicked的脚本为:close(parent)4 创建修改密码窗口(1)创建学生登录密码修改窗口,命名为“w_password”: 图14-1(2) 添加控件在窗口上放置2个静态文本框控件,1个单行编辑控件,2个按钮控件。如图14-1.(3) 在cb_1的clicked事件中的脚本为: string lint nl=trim(sle_1.text)n=len(sle_1.text)if l=or n10 thenmessagebox(提示,新密码为空或长度大于10,请检查!)elseupdate userset user.password=:lwhere user.id=:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 PB 课程设计
链接地址:https://www.31ppt.com/p-2396176.html