jsp学籍信息管理系统的设计与实现毕业设计说明书论文_第1页
jsp学籍信息管理系统的设计与实现毕业设计说明书论文_第2页
jsp学籍信息管理系统的设计与实现毕业设计说明书论文_第3页
jsp学籍信息管理系统的设计与实现毕业设计说明书论文_第4页
jsp学籍信息管理系统的设计与实现毕业设计说明书论文_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

职场大变样社区():下载毕业设计成品全套资料,全部50元以下毕业设计说明书学生学籍管理系统。

学籍信息管理系统的设计与实现摘要学籍管理是学校管理的重要内容和组成部分,然而传统的学籍管理太过繁琐,效率太低,已经不能满足现在的需求。通过分析了解学校学籍信息管理的需求特点,为弥补传统学籍信息管理方法的不足与缺陷,结合Web技术,本文采用Myeclipse开发平台和SQLServer2005数据库作为开发工具,采用JSP和JDBC技术,设计了一套学籍信息管理系统,完成了学籍管理中各参与者的功能设计,实现了学籍管理的信息查询、课程管理、成绩管理等功能,并通过网站测试验证了系统的可行性。提高了学籍信息管理工作的效率,节省了人力以及物力。关键词:学籍信息;数据库;JSP;JDBCDesignandImplementationofStudentinformationmanagementsystemAbstractStudentmanagementistheimportantpartofschoolmanagementandcomponent,howevertheschoolmanagementtobetoocomplicated,efficiencyistoolow,alreadycannotsatisfythepresentdemand.Throughtheanalysisabouttheschoolstudentinformationmanagementneedsofthecharacteristics,tomakeupforthetraditionalstudentinformationmanagementmethodofthedeficienciesandshortcomings,combinedwiththetechnologyofWeb,thispaperusestheMyeclipsedevelopmentplatformandSQLServer2005databaseasadevelopmenttool,usingJSPandJDBCtechnology,designasetofstudentinformationmanagementsystem,completethestudentstatusmanagementofeachparticipantinthefunctionaldesign,realizationofstudentmanagementinformationquery,onlinecourse,performancemanagementandotherfunctions,andthroughsitetesttoverifythefeasibilityofthesystem.Improvestudentinformationmanagementefficiency,savemanpowerandmaterialresources.Keywords:Studentinformation;Database;JSP;JDBC目录1.绪论 11.1选题背景 11.2国内外研究状况 11.3研究目标 31.4研究内容 31.5技术路线 41.6可行性分析 41.7论文结构 62.web应用开发技术介绍 72.1开发环境 72.2J2EE开发框架介绍 72.3JSP,Myeclipse 72.4SQLSever 82.5Tomcat服务器 103.学籍信息管理系统的设计 113.1需求分析 113.2系统数据库设计 123.2.1数据库ER模型 123.2.2数据库表设计 133.3系统模块及流程设计 163.3.1系统模块 163.3.2系统流程图 174.学籍信息管理系统的实现 194.1数据库连接实现 194.2核心类及方法介绍 194.3用户登录模块 204.4系统操作模块 214.4.1修改密码 214.4.2退出登录 214.5教务管理模块 214.5.1添加新学生 214.5.2学生基本信息查询 224.5.3学生成绩查询 224.6课程管理模块 224.6.1添加新课程 234.6.2选课信息管理 235.学籍信息管理系统的测试与应用 265.1登录测试 265.2学生管理模块 275.4课程管理模块 325.5系统应用 336.总结与期望 34附录 35参考文献 38致谢 391.绪论1.1选题背景计算机透到人类社会的各个领域并发挥着越来越重要的作用。随着信息管理系统构建技术的发展与成熟,在各类教育机构里有关学籍的信息管理系统也走向了信息化与网络化,且大多系统都是根据特定对象的应用实际来做需求分析,因此需求分析与应用实际的相结合性较好。传统的信息管理主要是以手工方式进行的,存在工作量大、事务繁琐等弊端,人力、物力耗费大,效率较低,管理水平很难提高。针对此问题,很多学校开发出自己的学籍信息管理系统,但大多都存在通病:功能跟不上形势发展的变化,系统的通用性、扩展性和交互友好都不让人满意。学籍管理是学校教学管理和学生管理的重要内容和主要组成部分,对稳定学校的正常教学秩序,保证人才培养质量起着极为重要的作用,所以学生学籍信息管理应该能够提供充足的信息和快捷的查询手段。当前,由于学校学籍管理上存在差异,特别是针对不同阶段学生的信息特点,例如研究生和本科生,信息管理内容相差甚远,再加上当前众多的软件开发技术或开发模式,使得学籍信息管理系统功能设计和实现上千差万别。对于学生学籍信息及每学期各学科的学习成绩需要一个快捷、公平、及时且节约成本的管理方式。因此,学生学籍信息管理系统的设计和开发满足了学校以及学生的需求,成为提高教学效率、节约人力物力的极好工具。上一代的学籍信息管理系统主要为单机用户的系统,其数据库主要采用FoxPro,系统开发环境也是数据库内置的开发工具。其特点是单机单用户方式,开发简单,能充分利用数据库的特性。其缺点是开发出的系统依赖性较强,运行必须依托数据库环境;不容易升级与扩展;无法实现数据的共享与并行操作;代码重用性差。随着计算机网络的发展,特别是校园网的建立,原有学籍信息管理系统数据共享性差的问题更加突出,而新需求的提出也越来越多,越多越频繁。这就要求系统在可扩展性和标准化方面的要求更高。而原有的系统与生俱来的缺点而无法适应现在的需求。1.2国内外研究状况从上世纪开始,管理信息系统在国外很多地方使用已经相当普遍。如:1997年,PeterChiu[1]设计了一个招聘管理的信息管理系统,用其对应聘招聘的信息进行分析和统计。2008年,王勇[2]使用了铁路站环境保护管理系统对铁路站进行管理改革,降低了铁路站环境保护的经济成本。2002年,施泳[3]等提出了一个行车安全信息管理系统,为了提供行车安全,利用行车安全信息管理系统,解决安全问题。我国国内对管理信息系统的研究也在逐步扩大,管理信息系统不断地应用在各行各业中。黄效文、郑明春[4]采用B/S结构和JSP+JavaBean+SQLServer技术作为网站开发工具,设计开发了一个公共图书管理系统,使得图书馆工作变得更加便利高效明显的提高了查询质量和效率,最大限度地节约了用户的时间。雷晓敏[5]通过研究各个地方的在线考试系统,设计了一套基于JSP技术和SQLServer2000的在线考试系统,大大地减轻了教师的工作负担,提升了工作效率,同时也提高了考试质量。陈得友、刘远超[6]通过研究各个家庭财务管理系统情况,从家庭的实际出发,采用JSP动态网页技术和SQL数据库设计并实现了功能较为完善的家庭财务管理系统。解健[7]毕业设计的管理实践,分析了网上毕业设计选题系统的设计思路,设计了一套基于JSP的毕业设计选题系统。任卫东[8]针对当今发展迅猛的电子商务研究构建了一个基于ASP的网上书店系统,方便了用户的购书。国外的信息管理系统功能相当强大。2006年,Kavzoglu[9]为机场信息管理设计了一个信息管理系统,有效的促进了历史信息和数据的共享,减少了数据的流失。在2004年,江苏宜兴市周铁中学的吴联华[10]提出了学校管理信息系统的构建和运用初探。建立学校管理信息系统可以及时、准确的提供统计、分析、评价的数据及有关信息,帮助学校管理人员为学校发展规划和办学目标提供决策依据,合理调配和整合校内外资源,提高学校管理工作的质量和效率。根据目前国内外的情况来看,计算机网络技术在各个学校中都有了较为广泛的应用。随着计算机技术的普及与发展,许多学校在管理方面加大了资金投入,实现办公自动化、电脑化。因此,编制高校学籍管理系统,实现学生学籍管理的现代化,让微机成为学校学籍管理工作的重要助手和工具,节约人力和时间,确保管理信息的正确性,提高学校的工作效率,已成为高校发展的需要。在计算机科学领域中,数据库技术已成为数据处理的主要方法和工具,它的基本思想是对数据实行集中的、统一的、独立的管理,用户最大限度地共享数据资源。学生学籍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统主要完成对学籍的管理,包括添加、修改、删除,查询,打印信息以用户管理等六个方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。

