




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上饶师范学院 优秀本科毕业论文学生选课系统的设计与实现杨慧清指导老师:颜清(上饶师院数学与计算机系 02 级 3 班,江西 上饶 334001)摘 要:学生选课系统是一个针对高校学生选课而开发的学生选课信息管理系统,是为学生选课提供安全、快捷、方便的服务而建立的应用软件。本系统是一个典型的信息管理系统,其开发主要包 括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和 完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。另外,本文还 着重论述了信息管理系统的系统功能与实现,包括数据流程及存储、学生课程设置、学生信息设置、 用户注册、网上选课修改及删除等。本系统可以使老师、学生更方便的选课。实现全校学生选课在 线查询。由于学生上课情况复杂,可以实现信息修改,及时调整学生的基本情况。切实的提高学校 的管理的工作效率。关键词:学生选课系统;PowerBuilder;数据库中图分类号:TP39 文献标识码:A应用背景的分析1.1 学校管理系统的开发现状及方法在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。在排课过程中 , 除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同 一班级上课、一位教师不能在同一时间上两门课等等。利用计算机辅助进行课表编排工作,既提 高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管 理现代化迈上了一个新台阶。我国不少高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生 。 在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。 运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果, 同时也避免了人工处理时容易产生的错误。 从系统开发的复杂程度来看,计算机辅助排课与选课是高校教务系统中的两个关键子系统,目前 不少教务系统尚未很好地解决排课与选课问题。本文主要对高校教务管理系统中计算机课表编排 与选课子系统的基本功能、设计思想、需求分析以及实现技术进行探讨。我想大家肯定都经历过学生时代,也许很多人还对那个时候的选课记忆犹新,每个学期都要 排着长长的队伍去选。现在,我们已经进入到 Internet 时代了,选课系统自然也要随着更新。9大学中,公选课较多,学生可根据自己的专业及兴趣选择公选课程进行学习,本系统将从教学部门的要求出发,实现公选课的选择、查询与统计。数据库是从 60 年代初发展起来的计算机技术。经过四十来年的发展,数据库技术己经趋于 成熟。Web 数据库在新的 Internet 环境中发生了很大的变化。就数据应用而言呈现出多样化的空 间,如数字图书馆、电子出版物、电子商务、远程教育系统等的出现,给 web 数据库技术提出了 更多、更高的要求。同时,随着国内高校校园网的建设,基于互联网的应用系统的开发正在蓬勃 发展并发挥着较大的作用。例如,我国许多高校的网上招生系统,学校的各种管理信息系统,学 校选课系统,还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于校园网的应用 系统。国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了 NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务 管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕 业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之 多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于 Internet 的校园网的应用已深入到校园内的各个方面。1.2 本课题研究的可行性分析1.2.1 课题调研 (1)到学校教务处通过对学生选课情况的具体调查,发现学生选课系统的实用性和必要性。 (2)本课题要求学生具有熟练的 PowerBuilder 开发能力,有较强的自学能力和一定的关系数据库理论开发功底。 (3)在具体的内容操作方面,具有对复杂表进行处理的能力。 (4)开发过程中遇到的具体问题再做详细调查研究并与指导老师面谈。1.2.2 可行性分析(1)技术可行性-本系统仅需要一台装有 PowerBuilder 软件的计算机即可,对机器本身 没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设 计已非常成熟,要运用数据库生成可执行的文件,并打包成相应的安装文件。(2) 经济可行性-由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使 用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力 , 物力。所带来的效益远远大于系统软件的开发成本,因此在经济上是完全可行的。(3) 操作可行性-界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、 规范、可靠;统计准确;制表灵活;适应力强;容易扩充。1.3 学生选课系统的应用价值这份可行性研究报告是对学生选课系统作的可行性研究分析及指出存在的必性。本报告的编 写目的在于研究选课系统软件的开发途径和应用方法。当今时代是飞速发展的信息时代。在各行各业中离不开信息处. 理,这正是计算机被广泛应 用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是 系统管理的前提。本系统就是为了管理好选课信息而设计的。学校作为一种信息资源的集散地,学生和课程繁 多,包含很多的信息数据的管理,现今,有很多的学校都是初步开始使用,甚至尚未使用计算机 进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手 工处理,对于选课情况的统计和查询等往往采用对课程的人工检查进行,对学生的选课权限、以 及选课代号等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易 丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管学校都有计算机,但是尚 未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环 境。数据处理手工操作,工作量大,出错率高,出错后不易更改。学校采取手工方式对学生选课 情况进行人工管理,由于信息比较多,选课信息的管理工作混乱而又复杂;一般选课情况是记录 在文件上,课程的数目和代号也记录在文件中,学校的工作人员也只是当时对它比较清楚,时间 长了,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长 时间以前的选课进行更改就更加困难了。基于这些问题,我认为有必要建立一个学生选课系统,使选课管理工作规范化,系统化,程 序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和 修改选课情况。2学生选课系统的设计2.1 应用需求分析本系统主要实现教师信息管理、学生信息管理、课程信息管理和系信息管理,其中教师信息 管理有教师姓名、教师工号、教师职称、教师所属系;学生信息管理有学生姓名、学生学号和学 生所在系、年龄、性别;课程信息管理有课程名称、人数、课程性质、开课系、课程人数;系信 息管理有系号和系名。(1)学生信息模块完成学生的登陆,然后根据各位同学所在的系不同,调用相应的选课模块。 其中学生登录模块的功能是验证登录人员确实是本院的学生,学生启动本系统后,系统提示输入 学生学号码和密码,验证后进入主控操作界面。(2)课程信息管理包括必修课程和选修课程,学生必需先登录才能进行对课程的选课否则不 能进入选课系统。(3)系信息管理中学生必需登录学号才能进行选课,否则并不能进行选课。2.2 对软件和硬件的要求系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等 方面的考虑。本系统运行环境为单环境,在运算时对系统整体性能要求过高,要求: 软件系统环境 :PowerBuilder10.0。硬件系统环境:C600、64MB(RAM)、 500MB(HD)。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序独立性较好。2.3 运行需求硬件条件:处理器:Intel PII 450 或更好;内 存:256M 或更大。 软件条件:Microsoft Windows / 95 / 98 或更高版本的操作系统;PowerBuilder10.0;Microsoft Office 2000。2.4 其他需求本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作,可维护性包括 了可读性、可修改性、可测试性等含义。可靠性通常包括正确性和安全性。开发过程中,在各种 矛盾的目标之间作权衡,并在一定的限制的条件(经费、时间、可用的软、硬件资源等)下,使 上述各方面最大限度的得到满足。2.5 系统结构分析2.5.1 数据库应用系统开发简介在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数 据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的 目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们 转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能 的应用。数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于 60 年代,30 多年 来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来 , 随着 World Wide Web(WWW)的猛增及 Internet 技术的迅速发展,使得数据库技术之时成为最热门 技术之一。用户数据目前表明,大多数主流数据库管理系统把用户数据表示为关系。现在把关系 看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系 都同样符合要求,有些关系比其它关系更结构化一。2.5.2系统简要分析管理员可以通过用户身份登录,对系统进行全面的管理,对新用户的添加,删除,对信息进行 管理。学生进入界面通过查询本学期所开设课程进行选择。2.5.3业务流分析学生成绩管理系统的业务流程:首先由教师或系统管理员等有录入权限的用户将各自权限范 围内的信息进行录入,然后保存信息到数据库中。有权限的人可以对这些库信息进行修改和删除 。 所有用户均可以进行信息查询和统计,有权限用户还可以基于已有信息进行奖学金评定,评定结 果可以报表打印。2.5.4数据流分析学生成绩管理系统的数据流程:首先由教师或系统管理员等有录入权限的用户将各自权限范 围内的信息进行录入处理,然后保存信息到数据库中。有权限的人可以对这些库信息进行修改和 删除处理。所有用户均可以进行信息查询和统计,有权限用户还可以基于已有信息进行奖学金的评定处理过程,评定结果可以报表打印。3数据库设计3.1 设计 E-R 图根据学生与课程这两个实体之间的联系,所设计的 E-R 图如下:从 E-R 图可知应建立三个数据关系表,即学生信息表:S(sno,sname,sex,age,sdept);学生 课程信息表:C(cno,cname,cdept,tname),学生选课信息表:SC(sno,cno,grade)。3.2 系统流程图3.3 创建数据表建立学生信息表 s:表 1snosnamesexagesedept9801李铭男19计算机软件9802刘晓鸣男20计算机应用9806刘成刚男21计算机软件9807王铭男22计算机应用9808宣明尼女18计算机应用9809柳红利女19计算机软件9803李明男22计算机应用9804张鹰女21计算机软件9805刘竟静女22计算机软件建立学生课程信息表 c:表 2cnocnamecdepttnameC1PASCAL计算机应用王晓名C2数据结构计算机应用刘红C6WINDOW 技术计算机软件吴志刚C3离散数学计算机应用李严劲C4计算机原理计算机软件王晓名C5数据库原理计算机应用吴志刚C9系统结构计算机软件刘红C8编译原理计算机应用蒋莹岳建立学生选课信息表 sc:表 3snocnograde9801C2569801C6669801C4789803C1889803C2769804C1679804C2769804C3679805C1679805C3919805C2789806C1784应用程序各窗口的创建及相应代码4.1 窗口 w_course_creat 的源代码图 1int sum,hascol dw_1.settransobject(sqlca) dw_1.retrieve() hascol=dw_1.retrieve() st_1.text=string(hascol) 控制按件 cb_ 1 的源代码long l_row int s s=dw_1.rowcount()l_row=dw_1.insertrow(s+1) dw_1.scrolltorow(s+1) dw_1.setfocus() cb_1.enabled=false 控制按件 cb_ 2 的源代码int s,hascol string kk,c_infos=dw_1.getrow()c_info=dw_1.getitemstring(s,cno)select o into : kk from c where (o=:c_info); if c_info=kk and cb_1.enabled=false then MessageBox(出错,不能增加,此课程号已存在!)else dw_1.update()hascol=dw_1.retrieve()st_1.text=string(hascol)cb_1.enabled=true end if控制按件 cb_ 3 的源代码int s,hascol string kk,c_info s=dw_1.getrow()c_info=dw_1.getitemstring(s,cno)select o into : kk from sc where (o=:c_info);if c_info=kk thenMessageBox(出错,不能删除,此课程已有学生选!)elsedw_1.DeleteRow(s) dw_1.Update() hascol=dw_1.retrieve() st_1.text=string(hascol) end if控制按件 cb_ 4 的源代码close(parent)4.2 主窗口 w_select_course 的源代码图 2 dw_1.settransobject(sqlca) dw_1.retrieve()sle_1.SetFocus()控制按件 pb_ 1 的源代码if sle_1.text= thenMessageBox(出错,请输入学号)elsesle_1.text=upper(sle_1.text)if trim(sle_1.text)trim(s_info) then s_info=sle_1.textdw_2.reset() dw_2.settransobject(sqlca) dw_2.retrieve(s_info) dw_2.object.datawindow.readonly=yes dw_3.reset() dw_3.settransobject(sqlca) dw_3.retrieve(s_info) dw_3.object.datawindow.readonly=yesend if end if控制按件 pb_ 2 的源代码 string cnumber,kk1,kk2,kk3 sle_1.text=upper(sle_1.text) sle_2.text=upper(sle_2.text) kk1=upper(s_info)if trim(sle_1.text)trim(kk1) then dw_3.settransobject(SQLCA) s_info=trim(sle_1.text) dw_3.retrieve(s_info) dw_3.object.datawindow.readonly=yes dw_2.settransobject(SQLCA) dw_2.retrieve(s_info) dw_2.object.datawindow.readonly=yesend ifif sle_2.text= thenMessageBox(出错,请输入课程号)end ifif sle_2.text thencnumber=sle_2.textselect ame into :kk2 from c where o=:cnumber;ifkk2= thenMessageBox(出错,此课程号不存在!)end ointo:kk3fromscwhere(o=:sle_2.textand sc.sno=:s_info);if SQLCA.SQLCODE=0 then MessageBox(出错,此课程已选!) elseinsert into sc (Sno,Cno,Grade) values(:s_info,:sle_2.text,0);end if dw_3.reset() sle_2.text=dw_3.settransobject(SQLCA) dw_3.retrieve(s_info) dw_3.object.datawindow.readonly=yes end if控制按件 pb_ 3 的源代码string kkif sle_2.text= thenMessageBox(出错,请输入课程号!)end ifif sle_2.text ointo:kkfromscwhere(o=:sle_2.textand sc.sno=:s_info);if SQLCA.SQLCODE 0 thenMessageBox(出错,此课程未选!)elsedelete from sc where sno=:s_info and cno=:sle_2.text;dw_3.reset() sle_2.text= dw_3.settransobject(sqlca) dw_3.retrieve(s_info) dw_3.object.datawindow.readonly=yes18end ifend if控制按件 pb_ 4 的源代码close(parent)4.3 窗口 w_student_creat 的源代码图 3int sum,hascol dw_1.settransobject(sqlca) dw_1.retrieve() hascol=dw_1.retrieve() st_1.text=string(hascol) 控制按件 cb_ 1 的源代码long l_row int s s=dw_1.rowcount()l_row=dw_1.insertrow(s+1) dw_1.scrolltorow(s+1) dw_1.setfocus() cb_1.enabled=false 控制按件 cb_ 2 的源代码int s,hascol string kk,s_info s=dw_1.getrow()s_info=dw_1.getitemstring(s,sno)select s.sno into : kk from s where (s.sno=:s_info);if s_info=kk and cb_1.enabled=false thenMessageBox(出错,不能增加,此学号已存在!)elsedw_1.update() hascol=dw_1.retrieve() st_1.text=string(hascol) cb_1.enabled=trueend if控制按件 cb_ 3 的源代码int s,hascol string kk,s_info s=dw_1.getrow()s_info=dw_1.getitemstring(s,sno)select sc.sno into : kk from sc where (sc.sno=:s_info);if s_info=kk thenMessageBox(出错,不能删除,此学生已选课!)elsedw_1.DeleteRow(s) dw_1.Update() hascol=d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林业生态恢复与经营管理合同
- 2024年中国橡胶管带制造市场全面调研调查报告
- 胀圆机项目投资可行性研究分析报告(2024-2030版)
- 2025年中国方便面改良剂市场竞争格局及发展战略研究咨询报告
- 2025年电气装备线缆项目投资分析及可行性报告
- 2025年中国蓝莓果汁行业市场深度分析及投资策略研究报告
- 2025年螺旋锥齿轮项目调研分析报告
- 2025年中国动力驱动耙行业发展监测及发展趋势预测报告
- 2025年中国风力发电机齿轮箱市场调查研究及行业投资潜力预测报告
- 2025年小家电项目立项申请报告
- 国开电大商务英语3形考任务单元自测1-8答案
- 项目等级评分表
- AHU维修与保养记录
- CMBS尽调清单目录
- 机械原理课程设计-自动打印机设计说明书
- 建设工程消防设计审查申报表
- 2020新版个人征信报告模板
- FBI教你破解身体语言(完整版)(54页)ppt课件
- 华北电力大学-任建文-电力系统PPT(第1章)
- 《文殊真实名经》
- 对敏视达雷达回波进行基于PHIDP的dBZ和ZDR订正_2014年4月5日~18日
评论
0/150
提交评论