pb课程设计—学生选课系统

上传人:第*** 文档编号:55637437 上传时间:2018-10-03 格式:DOC 页数:25 大小:1.04MB
返回 下载 相关 举报
pb课程设计—学生选课系统_第1页
第1页 / 共25页
pb课程设计—学生选课系统_第2页
第2页 / 共25页
pb课程设计—学生选课系统_第3页
第3页 / 共25页
pb课程设计—学生选课系统_第4页
第4页 / 共25页
pb课程设计—学生选课系统_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《pb课程设计—学生选课系统》由会员分享,可在线阅读,更多相关《pb课程设计—学生选课系统(25页珍藏版)》请在金锄头文库上搜索。

1、11.1 课题的背景当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最到好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。学生选课作为一种信息资源的集散地,包含很多的信息数据的管理。 由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它

2、的效力,资源闲置比较突出,这就是管理信息系统的开发基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。造成了时间上的浪费基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。1.2 课题的设计本文就学生选课系统的设计与制作展开分析。学生选课系统主要应用数据库 技术开发,先从数据库的基本知识开始介绍, 数据库的基本概念、数据 库的发展、数据库的结构,还介绍了开发工具PowerBuilder9.0 和 SQL 语言。我主要是应用PowerBuilder

3、9.0 为前端开发工具,利用SQL 语言 实现 数据查询。设计系统时,先从系统的数据流程开始分析,设计系统的业 务流程图、系统的数据流程图、系统的E-R 图。根据开题报告的设计要求 开始进入系统的总体设计,接着制定系统的设计思想,分析系统的功能并设 计系统的功能模块,这些都是系统制作前的准备工作;准备工作完成后,开 始系统数据库的建立,主要有各个功能窗口的设计,将设计好的窗口集中到 主菜单上,通过用户的用户名和密码的登录 可以进入到主窗口,这样就完2成系统的制作。最后,对系统进行调试,性能3 系统分析3.1 系统分析现代的社会是信息化的社会,信息无所不在。在生产领域、流通领域、各个部门每天都和

4、信息打交道,如何处理如此多的信息成为了一个重要的课题。学生在学期开始选课是教学活动中的一个重要环节,该环节如果能管理好,它不仅能加快学生的选课速度,也提高了整个教学活动的效率。大学一般都有上千名学生,每学期开始学生都要选课,因而产生了大量的课程信息。考虑到用户使用的方便和处理的信息量系统要完成录入,保存,查询,修改和删除课程信息的各种过程,能打印出课程信息表。所以系统的基本体系结构采用C/S 模式。3.1.1 用户要求系统的主要使用对象是需要选课的学生。学生在选课是要察看各个课程的详细信息,还要选择一些感兴趣的课程,需要生成课表,在发现课程有冲突后能够修改先前选择的信息。需要随学生选课的变化,

5、计算相应的总学分。在全部选定后,打印报表。系统还需要管理员来查看和修改 学生的总体选课 情况,课程信息和学生信息。3.1.2 业务流程分析学生选课前要 登录 系统,查看所有课程的详细信息,包括课程代号、授课教师 、教室 、上课时间 、学分 、剩余名额等。根据课程代号,学生可以查询相应的课程,并添加课程。查看课表,并能发现是否存在冲突课程,如果存在,可以删除该课程,并重新选择。打印课表,包含详细的课程信息。最后,选课完毕。学生选课的数据基本流程如图所示:3图 3-1 学生选课流程 3.1.3 系统实体 E-R 图分析经过上述系统功能分析和需求总结,设计如下所示的实体和属性的定义:课程信息 (课程

6、代号,课程名称,授课教师,教室,剩余名额,上课时间,学分 )学生信息 (学号,姓名,性别,班级,出生年月日,是否已选课)学生 登录 信息 (学号,用户名,密码,权限代号)学生选 课信息 (学号,课程代号,学期,课程成绩)用户权限 (权限名称,权限代号)。本系统根据上面的设计规划出的实体有:课程信息实体,学生信息实体,学生 登录 信息实体,学生选课信息实体,用户权限实体。实体之间关系的E-R 图如图 3-2 所示 。图 3-2 系统 E-R 图课程信息实体E-R 图,如图 3-3 所示:图 3-3 课程信息实体E-R 图4学生选课实体E-R 图,如图 3-4 所示:图 3-4 学生选课实体图学生

7、信息实体E-R 图,如图 3-5 所示:图 3-5 学生信息实体图登录 信息实体 E-R 图,如图 3-6 所示:图 3-6 登录 信息实体图用户权限实体E-R 图,如图 3-7 所示:图 3-7 用户权限实体图3.2 本章小结学生选课系统主要是为学生选课的管理提供全面、准确、科学的管理方法,方便快捷地处理选课的管理信息;避免了信息处理错误,提高了信息管理的工作效率,大大地节省人力和物力的开支。本章主要阐述了系统的业务流程,根据业务流程画出绘制出了 E-R 图。54 系统实现4.1 创建一个工作空间和应用程序对象创建一个工作空间(WorkSpace)student,目标( Target)stu

