学生选课系统_第1页
学生选课系统_第2页
学生选课系统_第3页
学生选课系统_第4页
学生选课系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录1概述………………12系统分析………………………..22.1需求分析与调查情况…….....22.2开发的可行性分析………….32.2.1管理上的可行性………….32.2.2技术上的可行性………….32.2.3经济上的可行性………….32.3系统可行性分析结论………3系统分析……………………3.1系统组织结构分析……………………3.2系统功能分析3.3业务流程分析……………….33.4数据流程……………………..53.5数据字典……………………..54系统设计………………………..84.1平台设计……………………....84.2软件总体结构设计……….....84.2.1功能结构图……………......84.2.2模块说明书………….…….94.3代码设计…………………....124.4数据库设计………………....124.4.1E-R图……………………..124.4.2数据表设计……………...134.5界面设计…………………....164.5.1系统登陆界面…………..164.5.2系统主界面…………..174.5.3课程查询界面…….….184.5.4选课界面…………………….....194.5.5生成课表界面………...204.5.6修改密码界面…………..214.5.7系统安全设计…………....215系统实施…………………….....255.1数据库的实施……………...255.2程序实现………………........255.2.1系统类的编写…………………….........256结束语…………...…………….40参考文献1系统概述学生选课系统是指应用电子计算机和网络通信设备,对在校学生的基本信息、课程查询、选课和决策信息进行分析统计信息进行收集、存储、处理、提取和数据文字通讯,能满足所有授权拥护对信息的使用需求的计算机应用软件系统.该系统能方便学生进行选课管理,减少管理者的工作量,快、准、全的获得所需资料,符合学校未来的发展方向.2系统可行性分析2.1需求分析与调查情况在信息化的今天,办公自动化、办公无纸化将会成为不可阻挡的趋势。学生管理系统的提出正是基于这种考虑。通过在线操作管理选课系统方便学校对于学生的选课进行管理。介于对学校网站的考察、分析,并结合学生自身要求,而开发的一套拥有前后台的信息化管理系统。需满足以下要求:统一友好的操作界面,保证系统的易用性;内容及时更新,反映最全面的课程信息为用户提供一个简洁的课表生成模式,清晰显示每周所选课时提供简单的安全模型,让用户必须先进行登录,才允许查询和进行选课;设计网站后台操作平台,管理网站的各项基本数据。2.2开发的可行性分析2.2.1管理上的可行性管理员及时发布最新的选课信息,用户通过选课系统选择所需课程,并可以通过课表查询课程是否有冲突,管理员则通过后台管理学生选课系统。2.2.2技术上的可行性我们都已经学过了JSP、PowerBuilder、JAVA,数据库等基础知识2.2.3经济上的可行性完全属于自行开发程序系统,没有很大的花费,对于刚刚起步做系统的我们很有挑战性,可以锻炼自我的能力。2.3系统可行性分析结论学生选课系统解决了学生网上选课的问题,同学们能及时了解课程,管理员能通过学生的选课进行后台管理。综上,该系统具有极强的可行性,完全可以立即开发!鉴于全国普遍的学校仍采用的是老式的管理模式和当今计算机和网络的迅猛发展,研究开发一个信息管理系统是十分必要的而且是可行的.3系统分析3.1系统组织结构分析系统组织结构图如图3-1学生选课系统学生选课系统前台工作部后台工作部课程查询管理组选课管理组生成课表管理组修改密码管理组系统维护组数据库管理组图3-13.2系统功能分析3.2.1系统功能图如图3-2学生管理系统学生管理系统选课管理课表管理课程管理用户资料管理添加课程密码生成管理课表生成管理课表资料管理原有课程管理课程变更管理删除课程密码修改管理更新课表3.2.2系统各功能分析课程查询管理:只有用户登陆后方能进行课程查询,只有管理员才能发布公告;发布者可以有修改操作的权限;管理员拥有所有权限;用户登陆管理:用户只能修改自己的密码,不能修改姓名;管理员有所有权限;生成课表管理:用户可以通过设置学期查看课表,以及所选课程数和学分,管理员拥有所有权限;学生选课管理:用户可以通过输入课号和学期来添加删除课程,管理员拥有所有权限;4系统设计4.1平台设计表4-1系统平台设计系统平台详细设计硬件平台服务器:PIIII及以上CPU,512M内存,硬盘20客户端:Powerbuilder9.0及以上软件平台操作系统:WindowsXP数据库:ODBC4.2软件总体结构设计4.2.1功能结构图学生选课系统前台学生选课系统前台课程查询展示选课生成课表学生管理精确查询模糊查询添加课程删除课程更新课表查看课表打印课表学生登录密码修改图4-1学生选课系统前台功能结构图教师管理教师管理后台登录打印课表学生管理退出后台系统后台管理系统删除学生增加学生增加课表修改密码修改课表选择课程图4-2学生选课系统后台功能结构图4.2.2模块说明书表4-2“教师管理”模块说明书模块标识R1属于企业规则是/否模块名称:学生登录主要功能:实现学生登录调用模块:学生选课系统输入:用户名,密码输出:相应菜单相关数据表:学生表主要内部变量:用户名,密码算法:表4-3“课程查询”模块说明书模块标识R2所属子系统模块名称;课程查询主要功能:精确查询,模糊查询调用模块:课程查询输入:课号,课名,教师输出:想选的课程名称相关数据表:课程表主要内部变量算法:1根据选课表查看选课情况2根据课程编号查看课程3对查询结果进行操作(添加)表4-4“选课”模块说明书模块标识R3所属子系统模块名称选课主要功能添加选择的课程,删除不想选的课程,查看选课情况调用模块xuanke输入输入课号,输入学期输出选课情况相关数据表课程表,学生表主要内部变量课程编号,学号算法1)学生选择课程,选择要选择的课程2)将选中的课程加入课程中3)查看课程表,按照学生选择输出结果表4-5“生成课表”模块说明书模块标识R4所属子系统模块名称生成课表主要功能查看课表,打印课表调用模块生成课表输入学期输出选择的课程相关数据表学生表,选课表,课程表主要内部变量课程号,学号算法1)确定学生的选课情况2)根据学期生成课表表4-6“修改密码”模块说明书模块标识R4所属子系统模块名称修改密码主要功能修改密码调用模块修改密码输入用户名,密码,新密码输出新密码相关数据表学生表主要内部变量密码算法改变密码4.3代码设计系统中对学生学号进行了代码设计,为使学生学号实现系统自动编码,编码采用顺序码,顺序码表示学号的先后次序。代码模型如图4-3所示。Stunonn图4-3学生学号编号的代码模型4.4数据库设计4.4.1E-R图系统中主要涉及到的实体有“管理员”、“学生”、“教师”、“课程”。实体与实体之间的联系如图4-4所示。教师教师输入学生用户名,密码浏览教师选择学生发布选修课确定密码修改选修图4-4系统E-R图4.4.2数据表设计表4-8学生表字段名类型长度是否为空最初植定义值学号char8nullspace姓名char8nullspace性别char2nullspace班级char2nullspace出生年月datenulltoday用户名char8nullspace密码char8nullspace表4-9选课表字段名类型长度是否为空最初植定义值学号char8nullspace课号char8nullspace学期char8nullspace得分integernull表4-10课程表字段名类型长度是否为空最初植定义值课号char8nullspace课名char30nullspace教师char8nullspace教室char3nullspace容纳人数integernull0剩余名额integernull0上课时间char6nullspace学分doublenull4.5界面设计系统界面风格基本一致,本着方便学生宗旨,在页面的设计上趋向于人性化,易于操作:﹡界面清晰明了、协调一致﹡有清楚的错误提示,误操作后,系统提供有针对性的提示﹡使用用户的语言,而非技术的语言﹡方便退出,随时转移界面,很容易从一个界面跳到另外一个界面﹡让用户知道自己当前的位置,使其做出下一步行动的决定4.5.1系统登陆界面系统登陆界面由Login实现.只要从教师那得到用户名和密码就可以登陆系统。如图4-5所示的操作界面。图4-5系统登陆界面4.5.2系统主界面系统主界面由index实现,在该页面可以进行多个选择。如图3-6所示的界面。图4-6系统主界面4.5.3课程查询界面课程查询界面由kecheng实现,可以进行精确和模糊查询。如图4-7所示的操作界面。图4-7课程查询界面4.5.4选课界面选课界面由xuanke实现,可以添加课程,删除课程,更新课表。如图4-8所示的操作界面。图4-8选课界面4.5.5生成课表界面生成课表界面由kebiao实现,根据前面所选的课程查看课表和打印课表如图4-9所示。图4-9生成课表界面4.5.6修改密码界面修改密码界面由password实现,可以修改用户密码加强安全性。如图4-13所示。图4-11修改密码界面4.5.7系统安全设计主要针对提高数据的安全保密性方面而言:﹡对系统中的数据库定义访问权限。如对由某用户产生的数据,该用户对它具有操作权限,其他用户只有读权或无访问权。﹡对软件的功能模块定义不同的操作权限,不同的级别,提供不同的操作。5系统实施5.1数据库的实施用ODBCAdministrator添加数据源student,然后再在ODBC数据库中实现连接。5.2程序实现5.2.1系统的编写Login://定义两个变量stringpassword,usename//数据库连接参数//ProfileStudentSQLCA.DBMS="ODBC"SQLCA.AutoCommit=FalseSQLCA.DBParm="Connectstring='DSN=student'" //连接数据库connect;//检索用户名和密码记录SELECT"学生表"."学号","学生表"."用户名","学生表"."密码"INTO:stu_no,:usename,:passwordFROM"学生表" WHERE学生表.用户名=:sle_1.text;//判断用户输入的用户名是否正确ifsle_1.text=""orsle_2.text=""then messagebox("错误!","用户名或密码不能为空!",exclamation!,ok!,2)elseifusename=sle_1.textandpassword=sle_2.textthen open(index) close(login)else messagebox("错误!","用户名或密码错误,请重新输入!",exclamation!,ok!,2)endifendifIndex://打开课程查询窗体open(querykecheng)//关闭主窗体close(parent)//打开选课表open(xuanke)//关闭主窗体close(parent)kebiao://定义一个打印工作longjob//打开打印设置job=PrintOpen("一份数据文档")//指定打印数据窗口PrintDataWindow(job,dw_1)//关闭打印工作PrintClose(job)Password://定义两个变量stringmima,usename//数据库连接参数//ProfileStudentSQLCA.DBMS="ODBC"SQLCA.AutoCommit=FalseSQLCA.DBParm="Connectstring='DSN=student'"//连接数据库connect;//检索用户名和密码记录SELECT"学生表"."用户名","学生表"."密码"INTO:usename,:mimaFROM"学生表"WHERE"学生表"."用户名"=:sle_1.text;//判断用户输入的用户名是否正确ifsle_1.text=""orsle_2.text=""orsle_3.text=""orsle_4.text=""orsle_3.text<>sle_4.textthen messagebox("错误!","用户名或密码不能为空,并且新密码不能两次输入相同!",exclamation!,ok!,2)elseifusename=sle_1.textandmima=sle_2.textthen //修改用户的密码 UPDATE"学生表"SET"密码"=:sle_4.textWHERE"学生表"."用户名"=:sle_1.text; messagebox("密码修改成功!","请记住新密码,下次登录时请使用新密码!",Information!,ok!,2)else messagebox("错误!","用户名或密码错误,请重新输入!",exclamation!,ok!,2)endifendifquerykecheng://取消所有过滤条件dw_1.setfilter("")ifrb_1.checked=truethen //精确查询模式程序choosecaseddlb_1.text case"课号" 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+"'") endchoose else //模糊查询模式程序choosecaseddlb_1.text case"课号" dw_1.setfilter("课号like"+"'%"+sle_1.text+"%'") case"课名" dw_1.setfilter("课名like"+"'%"+sle_1.text+"%'") case"教师" dw_1.setfilter("教师like"+"'%"+sle_1.text+"%'") case"上课时间" dw_1.setfilter("上课时间like"+"'%"+sle_1.text+"%'") endchooseendifdw_1.retrieve()//检索数据,将符合条件的数据显示在数据窗口中xuanke:添加课程:intnumberstringkehaoSELECT"选课表"."课号"INTO:kehaoFROM"选课表"WHERE("选课表"."学号"=:stu_no)AND("选课表"."课号"=:sle_1.text)AND("选课表"."学期"=:sle_2.text);ifkehao=sle_1.textorsle_1.text=""orsle_2.text=""then messagebox("提示!","输入框不能为空或您已经选过了该课程!",exclamation!,ok!,2)elseSELECT"课程表"."剩余名额"INTO:numberFROM"课程表"WHERE"课程表"."课号"=:sle_1.text;ifnumber>0then //向选课表中添加新记录INSERTINTO"选课表"("学号","课号","学期","得分")VALUES(:stu_no,:sle_1.text,:sle_2.text,null);//将已经选择的课程减1number=number-1UPDATE"课程表"SET"剩余名额"=:numberWHERE"课程表"."课号"=:sle_1.text; else messagebox("对不起!","您输入的课程名额已满或输入数据库不能接受的记录!",exclamation!,ok!,2) endif endif删除课程:intnumberDELETEFROM"选课表"WHERE("选课表"."学号"=:stu_no)AND("选课表"."课号"=:sle_1.text)AND("选课表"."学期"=:sle_2.text);//得到当前该课程剩余名额SELECT"课程表"."剩余名额"INTO:numberFROM"课程表"WHERE"课程表"."课号"=:sle_1.text;//将该课程加1,因为该课程已经退选 number=number+1UPDATE"课程表"SET"剩余名额"=:numberWHERE"课程表"."课号"=:sle_1.text;更新课表:dw_2.settransobject(sqlca)dw_2.setfilter("选课表_学号='"+trim(stu_no)+"'")dw_2.retrieve()//显示当前选课统计信息realscoreintm,nm=dw_2.rowcount()score=0.0forn=1tom score=score+real(dw_2.object.课程表_学分[n])nextst_14.text=string(m)st_12.text=string(score)6系统总结在大家的共同努力下,本次课程设计顺利完成,让我们在其中受益匪浅。论文从概述到系统分析再到系统设计最后进行系统实施,记录了系统开发的整个过程。在分析阶段对系统进行了目标需求分析,可行性分析,业务流程分析,数据流程分析。在设计阶段对整个系统的运行平台,数据库,操作界面,系统安全进行了详细的设计。在系统的实施阶段,主要从数据库和程序代码两个方面进行研究和实现。系统开发的经验·系统化、规范化的体验系统地、按照规范的开发了一套管理信息系统,或许规模很小,或许功能很简单,但毕竟让我们经历了一次系统化的开发流程,或许以前做过很多Web项目,但没有一次像这样这么规范化,这么按照规矩来;·所学知识的运用。这次主要运用PowerBuilder来设计,通过对这个学期所学的PB灵活运用,让我们对知识有了更牢的掌握。·团队合作很重要。我们也在这一次的合作中探讨出了一套有效的共同开发模式,提前规定一些约束条件和接口,大家有理由条的分工合作,效率高,融合完美,有组织有规模的完成预期目标。·文档,严格要求自我!这次课程设计对于文档的要求比较高,特别是图表的应用,按照设计指导书的要求,我们在开发过程中随时注意书写和整理各类技术文档,全部按照规范的要求和步骤,可以说这次课程设计让我们的文档书写能力突飞猛进。·安全意识很重要!在系统地研制过程中,由于使用人员的安全意识薄弱,造成很多不必要的麻烦,延长了系统开发的时间,使得效率有所降低。系统的不足和开发的反思·由于时间仓促,而且开发人员有限,所以只分析设计了一套很简单、小型的系统,将着重点放于文档书写上;·数据库不安全,可能被下载,并且没有完全的设置域约束;·对于数据的输入没有准备完善的验证机制,可能造成数据库出错;·没有优化数据库连接的使用和连接池技术,当多人同时使用时可能造成服务器负担沉重。由于时间和费用方面的关系,系统存在着很多的不足,实现的功能相对简单,但是系统已经具备了学生选课系统的核心功能,而且操作简单,界面友好,系统及数据库易于维护。基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系

温馨提示

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

评论

0/150

提交评论