系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成学籍的修改。查询功能也是系统的核心之一,在系统中主要根据学生姓名和学号进行查询,其目的都是为了方便用户使用。系统有完整的用户添加、删除和密码修改功能。1.3研究目标采用JSP技术和B/S模式进行网站建设,SQLServer作为后台数据库支持,开发一个基于Web的学籍管理信息系统。面对信息时代的高速发展和在信息化发展过程中出现的各种情况,该学籍信息管理系统在实施后可以达到以下目标:(1)学生用户:包括修改密码、重新登录、查看个人基本信息、查看成绩、查看未及格信息、网上选课以及查看课表等功能。(2)教职工用户:包括修改密码,重新登录、查看学生基本信息、添加新课程、成绩录入等功能。(3)管理员用户:包括修改密码、重新登录、添加新用户、查看用户信息、查看学生成绩、发布成绩以及发布课程信息等功能。1.4研究内容通过对学籍管理流程的分析,能够得到如下的一些具体研究内容:(1)分析学籍管理中各对象的需求根据学籍信息管理开展流程分析,主要有各院学生、教职工和管理员用户。运用软件工程的知识分析上述对象在系统中所需要实现的操作,如:学生有查看个人基本信息、查看课表、网上选课等权限。教职工有查看学生基本信息、查看学生成绩以及成绩录入等权限。教务管理员用户具有添加新用户、查看用户信息以及发布成绩等权限。(2)系统数据库设计:根据需求分析得到的结果,进行数据库中表的设计以及各表之间的联系设计[11]。如:学生信息表(学号,姓名,性别,生日,住址,院系,专业,政治面貌),学生用户表(登陆账号,密码),成绩表(学号,课程号,分数),课程表(课程号,课程名,学分,院系)等。(3)系统实现与测试本系统主要采用JSP技术实现网页的制作,SQLServer2005作为后台数据库,JDBC技术进行数据库连接,依托Tomcat作为网站服务器。系统实现后,对系统功能进行测试,例如登录测试、修改密码测试等。1.5技术路线根据内的主要内容和设计思路,确立了系统研究开发的技术路线,如图1-1所示。网站与数据库相结合网站与数据库相结合调查和分析系统中各参与者的工作网站界面设计数据库设计利用JSP开发实现网站实现基于WEB的学籍信息管理系统系统的测试与应用撰写论文图1-1技术路线1.6可行性分析可行性分析(FeasibilityAnalysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。(一)技术可行性学生学籍管理系统采用了当前的主流计算结构模式B/S模式进行开发,前台开发语言选用Java、Myeclipse以及Tomcat网络信息服务器作为开发平台。Java是一种面向对象的Windows开发语言Java具有易用、通用和平台无关的特点。后台的数据库开发工具选用了SQLServer数据库,它能够处理大量数据,同时保持数据完整性并提供许多高级管理和数据分配功能。采用HTML,javascript,CSS控制样式前台界面设计,可以实现良好的页面交互。这些开发工具功能强大,有较好的接口,作为本系统开发工具是可行的。

(1)Java:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。(2)Myeclipse:MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。(3)Tomcat:Tomcat是一个轻量级应用服务器,技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。(二)经济可行性随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。21世纪是一个充满竞争和挑战的世纪。在这个世纪中,高效化、系统化、规范化、自动化已成为现代企业的代名词。传统的手工式的管理方式已经无法适合当今的庞大的数据处理和精确的运算需求,所以一套功能完善的学生信息管理系统是提高工作效率节省人力物力的有效解决方案。传统的管理方式,对学校管理人员要求数量多,耗资高,错误率高,工作人员流动和对新人的培训经费也是不小的开支。一套完善的学生信息管理系统可持续使用并能随着时代和工作的需求不断更新,一期投入终身受用,按长期的使用计算,开发系统的造价平均到每年与传统式的管理方式的年耗资本相对比,性价比是可行的。综上所述,开发这套系统的经济可行性是很高的。(三)操作可行性对于这套学生信息管理系统而言,在投入使用前,会由开发并能熟练操作本系统的系统开发人员对用户群进行专业系统的培训。培训内容应包括,熟练掌握系统的各个功能和简单的系统维护,在开发设计程序的过程中直观的界面和控件的文字解释完全能使得用户充分理解起功能和意义,在计算机普及的今天,用户对本系统的操作完全可以看做是一种简单的,配合形式的手工操作,因为本系统最适合用于微型机,可以说几乎任何人都可以使用和管理。所以本系统的操作是完全可行的。1.7论文结构本文共分为绪论、开发环境和技术介绍、系统的设计、系统的实现、系统测试与应用、总结与展望等几部分。第一章主要介绍了选题背景、国内外研究状况、课题研究的目标和内容、技术路线。第二章介绍了系统开发应用到的主要技术,包括:JSP简要介绍、SQLServer介绍、JDBC技术以及B/S模式和C/S模式的分析。第三章介绍了学籍信息管理系统的设计过程。首先对系统进行了需求分析,然后根据需求进行数据库表的详细设计,并且确定各个表之间的关联关系。结合系统中各个角色的功能对系统数据的整体流程进行分析设计。第四章介绍了系统的实现过程。内容包括数据库连接的实现,以及各个功能模块的代码实现。第五章的内容是测试与应用。分为系统登录测试,学生功能测试,教师功能测试。第六章对全文进行了总结与展望。2.web应用开发技术介绍2.1开发环境数据库系统:SQLServer2005开发语言:JAVA开发工具:MyEclipse服务器:Tomcat2.2J2EE开发框架介绍J2EE是Java2平台企业版(Java2Platform,EnterpriseEdition)J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。J2EE(Java2PlatformEnterpriseEdition)是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。目前,Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java2PlatformMicroEdition)、适用于桌面系统的J2SE(Java2PlatformStandardEdition)和适用于企业级应用的J2EE(Java2PlatformEnterpriseEdition)。Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。为了推广并规范化使用J2EE架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE应用设计模型:J2EEBlueprints。J2EEBlueprints提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EEBlueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。J2EEBlueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。2.3JSP,MyeclipseJSP[12]技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML[13]文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。。由于JSP页面的内置脚本语言是基于Java语言的,而且所有的JSP页面最后都被编译成为了JavaService,JSP页面就具有了Java技术的所有的好处,包括健全的存储管理和安全性,并且拥有Java编程语言一次编写,随处运行的特点[14]。MyEclipse[15]企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能。开发JSP的应用过程:(1)创建Web工程:打开Myeclipse开发界面,File->New->Proj-ects,打开新建项目对话框,选中MyEclipse->WebProject,点击NEXT按钮,在WebProje-ctDetails的ProjectsName中输入名字,其他采用默认值,然后点击Finish按钮来完成项目创建。(2)创建JSP页面:在上面创建的工程中,选中WebRoot文件夹,右键菜单New->JSP,其他选择默认。(3)配置Tomcat服务器。2.4SQLSeverSQLServer[16]由Microsoft开发和推广的关系数据库管理系统(DBMS),其主要目的是尽可能快地存储、管理和检索大量数据。它具有使用方便、可伸缩性好、与相关软件集成程度高等优点,可跨越多种平台使用。SQLServer的可伸缩性既可以适应很小的个人数据库,也可以适应大型的企业级的数据管理。而且故障切换和恢复这两种技术内置到了SQLServer系统中,使得SQLServer具有了高度的可用性。SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口。SQL语言的功能主要包括查询、操纵、定义和控制四个方面。SQLserver开发技术概述:(1)打开SQLServerManagementStudio,按照安装时设置的账号密码登入数据库。(2)在数据库中新建新建一个数据库,并对其进行命名。(3)在上面新建的数据库里面新建表,并在表中设置主键和外键,建立起各个表之间的连接。数据库连接对系统来说是最为重要的部分,Java中连接数据库的技术是JDBC[17](JavaDataBaseConnectivity,java数据库连接)。JDBC是由Java编程语言编写的类及接口组成,同时它也为程序开发人员提供了一组用于实现对数据库访问的JDBCAPI,并支持SQL语言[18]。利用JDBC可以将Java代码连接到SQLServer、MySQL、Oracle等数据库,从而实现对数据库中的数据进行操作的目的。简单的说,JDBC可以做三件事:(1)与数据库建立连接;(2)发送并执行SQL语句;(3)处理结果;上述工作主要通过JDBC中以下几个核心类组成:DriverManager类DriverManager类是JDBC的管理层,用于注册跟踪可用的驱动程序,同时在数据库和相应的驱动之间建立连接。在JDBC中可以自动在DriverManager类中注册驱动,在程序中利用Class.forName()方法加载指定驱动程序。加载程序类并在DriverMan-ager类中注册后,即与数据库建立了连接。Connection类调用DriverManager.getConnection()方法会返回一个Connection对象,这个Conne-Ction对象就代表与数据库的连接。Connection类中的方法有以下一些功能:向数据库发送SQL语句;事务处理;管理连接;Statement类Statement对象是由Connection类的createStatement()方法创建的,用于将SQL语句发送到数据库中。ResultSet类ResultSet类提供了对数据结构集的访问机制。ResultSet对象是通过调用Statement对象的exe-cuteQuery()方法创建的。 2.5Tomcat服务器Tomcat服务器是一个免费的开放源代码的Web应用服务器,可以和大部分主流HTTP服务器一起工作,它是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者得喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。Tomcat服务器不但支持运行Servlet和JSP,而且还具备了商业JavaWeb应用容器的特征,除了能够运行Servlet和JSP外,还具备了作为WEB服务器的特有功能。它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,而且它还在不断的改进和完善中。本系统在部署应用的过程中选用了Tomcat作为WEB服务器。3.学籍信息管理系统的设计3.1需求分析通过多方面的沟通交流与了解,确定整个系统分为学生管理端和教师管理端。其对系统功能的要求具体如下:(1)教务管理员端的功能:管理员可以修改自己的密码,添加新用户,根据学号查询指定学生信息,对选课进行控制以及发布成绩等,教务管理员用例图如图3-1所修改密码修改密码登录系统添加新用户成绩发布课程添加与发布重新登录查看用户信息图3-1教务管理用户用例图2.教职工端的功能:教职工可以修改自己的密码,可以根据学号查询指定学生的基本信息和成绩和课程成绩的录入等,教职工用户的用例图如图3-2所示登录系统登录系统查看学生基本信息查看学生成绩成绩录入修改密码重新登录图3-2教职工用户用例图3.学生端的功能:学生可以查看自己的基本信息,查看个人的成绩,包括已选修课程成绩以及不及格成绩,可以在网上进行选课并查看课表等,如图3-3所示。登录系统登录系统查看基本信息查看课程成绩修改密码查看不及格成绩重新登录网上选课查看课表图3-3学生用户用例图3.2系统数据库设计3.2.1数据库ER模型本系统根据上面的需求规划出的实体有:学生用户实体、课程实体、成绩实体、班级实体、学院实体。其中方框内的为实体,椭圆内的是实体的属性。学生学号姓名性别籍贯出生日期政治面貌班级所属专业号所属学院号学生学号姓名性别籍贯出生日期政治面貌班级所属专业号所属学院号入学时间图3-4学生实体E-R图课程学分所属学院号课程名课程号所属专业号(2课程学分所属学院号课程名课程号所属专业号图3-5课程实体E-R图(3)学院、专业和班级实体E-R图,如图3-6所示。专业专业专业名所属学院号专业号学院学院号学院名班级班级班级名班级号所属学院号所属专业号 图3-6学院、专业和班级实体的E-R图学院专业班级学生包含包含下属选课课程学院专业班级学生包含包含下属选课课程开设图3-7全局实体关系图3.2.2数据库表设计根据需求分析,选取SQLServer2005作为数据库。本系统数据库中各个数据表的字段定义和说明如下:students表,用于存放学生的基本信息,如表3-1所示 表3-1学生信息表(students)列名数据类型是否主键备注stu_nochar(12)是学号stu_namevarchar(30)否姓名stu_genderchar(2)否性别stu_birthdaydatetime否生日nativeplacevarchar(80)否住址col_nochar(2)否院系dept_nochar(4)否专业class_nochar(6)否班级mianmaovarchar(10)否政治面貌cometimedatetime否入学时间course表,用于存放课程的基本信息,如表3-2所示表3-2课程信息表(course)列名数据类型是否主键备注cou_nochar(6)是课程号cou_namevarchar(40)否课程名xuefennumeric(3,1)否学分col_nochar(2)否所属学院dept_nochar(4)否所属专业grade表,用于存放成绩,如表3-3所示。表3-3成绩表列名数据类型是否主键stu_nochar(12)是学号cou_nochar(6)是课程号scorenumeric(4,1)否分数isdualnumeric(1,0)否是否公布classes表,记录了班级的相关信息,主要包括四个字段,如表3.4所示。表3-4班级信息表列名数据类型是否主键说明class_nochar(6)是班级号dept_nochar(4)否所属专业col_nochar(2)否所属学院class_namevarchar(10)否班级名colleges表,简单地记录学院编号以及学院名称,如表3.5所示。表3-5学院信息表列名数据类型是否主键说明col_nochar(2)是学员号col_namevarchar(40)否学院名coursemsg,主要记录在选课时,学生可选课程的信息,如星期几,任课老师等,如表3-6所示。表3-6选课信息表列名数据类型是否主键说明cou_nochar(6)是课程编号cou_daychar(1)是星期几cou_timechar(1)是第几讲teachervarchar(20)否任课老师onchosingchar(1)否是否可选teacheruser,记录着教职工的登录信息,如用户名、密码以及所属学院编号,如表3-7所示。表3-7教师登录信息表列名数据类型是否主键说明uidChar(6)是用户名pwdChar(12)否密码col_noChar(2)否所属学院编号stuuser,记录着学生的登录信息,包括学号和密码,如表3.8所示。表3-8学生登录信息表列名数据类型是否主键说明Stu_noChar(12)是学号pwdChar(12)否密码depts,记录与专业有关的信息,如表3-9所示表3-9专业信息表列名数据类型是否主键说明Dept_noChar(4)是专业编号Dept_nameVarchar(40)否专业名称Col_noChar(2)否所属学院3.2.3数据库表关系各数据表之间的关系如图3-10所示。图3-10表关系图3.3系统模块及流程设计3.3.1系统模块根据上述需求分析,将系统分为以下几个模块。(1)用户登录模块:负责验证系统中各类型的用户的登录信息,并根据登录类型的不同转向不同的页面。(2)系统操作模块:负责修改密码以及重新登录。(3)教务用户管理模块:负责添加新用户、课程的添加以及课程信息和成绩的公布。(4)教师管理模块:负责学生基本信息查询、学生成绩查询以及课程成绩的录入。(5)学生管理模块:负责查看基本信息、查看课表、网上选课以及查看成绩。系统功能模块图如下图3-11所示:学生学籍管理系统学生学籍管理系统学生模块教师模块学生登录修改密码查看课表网上选课查询成绩用户登录课程管理学生管理成绩录入选课信息图3-11系统功能模块图3.3.2系统流程图(1)系统操作模块流程图,如图3-11所示。用户登录用户登录调用用户信息修改密码生成新的密码存入数据库图3-11系统操作模块流程图(2)教务管理员用户管理模块流程图,如图3-12所示教务管理员用户登录教务管理员用户登录课程管理生成课程信息表存入数据库添加新用户生成用户信息表调用成绩表公布成绩图3-12教务管理员用户管理模块流程图(3)成绩管理模块流程图,如图3-13所示。教职工用户登录教职工用户登录调用选课信息表录入成绩生成成绩表存入数据库图3-13成绩管理模块流程图(4)学生用户模块流程图,如图3-14所示。学生用户登录学生用户登录调用课程表网上选课生成选课信息表存入数据库调用成绩表查看成绩调用课程表查看课表图3-14学生用户模块流程图4.学籍信息管理系统的实现4.1数据库连接实现使用JDBC进行数据库连接的实现过程:加载驱动程序利用Class.forName()方法来加载指定驱动程序: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");(2)与数据库建立连接 StringconnectionUrl="jdbc:sqlserver://localhost:1433;"+ "databaseName=test;user=sa;password=sa;"; conn=DriverManager.getConnection(connectionUrl);(3)创建Statement对象建立了Statement对象后,就可以利用该对象,根据行指定的SQL语句,执行对数据库的操作。创建代码为:stmt=conn.createStatement()。(4)执行指定的SQL语句一旦建立了Statement对象后,就可以利用该对象的executeQuery(sql)方法让数据库执行指定的SQL语句。如ql="selectcol_nofromteacheruserwhereuid='"+uid+"'"+"andpwd='"+pwd+"'";rs=stmt.executeQuery(sql)(5)关闭数据库连接对数据库操作结束后,要依次关闭,if(rs!=null){rs.close();rs=null;} if(stmt!=null){stmt.close();stmt=null;} if(conn!=null){conn.close();conn=null;}4.2核心类及方法介绍TeacherDB.java类:changePwd(){……}:密码修改的方法searchMsg(Stringsno){……}:查询学生基本信息的方法getGradeList(Stringsno){……}:根据学号获得成绩表的方法getCourseItemList(Stringcollno){……}:获得学院开设课程列表的方法getConnection(){……}:获得数据库连接的方法TeacherManageCourseBean.java类:addToDB(){……}:添加课程到可选列表的按钮的方法WriteScoreBean.java类:getGradeList(){……}:获得成绩列表的方法gongbu(){……}:点击公布该科成绩按钮的处理方法saveScore(){……}:保存成绩的方法AddStuBean.java类:getBiryearList(){……}:获得出生日期年的列表的方法getBirmonthList(){……}:获得出生日期月的列表的方法getBirdayList(){……}:获得出生日期日的列表的方法getColl(){……}获得学院名的方法getDeptList(){……}:获得专业列表的方法addStu(){……}:添加学生的方法ChosingCourseBean.java类:delete(){……}:删除课程的方法stop(){……}:停止选课的方法StudentDB.java类:choseCourse(StringstuNo,StringcourseNo){……}:选择课程的方法getCourseMsgItemList(Stringstuno){……}:根据学号获得开设课程类表的方法StudentChangePwdBean.java类:changePwd(){……}:修改密码的方法4.3用户登录模块登录界面是操作本学籍信息管理系统的入口和出口,登录界面为用户提供各子模块的操作入口,进入系统需要登录以核实其身份是否合法。publicStringverify(){ //用于处理表单的方法 Stringresult="fail"; //标志字符串,默认登录失败 if(type.equals("student")){ //如果是学生用户登录 result=LoginDB.studentLogin(uid,pwd); //调用LoginDB查询数据库进行判断 if(result.equals("success")){this.id=uid;}//登录成功,设置id的值 else{this.id=null;} }else{ //如果是教师用户登录 result=LoginDB.teacherLogin(uid,pwd); //调用LoginDB查询数据库进行判断 if(!result.equals("fail")){ //如果返回的不是fail this.id=result;result="teacher";} else{this.id=null;} //如果返回的是fail,则设置id为null} returnresult; //返回最后处理的结果 }4.4系统操作模块4.4.1修改密码用户登录后可以点击“修改密码”按钮来修改自己的登录密码,容器捕获表单的Action信息,执行相应的方法changePwd(),其代码如下:publicStringchangePwd() { this.different="";this.result=""; if(!this.newpwd.equals(this.renewpwd)) {this.different="两次新密码不匹配";return"success";} else{ this.different=""; } if(!lb.getPwd().equals(this.oldpwd)) { this.result="旧密码不正确";return"success";} else{this.result=""; } if(StudentDB.changePwd(lb.getUid(),oldpwd,newpwd)==true) {result="修改成功";} else{result="修改失败";} System.out.println(result); return"success"; }4.4.2退出登录用户登录后可以点击“重新登录”按钮来实现退出系统并返回登录界面。4.5教务管理模块4.5.1添加新学生对新学生信息进行管理。在开学前,需将学生的基本信息录入系统,比如学生名字、学号、性别等信息。在页面中输入学生的基本信息,点击“提交按钮”,容器捕获表单的Action信息,执行相对应的方法addStu(),其代码如下:publicStringaddStu(){//添加新学生this.getSno()->setSno();this.getSname()->setSname();this.getSgender()->setSgender();this.getBridan()->setgetBriday();this.getNativeplace()->setgetNativeplace();this.getClassid()->setClassid();this.getDeptid()->setDeptid();this.getMianmao()->setMianmao();this.getComedan()->setComeday();sql="selectstu_nofromstudentswherestu_no='"+sno+"'";stmt=conn.createStatement();rs=stmt.executeQuery(sql);sql="insertintostudentsvalues('"+sno+"','"+newString(sname)+"',"+"'"+newString(sgender)+"',"+"'"+biryear+"-"+birmonth+"-"+birday+"','"+newString(nativeplace)+"','"+collid+"',"+"'"+deptid+"','"+classid+"','"+newString(mianmao)+"','"+comeyear+"-"+comemonth+"-"+comeday+"')";elseif(result.equals("restuadd")){this.msg="插入失败,已经有了该学号学生"; } elseif(result.equals("addstufail")){ this.msg="插入失败"; } return"success";}4.5.2学生基本信息查询查询学生的基本信息。在页面中输入需要查询学生的学号,然后点击“查询”按钮,该功能比较简单,只需一个查询操作即可完成,其代码如下:publicStringsearch(){//学生基本信息查询 String[]s=TeacherDB.searchMsg(sno); if(s==null){result="没有该学生";cansee=false;} else{result="";cansee=true;sno=s[0];sname=s[1];sgender=s[2];birth=s[3];nativeplace=s[4];coll=s[5];dept=s[6];classes=s[7];mianmao=s[8];comedate=s[9];}return"success";}4.5.3学生成绩查询查询学生的基本信息。在页面中输入需要查询学生的学号,然后点击“查询”按钮,该功能和上面比较类似。4.6课程管理模块该模块实现选课信息管理,查询可选课程列表,添加新课程以及课程成绩录入。4.6.1添加新课程添加新课程,将课程的基本信息录入系统,比如课程名,课程号等。在页面中点击“添加新课程”,容器捕获表单的Action信息,执行相应的方法addCou(),其代码如下:publicStringaddCou(){//添加新课程this.getCno()->setCno();this.getCname()->setCname();this.getXuefen()->setXuefen();this.getDeptno()->setDeptno();this.getResult()->setResult();4.6.2选课信息管理对课程进行管理。在添加好课程后根据已有课程进行选课的安排,包括:上课时间,上课老师以及课程号等信息。其页面代码如下:<%@pagecontentType="text/html;charset=GBK"%><%@taglibprefix="f"uri="/jsf/core"%><%@taglibprefix="h"uri="/jsf/html"%><html> <head> <title>TeacherManageCourse.jsp</title> <linkstyle="text/css"rel="stylesheet"href="images/style.css"> <scripttype="text/javascript"src="images/teacher.js"></script> </head> <body> <h:outputTextvalue="请输入您要操作的课程的课程号:"styleClass="message"/><!--提示输入课程号的标签--> <h:inputTextvalue="#{TeacherManageCourseBean.courseNo}"id="courseNo"/><!--用于输入课程号--> <h:messagefor="courseNo"style="color:red"/><!--错误提示信息--> <h:outputTextvalue="请输入该课程的任课老师:"styleClass="message"/><!--提示输入任课老师名字--> <h:inputTextvalue="#{TeacherManageCourseBean.teacher}"id="teacher"/><!--用于输入任课老师--> <h:messagefor="teacher"style="color:red"/><!--错误信息输出--> <h:outputTextvalue="请选择该课程的上课时间:"styleClass="message"/><!--提示选择上课时间--> <h:panelGroup><h:selectOneMenuvalue="#{TeacherManageCourseBean.day}"><!--星期几上--> <f:selectItemsvalue="#{TeacherManageCourseBean.dayItem}"/></h:selectOneMenu> <h:selectOneMenuvalue="#{TeacherManageCourseBean.times}"><!--第几讲上--> <f:selectItemsvalue="#{TeacherManageCourseBean.timesItem}"/></h:selectOneMenu> </h:panelGroup><h:outputTextvalue=""/> <h:commandButtonimage="images/add1.gif" onmouseover="this.src='images/add2.gif'"onmouseout="this.src='images/add1.gif'" onmousedown="this.src='images/add3.gif'"onmouseup="this.src='images/add2.gif'" action="#{TeacherManageCourseBean.addToDB}"/><!--提交按钮--> <h:inputTextid="result"value="#{TeacherManageCourseBean.result}"style="display:none"/><!--操作结果--> </h:panelGrid></h:panelGrid> </h:form> </f:view> <scriptlanguage="JavaScript"> functionalertmsg() { varmsg=document.getElementById("manageform:result").value; if(msg!="") { alert(msg); } } window.onload=alertmsg; </script> </body></html>5.学籍信息管理系统的测试与应用5.1登录测试打开浏览器在地址栏输入http://localhost:8080/sx,即可打开学籍信息管理系统的登录界面,输入用户名及密码就可登录该系统,如图5-1所示。图5-1登录界面输入正确的用户名和密码并选择相应的身份后,可跳向相应的管理界面。若用户名输入错误,将跳转报错界面,如图5-2所示。图5-2登录报错界面5.2学生管理模块(1)学生用户登录使用学生账户登录后,跳转到学生界面,如图5-3所示。图5-3学生欢迎界面 (2)修改学生密码点击修改密码,将会出现修改密码界面,输入旧密码,再输入两次新密码,即可更改密码,如图5-4所示。图5-4修改密码界面若旧密码正确,新密码两次不同,则会出现如图5-5所示。图5-5修改密码错误界面(3)学生个人信息查看学生个人信息表,如图5-6所示。图5-6个人信息界面(4)学生网上选课根据可选课程列表,点击选课,即完成选课任务,如图5-7所示图5-7网

温馨提示

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

评论

0/150

提交评论