8、dent和应用( Application)stu,在应用的 open 事件中写入如下的语句进行应用与数据库的连接。/ Profile stu_selectSQLCA.DBMS = “ODBC“SQLCA.AutoCommit = FalseSQLCA.DBParm = “ConnectString=DSN=stu_select;UID=;PWD=“connect;4.2 创创建建数数据据库库表表为了保存学生信息、课程信息、学生选课信息、登录 信息、用户权限信息,数据库设计了学生信息表,课程信息表,学生选课信息表,登录信息表和用户权限信息表。这些表使得用户对数据的增删改变得非常方便,数据的冗余不

9、是十分明显。数据库中的学生信息表结构如表4-1 所示:表 4-1 学生信息表( stu_inform)字段名数据类型长度范围是否为空字段说明学号Char8否姓名Nvarchar是性别Char2是班级Nvarchar是出生年月日datetime是是否已选课char是数据库中的课程信息表结构如表4-2 所示:表 4-2 课程信息表( course_inform)6字段名数据类型长度范围是否为空字段说明课程代号Char10否课程名称Nvarchar是授课教师Nvarchar是教室Nvarchar是剩余名额Char 3是上课时间Char20是学分 、学时Int是数据库中的学生选课信息表如表4-3 所示

10、:表 4-3 学生选课信息表( stu_select)字段名数据类型长度范围是否为空字段说明学号Char8否课程代号Char10否学期Char6是课程成绩Int是数据库中的登录信息如表4-4 所示:表 4-4 登录信息表( stu_login)字段名数据类型长度范围是否为空字段说明学号Char8否用户名Nvarchar是密码Nvarchar是权限代号Char3是数据库中的权限信息如表4-5 所示:表 4-5 权限信息表( user_gl)字段名数据类型长度范围是否为空字段说明权限名称Char10是7权限代号Char3否4.3 创建主窗口通过主窗口可以实现信息查询,选择课程,修改选课打印课表等功

11、能。其主要实现窗口如下图4-1 所示:图 4-1 主窗口4.4 创建主菜单创建主菜单主要是方便各种功能的实现,从而实现更好的完成学生选课,查看课程信息等功能。如图4-2 所示:8图 4-2 主菜单 在“课程查询 ”菜单项的 clicked 事件中编写代码:open(w_course_select)在“选课 ”菜单项的 click 事件中编写代码:open(w_course_add)在“生成课表 ”菜单项的 click 事件中编写代码:open(w_course_table)4.5 系系统统管管理理模模块块的的实实现现q qu ue e4.5.1 创建课程查询窗口在主菜单窗口单击 “课程查询 ”

12、即可打开此窗口,使用者可以在此窗口实现对课程的查询。下图4-3 为“课程查询窗口 ”的主界面。图 4-3 课程查询窗口9其中一些主要程序代码如下:(1)open 事件代码dw_1.settransobject(sqlca)dw_1.retrieve()(2) “查找 ”按钮的 click 事件代码dw_1.setfilter(“)if sle_1.text= “ or sle_1.text =“请在此输入查询内容“ thenmessagebox(“错误! “,“请输入查询内容! “)sle_1.event getfocus( )elseif rb_1.checked=true then/精确查

13、找choose case ddlb_1.textcase “课程代号 “dw_1.setfilter(“课程代号 =“+sle_1.text+“)case “课程名称 “dw_1.setfilter(“课程名称 =“+sle_1.text+“)case “授课教师 “dw_1.setfilter(“授课教师 =“+sle_1.text+“)case “上课时间 “dw_1.setfilter(“上课时间 =“+sle_1.text+“)end chooseelse/模糊查询choose case ddlb_1.textcase “课程代号 “dw_1.setfilter(“课程代号 like“

14、+“%“+sle_1.text+“%“)case “课程名称 “dw_1.setfilter(“课程名称 like“+“%“+sle_1.text+“%“)case “授课教师 “10dw_1.setfilter(“授课教师 like“+“%“+sle_1.text+“%“)case “上课时间 “dw_1.setfilter(“上课时间 like“+“%“+sle_1.text+“%“)end chooseend ifend if /检索数据dw_1.retrieve()(3) “选课 ”按钮 click 事件代码open(w_course_add)(4) “查看课表 ”按钮 click 事

15、件代码open(w_course_table)4.5.2 创建添加选课窗口单击主窗口的 “选课 ”即可打开此窗口界面,在此界面可以实现对课程信息的选择查看,可以根据课程代号查询相应课程的详细信息,选择此课程,并计算选课门数和课程总学分。下图4-2 为“添加选课窗口 ”的主界面。11图 4-4 添加选课窗口其中一些主要程序代码如下:(1)open 事件代码dw_1.settransobject(sqlca)dw_2.settransobject(sqlca)string user_name, student_no/检索用户的学号SELECT stu_login.学号 , stu_login.用户

16、名 INTO :student_no, :user_name FROM stu_login WHERE stu_login.用户名 = :login_name ; 12/根据学号查询用户的详细信息dw_2.setfilter(“)dw_2.setfilter(“ stu_select_学号 =“+student_no+“)dw_2.retrieve()/显示学生选择课程数,和其学分总数real scoreint m,nm=dw_2.rowcount()score=0.0for n=1 to mscore=score+real(dw_2.object.course_inform_学分 n)nextst_3.text=string(m)st_6.text=string(score)(2)查找事件代码如下:if sle_1.text=“ thenmessagebox(“错误! “,“请输入查询课程的代码“)sle_1.event getfocus( )elsedw_1.setfilt

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

当前位置:首页 > 高等教育 > 大学课件

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