大学综合测评成绩管理系统的研究与开发计算机专业毕业论文_第1页
大学综合测评成绩管理系统的研究与开发计算机专业毕业论文_第2页
大学综合测评成绩管理系统的研究与开发计算机专业毕业论文_第3页
大学综合测评成绩管理系统的研究与开发计算机专业毕业论文_第4页
大学综合测评成绩管理系统的研究与开发计算机专业毕业论文_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

UNIVERSITY毕业设计(论文)资料设计(论文)题目大学综合测评成绩管理系统的研究与开发系部计算机科学与技术系专业计算机科学与技术学生姓名班级学号指导教师姓名职称讲师最终评定成绩教务处年五月制目录第一部分毕业论文一、毕业论文第二部分过程管理资料一、毕业设计(论文)课题任务书二、本科毕业设计(论文)开题报告三、本科毕业设计(论文)中期报告四、毕业设计(论文)指导教师评阅表五、毕业设计(论文)评阅教师评阅表六、毕业设计(论文)答辩评审表2011届本科生毕业设计(论文)资料第一部分毕业论文(2011届)本科生毕业论文大学综合测评成绩管理系统的研究与开发系部计算机科学与技术系专业计算机科学与技术学生姓名班级学号指导教师姓名职称最终评定成绩2011年5月本科生毕业论文大学综合测评成绩管理系统的研究与开发系(部)计算机科学与技术系专业计算机科学与技术学号学生姓名指导教师(讲师)2011年5月摘要随着INTERNET技术的发展,人们对网络信息的需求越来越大,对网络数据库的交互和查询速度等性能的要求也越来越高。它主要应用于对学生奖学金的评选,完成对日常学生成绩和综合测评分的录入,查询等管理操作,实现学生成绩和综合测评管理的计算机化。开发学生综合测评成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理。本论文重点介绍了学生综合测评成绩管理系统的实现过程包括系统分析、系统调查、数据库设计、功能设计、系统物理配置方案、系统实现、系统测试以及系统功能简介。本系统使用JSP进行网页界面的设计,使用MVC设计模式,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好等特点。本系统中通过JDBC驱动和数据库进行无缝连接,后端的数据库是MYSQL,也是一个开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。关键词JAVA技术,成绩管理,综合测评ABSTRACTWITHTHEDEVELOPMENTOFINTERNETTECHNOLOGY,THENEEDSFORINTERNETINFORMATIONAREINCREASING,ANDTHEPEOPLESREQUIREMENTFORTHEINTERACTIONOFNETWORKDATABASE,INQUIRESTHESPEED,ANDOTHERFUNCTIONSTHEREFORE,ITSNECESSRYTODEVELOPASYSTEMWHICHISSUITABLEFORSELECTINGSTUDENTSSCHOLARSHIPACCORDINGTOTHEDEVELOPMENTDEMANDS,ITCANCOMPLETETHELOGGING,CHECKING,UPDATING,SOTHATWECANACCOMPLISHTHECOMPUTERIZEDOFTHEMANAGEMENTOFTHESTUDENTSMARKSITCANREDUCETHEPRESSUREOFTHESTAFFABOUTMANAGINGTHEEDUCATIONALADMINISTRATIONANDTEACHINGSERVICEANDINFORMATIONTHROUGHTHEDEVELOPMENTOFTHECOMPREHENSIVETESTINGMANAGEMENTSYSTEMATTHESAMETIME,ITCANIMPROVETHEWORKEFFICIENCE,SPEEDUPTHEQUERYVELOCITY,ANDSTRENGTHENTHEMANAGEMENTTHTMAINIDEAOFTHISPAPERISTOINTRODUCETHECOMPLISHINGPROGRESSOFTHESTUDENTSCOMPREHENSIVETESTINGMARKSMANAGEMENTSYSTEM,INCLUDINGTHESYSTEMANALYSIS,SYSTEMINVESTIGATION,DATABASEDESIGN,FUNCTIONDESIGN,SYSTEMPHYSICALLYCONFIGURATIONSCHEMES,SYSTEMACHIEVEMENT,SYSTEMTESTANDSYSTEMFUNCTIONINTRODUCTIONTHISSYSTEMUSEJSPTECHNICALDESIGNWEBINTERFACE,USINGMVCDESIGNPATTERNS,ITUSESTHELATESTTECHNOLOGYINCURRENTSOFTWAREDESIGNOFHIGHEFFICIENCY,ITHASCHARACTERISTICSTHATOWNSHIGHEFFICIENCYOFDEVELOPMENT,DESIGNFLEXIBILITYANDCANGENERATEBEAUTIFULFRIENDLYINTERFACEETCTHESYSTEMADOPTSTHEJDBCTECHNOLOGY,THEDATABASEISMYSQL,AOPENSOURCEDATABASESYSTEM,WHICHHASHIGHINTEGRITY,CONSISTENCYANDSECURITYKEYWORDSJAVATECHNOLOGY,PERFORMANCEMANAGEMENT,COMPREHENSIVEMEASURINGANDTESTING目录摘要IABSTRACTII第1章绪论111项目开发背景112项目开发的目标1第2章系统开发主要运用技术及开发模式321系统开发技术介绍3211JSP技术3212JAVABEANS技术3213HTML及JAVASCRIPT技术422开发工具介绍5221MYECLIPSE简介5222TOMCAT简介523软硬件环境6第3章系统需求分析731系统调查732系统构架733用户需求8331学生的需求8332老师的需求8333管理员的需求834数据需求分析9341授课ER图10342系统ER图11第4章系统总体设计1241系统结构图1242系统总体设计思想1343系统设计分析1344数据库设计13441数据库的概要设计13442数据库表的设计14第5章系统详细设计1851登录功能设计1852学生功能模块1853教师管理功能2054教务管理员功能2155综合测评计算功能22第6章系统实现与测试2361系统实现23611数据库与WEB服务器的连接23612登录身份的实现24613学生登陆功能的实现27614教师登陆功能的实现29615教务管理员功能的实现32616论坛树状展现功能的实现36617综合测评功能的实现3862系统测试39621测试原理39622测试方法39623测试的架构40624测试环境的搭建4163测试结果42631登录界面42632论坛界面44633选课界面46结论47参考文献48致谢49第1章绪论11项目开发背景首先,我要说明一下什么是综合测评。综合测评是由综合测评分部分和成绩部分所组成的。综合测评分是由学生参加活动,获得奖励和担任干部等所获得的分数。而成绩部分是由学生在整一个学年中所修课程的总成绩。而综合测评的排名是一个系评选奖学金和各类奖项的一个重要依据。随着计算机技术的飞速发展和INTERNET的普及,但是现在大部分的大学都是采用传统的人工计算方式来计算他们学校同学们的综合测评。显然这样的人工计算方式非常麻烦,而且不精确。因此我决定开发一个基于INTERNET的大学综合测评成绩管理系统。有了这个系统之后,教务管理人员、辅导员、学生就可以在家里或在寝室里,只要是能连接到INTERNET的地方,都能进入大学综合测评成绩管理系统来进行查询学生的考试成绩和综合测评。一直以来学生的考试成绩和综合测评分的管理是学校工作中的一项重要内容。如果客观利用考试成绩与综合测评对学生进行客观的评价,这将是激励学生的一个重要的手段。普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。特别是浪费了辅导员和学生会干部的时间和精力,他们每次在学期结束的时候都要用大量的纸来统计和输入电脑,然后把它打印出来。在当今信息时代,这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。为了提高综合测评和成绩管理的效率,我选择了大学综合测评成绩管理系统作为毕业设计的课题。12项目开发的目标系统主要实现一下六个功能1实现系统登录模块用户登录进入系统前要对用户名和密码进行校验,即用户名和密码正确才能进入系统。2实现教务管理模块(1)学生信息管理录入学校某个班级的学生数据;可以修改学生的姓名,可以修改学生所在的班级;可以删除学生数据。(2)班级信息管理录入、修改、删除和查询班级数据。(3)教师信息管理录入、修改、删除和查询学院教师数据。(4)课程信息管理录入、修改、删除和查询学院开设的课程数据。3实现成绩录入模块可以录入某个班级某门课程的学生成绩。注意系统管理员、教师可以使用这个模块。4实现综合测评模块可以录入某个班级学生的综合测评的分数,然后按照某种计算方式,把综合测评分和总成绩按照某种比例算出来就得到综合测评了。注意辅导员(或者被辅导员授予权力的学生会干部)可以使用这个模块。5实现学生成绩查询模块可以供系统的各种用户查询学生成绩。6实现论坛模块学生、老师、辅导员和系统管理员都可以使用这个模块。学生、老师、辅导员可以在论坛上面发表言论。系统管理员可以删除或者是修改他们所发表的帖子。第2章系统开发主要运用技术及开发模式21系统开发技术介绍211JSP技术JSP作为一门最热门的网络编程语言,在电子商务和电子政务开发中得到了广泛的应用。JSP全称JAVASERVERPAGES,它是由SUNMICROSYSTEMS公司于1999年6月开发出来的一种全新的动态网页标准。它在传统的HTML代码中加入JAVA程序片段。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送EMAIL等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。JSP中编程语言是JAVA,组件是JAVABEANS,一次编译一直运行,能在各种操作系统下工作。JSP通过JAVABEANS实现了功能扩展,能够执行更为复杂的处理。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、ORACLE、BEA公司等,所以JSP迅速成为商业应用的服务器端语言。JSP有如下几个优点对于用户界面的更新,其实就是由WEBSERVER进行的,所以给人的感觉更新很快。所有的应用都是基于服务器的,所以它们可以时刻保持最新版本。客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。212JAVABEANS技术JAVABEANS是描述JAVA的软件组件模型,有点类似于MICROSOFT的COM组件概念。在JAVA模型中,通过JAVABEANS可以无限扩充JAVA程序的功能,通过JAVABEANS的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JAVABEANS可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。JAVABEANS通过JAVA虚拟机JAVAVIRTUALMACHINE可以得到正确的执行,运行JAVABEANS最小的需求是JDK11或者以上的版本。JAVABEANS传统的应用在于可视化的领域,如AWT下的应用。自从JSP诞生后,JAVABEANS更多的应用在了非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。在这里我们主要讨论的是非可视化的JAVABEANS,可视化的JAVABEANS在市面上有很多JAVA书籍都有详细的阐述,在这里就不作为重点了。JAVABEANS是一种软件组件模型,它与其他软件对象相互作用,决定如何建立和重用软件组件被称为BEAN。JAVABEANS是基于SUN公司的JAVABEANS规范化、可在编程工具被可视化处理的可重用的软件组件。213HTML及JAVASCRIPT技术HTML(HYPERTEXTMARKUPLANGUAGE)即超文本标记语言,是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使用鼠标在某一文档中点取一个图标,INTERNET就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(HEAD)、主体(BODY)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。JAVASCRIPT是一种基于对象OBJECT和事件驱动EVENTDRIVEN并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、JAVA脚本语言(JAVA小程序)一起实现在一个WEB页面中连接多个对象,与WEB客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入到标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是JAVA与HTML折衷的选择。综合所述JAVASCRIPT是一种新的描述语言,它可以被嵌入到HTML的文件之中。JAVASCRIPT语言可以做到回应使用者的需求事件如FORM的输入,而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端SERVER处理,再传回来的过程,而直接可以被客户端CLIENT的应用程式所处理。22开发工具介绍221MYECLIPSE简介MYECLIPSE是一个开放源代码的、基于JAVA的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,MYECLIPSE附带了一个标准的插件集,包括JAVA开发工具(JAVADEVELOPMENTTOOLS,JDT)。虽然大多数用户很乐于将MYECLIPSE当作JAVAIDE来使用,但MYECLIPSE的目标不仅限于此。由于MYECLIPSE中的每样东西都是插件,对于给MYECLIPSE提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于JAVA开发工具。尽管ECLIPSE是使用JAVA语言开发的,但它的用途并不限于JAVA语言;例如,支持诸如C/C、COBOL和EIFFEL等编程语言的插件已经可用,或预计会推出。ECLIPSE框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于ECLIPSE的应用程序的突出例子是IBM的WEBSPHERE,它构成了IBMJAVA开发工具系列的基础。例如,WEBSPHERESTUDIOAPPLICATIONDEVELOPER添加了对JSP、SERVLET、EJB、XML、WEB服务和数据库访问的支持。222TOMCAT简介在TOMCAT中,你还可以利用SERVLET23提供的事件监听器功能,来对你的应用或者SESSION实行监听。TOMCAT也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有TOMCAT也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持JSP和SERVLET。而TOMCAT则功能没有那么强大,它不提供EJB等支持。事实上,我们的很多中小应用不需要采用EJB等技术,JSP和SERVLET已经足够,这时如果用应用服务器就有些浪费了。而TOMCAT短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择TOMCAT。23软硬件环境操作系统WINDOWS7数据库MYSQL编程语言JAVA编程工具MYECLIPSEWEB服务器TOMCAT第3章系统需求分析31系统调查21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,我对湖南长沙市的学生成绩管理系统进行了调查研究,发现在学生登录端只能够进行有关成绩方面的操作,并不能查看自己的综合测评,也不能查看自己的综合测评排名,而且干部们也只能够用EXCEL表来记载学生们的综合测评分,这样子给干部们和辅导员们带来了极大的不便。我也对一些教师和学生进行了调查,听取他们对大学综合测评成绩管理系统的一些建议和要求以及他们对这方面的一些需求。我们系的辅导员雷老师说每次到了统计综合测评分的时候,工作非常的繁重,这给她带来的极大的不便。干部们说在综合测评分录入这一部分最好可以批量录入,这样子的话我们就可以节省了很多的时间来更好的为系里面服务。然后我采访了我们系的曾海文同学,他也说他每次想查看综合测评分的时候都是非常的不方便。然后我想尽我一番的努力尝试去实现上面的同学和老师的要求,如果做得不好我以后还是会继续完善这个系统然后把它送到我们的学校里面去。根据我所具有的知识,决定开发的这个系统采用当前较为流行的编程软件JAVA作为实现语言,以数据库MYSQL作为系统的后台操作。32系统构架系统采用的是B/S结构,即浏览器和服务器架构,示意图如图31所示。浏览器端提供用户操作界面,接受用户输入的各种操作信息,向服务器发出各种操作命令或数据请求,并接收执行操作命令后返回的数据结果,根据业务逻辑进行相关的运算,向用户显示相应的信息。服务器端接收浏览器端的数据或命令请求,并请求数据库服务器执行数据库操作得到相应的数据集,对数据集进行相应的处理,然后将数据集或处理后的数据集返回给浏览器端。用户浏览器WEB服务器数据库服务器TOMCAT数据库操作请求返回查询结果使用JDBC操作返回操作结果图31系统架构示意图IE等浏览器33用户需求331学生的需求1查询自己所有的成绩每一科的平时成绩考试成绩,最终成绩。2查询某一科成绩排名。3查看一个学年以来的综合测评和排名。(4)选修课程和查看已修课程。(5)被授予录入综合测评分的权利来完成学生会的工作。(6)发表和讨论自己对综合测评分评选的规则的贴子。332老师的需求1分别查询某一学生的各个科目的成绩和所在名次。2录入成绩(自己所教授的那一科成绩。3查看学生的综合测评和排名。4查看论坛中学生们所发的帖子,了解学生的意向。5有辅导员权利的老师录入学生各个学期的综合测评分。333管理员的需求1查询某一学生的各科的成绩和名次。2录入学生所选的科目的成绩。3浏览,删除和更改论坛中的帖子。4用户管理。5数据库管理。(4)课程管理。34数据需求分析系统的数据流图是对本系统的逻辑模型的图形化表示,数据流图中只给出了数据的名称。如图32用户数据库大学综合测评成绩管理系统输入数据输出数据存入数据取出数据图32系统数据流图341授课ER图授课的ER图如图33STUDENTSTUDENTNUMBERPASSWORDNAMESEXBIRTHDAYSTATECNOTEACHEREMAILTEACHERNUMBERPOSBIRTHDAYNAMEPASSWORDSEXTELEPHONEEADDRESSDEPISCOACHARRIVETIMEN1M1图33授课ER图342系统ER图系统ER图如图34所示TELEPHONEEADDRESSMAJORHASAUTHORCOURSEPROPERTYTEACHERNUMBERCAPACITYCOURSE_CREDITCOURSE_NUMBERCOURSE_NAMECOURSE_HOURSSTUDYTEACHCOURSE图34系统ER图第4章系统总体设计41系统结构图系统结构图如图41所示学生登录老师辅导员登录管理员登录图41系统结构图42系统总体设计思想(1)采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。(2)系统就满足学校的需求,例如学生综合测评的录入、查询,学生成绩录入与登录综合测评成绩管理系统选修自己的课程查看课程的成绩查看综合测评修改自己的密码干部录入测评分在论坛上发表言论查看学生的成绩和综合测评修改自己的密码录入所教课程的成绩在论坛上发表言论修改自己的密码录入成绩查看学生的成绩更改删除发表言论用户人员课程管理辅导员录入综合测评分添加删除更改学生添加删除更改老师添加删除更改课程添加删除更改班级排名,学生选课,还可以凭借论坛促进管理员,老师学生的互动等等。(3)系统具备数据库维护功能,及时根据用户需求进行数据录入、添加、删除、修改等操作。43系统设计分析本系统使用MVC三层模式进行开发,使模型,视图和控制分开,业务逻辑和显示分开,这样有利于错误的查找和系统的升级。该系统适用于各个学校,其功能主要为综合测评和成绩管理用于对综合测评分和成绩的录入、排名以及查询等操作。44数据库设计441数据库的概要设计数据库是系统的核心,它具有对信息进行收集、组织、存储、加工、抽取和传播等功能。构筑大型数据库和盖房子奠基相似,数据库的设计直接关系系统的成败,这正是当前诸多系统的开发不能尽如人意的症结所在。因此要获得优秀的系统必须采用科学方法进行合理的数据库设计。根据美国国家标准组织提出的数据库设计的ANSI三级模式,相应的数据库设计可分为概念结构设计、逻辑结构设计及物理设计。数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。系统各模块的实现主要是对数据库的访问,数据流程分析给用户提供了各模块在对数据库访问时,数据的流通状态。数据在系统内部的流动情况抽象地独立出来,舍去了具体组织机构、信息载体、处理工作、物资、材料等,单从数据流动过程来考查实际的数据处理模式。数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。通过需求分析和系统功能设计,本系统的数据流程图可以绘制。如图42所示输入信息登陆浏览信息修改信息录入信息SERVLET容器SERVLETJSP数据库管理系统图42系统数据流程图442数据库表的设计本系统将数据存储在九个表中,这九个表如下1学生信息表(STUDENT)学生表用来保存学生的基本信息,管理员添加学生的时候这些属性是必需的。表41学生表字段名称中文解释保存类型默认值长度可否为空主键STUDENTNUMBER学号VARCHAR无30不能是NAME姓名VARCHAR无20不能否PASSWORD登录时密码VARCHAR无30不能否SEX性别VARCHAR无2不能否BIRTHDAY出生日期VARCHAR无20可以否STATE政治面貌VARCHAR无20可以否CNO班级号VARCHAR无20不能否TELEPHONE电话号码VARCHAR无50可以否ADDRESS家庭地址VARCHAR无255不能否HAS_AUTHOR是否授权VARCHAR无2可以否MAJOR系部VARCHAR无255不能否2教师信息表(TEACHER)教师表用来保存教师的基本信息,例如记录登录的教师是否是管理员。表42教师表字段名称中文解释保存类型默认值长度可否为空主键TEACHERNUMBER教师号VARCHAR无255不能是NAME姓名VARCHAR无50不能否PASSWORD登录时密码VARCHAR无20不能否SEX教师号VARCHAR无2不能否BIRTHDAY出生年日VARCHAR无20可以否POS教师职称VARCHAR无50不能否ARRIVETIME入职时间VARCHAR无20可以否TELEPHONE电话号码VARCHAR无50可以否EMAIL电子邮件VARCHAR无50可以否ADDRESS住址VARCHAR无255不能否IS_COACH是否辅导员VARCHAR无5不能否DEP系部VARCHAR无255不能否3班级表(T_CLASS)用来记录班级的信息,例如引入了班级表的一个字段(班主任)。表43班级表字段名称中文解释保存类型默认值长度可否为空主键CLASSNUMBER班级号VARCHAR无50不能是CLASSNAME班级名称VARCHAR无50不能否BANZHUREN班主任VARCHAR无50不能否DEP系部VARCHAR无255不能否4课程表(COURSE)用来记录课程的基本信息。表44课程表字段名称中文解释保存类型默认值长度可否为空主键COURSE_NUMBER课程号VARCHAR无25不能是COURSE_HOURS学时INT无11不能否COURSE_NAME班级VARCHAR无50不能否TEACHERNUMBER教师号VARCHAR无25不能否COURSE_CREDIT学分FLOAT无5不能否PROPERTY课程类别VARCHAR无255不能否CAPACITY课容量INT无5不能否5教务管理表(ADMIN)主要用来记录管理员的用户名和密码。表45教务管理员表字段名称中文解释保存类型默认值长度可否为空主键USERNAME登录名VARCHAR无50不能是PASSWORD密码VARCHAR无50不能否6成绩表(STUDENTCOURSE)主要用来记录学生的平时成绩和期末成绩,学号和课程号分别是它的主键。表46成绩表字段名称中文解释保存类型默认值长度可否为空主键SID学号VARCHAR无25不能是CID课程号VARCHAR无25不能是PSCORE平时成绩VARCHAR无5可以否QSCORE期末成绩VARCHAR无5可以否TOTAL总成绩DOUBLE无5可以否TERM学期INT无2不能否7系部表(DEPARTMENT)主要用来记录系部号和系部名称。表47系部表字段名称中文解释保存类型默认值长度可否为空主键DEPARTMENT_NUMBER系部号VARCHAR无25不能是NAME系部名称VARCHAR无255不能否8论坛表(ARTICLE)主要用来记录发表贴子所需要的信息。其中记录它是否是叶子节点主要是用来取得树状结构和删除贴子的重要信息。表48论坛表字段名称中文解释保存类型默认值长度可否为空主键ID当前节点INT无11不能是PID父亲节点INT无11可以否ROOTID根节点INT无11可以否TITLE主题VARCHAR无255可以否CONT内容TEXT无0可以否PDATE发表日期DATETIME无0可以否ISLEAF是否是叶子节点INT无11可以否9综合测评分表(COM_SCORE)主要是用来记录学生每个学期的综合测评分值的。表49综合测评分表字段名称中文解释保存类型默认值长度可否为空主键SID学号VARCHAR无25不能是T1第一学期VARCHAR无10可以否T2第二学期VARCHAR无10可以否T3第三学期VARCHAR无10可以否T4第四学期VARCHAR无10可以否T5第五学期VARCHAR无10可以否T6第六学期VARCHAR无10可以否T7第七学期VARCHAR无10可以否T8第八学期VARCHAR无10可以否T9第九学期VARCHAR无10可以否T10第十学期VARCHAR无10可以否第5章系统详细设计51登录功能设计学生和老师登录时要输入用户名和密码。每个人进入都要凭用户名和密码进入。提高了系统的安全行。本功能的流程图如图51所示。图51登录系统流程图52学生功能模块学生功能模块包含如下功能修改登录密码,选修课程,查看已选课程,查看综合测评分,在论坛上发表有关综合测评分的看法,如果你是被授予权利的干部就拥有录入综合测评分的功能。其中查询自己的成绩时,学生可以输入要查询的科目。如图52图52学生查询成绩流程图开始输入要查询的成绩科目从成绩表中查询学生的成绩信息Y将不会显示成绩显示查询结果结束结果是否为空N结果是否为空以SID为条件从各个表中查询信息显示提示信息YN53教师管理功能在该系统设计中,主要是实现教师对学生成绩的录入和辅导员对综合测评分的录入。教师录入学生成绩的程序流程图,如图53所示图53教师录入成绩流程图开始选择你所任教的科目从表COURSE中查询任教科目Y将没有录入权利录入成绩结束是否已录入N结果是否为空以TID为条件从STUDENTCOURSE表中显示信息显示学生成绩YN54教务管理员功能在此功能模块中,只能是教务管理员才能进入。通过这个功能可以添加删除学生、老师,并且添加删除班级信息,可以添加课程,安排老师授课,录入学生的成绩等。可以对学生和老师的贴子进行删除和更改。对于删除的老师和学生将不能再登录到该系统,新添加的老师和学生就可以在这个工作系统中工作。只要为新加入的老师和学生注册一个用户名和密码就可以了。在学生登录模块中,学生可以查询自己的成绩,修改登录密码等。添加新学生的程序流程图,如图54所示图54添加新学生功能程序流程图55综合测评计算功能综合测评总分由期末考试的平均成绩部分和综合测评分部分构成。从学生的学号将新学生信息保存到数据库STUDENT表中中TEACHER_INFORMATIONS结束N输入是否为空开始Y输入新学生的信息提示错误信息上面我可以得到学生的年级,从而我就可以计算出该学生是处于第几个学期,这样学生会干部就可以在当前的学期录入综合测评分。这里的期末考试的平均成绩是两个学期学生所选课程的平均成绩,而综合测评分就是两个学期的综合测评分的平均分。计算综合测评流程图,如图55图55计算综合测评流程图第6章系统实现与测试开始输入当前学期综合测评分从成绩表中取得学生所选课程的每一科的成绩Y将不会进行计算显示查询结果结束结果是否为空N结果是否为空运用公式进行计算得到综合测评显示提示信息YN61系统实现611数据库与WEB服务器的连接数据库连接时采用JDBC技术链接MYSQL,关键代码实现关键代码和代码解析如下PUBLICSQLBEANTRYCLASSFORNAME“COMMYSQLJDBCDRIVER“/获取MYSQL的驱动STRINGURL“JDBCMYSQL/LOCALHOST3306/STU_SCORE_MSUSERROOT/定义建立链接的端口,MYSQL的用户名,密码和编码格式CONNDRIVERMANAGERGETCONNECTIONURL/获得MYSQL的链接STCONNCREATESTATEMENT1004,1008/创建一个STATEMENT对象,并定义游标类型CATCHJAVALANGCLASSNOTFOUNDEXCEPTIONE/捕捉链接时可能出现的异常SYSTEMERRPRINTLN“加载驱动器有错误“EGETMESSAGESYSTEMOUTPRINT“执行插入有错误“EGETMESSAGE/输出到客户端CATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACE612登录身份的实现该功能开始由学生、授课教师、系统管理员按照系统中的用户名和密码进入。在在管理员添加完学生、教师及班级的信息后,学生和教师即可用用户名和密码进入。实现此页面的程序为LOGINJSP。启动服务器,在浏览器里输入相应的地址在本机上输入HTTP/LOCALHOST8080/STU_SCORE_MS/LOGINJSP,进入系统主界面,也就是登录界面,如图61所示图61登录界面该登录模块,使用到了脚本技术,看输入的各项是否为空,是否符合要求。ACTION进行登录验证处理,验证成功则跳转到相应的登录成功界面,否则给出相应的错误信息。其实首页中ACTION中CHECK的关键代码和代码解析如下PUBLICCLASSCHECKEXTENDSHTTPSERVLET/继承HTTPSERVLET类的CHECK方法PUBLICCHECKSUPERPUBLICVOIDDESTROYPUBLICVOIDDOGETHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONRESPONSESETCONTENTTYPE“TEXT/HTMLCHARSETUTF8“PRINTWRITEROUTRESPONSEGETWRITERSTRINGIDNULLSTRINGPASSWORDNULLSTRINGKINDNULLIDREQUESTGETPARAMETER“ID“/获取用户名PASSWORDREQUESTGETPARAMETER“PASSWORD“/获取用户密码KINDREQUESTGETPARAMETER“KIND“/获取用户类型STRINGSQL“SELECTHAS_AUTHOR,PASSWORDFROM“KIND“WHERESTUDENTNUMBER“ID“ANDPASSWORD“PASSWORD“/定义学生的SQL语句IF“ADMIN“EQUALSKIND/如果是管理员类型的用户则定义下面的语句SQL“SELECTPASSWORDFROM“KIND“WHEREUSERNAME“ID“ANDPASSWORD“PASSWORD“ELSEIF“TEACHER“EQUALSKIND如果是老师类型的用户则定义下面的语句SQL“SELECTIS_COACH,PASSWORDFROM“KIND“WHERETEACHERNUMBER“ID“ANDPASSWORD“PASSWORD“SQLBEANDBNEWSQLBEANRESULTSETRSDBEXECUTEQUERYSQL/执行上面符合条件的SQL语句TRYIFRSNEXTHTTPSESSIONSESSIONREQUESTGETSESSIONTRUEIF“STUDENT“EQUALSKIND/如果是学生用户,就把是否拥有干部权力的信息放到SESSION里面SESSIONSETATTRIBUTE“AUTHOR“,RSGETSTRING“HAS_AUTHOR“ELSEIF“TEACHER“EQUALSKIND/如果是老师用户,就把是否拥有辅导员权力的信息放到SESSION里面SESSIONSETATTRIBUTE“AUTHOR“,RSGETSTRING“IS_COACH“SESSIONSETATTRIBUTE“ID“,IDSESSIONSETATTRIBUTE“KIND“,KINDSESSIONSETATTRIBUTE“PASSWORD“,PASSWORDGOOREQUEST,RESPONSE,KIND/执行下面的GOO()方法ELSESYSTEMERRPRINTLN“用户名或密码错误“REQUESTSETATTRIBUTE“PROBLEM“,“用户名或密码不匹配“REQUESTDISPATCHERRDGETSERVLETCONTEXTGETREQUESTDISPATCHER“/FALSEJSP“RDFORWARDREQUEST,RESPONSECATCHEXCEPTIONEPUBLICVOIDGOOHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSE,STRINGKINDTHROWSSERVLETEXCEPTION,IOEXCEPTIONIFKINDEQUALS“STUDENT“/如果是学生用户就跳转到STUDENTJSP页面去REQUESTDISPATCHERRDGETSERVLETCONTEXTGETREQUESTDISPATCHER“/STUDENT/STUDENTJSP“RDFORWARDREQUEST,RESPONSEIFKINDEQUALS“TEACHER“/如果是教师用户就跳转到TEACHERJSP页面去REQUESTDISPATCHERRDGETSERVLETCONTEXTGETREQUESTDISPATCHER“/TEACHER/TEACHERJSP“RDFORWARDREQUEST,RESPONSEIFKINDEQUALS“ADMIN“/如果是管理员用户就跳转到MANAGERJSP页面去REQUESTDISPATCHERRDGETSERVLETCONTEXTGETREQUESTDISPATCHER“/MANAGER/MANAGERJSP“RDFORWARDREQUEST,RESPONSE613学生登陆功能的实现在登录页面中,选择学生角色,输入用户名也就是学号,输入登录密码,然后进入学生登录成功界面如图62所示(登录名2007021301(龚磊同学)图62学生登录成功页面该页面的关键代码如下用户菜单个人信息/点击SHOWSTUINFOJSP显示学生的个人信息修改密码/点击UPDATESPASSWORDJSP可以修改学生的登录密码退出登录成绩和综合测评查询已修课程/点击SEARCHMYSELFJSP可以查看学生的已修课程综合测评分查看/点击SELECT1JSP可以查看学生每个学期的日常表现分综合测评列表/点击SELECT1JSP可以查看学生当前学年的综合测评课程信息选课/判断是否拥有干部权利的信息,如果拥有则可以录入学生的日常表现分综合测评学生日常表现分录入论坛论坛区/点击ARTICLEFLATJSP可以在论坛上浏览帖子和发表主题贴此界面上可以进行修改密码,查询自己的某一科成绩和综合测评,自己所在名次,查看个人信息,查看已修课程,选课,查看和发表言论,修改自己的登录密码,退出该系统。614教师登陆功能的实现在登录页面,选择教师角色后,输入用户名也就是教师号,输入登录密码,然后登录。登录成功后将跳转到教师功能选择页面,如图63所示(登录名THJ002老师)图63教师登录成功页面教师功能分别是查询学生的成绩,录入学生的成绩,辅导员可录入学生各个学期的综合测评分,修改密码。查看和发表有关综合测评和成绩的贴子。(1)查询学生成绩的功能,在该功能页面上教师可以查询学生他的所有课程的成绩,显示结果如图64所示图64查询成绩结果显示(2)录入学生的成绩的功能,此功能支持对学生的批量的成绩输入。其中录入学生成绩的核心代码如下PUBLICADDSCORESUPERPUBLICVOIDDESTROYSUPERDESTROY/JUSTPUTS“DESTROY“STRINGINLOGPUBLICVOIDDOPOSTHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONRESPONSESETCONTENTTYPE“TEXT/HTMLCHARSETUTF8“PRINTWRITEROUTRESPONSEGETWRITERREQUESTSETCHARACTERENCODING“UTF8“STRINGMESSAGEINTNUMINTEGERPARSEINTREQUESTGETPARAMETER“NUM“/从前一个页面获取一共有多少个学生FORINTI1IARTICLESNEWARRAYLIST/初始化链表CONNECTIONCONNDBGETCONN/获得数据库链接STATEMENTSTMTCOUNTDBCREATESTMTCONNRESULTSETRSCOUNTDBEXECUTEQUERYSTMTCOUNT,“SELECTCOUNTFROMARTICLEWHEREPID0“/计算贴子为父亲节点的个数RSCOUNTNEXTINTTOTALRECORDSRSCOUNTGETINT1TOTALPAGESTOTALRECORDSPAGE_SIZE1/PAGE_SIZE/计算得到总页数IFPAGENOTOTALPAGESPAGENOTOTALPAGESSTATEMENTSTMTDBCREATESTMTCONNINTSTARTPOSPAGENO1PAGE_SIZE/计算从数据库取出来的第一页STRINGSQL“SELECTFROMARTICLEWHEREPID0ORDERBYPDATEDESCLIMIT“STARTPOS“,“PAGE_SIZESYSTEMOUTPRINTLNSQLRESULTSETRSDBEXECUTEQUERYSTMT,SQLWHILERSNEXT/遍历结果集ARTICLEANEWARTICLEAINITFROMRSRSARTICLESADDADBCLOSERSCOUNTDBCLOSESTMTCOUNTDBCLOSERSDBCLOSESTMTDBCLOSECONN页第页,共页第一页|“上一页|“下一页|“最末页616论坛树状展现功能的实现我这里所说的树状展现功能是当管理员打开论坛的时候,系统可以把主贴和子帖按照树状展现出来。例如管理员ADMIN发表了一个主题贴,然后学生A回复了这个主题贴。这样管理员就可以在管理端看到主题贴和副贴等,这种展现方法非常有利于管理员迅速删除有不良内容的贴子。它主要是用到了循环递归的方法。首先它按顺序的从数据库里面的取主题贴,取完贴之后判断它还有没有子帖。如果有子帖的话就继续取它的字帖,直到它为叶子节点位置。如果首先取出来的就是主题贴的话,循环就结束了。这样子一步一步来就可以把数据库里面的全部帖子取出来,只要是贴子的主题前面有这种字符“”都是子贴。如图68所示图68树状展现主题贴其关键代码如下PRIVATEVOIDTREELISTARTICLES,CONNECTIONCONN,INTID,INTGRADE/LISTARTICLES把全部的ARTICLES按顺序的取出来STRINGSQL“SELECTFROMARTICLEWHEREPID“IDSTATEMENTSTMTDBCREATESTMTCONNRESULTSETRSDBEXECUTEQUERYSTMT,SQLTRYWHILERSNEXTARTICLEANEWARTICLEAINITFROMRSRS/把它的内容全部拿出来ASETGRADEGRADEARTICLESADDAIFAISLEAF/如果所取出来的贴子不是叶子节点则继续执行TREE()方法TREEARTICLES,CONN,AGETID,GRADE1CATCHSQLEXCEPTIONEEPRINTSTACKTRACEFINALLYDBCLOSERSDBCLOSESTMTLISTARTICLESNEWARRAYLIST/LIST按对象进入的顺序保存对象,不做排序或编辑操作。CONNECTIONCONNDBGETCONNTREEARTICLES,CONN,0,0/用TREE()方法把所有的贴子取出来DBCLOSECONNFORITERATORITARTICLESITERATORITHASNEXTARTICLEAITNEXTSTRINGPRESTR“FORINTI0IAGETGRADEIPRESTR“/把不是主题贴的贴子用“”字符表示617综合测评功能的实现这里的综合测评功能包括(1)录入和查看每个学期的综合测评分。(2)按照学生这一年来所选课程的考试成绩和每个学期所获得的综合测评分算出学生最终的综合测评。学生会干部和辅导员批量录入学生综合测评分(日常表现分)如图69所示图69批量录入综

温馨提示

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

评论

0/150

提交评论