北京理工大学珠海学院2010届本科生毕业设计(论文)-1-网上选课系统的开发与设计摘要网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式(学生按照学校安排好的课程上课)已经不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。本系统是采用Java环境下实现MVC设计模式的Struts框架和实现ORM的Hibernate框架结合起来开发的。用Struts构建整体框架,Hibernate实现数据持久层,这两者的结合很大的提高了系统开发效率,使的系统更易于维护,可重用性更高,可移植性更好。关键词:Struts网上选课Hibernate北京理工大学珠海学院2010届本科生毕业设计(论文)-2-OnlineCourseSelectionSystemDevelopmentandDesignABSTRACTOnlineCourseOnlineCourseSelectionSystemistargetedatschoolstudentsandteachersfromtheperspectiveofourstudents.becausethereformofschooleducation,mostcollegesanduniversitiesarenowbeginningtoimplementthestudent'sowncourseselectionmodel.thetraditionalteaching(studentsarrangedinaccordancewithschoolcurriculumclasses)havenotadapttonewteachingmethods,ifthepaperisstillthewaythroughthecourseselection.ontheonehandandwastealotofmanpower,materialresources,ontheotherhandawasteoftimeandman-madestatisticalprocessappearsinevitableerrorsandsoon.Withtheincreasingnumberofuniversities,suchshortcomingswouldbeexposedmoreandmore.Therefore,theuseofthenetwork,aslongasthecomputerbeforethestudentsentertheirpersonalinformationtocompletetheoriginalcourseselectionisseveraltimestheamountofwork.Fromtheteacher'spointofview,alsosavealotofworkload.asproposedbysubstituteteachersforcompletionofthecourseworkpublishedmorethanstudentsincourseselectionintermsofcomplexity.itcanbereleasedthroughonlinecoursesgreatlyreducetheworkofteachersvolume.reducingtheoccurrenceoftheerrorprobability.Asateacher,alsoaslongasthecomputertooperatebytheirowncan,noneedtorushinbetweentheofficeandtheRegistry.北京理工大学珠海学院2010届本科生毕业设计(论文)-3-ThissystemusestheJavaenvironmenttoachievetheStrutsMVCdesignpatternframeworkandtheHibernateORMframeworktoachieveintegrateddevelopment.ConstructionofoverallframeworkusingStruts,Hibernatefordatapersistence,thiscombinationgreatlyincreasedtheefficiencyofsystemdevelopment,makingthesystemeasiertomaintain,higherreusability,portabilityandbetter.Keywords:StrutsOnlineCourseSelectionSystemHibernate摘要IABSTRACTII1前言12系统开发工具与开发平台22.1开发模式22.2JSP简介22.3MVC开发模式22.4Struts简介42.5Hibernate简介52.6MyEclipse简介62.7JavaScript简介62.8系统运行环境73系统分析83.1系统环境的初步调查8北京理工大学珠海学院2010届本科生毕业设计(论文)-4-3.2系统的可行性研究83.2.1经济可行性83.2.2技术可行性83.2.3社会可行性93.3详细调查93.3.1系统功能分析93.3.2系统业务流程分析103.4新系统逻辑模型的提出113.4.1数据流程图(DFD)113.4.2数据字典分析134系统总体设计164.1系统功能结构设计164.2系统总体物理结构194.2.1系统逻辑结构194.3代码设计204.4数据库设计214.4.1数据库概念结构设计214.4.2数据库逻辑结构设计225系统详细设计25北京理工大学珠海学院2010届本科生毕业设计(论文)-5-5.1功能模块设计25结论28参考文献29谢辞301前言随着教育事业的发展,人才的培养方法也与以前大不相同,以前一刀切的教育方式已经不适合现在的人才。所以,每个学生的爱好与兴趣也随着自身的发展差异越来越大,因此,学生的选课变成了新型教育发展的一大难题。每个课程涉及不同的部门,所选的学生也是来自不同班级学院,假如按照以前人工安排选课,就会大大制约教育事业的发展。随着计算机技术的发展,计算机网络的应用渗透到社会生活的方方面面,学校的管理也随之从原始的手工管理向现代的计算机管理过度。设计开发一个好的选课系统对于学校来说至关重要。通过计算机对选课进行管理,可以避免以前一些人为原因所导致的错误,强大的功能将使增删改查更为快捷便利,庞大的数据库可以存储上万条数据而且保密性好,可靠性高,管理操作全程都在计算机上完成,免去了一部分纸张的开销,经济环保,降低办公成本。实现学校对选课的系统化、规范化、自动化,从而提高学校的管理效率。J2EE平台的飞速发展,技术的成熟以及应用领域的不断扩大,为网上信息的交互提供了一个良好的平台和方便的操作界面。由于J2EE平台基于用户需求的设计方法,使得该系统的使用更加的人性化、个人化、更贴近用户。以J2EE平台的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。北京理工大学珠海学院2010届本科生毕业设计(论文)-6-2系统开发工具与开发平台2.1开发模式目前管理信息系统系统开发,使用的开发模式大体上分为客户端/服务器(Client/Server)模式和浏览器/服务器(Browser/Server)两种模式。传统的C/S模式在开发和维护成本、兼容性、操作界面和操作方法一致性、可扩展性等方面表现出很多问题,以WEB技术为基础的B/S模式随着网络技术的发展越来越多地被应用到各类型的管理系统中。和C/S模式相比,B/S模式的主要优点表现在客户端要求低,维护费用低。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。因此本系统的开发选择基于WEB的B/S模式。2.2JSP简介JSP(JavaServerPage)页面是由HTML代码和嵌入其中的Java代码组成。在页面被客户端请求后,服务器对这些Java代码进行处理,然后将生成的HTML页面返回客户端的浏览器。Java技术具有简单易用、完全面向对象、与平台无关、安全可靠和面向Internet的所有特点。JSP页面一般包含JSP指令、JSP脚本元素、JSP标准动作,以及JSP隐式对象。北京理工大学珠海学院2010届本科生毕业设计(论文)-7-2.3MVC开发模式MVC(ModelViewController)最早在Smalltalk中出现,后来广泛应用于JavaWeb应用程序中[1]。MVC是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成三个核心模块:模型(Model)、视图(View)和控制器(Controller),它们分担不同的任务[2]。图2-1显示了这三个模块的相互关系。图2-1MVC组件类型的关系和功能Model:模型是应用程序的主体部分,包括业务逻辑层和数据库访问层。一个模型能为多个视图提供数据。View:视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新[2]。Controller:控制器接受用户的输入并调用模型和视图去完成用户的需求。当Web用户单击Web页面中的提交按钮来发送HTML表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据[2]。优点:整体结构清晰;易于维护和扩展;多个视图能共享一个模型;可以方便地改变应用程序的数据层和业务逻辑规则,因为模型是自包含的,与控制器和视图保持相对独立;控制器提高了应用程序的灵活性和可配置性。北京理工大学珠海学院2010届本科生毕业设计(论文)-8-2.4Struts简介Struts有一组相互协作的类、Serlvet以及JspTagLib组成。基于Struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是MVC设计模式的一种变化类型。Struts包含了丰富的标记库和独立于该框架工作的实用程序类。Struts提供了自己的控制器组件,并可以融合许多先进的技术来提供后台模型与前端试图。对后台模型来说,Struts可以与JDBC技术和EJB技术集成,或者与一些优秀的第三方软件包交互,如Hibernate,本系统就是选择了与第三方软件包Hibernate进行交互;在视图方面,Struts使用了JSP技术,并可将标记库技术、JSP技术、Velocity模板、XSLT技术等能共同时用于表示层[1]。ActionServlet,Action和ActionForm是Struts三个主要的类。图2-2显示了Struts的MVC框架。图2-2Struts的MVC框架视图View:就是一组JSP文件,在JSP文件中没有业务逻辑处理和模型信息,只有标签,标签可以是标准的JSP标签或客户化标签。模型Model:表示应用程序的状态和业务逻辑,业务逻辑通常由JavaBean或EJB实现。控制器Controller:控制器由ActionServlet类和Action类来实现ActionServlet:主要负责