基于hibenrnate和struts的选课排课系统_第1页
基于hibenrnate和struts的选课排课系统_第2页
基于hibenrnate和struts的选课排课系统_第3页
基于hibenrnate和struts的选课排课系统_第4页
基于hibenrnate和struts的选课排课系统_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)任务书第1页毕业设计(论文)题目基于HIBENRNATE和STRUTS的选课排课系统毕业设计(论文)要求及原始数据(资料)1、搜集资料,为论文做好前期准备。对所涉及的主要知识,进行全面的复习。2、对业务逻辑进行数据建模,确定毕业设计所需要的技术框架。3、需求分析,设计数据库表,对系统进行总体的设计。4、对系统的进行详细的设计,并对整个系统进行详细的测试,尽量避免BUG。5、根据业务逻辑,设计接口以及抽象类。6、针对接口完成后台业务逻辑的实现。7、根据毕业设计完成毕业论文。8训练检索文献资料和利用文献资料的能力;9训练撰写技术文档与学位论文的能力。第2页毕业设计(论文)主要内容1了解选课排课系统的开发背景及研究意义。2学习选课排课系统设计所需使用的相关技术。3对选课排课系统进行需求分析及总体设计。4对选课排课系统的实现进行详细的设计。5对设计进行总结。学生应交出的设计文件(论文)1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。第3页主要参考文献(资料)1陈显刚、李季JAVA项目实战精编电子工业出版社20082陆迟JAVA语言程序设计(第2版)电子工业出版社20053刘志成JAVA程序设计案例教程清华大学出版社20064胡林玲、黄奇软件工程与UML电子工业出版社20055贺平软件测试教程电子工业出版社20046张新曼精通JSPWEB开发技术与典型应用M北京人民邮电出版社,2007981017陈文兰基于SSH集成架构的进销存管理系统的设计J农业网络信息8邓子云JSP网络编程从基础到实践M北京电子工业出版社9(美)JOECELKOSQL权威指南M中国邮电出版社201310郝玉龙JAVAEE编程技术M北京北京交通大学出版社11张立科JAVA信息系统管理开发M北京人民邮电出版社12(美)BRUCEECKEL著,陈昊鹏译,JAVA编程思想(第三版)北京机械工业出版社,2007613李建中,王珊数据库系统原理(第2版)电子工业出版社2004914张长富,黄中敏JAVASCRIPT动态网页编程实例手册北京海洋出版社,200519623915艾灵仙高校系级网站构建平台的设计与实现J科技信息2008年16期16美ARTTAYLOR著,JDBC数据库编程与J2EE电子工业出版社2004TP312JA/1030第4页专业班级软件1008班学生赵伟要求设计(论文)工作起止日期2014年3月17日2014年6月27日指导教师签字日期2014年3月17日教研室主任审查签字日期系主任批准签字日期基于HIBERNATE和STRUTS的选课排课系统摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统学生选课管理系统是学校管理系统的主要构件之一,在某种程度上体现了一个学校的教学现代化水平,系统的先进性将引领学校教学质量向前飞速发展。通过学生选课管理系统这个平台,可以实现学生、课程情况的信息化、网络化、系统化、规范化管理,更加方便学生选课。系统的主要功能包括学生选课管理、课程信息管理与学生选课管理。本系统前台主要使用JSP作为开发语言,后台使用SQLSERCER作为数据库管理系统,开发环境是MYECLIPSE,服务器采用TOMCAT,开发出的一个基于WEB技术的B/S结构的学生选课管理系统。关键词学生选课;JSP;B/S结构BASEDHIBERNATEANDSTRUTSELECTIVESCHEDULINGSYSTEMABSTRACTALONGWITHTHEINFORMATIONTECHNOLOGYINTHEMANAGEMENTOFAMOREPROFOUNDANDEXTENSIVEAPPLICATION,MANAGEMENTINFORMATIONSYSTEMSIMPLEMENTATION,TECHNOLOGYHASGRADUALLYMATUREDMANAGEMENTINFORMATIONSYSTEMISACONTINUOUSDEVELOPMENTOFNEWDISCIPDTHESCHOOLTEACHINGQUALITYFORWARDRAPIDDEVELOPMENT。THROUGHTHISPLATFORM,STUDENTSCOURSEMANAGEMENTSYSTEM,STUDENTSCANACHIEVE,COURSEINFORMATION,NETWORK,SYSTEMATIC,STANDARDIZEDMANAGEMENT,MORECONVENIENTSTUDENTELECTIVETHEMAINFUNCTIONSOFTHESYSTEMINCLUDESTUDENTMANAGEMENT,COURSEINFORMATIONMANAGEMENTANDSTUDENTMANAGEMENT。THEFRONTOFTHESYSTEMULINES,ANYONEUNITTOSURVIVEANDTODEVELOP,EFFICIENTACTIVITIESOFTHEINTERNALORGANIZATIONOFORGANIC,ITMUSTESTABLISHITSOWNCHARACTERISTICSANDTOADAPTTHEMANAGEMENTOFINFORMATIONSYSTEMSTUDENTMANAGEMENTSYSTEMISONEOFTHEMAINCOMPONENTSOFTHESCHOOLMANAGEMENTSYSTEM,TOSOMEEXTENTREFLECTSAASCHOOLTEACHINGMODERNIZATIONLEVEL,THESYSTEMSADVANCEDNATUREWILLLEASINGJSPASADEVELOPMENTLANGUAGE,THEUSEOFSQLSERVERASADATABASEMANAGEMENTSYSTEM,THEDEVELOPMENTENVIRONMENTISMYECLIPSE,SERVERUSINGTOMCAT,DEVELOPEDAWEBTECHNOLOGYBASEDONB/SSTRUCTUREBASEDSTUDENTINFORMATIONMANAGEMENTSYSTEM。KEYWORDSELECTIVESTUDENTSMANAGEMENTSYSTEMJSPB/SSTRUCT目录摘要IABSTRACTII第一章绪论111课题背景112目的和意义113主要研究内容1第二章开发工具及技术221开发工具2211MYECLIPSE2212TOMCAT2213SQLSERVER222开发技术3221JSP技术3222JAVASCRIPT3223SSH框架423软硬件需求5第三章需求分析631需求调研632可行性分析6321技术的可行性6322经济的可行性6323操作可行性6324法律的可行性733功能需求分析7331管理员模块7332教师模块7333学生模块834设计的基本思想835性能需求9351系统的安全性9352数据的完整性936界面需求9第四章系统分析与设计1041数据库的分析与设计10411数据库的概念结构设计10412数据库的逻辑结构设计11413数据库的连接原理13第五章系统功能实现1551系统登陆页面实现1552管理员功能模块17521用户管理18522用户添加模块19523学生信息管理21524课程信息审核22525课程信息管理24526选课申请管理2653老师功能模块28531课程添加29532我的课程管理30533学生选修课3154学生功能模块32541我的选修课32542教师评分列表33543课程申请34第六章系统测试3661统测试目的与意义3662测试过程36621主页面的登录模块测试36622管理员用户添加模块测试3763其他错误38结论39参考文献40致谢41外文翻译42外文原文42中文翻译47第一章绪论11课题背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,选课排课系统必定是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以选课排课系统应该能够为用户提供充足的信息和快捷的查询手段。作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点例如检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。12目的和意义目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,选课排课系统也是有了很大的发展,商业化的选课排课系统软件也不少。选课排课系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以选课排课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件,这种管理方式存在着许多缺点,如效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。13主要研究内容本文主要是设计开发学生选课排课系统,首先系统基于B/S结构,采用JSP编程技术和SQL2005数据库,运用MYECLIPSE开发工具等进行开发;然后进行需求分析,指出了需要解决的问题,需要实现的功能,如申请选修课、查看选修课、查看已选课程、放弃未选课程、修改个人信息、查看对老师的评分等功能模块等,详细介绍了数据库的设计,编码的实施;接着是系统测试,通过测试发现了系统的一些问题,排除了的错误,发现了一些不足等;最后是对本次设计制作的小结,总结了设计过程中遇到的问题和收获。第二章开发工具及技术21开发工具此次设计主要采用MYECLIPSE加TOMCAT后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MYECLIPSE、TOMCAT和SQLSERVER数据库进行简要介绍。211MYECLIPSEMYECLIPSE,是一个十分优秀的用于开发JAVA,J2EE的ECLIPSE插件集合,MYECLIPSE的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)是对ECLIPSEIDE的扩展,利用它我们可以在数据库和JAVAEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JAVAEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,STRUTS,JSP,CSS,JAVASCRIPT,SQL,HIBERNATE。212TOMCATTOMCAT是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。可以这样认为,当在一台机器上配置好APAHCE服务器,可利用它响应对HTML页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的。213SQLSERVER利用JSP结合数据库来开发网站使得网站更具有交互性,因为没有数据库支持的静态网页已经无法满足人们对于网络的需求了。数据库在各行各业中是必不可少的,下面就来介绍数据库方面的相关知识。SQL是英文STRUCTUREDQUERYLANGUAGE的缩写,意思为结构化查询语言。它的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。MICROSOFTSQLSERVER(基于结构化查询语言的数据库服务器)是基于客户/服务器结构的数据库管理系统。用户通过使用客户系统从服务器检索信息并进行本地操作,服务器关注数据库进程,而客户则关注信息的表示。此数据库管理系统能够存储大容量的数据,能够保证数据的安全性、维护数据的完整性,还具有自动高效的机制以及运行分布式处理等。22开发技术221JSP技术JSP技术使用JAVA编程语言编写类XML的TAGS和SCRIPTLETS,来封装产生动态网页的处理逻辑。网页还能通过TAGS和SCRIPTLETS访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于WEB的应用程序的开发变得迅速和容易。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的JAVA程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与SERVLET一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些JAVA代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。SERVLET是JSP的技术基础,而且大型的WEB应用程序的开发需要JAVASERVLET和JSP配合才能完成。JSP具备了JAVA技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/NET的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的JAR文件就可以运行SERVLET/JSP,到由多台服务器进行集群和负载均衡,到多台APPLICATION进行事务处理,消息处理,一台服务器到无数台服务器,JAVA显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。JAVA已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下5支持服务器端组件。WEB应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供WEB页面调用,以增强系统性能。JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。内部对象说明REQUEST客户端请求,此请求会包含来自GET/POST请求的参数;RESPONSE网页传回客户端的响应;PAGECONTEXT网页的属性是在这里管理;SESSION与请求有关的会话;APPLICATIONSERVLET正在执行的内容;OUT用来传送响应的输出流;CONFIG代码片段配置对象;PAGEJSP网页本身;EXCEPTION针对错误网页,未捕捉的例外。222JAVASCRIPTJAVASCRIPT是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端WEB开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JAVASCRIPT的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用JAVASCRIPT可以开发交互式WEB网页。JAVASCRIPT的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了JAVASCRIPT技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。223SSH框架SSH2STRUTS2SPRINGHIBERNATE是J2EE的最新流行框架。其结构如下图21所示。SPRING是一个开源框架,它由RODJOHNSON创建。它是为了解决企业应用开发的复杂性而创建的。SPRING使用基本的JAVABEAN来完成以前只可能由EJB完成的事情。然而,SPRING的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何JAVA应用都可以从SPRING中受益。HIBERNATE是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。HIBERNATE可以应用在任何使用JDBC的场合,既可以在JAVA的客户端程序使用,也可以在SERVLET/JSP的WEB应用中使用,最具革命意义的是,HIBERNATE可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。STRUTS2框架是以WEBWORK基础上发展起来的。从某种程度上来讲,STRUTS2没有继承STRUTS1的血统,而是继承WEBWORK的血统。或者说,WEBWORK衍生出了STRUTS2,因为STRUTS2是WEBWORK的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证而且吸收了STRUTS1和WEBWORK两者的优势,因此,是一个非常值得期待的框架。图21SSH框架SPTING表示层业务层数据层STRUTS2HIBERNATE23软硬件需求硬件需求CPUPENTIUM以上计算机内存512M以上软件需求操作系统版本WINDOWSXP/VISTA/WIN7开发工具MYECLIPSE85后台服务器APACHETOMCAT60开发语言JAVA浏览器IE90第三章需求分析31需求调研教育是科学之本,随着我国教育的普及和当前全球范围的知识经济的突飞猛进,一套高质量高效率的选课排课系统更是必不可少,当前不仅是我国还是海外其他国家,均把学校教育放在战略地位,投入巨大的人力物力研制各种教育模式,其中,选课排课系统的开发是首当其冲。一套好的管理系统是良好学习环境的组织者。由于信息系统数据量大,传统的人工操作不仅效率低,准确性不高,而且其完整性,保密性均得不到保证。此信息管理系统可以实现学生信息的高效查询,修改,删除等操作,使学生信息关系系统化,规范化和自动化。32可行性分析开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪费。下面就技术、经济、操作和法律四个方面来介绍。321技术的可行性本系统开发工具是MYECLIPSE和SQLSERVER数据库,开发语言是JAVA,主要使用了J2EE的技术,JAVA是一种面向对象编程语言,简单易学而且灵活方便。大三时就学习了JAVA课程,大四期间也系统的了解了J2EE的知识,选课排课系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。322经济的可行性如今是信息化时代,信息化管理可以使选课排课系统工作更加系统化、快速化、全面化。这样可以为企业带来较高的工作效益和经济效益,本系统对计算机配置的要求不高,企业机房更换下来的低配置电脑都可以完全满足需要,再者,企业在管理工作上的高效率和便捷性远远超过了开发本系统的成本,所以在经济上具有完全的可行性。323操作可行性本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练,加之对本系统的操作稍加培训即可工作,而且本系统可视性非常好,所以在技术上不会有很大难度。324法律的可行性本选课排课系统是自行开发的管理系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。综上所述,开发一个选课排课系统与人工记录的方式相比具有速度更快,操作更准确,节省开支等有利之处,因此,建立一个选课排课系统是必要可行的。33功能需求分析331管理员模块(1)登陆系统将验证用户是否存在,输入信息是否正确。(2)添加功能添加老师用户管理员可以直接添加老师用户并可以上传老师头像等老师个人信息。对老师申请注册进行审核老师可以在老师模块进行注册,要经过管理员审核确定后才生效。(3)审核功能课程的安排管理员对课程安排进行审核(包括对课程信息修改),审核成功后返回通知老师。课程申请管理员对老师和学生进行课程申请批准。(4)修改功能修改课程管理员可以对课程安排修改(5)删除功能删除课程可以对安排好的课程进行删除删除学生信息对已经毕业的结业的学生进行删除,332教师模块(1)添加课程登录添加画面,教师可以添加选修课的信息(课程代码课程名称上课时间上课地点任课老师课程学分课程学时);(2)修改课程在课程的修改画面,教师可以修改课程的信息;(3)查看课程在课程的信息画面,教师可以查看全部选修课的各种信息;学生选课后(4)查询课程可以查询学生对课程的选修情况;(5)学生成绩录入期末考试后进行学生成绩的录入,输入到系统,以便学生查询;333学生模块1申请选修课学生可以向管理员提出申请选修请求,提出后会在审核通知中显示,通过审核后,同样也会再审核通知中显示。2放弃选修课学生可以向管理员提出放弃选修请求,提出后会在审核通知中显示,通过审核后,同样也会再审核通知中显示。3学生可以查看已安排好授课老师的选修课的详细信息。这些信息均包含课程号,课程名称,上课时间,上课地点,任课老师。4查看已选的课程课程号,课程名称,上课时间,上课地点,任课老师。学生可以在该页面中提出放弃选修该课程的请求。请求会被发送到管理员那里请求确认,发送和通过时会通知。5参与对授课教师的评分。34设计的基本思想设计思想遵循以下几点1采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。2采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。3采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。4简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。5速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。6设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。35性能需求351系统的安全性本选课排课系统在管理权限上要严格进行控制,具体要求如下想登录选课排课系统进行操作,必须有操作权限,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全性。352数据的完整性1各种记录信息的完整性,信息记录内容不能为空。2各种数据间相互联系的正确性。3相同数据在不同记录中的一致性。36界面需求界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人机对话的界面格式等。1输出设计输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。2输入设计输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。输入设计的原则有如下几点1)输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。2)输入的准备及输入过程应尽量容易进行,从而减少错误的发生。3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误第四章系统分析与设计41数据库的分析与设计计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。411数据库的概念结构设计概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。数据库的概念结构设计采用实体联系(ER)模型设计方法。ER模型法的组成元素有实体、属性、联系,如下图41所示,ER模型用ER图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的。根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立ER模型图。图41ER模型实体属性实体间关系学生和课程ER图如图42所示NM学生课程选择IDNAMESJSNAMEID图42学生和课程ER图学生和教师ER图如图43所示NM教师USERNAMEIDREALNAMETELAGESTATE对应学生STUDENTNUMBERSEXSTUDENTNAME图43学生和教师ER图412数据库的逻辑结构设计我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,ER模型向关系数据库模型转换应遵循下列原则每一个实体要转换成一个关系。所有的主键必须定义非空(NOTNULL)。TEL对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。根据ER模型,选课排课系统建立了以下逻辑数据结构,下面是各数据表的详细说明。本系统需要建立3个数据表(1)ADMINS表记录管理员基本信息,如表41所示。表41管理员表(ADMINS)序号列名数据类型长度是否必填1IDINT50NOTNULL2USERNAMENVARCHAR50NULL3PASSWORDNVARCHAR50NULL4ROLESNVARCHAR50NULL5REALNAMEVARCHAR50NULL6AGENVARCHAR50NULL7TELNVARCHAR50NULL8STATENVARCHAR50NULL9PPTAHNVARCHAR50NULL(2)COURSES表记录课程信息,如表42所示。表42课程表(COURSES)序号列名数据类型长度是否必填1IDINT50NOTNULL2NONVARCHAR50NULL3NAMESNVARCHAR50NULL4TIMESNVARCHAR50NULL5ADDRESSNVARCHAR50NULL6JSNAMENVARCHAR50NULL7XFNVARCHAR50NULL8XSNVARCHAR50NULL9STATENVARCHAR50NULL10BEGINTIMEDATETIMENULL(3)COURSESCHOICE表记录课程选择信息,如表43所示。表43课程选择表(COURSESCHOICE)序号列名数据类型长度是否必填1IDINT50NOTNULL2NONVARCHAR50NULL3NAMESNVARCHAR50NULL4TIMESNVARCHAR50NULL5ADDRESSNVARCHAR50NULL6JSNAMENVARCHAR50NULL7XFNVARCHAR50NULL8XSNVARCHAR50NULL9STATENVARCHAR50NULL10XSNAMENVARCHAR50NULL11FSNVARCHAR50NULL12PFNVARCHAR50NULL13BEGINTIMEDATETIMENULL413数据库的连接原理采用JDBC连接数据库的方式,只需在工程中导入对应数据库的JAR包,就可以方便的对数据库进行连接,在程序中,用CLASSFORNAME方法来加载驱动程序,在用DRIVERMANAGER的GETCONNECTION()方法就可以创建一个数据库连接。程序采用的是DAO模式来操作数据库,DAODATAACCESSOBJECT,数据访问对象,是JAVA编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。其思想如图44所示图44DAO模式类图图中BUSSINESSOBJECT是业务对象,是使用DAO模式的客户端;DATATRANSFEROBJECT数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DATAOBJECTACCES数据输入/输出对象封装了对数据源的一些基本操作;DATASOURCE指的是数据源。可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是的编写的软件具有良好的层次式体系结构。本系统为了方便数据库的操作,主要使用DBCONTENT的对象来接一个数据库(建立一个类DBCONTENT),代码如下在程序需要连接数据库的地方,只需要生成一个DBCONNET的对象,就可以对数据库进行连接并操作。BUSINESSOBJECTDATAACCESSOBJECTDATASOURCEDATATRANSFEROBJECT使用封装创建/使用获取/修改第五章系统功能实现在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。51系统登陆页面实现1描述为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。2程序运行效果图如图51所示图51登陆界面在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的SERVICE中,在该SERVICE中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,LOGINSERVICE关键代码PUBLICSTRINGLOGINSTRINGUSERNAME,STRINGUSERPW,INTUSERTYPESYSTEMOUTPRINTLN“USERTYPE“USERTYPETRYTHREADSLEEP700CATCHINTERRUPTEDEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACESTRINGRESULT“NO“IFUSERTYPE0/系统管理员登陆STRINGSQL“FROMTADMINWHEREUSERNAMEANDUSERPW“OBJECTCONUSERNAMETRIM,USERPWTRIMLISTADMINLISTADMINDAOGETHIBERNATETEMPLATEFINDSQL,CONIFADMINLISTSIZE0RESULT“NO“ELSEWEBCONTEXTCTXWEBCONTEXTFACTORYGETHTTPSESSIONSESSIONCTXGETSESSIONTADMINADMINTADMINADMINLISTGET0SESSIONSETATTRIBUTE“USERTYPE“,0SESSIONSETATTRIBUTE“ADMIN“,ADMINRESULT“YES“IFUSERTYPE1STRINGSQL“FROMTLAOSHIWHEREBIANHAOANDLOGINPW“OBJECTCONUSERNAMETRIM,USERPWTRIMLISTLAOSHILISTLAOSHIDAOGETHIBERNATETEMPLATEFINDSQL,CONIFLAOSHILISTSIZE0RESULT“NO“ELSEWEBCONTEXTCTXWEBCONTEXTFACTORYGETHTTPSESSIONSESSIONCTXGETSESSIONTLAOSHILAOSHITLAOSHILAOSHILISTGET0SESSIONSETATTRIBUTE“USERTYPE“,1SESSIONSETATTRIBUTE“LAOSHI“,LAOSHIRESULT“YES“IFUSERTYPE2STRINGSQL“FROMTXUESHENGWHEREXUEHAOANDLOGINPW“OBJECTCONUSERNAMETRIM,USERPWTRIMLISTXUESHENGLISTXUESHENGDAOGETHIBERNATETEMPLATEFINDSQL,CONIFXUESHENGLISTSIZE0RESULT“NO“ELSEWEBCONTEXTCTXWEBCONTEXTFACTORYGETHTTPSESSIONSESSIONCTXGETSESSIONTXUESHENGXUESHENGTXUESHENGXUESHENGLISTGET0SESSIONSETATTRIBUTE“USERTYPE“,2SESSIONSETATTRIBUTE“XUESHENG“,XUESHENGRESULT“YES“RETURNRESULT52管理员功能模块管理员系统主页面左方页面展示了管理员可操作的六大功能,进入相关的管理页面可以链接到子菜单,每个管理模块下面都有相应的子菜单。程序运行效果图如图52所示图52管理员登陆后界面在每个JSP页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面IFSESSIONGETATTRIBUTE“USER“NULLOUTPRINT“ALERT请先登录WINDOWOPEN/INDEXJSP,_SELF“521用户管理管理员可以删除当前的用户程序效果图如下图53所示图53用户管理界面主要代码如下FUNCTIONMODIFYIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/USERSSERVLETMODEMODIFYBEFORE“SUBMITFUNCTIONDELETESIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/ADMINDELETEACTION“SUBMITFUNCTIONADDDOCUMENTTHISFORMSUBMIT删除“/522用户添加模块管理员输入学生信息相关正确信息后点击录入按钮,如果是没有输入完整的学生信息,都会给出相应的错误提示,不能录入成功。其中用户名,密码,真实姓名不可为空,电话号码为手机号,并且可以通过本地上传头像文件。主要代码如下FUNCTIONADDIFDOCUMENTTHISFORMUSERNAMEVALUE“ALERT“请输入用户名“DOCUMENTTHISFORMUSERNAMEFOCUSRETURNFALSEIFDOCUMENTTHISFORMPASSWORDVALUE“ALERT“请输入密码“DOCUMENTTHISFORMPASSWORDFOCUSRETURNFALSEIFDOCUMENTTHISFORMREALNAMEVALUE“ALERT“真实姓名不可为空“DOCUMENTTHISFORMREALNAMEFOCUSRETURNFALSEIFDOCUMENTTHISFORMTELVALUE“VARSTRPHONEDOCUMENTGETELEMENTBYID“TEL“VALUEVARREG/13091|59|58|88|87|89098/VARPHONE_FLAGREGTESTSTRPHONEIFPHONE_FLAGELSEALERT“对不起,输入的电话格式有错“RETURNFALSE程序效果图如下图54所示图54用户管理界面流程图如下图55所示登录系统录入学生信息录入信息验证录入成功结束通过不通过图55用户信息录入流程图523学生信息管理管理员可以对学生进行设置毕业及删除管理,程序效果图如下图56所示图56学生信息管理界面主要代码如下FUNCTIONMODIFYIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/USERSSERVLETMODEMODIFYBEFORE“SUBMITFUNCTIONDELETESIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/ADMINDELETEACTION“SUBMITFUNCTIONBYIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/STUBYACTION“SUBMIT524课程信息审核当有老师开设某一课程,并设置好课程代码,课程名称,上课时间等属性提交审核后,管理员可以通过此模块对老师的该申请进行通过、不通过以及修改、删除等操作。程序运行效果如下图57所示图57课程信息审核界面主要代码如下FUNCTIONTGIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/COURSETGACTION“SUBMITFUNCTIONBTGIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/COURSEBTGACTION“SUBMITFUNCTIONMODIFYIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/COURSEMODIFYBEFOREACTION“SUBMITFUNCTIONTGIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/COURSECHOICETGACTION“SUBMITFUNCTIONBTGIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/COURSECHOICEBTGACTION“SUBMITFUNCTIONADDDOCUMENTTHISFORMSUBMIT525课程信息管理管理员可在此处查看已审核通过及未通过的课程,起运行效果如下图58所示图58课程信息界面主要代码如下FUNCTIONMODIFYIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/COURSEMODIFYBEFOREACTION“SUBMITFUNCTIONDELETESIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/COURSEDELETEACTION“SUBMITFUNCTIONADDDOCUMENTTHISFORMSUBMIT删除2“/“/526选课申请管理管理员可在次出对学生的选课申请进行审核并做出通过或不通过的管理。程序运行效果图如下图59所示图59选课申请管理界面主要代码如下FUNCTIONTGIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/COURSETGACTION“SUBMITFUNCTIONBTGIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/COURSEBTGACTION“SUBMITFUNCTIONMODIFYIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/COURSEMODIFYBEFOREACTION“SUBMITFUNCTIONTGIDDOCUMENTGETELEMENTBYID“ID“VALUEIDWITHDOCUMENTGETELEMENTBYID“MEMBERFORM“METHOD“POST“ACTION“/COURSECHOICETGACTION“SUBMITFUNCTIONBT

温馨提示

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

评论

0/150

提交评论