




免费预览已结束,剩余36页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大学网上选课系统设计 摘 要 利用 internet 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学 校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面 发挥了重要作用。服务教学、提高教学水平和效果是校园网建设的核心目标和核心价 值。如何利用现有的资源,来更好地服务于学校的教学和管理工作,是摆在我们面前 的一个共同的命题。 本论文主要包括学生选课系统方案分析与网络规划,本系统是一个典型的信息管 理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。 对于前者要求建立的数据库要求有较强的数据一致性和完整性、数据安全性好等特点。 而对于后者则要求应用程序功能完备,易使用等特点。全文从五个方面具体介绍了学生 选课系统的设计与实现的过程。第一部分,介绍了系统的开发背景和可行性分析。第 二部分,介绍了系统的需求分析。第三部分,系统概要分析,确定系统的功能模块。 第四部分,系统详细分析,具体讲解了各功能模块的具体开发流程。第五部分,各个 功能模块的具体实现及核心代码。 关键字:jsp,mysql ,信息管理系统 abstract make use of an internet technique to carry out the concept in“have no paper to transact“ have already gone deep into public, the campus net was a terrace of the school information-based construction to develop an important function in the aspects of completing the management, electronics of the resources share, internet interview, educational administration to prepare lessons wait.the service teaching, level and effect of the exaltation teaching are core target and core value that the campus net constuct, how make use of an existing resources, betterly is serve in the teaching of school, serve at the management work of school, is 1 which puts in our in front to together set question. this thesis mainly includes a student to select elective courses analysis and network of the system project to program, this system is the information management of a typical model system, its development mainly includes the application develop of procedure of establishment and maintenance and head of backstage database 2.request that starting to build up the data consistency and the integrity is strong to the former, the data safety good database.but then request that applying procedure function is complete to the latter, easy usage etc. characteristics.full text from five concrete introduction the student select elective courses system of design and realization of process.one part, introduction system of development background and viability assessment.two part, introduction the need of the system analysis.three part, system essentials analysis, assurance system of function mold piece.four-part cent, the system be detailed analysis, concrete explained in detail an each function mold piece of concrete development process.five part, each function mold piece of concrete realization and core code. key words:jsp,mysql,information management system - i - 目 录 摘 要 .i abstract ii 第 1 章 前言 1 第 2 章 系统概述 3 2.1 系 统 开 发 背 景 3 2.2 系 统 可 行 性 分 析 4 第 3 章 需求分析 .5 3.1 系 统 需 求 概 述 5 3.2 数 据 流 图 ( dfd) .5 第 4 章 系统概要设计 .7 4.1 功 能 概 要 设 计 .7 4.2 数 据 库 概 要 设 计 .8 第 5 章 系统详细设计 10 5.1 注 册 模 块 .10 5.2 选 课 模 块 11 5.3 删 除 课 程 模 块 12 5.4 查 询 课 程 模 块 13 5.5 查 询 信 息 模 块 14 5.6 修改密码模块 .14 第 6 章 系统实现 18 6.1 系 统 开 发 环 境 及 开 发 工 具 简 介 18 6.1.1 数据系统 mysql 5.0.18 6.1.2 struts 框架 .18 6.1.3 hibernate 18 6.1.4 jsp 19 6.2 选 课 系 统 功 能 模 块 的 实 现 19 6.2.1 注册功能的实现 .19 6.2.2 查看学籍信息功能的实现 .23 6.2.3 修改密码功能的实现 .23 6.2.4 选课功能的实现 .26 6.2.5 已选课程功能的实现 .29 - ii - 6.2.6 删除 课程功能的实现 .30 6.2.7 选课帮助功能的实现 .31 6.2.8 重新登录功能的实现 .32 6.2.9 登录功能的实现 .32 第 7 章 结论 36 参 考 文 献 .37 致 谢 38 - 1 - 第 1 章 前言 数据库是从 60 年代初发展起来的计算机技术。经过四十来年的发展,数 据库技术己经趋于成熟。web 数据库在新的 internet 环境中发生了很大的变化。 就数据应用而言呈现出多样化的空间,如数字图书馆、电子出版物、电子商务、 远程教育系统等的出现,给 web 数据库技术提出了更多、更高的要求。同时, 随着国内高校校园网的建设,基于互联网的应用系统的开发正在蓬勃发展并发 挥着较大的作用。例如,我国许多高校的网上招生系统,学校的各种管理信息 系统,学校选课系统,还有一些医学院校开发出的网上诊所、远程诊断系统等 等,都是基于校园网的应用系统。 国外的教学科研软件与国内相比开发的早而且比较成熟 1。早在七十年代 末,美国就建成了 nsfnet(国家科学基金网),其课题的申报及课题的进展情 况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生 可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这 一学习生活的全过程。 我国不少高校都实行了学分制,它的核心是允许学生自由选课,即把学习 的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大, 而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量 选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理 时容易产生的错误。 从系统开发的复杂程度来看,计算机辅助排课与选课是高校教务系统中的 两个关键子系统,目前不少教务系统尚未很好地解决排课与选课问题。本文主 要对高校教务管理系统中计算机课表编排与选课系统的基本功能、设计思想、 需求分析以及实现技术进行探讨。 大家肯定都经历过学生时代,也许很多人对那个时候的选课记忆犹新,每 学期的课程基本上是学校安排好的,学生基本上没有什么选择的余地,如果学 生对某些课特别感兴趣就的来回跑教务处才能完成选课。现在,我们已经进入 到 internet 时代了,选课方式自然也要改变。大学中,公选课较多,学生可根 据自己的专业及兴趣在选课期内通过网络选课,本系统将从教学部门的要求出 发,设计了登录系统让学生才可以参加选课,避免了某些非学生恶意捣乱。在 - 2 - 进入选课系统后,设计了查看学籍信息,修改密码,查询备选课程,选课,退 选课程,查询选定课程,帮助信息,重新登录等功能模块。 - 3 - 第 2 章 系统概述 2.1 系统开发背景 在时下这个信息社会中,直到今天仍然没有一套完善可行的学生信息管理 系统出现在学校里。每年,从大专生、本科生到硕士生、博士生,几千人的入 学、升学、毕业,全由教务处和各系老师人工管理。信息量之巨大,工作量之 繁重,是难以想象的。因此,学校和各个系都要安排多名教师专门负责学生学 籍管理,浪费了大量的人力资源。然而,即使这样,管理仍然谈不上井井有条。 举一个最简单的真实例子,一个同学的姓名在名册里印错了,就一错错了三年, 一直没能改正。同学想去改,却不知道是应该找系里,还是找教务处。 而另一方面,当我们还是高中生的时候就听说大学实行的是“学分制” , 也就是说,我们不必再天天按照老师安排的课程去学习,而是可以在一些必修 课之外,随意选择我们喜爱和感兴趣的课去学习。但是,当我们真正步入校园 之后才发现,这里仍然是所谓的“学分制” ,即每学期的课程都是学校安排的, 学生没有选择的自由,而且课程的安排由于各方面诸多的原因经常有不适之处, 尤其是先行课的问题。另外,每学期考完试,同学们都要一次又一次的往系里 跑,大家挤在一个小小的布告栏前面,在几张 a4 纸上寻找自己的名字和成绩。 同学们不知道每学期有什么课可以选,哪些是选修,哪些是必修,哪些是专业 课;也不确定每门课多少学分,自己已经修了多少学分;更不用说考虑一下哪 门课要先学,哪门课要后学,哪些课属于一系列。所以说,大部分同学都是为 了“选课”而选课,完全没有实现鼓励同学发展个性,学各自之所爱的效果。 不仅如此,每当选课的时候,同学们忙,老师更忙,学校和系里都需要投入大 量的人力、物力对整个选课过程进行管理。 最后,从社会这方面讲,虽然我们有藏书丰富的图书馆,有先进的实验室, 有多个可以同时容纳百人上机机房,但是学校的软件系统也是衡量该学校整体 水平的一个重要因素。因此我们急待弥补这个空缺,使我们的整体管理水平上 一个档次,于如今这个高科技的信息社会接轨,作时代的领头人。 在以上这三方面背景之下,我们决定设计一套“学生选课系统” 。本系统 立足于教务处的角度,面向全校同学和老师,对全学校的学生和课程做统一管 理,以实现管理的科学化,系统化,自动化,最大限度的为老师和同学们提供 方便,节约人力、物力等各方面资源。 - 4 - 2.2 系统可行性分析 (1)技术可行性 我能接触到高性能的电脑,这为系统的开发与运行提供了良好的硬件环境。 至于软件方面的需求就更不成问题了。在开发系统的过程中,只要是我们需要 的,用得到的软件都可以从网上下载,方便至极。自从上学期安装了宽带以后, 我们就完全领会了网络的魅力,惊人的网速,可让我们充分利用网络上的资料, 同时还可以与国际接轨,取之精华,弃其糟粕,是我们在开发系统中发挥 e 时 代的优越性。 (2)社会可行性 我这套学生选课管理系统不仅能够让老师更清晰的掌握自己学生的信息, 同时也让学生自己更容易的知道如何准确的选课。我们学校的电脑普及率已达 到了很高的水平,尤其是我们系拥有设备先进管理完善的系机房。因此,只要 我们这套学生学籍选课系统操作简单,实用,合理,大家肯定是乐于接受并积 极响应和支持的。对于这一点,我是很有信心的。随着信息时代的来临,学籍 学分选课等信息管理的自动化,一体化正是大势所趋。 (3)经济可行性 我选择数据库时是选择的 mysql 数据库,这是一个免费的数据库,而且 能够满足学校选课系统的需求。服务器是在 tomcat 下布置的,采用的最近 非常流行的 jsp 技术,易于维护 2。 - 5 - 第 3 章 需求分析 3.1 系统需求概述 (1)系统功能需求 学生选课系统并不需要是一个过于复杂的工作环境,一般来说:最合适的 才是最好的。软件设计必须符合学校实际工作的需要,从目前学校网络运用的 情况和教育部门对无纸化办公的实际情况来看,本系统应具有登录,注册功能, 注册用户登录之后可以查看课程信息,课程查找功能 3,进行相应课程的选择, 查看已选课程信息,以及删除选课,修改密码及退出等。 (2)系统性能需求 作为一个基于 b/s 模式的管理系统,需要记录大量的数据信息,而这些数 据信息需要同时能够提供给使用人员查询和修改,必然需要一个大型的数据库 系统和一台网络服务器,并且需要建立局域网或是能够被 internet 网络用户 访问。对于客户机来说,他不需要存储数据,而只需要通过访问服务器,获得 相应的服务。 3.2 数据流图(dfd) 数据流图是一种图形化技术,是描述数据处理过程的工具。数据流图从数 据传递和加工的角度,以图形的方式刻画数据流从输入到输出的传输变换过程。 数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表 示了系统的逻辑处理的功能。 在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和 被处理的逻辑过程。数据流图是系统逻辑功能的图形表示,即使不是专业的计 算机技术人员也容易理解它,因此是分析员与用户之间极好的通信工具。此外, 设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样 具体地实现这些功能,所以它也是今后进行设计 4的很好的出发点。 根据前面需求分析所述,可以画出数据流图如图 3-1 所示: - 6 - 图 3-1 数据流图 - 7 - 第 4 章 系统概要设计 系统设计的主要目的是将系统逻辑方案转换成可以实施的基于计算机的技 术方案。这一阶段的主要任务是 5从系统的总体出发,根据系统的逻辑功能的 要求,并考虑到技术和运行环境等方面的条件,确定系统的总体结构和系统各 组成部分的技术方案,合理选择计算机和通信软、硬件设备,提出系统的实施 计划,确保总体目标的实现。系统的总体设计是指整个系统由哪些部分组成, 系统如何实现,以及各部分在物理上、逻辑上的相互关系。它的任务是设计系 统的结构,也就是要将整个系统合理的划分成各个功能模块,将逻辑模型转换 为物理模型,正确的处理模块之间与模块内部的联系以及它们之间的调用关系 和数据联系。 4.1 功能概要设计 (1)用户登录 用户登录系统,当输入学号或密码有误时,返回登录界面显示提示信息。 如果验证成功,则进入主界面。当没有注册时,注册完成后自动登录。 (2)用户注册 用户在正式注册开始前会对你注册的学号进行检测,看该学号是否存在。 用户注册需填写学号,密码,姓名,性别,注册日期,学院,专业,班级 且学号不能和别人的重复。一旦不满足上述条件则应返回注册页面并且显示相 应的错误信息。正确填写后系统更新数据库并完成自动登录。 (3)查看备选课程 用户可以查看到所有的备选课程,以及该课程的具体信息,在查看备选课 程的时候可以利用模糊查询来查找相关的课程信息。 (4)选课 当用户点击此键后,选课成功,当该课程所需人数已满时,选课失败,且 提示失败信息。当该课程已选过的时候不能重复选课了,如果用户继续点击, 则提示给用户失败信息。 (5)查看已选课程 当用户点击此键后,可以查看到用户已经所选的所有课程。并且显示这些 课程的具体信息。在查看的信息表前面有一可选项,当选中后提交就执行了删 除的操作。 - 8 - (6)删除课程 当用户点击此键后,可以删除课程。并且显示提示信息。 (7)查询课程 该功能支持模糊查询。如果直接查询则显示所有信息,如果根据学分或课 程 号进行模糊查询,只显示在限制范围的信息。 (8)查看学籍信息 用户可以查看相应的个人信息。该信息的修改权属于数据管理员,用户不 能进行修改。 (9)修改密码 已注册用户有权修改自己的密码。该功能需要填写原始密码,以及两次输 入新密码,如果有误,则提示修改不成功。且所填写内容不能为空。 根据前面需求分析所述,可以画出功能结构图。如图 4-1 所示: 学生选课系统 登录模块 选课模块 注册模块 学 籍 信 息 模 块 修 改 密 码 模 块 查 询 可 选 课 程 选 定 课 程 模 块 删 除 课 程 模 块 帮 助 信 息 模 块 查 询 已 选 课 程 重 新 登 录 模 块 图 4-1 功能结构图 4.2 数据库概要设计 图 4-2 学生实体属性图 图 3-3 开课计划实体属性图 开课计划 教室容纳最多人 id 号 上课地点 教师 id 号 学分 已选人数 课程名 科目 上课时间 学生 密码 学号 性别 姓名 id 号学院 班级 注册日期 专业 教师id 号 姓名 - 9 - 图 4-4 教师实体属性图 学生 开课计划 教师选课 选课 图 4-5 用户 e-r 图 第 5 章 系统详细设计 对于基于结构化的数据库系统开发方法而言,数据库系统在完成需求分析、 概要设计阶段后,需要进行数据库系统的详细设计工作,此阶段不仅需要完成 对数据库系统的处理过程的详细算法描述和输入输出格式设计,而且还需要进 行数据库逻辑结构设计和数据库物理结构设计(也可简称为数据库物理设计) 工作。 5.1 注册模块 图 5-1 注册页面的设计 - 10 - 图 5-2 注册页面 如图 5-2 所示,该页面的表单是由 el 语句成的。用户填写信息,如果有 误则显示错误 6信息。$sessionscope.err用来显示错误信息。这些错误信息来 自于消息资源文件(applicationrperties ) 。formbean 读取相应的信 息,供注册页面来显示。 图 5-3 注册模块结构图 在实际运行中,当刚载入该页面时,这些文本框会自动读取 formbean(regformbean)的初始值,并且显示在文本框中 7。点击提交按钮 后,formbean (regformbean)会自动封装表单的所有数据,并且跳转到 (控制器) actionservlet 注册 (jsp) formbean(封 装 jsp 的数据) regaction javebean 主 页 (jsp) struts-config.xml - 11 - actionservlet。有其指派到具体的 action(本图跳转到 regaction) 。在 regaction 中 execute 方法被传入 form 对象,通过 form 对象来取得 formbean 中已封装好的注册表单的数据读取过来 8。并设置给 student 的对象。然后调用 businessservice 类中的 checkcard()方法,并将 student 的对象传递进去。如 果为真则所注册的卡号已存在了,操作中断,返回注册界面。如过为假则调用 businessservice 类中的 saveobject()方法,并将 student 的对象传递进去 9。 该方法如果成功则将用户注册的所有信息存入到数据库中。将 student 的对象 封装在 session 中。控制器将根据 struts-config.xml 的设置,跳转到主页(jsp) 。 5.2 选课模块 选课页面: 图 5-4 选课程页面 载入该页将会显示所有的被选的课程,这里通过 el 和 jstl 标签联合使用。 用户点击选课后,系统将取得该课程的 id 号,传给 action(choosecourse) 。 根据 id 号能得到课程对象 10。从 session 的共享范围中取得 student 的对象。 通过这两个对象,我们得到了 studentcourse 的对象。将给对象传递给 businessservice 类中的 checkstudentcourse()方法,如果为真说明此课程已经 选过了,不能重复选。如果 getinstudent()方法的结果selectedcoursearraylist=new - 29 - courseselecteddao(sid).getselectcoursearraylist(); if(selectedcoursearraylist!=null) request.setattribute(“selectedcourse“, selectedcoursearraylist); address=“success“; else address=“fail“; return mapping.findforward(address); 6.2.5 已选课程功能的实现 在图 6-11 中,当用户点击已选课程时,页面如图 6-11 所示: 图 6-11 已选课程图 6.2.6 删除课程功能的实现 在图 6-12 中,用户点击删除,如在高等数学和大学语文后同时打,并且 提交,结果为: - 30 - 图 6-12 删除课程确认面 图 6-13 删除课程 删除课程的主要功能代码实现为: public class coursedeletionaction extends action public actionforward execute(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws exception string sid=(string) request.getsession().getattribute(“sid“); string address=“timeout“; if(sid!=null) string courseid=request.getparametervalues(“selectcourse“); if(new coursedeletion(sid,courseid).getflag() address=“success“; - 31 - return mapping.findforward(address); 6.2.7 选课帮助功能的实现 这个功能的实现只是连接一个 jsp 网页,其网页的的界面如图 6-14 所示: 图 6-14 选课帮助界面 6.2.8 重新登录功能的实现 重新登录功能的实现是用一个连接连接到登录界面,其实相当于一个退出 登录。 图 6-15 登录界面 6.2.9 登录功能的实现 当正常登录成功就进入如图 6-16 界面: - 32 - 图 6-16 主界面 当登录失败,则会提示错误信息,如图 6-17 所示: 图 6-17 登录界面 登录功能实现的核心代码是: public class registaction extends action public actionforward execute(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws exception registformbean registformbean=(registformbean)form; string sid=(string)request.getsession().getattribute(“sid“); string ensure=(string)request.getsession().getattribute(“ensure“); - 33 - string address=“errorid“; if(new checkid(sid).getflag() address=“errorregist“; if(registformbean.getstudentensure().equals(ensure) if(registformbean.getstudentpassword().equals(registformbean.getstudentensu repassword() regist regist=processregist(sid,registformbean); registdao registdao=new registdao(regist); if(registdao.getflag()=0) request.getsession().invalidate(); request.getsession().setattribute(“sid“,sid); address=“login“; else if(registdao.getflag()=1) address=“timeout“; else request.setattribute(“err1“, “密码与确认密码不一致! “); request.setattribute(“studentname“, registformbean.getstudentname(); request.setattribute(“studentbirthday“, registformbean.getstudentbirthday(); else request.setattribute(“err2“,“验证码错误! “); request.setattribute(“studentname“, registformbean.getstudentname(); request.setattribute(“studentbirthday“, registformbean.getstudentbirthday(); else request.getsession().setattribute(“err“,“学号已存在,请重新输入。“); return mapping.findforward(address); private regist processregist(string sid,registformbean registformbean) - 34 - regist regist=new regist(); regist.setstudentid(sid); regist.setstudentname(registformbean.getstudentname(); regist.setstudentpassword(registformbean.getstudentpassword(); regist.setstudentsex(registformbean.getstudentsex(); regist.setstudentbirthday(registformbean.getstudentbirthday(); regist.setstudentcollege(registformbean.getstudentcollege(); regist.setstudentmajor(registformbean.getstudentmajor(); regist.setstudententrancetime(registformbean.getstudententrancetime(); regist.setstudentclass(registformbean.getstudentclass(); return regist; - 35 - 第 7 章 结论 本次毕业设计,我掌握了 jsp,mysql,struts,hibernate,myeclipse 的基 本原理和使用方法,学会了一些编程技巧和网站开发的步骤,使用 jsp 开发页 面的能力也有了很大的提高,最重要的是此次工作使我获得了一个亲自动手独 立开发网站的机会,使我获得了很多网站开发方面的经验,认识到网站开发是 一项庞杂而又细致的工作,我也知道我现在所掌握的知识还远远不够,这还需 要在以后的学习中来弥补。 在整个设计阶段感受最为深刻的是掌握学习的方式和解决问题的方法。首 先是解决问题的方式,虽然面临的信息很多,但是如何从大量的信息中筛选出 所需的信息,有用的信息,才是解决问题的关键,另外一个就是解决问题的方 法,就像我在解决设计中的很多问题一样,一开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 底店合租合同范本
- 全款新房赠与合同范本
- 花纹钢板加工合同范本
- 下水管施工合同范本
- 网店经营授权合同范本
- 网络平台合同范本
- 合作建房的合同范本
- 乱石买卖合同范本
- 房屋出售分期合同范本
- 施工劳务合同范本2017
- 2025年区域卫生规划与医疗卫生资源优化配置的研究报告
- 养生馆转让协议书
- 南充市“十四五”现代物流产业发展规划
- 外观检验考试试题及答案
- 义务教育《艺术课程标准》2022年修订版(原版)
- 江苏省无锡市江阴市六校2024-2025学年高一下学期4月期中联考试题 物理 含答案
- 医保人员管理制度
- 《杜甫生平》课件
- 电话卡租借合同协议
- 学校食堂保洁员的安全职责
- 2025年中医经典知识竞赛考试题库及答案
评论
0/150
提交评论