1、本科毕业设计(20届)基于WEB的非学业在线测评系统所在学院专业班级计算机科学与技术学生姓名学号指导教师职称完成日期年月I摘要【摘要】本设计利用J2EE技术开发一个基于WEB的非学业因素在线测评系统,完成了测评流程的分析、系统功能的设计、各功能模块的实现及系统测试等工作,开发的系统可以大大减少以往人工操作造成的人力物力的消耗,并且提高的统计的精度和效率。该系统采用JSPSERVLETJAVABEAN的架构,使用了EL表达式和JQUERY开发包简化了程序代码,并使用异步编程技术和存储过程提高了系统性能、解决了大批量用户同时在线测评带来的负载瓶颈。本设计充分体现了JAVA语言的优势,具有较强可重用
2、性、较低的依赖性,可有效的支持二次开发,整体结构设计合理、效率高、耦合度低。【关键词】非学业因素;J2EE;异步编程;存储过程ABSTRACT【ABSTRACT】THISDESIGNUSESJ2EETECHNOLOGYTODEVELOPAWEBBASEDNONACADEMICFACTORSINONLINEASSESSMENTSYSTEMTOCOMPLETETHEEVALUATIONPROCESSANALYSIS,SYSTEMDESIGNFEATURES,THEFUNCTIONALMODULESANDSYSTEMTESTING,ETC,CANGREATLYREDUCETHEDEVELOPMENT
3、OFTHESYSTEMCAUSEDBYTHEPREVIOUSMANUALTHECONSUMPTIONOFHUMANANDMATERIALRESOURCES,ANDIMPROVETHESTATISTICALACCURACYANDEFFICIENCYTHESYSTEMUSESJSPSERVLETJAVABEANARCHITECTURE,THEUSEOFELEXPRESSIONSANDJQUERYDEVELOPMENTKITSIMPLIFIESCODE,ANDUSEASYNCHRONOUSPROGRAMMINGTECHNIQUES,ANDSTOREDPROCEDURESTOIMPROVESYSTEM
4、PERFORMANCE,HIGHVOLUMEUSERSTOSIMULTANEOUSLYRESOLVETOBRINGTHELOADLINEEVALUATIONBOTTLENECKTHISDESIGNFULLYREFLECTSTHEJAVALANGUAGE,WITHSTRONGREUSABILITY,LOWDEPENDENCE,WHICHCANEFFECTIVELYSUPPORTSECONDARYDEVELOPMENTOFTHEOVERALLSTRUCTUREOFREASONABLEDESIGN,HIGHEFFICIENCY,LOWCOUPLING【KEYWORDS】NONACADEMICFACT
5、ORSJ2EEASYNCHRONOUSPROGRAMMINGSTOREDPROCEDUREII目录摘要IABSTRACTI目录II1绪论111项目背景112项目研究现状113主要工作与论文结构22技术原理及开发工具介绍321JSPSERVLETJAVABEAN开发模式的研究322系统建设模式323JSP、SERVLET及JAVABEAN各自在程序中所起的作用4231JSP的作用4232SERVLET的作用5233JAVABEAN的作用524JSP、SERVLET及JAVABEAN三者之间的联系5241JSP与SERVLET的联系5242JAVABEAN与SERVLET和JSP与的联系625开发
6、工具介绍6251JDK介绍6252MYECLIPSE介绍6253SQLSERVER2005介绍6254TOMCAT简介626开发中使用到的其他技术6261JAVASCRIPT7262存储过程7263异步编程73需求分析831非学业因素测评的实施方案分析8311等级评定方法8312测评实施注意要点832主要功能需求分析9321学生模块实现功能9322班主任模块实现功能9323特殊处理的地方1033数据量与访问量分析104系统设计1141概要设计图11411学生使用流程11412班主任功能和使用流程1242主要功能逻辑设计12421登录逻辑12422未测评项提示逻辑(以互评为例)13III423学
7、生自评功能15424学生互评功能15425参看学生互评结果功能15426班主任主页15427添加学生自评信息功能15428测评信息汇总功能15429查看学生测评进度功能1643数据库设计16431学生用户表(XSYH)17432班级用户表(BJYH)18433打分结果保存表(CPJG)19434测评题目表(CPTM)195开发实现2051登录模块(LOGINJSP)2052学生自评模块(CKXXJSP)2153学生互评模块(STUDENTJSP)21531互评评模块程序逻辑STUINDEXSERVLETJAVA22532未测评项黄色标记程序实现(STUDENTJSP)2254班主任首页(TEA
8、CHERJSP)2355等级汇总页面(DCHZJSP)236测试与完善2561系统测试2562测试用例2663程序性能优化26631存储过程的使用(GETCSDJSQL)26632异步程序设计277结论与扩展2971结论2972系统扩展29参考文献30致谢错误未定义书签。1绪论11项目背景二十世纪初,由于智力概念的提出和心理测试的蓬勃发展,非智力因素这一概念应运而生。1935年,美国心理学家亚历山大在其论文智力具体与抽象INTELLIGENCE,CONCRETEANDABSTRACT中首次提出了“非智力因素”NONINTELLECTIVEFACTORS这个概念。亚历山大发现在智力测试中,一些起
9、作用的变量被忽视,包括个体的兴趣、克服困难的坚持性以及企图成功的愿望等,这些因素和一般智力因素一起影响学生的学业成就。在亚历山大的启发下,美国另一位心理测试大师韦克斯勒于1943年提出了“智力中的非智力因素”的概念。测验的直接经验使韦克斯勒越来越重视非智力因素的研究,1950年他发表了认知的、欲求的和非智力的智力一文,专门对非智力因素问题进行广泛的探讨。他认为,一般智力不能简单地等同于各种智慧能力之和,它还应包含有其它的非智力的因素。据他的观点非智力因素主要是指气质和人格因素,尤其是人格因素,此外还应该包括先天的、认知的和情感的成份。一般来讲,心理学界将韦克斯勒的这篇文章,作为非智力因素概念正
10、式诞生并作科学研究的标志。令人遗憾的是这两位测量学家却没在非智力因素测量方面做更多的工作。在智力测验不断发展的同时,人们渐渐发现,智商对人们活动结果的影响力往往是有限的。研究表明,即使在学生学习过程中,IQ与学业成绩也只有中等程度的相关(R05左右)。而智商与人们日常社会生活和工作方面的成就相关则更低。于是部分心理测量工作者试图探索一种能够解决实际问题的“应用性智力”,EPSTEIN和MEIER认为“应用性智力”是一种由非智力因素构成的“建设性思维”CONSTRUCTIVETHINKING。他们设计了“建设性思维测验”,所测内容包括情绪控制、内在乐观性、行为控制、迷信思维、否定思维。他们认为通
11、过CTI所测得的是一种“与智商相关很小的非智力形式的智力”,因此,我们也可以把CTI看作一套“非智力因素量表”。EPSTEIN等人运用因素分析方法发现,智力量表和CTI量表并非对智力的不同测量技术,它们测量的是不同的能力。综上所述,非学业因素在一个人的一生中的发展显得非常重要。12项目研究现状随着计算机的普及,计算机软件的应用开发已经深入到我们生活中的方方面面,利用计算机软件为我们工作,不仅高效,准确,简便,节省人力,而且减少了纸笔等资源的消耗,在全世界都在呼吁节能减排的今天,我们更应该好好利用计算机软件这把利器。随着素质教育的推进,师生乃至整个社会对学生综合素质的提高越来越关注,与此同时,非
12、学业因素的测评在高校乃至九年义务制教育中都受到了重视。虽然非学业因素在理论上的研究取得了不凡的成绩,但是将非学业因素的测评与计算机软件相结合领域却没有通用的软件工具,大多数学2校仍采用人工操作。少部分使用软件的学校也是基本是定制软件,不易沿用,所以在制作一款各高校间可以通用的测评系统的探索工作会非常有意义。学生非学业因素测评,基本是高校学生每年都要做的事。不同的学校,这项工作有所不同,我所开发的这套系统是根据宁波城市职业技术学院的具体要求来设计的。在以往的实施过程中,不仅参与自评互评的学生工作量很大,负责统计工作的班干部更是累死累活,而且这个过程中,需要使用大量纸张(测评题目单,答题卡,统计用
13、纸),所以在这样的情况下,设计开发一个品行测评系统非常必要。13主要工作与论文结构在完成该系统的过程中,首先对开发需要使用到的技术进行了系统的学习,包括JSP开发,JAVA开发,MVC架构,HTML,JAVASCRIPT,数据库开发等,其次是对系统需求的学习以及完成系统的详细设计,接下来是开发,测试与界面优化,最后对系统性能做了提升,最终完成了一个学生可以进行自评互评,班主任控制班级账号,查看测评进程,查看未测评学生,提交自评成绩,成绩汇总处理,打印最终成绩等8项功能。系统性能优越,完全可以满足高校测评要求。这个过程也与论文的结构相似,在论文的第一章,介绍了非学业因素测评系统的背景与发展现状。
14、第二章介绍了系统开发过程中使用到的关键技术。第三章讲解了系统的需求分析。第四章写到了系统业务逻辑和数据库的详细设计。第五章结合开发代码讲解系统的开发实现。第六章谈到了系统的测试与性能提升方案,第七章讲到了系统的扩展方向。32技术原理及开发工具介绍21JSPSERVLETJAVABEAN开发模式的研究JSPSERVLETJAVABEAN模式即为轻量级的MVC模式,随着页面与业务逻辑处理的分离,早期将WEB页面内容和业务处理都放在SERVLET中的开发模式逐渐淘汰,因为混在一起不利于分工开发及后期维护。所以,就产生了MVC的开发方式,而且这是一种轻量级开发,非常适合小型项目,开发快捷,并且清晰。J
15、2EE开发的早期并没有JSP。最开始是用SERVLET来生成WEB页面。但是由于SERVLET生成HTML页面都是用OUTPRINT或者PRINTLN实现,太麻烦。因此产生了JSP。JSP是一种JAVA代码混合HTML的形式,它在第一次WEB容器请求时,会被编译成SERVLET,于是就省去了SERVLET中用OUTPRINT方式一点一点写页面的麻烦了JAVABEAN就是只有GET和SET的特殊的JAVA类,对应了数据的取出和输入。SERVLET负责去实例化这些JAVABEAN,并控制调度他们。完成数据输入及输出,再将输出结果交给JSP去展示。下图为MVC中各个模块的关系图4MVC模式结构图在M
16、VC模式中,这个模式将JSP的开发分为了三块JSP页面负责输入输出,显示数据,就是其中的VVIEWJAVABEAN实质是一个类,将业务逻辑与数据库操作封装,就是其中的MMODELSERVLET负责接受数据和调用JAVABEAN,起控制功能,就是其中的CCONTROLLER22系统建设模式系统采用B/S模式建设,B/S是BROWER/SERVER的缩写,客户机上只要安装一个浏览(BROWSER)如NETSCAPENAVIGATOR或INTERNETEXPLORER,服务器安装WEB应用服务器,ORACLE、SYBASE、INFORMIX或SQLSERVER等数据库。用户通过浏览器与服务器进行交互
17、。B/S最大的优点就是可以在任何地方浏览器控制器(SERVLET)视图(JSP)1请求5回应3调度JSPJAVABEAN4获取数据2实例化模型SERVLET容器数据库4进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用。客户端零维护,系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了4。因此,采用B/S模式,可以为系统管理提供更大的管理余地,系统结构如图34所示。图34系统模式图23JSP、SERVLET及JAVABEAN各自在程序中所起的作用231JSP的作用JSP就是用户与服务器进行交互的界面,既服务器要展现给用户看的内容都是放到JSP页面中的,
18、用户要跟后台做互动也要依靠JSP做传递。这种技术具有以下特点(1)将内容的生成和显示进行分离(2)使用JSP技术,WEB页面开发人员可以使用HTML来设计页面,使用JSP标识来生成页面上的动态内容。这样页面设计者能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容,并且将结果以HTML页面的形式发送回浏览器。(3)强调可重用的组件(4)大多数JSP页面依赖于可重用的,跨平台的组件(JAVABEANS或者ENTERPRISEJAVABEANSTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这
19、些组件为更多的使用者或者客户团体所使用。(5)采用标识简化页面开发(6)标准的JSP标识能够访问和实例化JAVABEANS组件,设置或者检索组件属性,下载APPLET,DATABASE服务器页面生成器用户页面生成数据维护WEB服务器管理员5以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。这样,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得WEB页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。由于JSP页面的内置脚本语言是基于JAVA编程语言的,而且所有的JSP页面都被编译成为JAVASERVLET,JSP页面就具有
20、JAVA技术的所有好处,包括健壮的存储管理和安全性。作为JAVA平台的一部分,JSP拥有JAVA编程语言“一次编写,各处运行”的特点。232SERVLET的作用SERVLET与普通JAVA程序相比,只是输入信息的来源和输出结果的目标不一样,所以,普通JAVA程序所能完成的大多数任务,SERVLET程序都可以完成。SERVLET程序具有如下的一些基本功能(1)获取客户端通过HTML的FORM表单递交数据和URL的参数信息;(2)创建对客户端的响应消息内容;(3)连接数据库并开发基于数据库的应用;(4)访问服务器端的文件系统;(5)调用其它的JAVA类。233JAVABEAN的作用JAVABEAN
21、其实也是一种“面向对象”的编程思想。他对数据进行的封装,我们需要访问数据的时候只要访问这个对象就可以了。比如调用数据库INSERT操作,如果有十个参数,不适用数据封装,就要建立一个具有10个参数的方法,而使用JAVABEAN只需要创建一个只有一个JAVABEAN做参数的方法。而且,现在数据库持久层的开源框架,比如HIBERNATE,他对数据库的增删改查全是基于JAVABEAN的,比如你要保存一个STUDENT的学号,姓名,性别的信息。原来的做法是INSERTINTOT_STUDENTID,NAME,SEXVALUE1,JACK,1而使用HIBERNATE这类框架,只需要调用一个方法SAVEST
22、UDENT其中SUTDENT就是一个JAVABEAN,它具有3个成员变量,ID,NAME,SEX。24JSP、SERVLET及JAVABEAN三者之间的联系241JSP与SERVLET的联系除去了转换和编译阶段,JSP和SERVLET之间的区别实在是不大。JSP与SERVLET之间的主要差异在于,JSP提供了一套简单的标签,和HTML融合的比较好,可以使不了解SERVLET的人可以做出动态网页来。对于JAVA语言不熟悉的人,会觉得JSP开发比较方便。JSP修改后可以立即看到结果,不需要手工编译,JSP引擎会来做这些工作;而SERVELT却需要编译,重新启动SERVLET引擎等一系列动作。把JS
23、P文件转译成SERVLET源代码,再调用JAVA编译器,编译成SERVLET。这也是JSP在第一次调用时速度比较慢的原因,在第一次编译之后,JSP与SERVLET速度相同简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句句的输出,所以,编写和修改HTML非常不方便。后来SUN推出了类似于ASP的镶嵌型的JSP(是SERVLET发展的产物),把JSPTAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。6242JAVABEAN与SE
24、RVLET和JSP与的联系JAVABEAN和SERVLET同样是种JAVA类,有的时候做的简单的页面可以用JAVABEAN代替SERVLET或反过来(都是用JAVA写的,不同的是SERVLET可以直接响应HTTP请求,但JAVABEAN是要在JSP中调用才可以实现的)。如果要处理复杂的逻辑关系时候,就可以看出来它们的分工不同了。JSP用于显示,SERVLET用于处理业务逻辑,JAVABEAN用于两者之间传递数据25开发工具介绍JDKJDK60开发工具MYECLIPSE60数据库SQLSERVER2005服务器TOMCAT60251JDK介绍JDK是JAVADEVELOPMENTKIT,简称开发
25、包。是面向开发人员使用的SDK(SOFTWAREDEVELOPMENTKIT,即软件开发工具包),它提供了JAVA的开发环境和运行环境。是整个JAVA的核心,包括了JAVA运行环境JRE(JAVARUNTIMEENVIRNMENT),一堆JAVA工具和JAVA基础的类库。252MYECLIPSE介绍MYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)是对ECLIPSEIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试
26、、测试和发布功能,完整支持HTML,STRUTS,JSF,CSS,JAVASCRIPT,SQL,HIBERNATE。简单而言,MYECLIPSE是ECLIPSE的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。253SQLSERVER2005介绍SQLSERVER2005是微软公司在WINDOWS平台上数据库应用程序中最具戏剧性的新型数据库平台。SQLSERVER2005产品新功能涵盖了联机事务处理(ONLINETRANSACTIONPROCESSING,OLTP)技术和联机分析处理(ONLINEANALYTICALPROCESSING,OLAP)技术,使用集成
27、的商业智能BI工具提供了企业级的数据管理,SQLSERVER2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使开发人员可以构建和管理用于业务的高可用和高性能的数据应用程序。254TOMCAT简介TOMCAT是APACHE软件基金会(APACHESOFTWAREFOUNDATION)的JAKARTA项目中的一个核心项目,由APACHE、SUN和其他一些公司及个人共同开发而成。TOMCAT是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。26开发中使用到的其他技术开发中还使用到了JAVASCRIPT,EL表达式,
28、JQUERY,SESSION,存储过程,异步编程等7技术,以下挑选较重要的三个做介绍。261JAVASCRIPTJAVASCRIPT是一种基于对象OBJECT和事件驱动EVENTDRIVEN并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、JAVA脚本语言(JAVA小程序)一起实现在一个WEB页面中连接多个对象,与WEB客户交互作用。它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。JAVASCRIPT是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JAVASC
29、RIPT的浏览器就可正确执行。262存储过程存储过程(STOREDPROCEDURE)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库。中用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行。使用存储过程有以下优点(1)存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。(2)当对数据库进行复杂操作时如对多个表进行UPDATE,INSERT,QUERY,DELETE时,可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。(3)存储过程可以重复使用,可减少数据库开发
30、人员的工作量。(4)安全性高,可设定只有某些用户才具有对指定存储过程的使用权。263异步编程(一)同步和异步的区别(1)同步提交请求等待服务器处理处理完毕返回这个期间客户端浏览器不能干任何事(2)异步请求通过事件触发服务器处理(这是浏览器仍然可以作其他事情)处理完毕(二)异步特征异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,结束时有停止位。(三)AJAX技术将业务逻辑及表现层放在浏览器,数据层放在服务器因为所有的程序以JAVASCRIPT执行在客户端,只有需要数据时才向服务器要求服务,此法又称为胖客户端(FATCLI
31、ENT)架构。服务器在此架构下通常仅用于提供及储存数据。此法的好处在于程序员可以充分利用JAVASCRIPT搭配业务逻辑来做出特殊的用户接口,以符合终端用户的要求。但是问题也不少,主因在第一,JAVASCRIPT语言本身之能力可能不足以处理复杂的业务逻辑。第二,JAVASCRIPT的执行效能一向不好。第三,JAVASCRIPT访问服务器数据,仍需适当的服务器端程序之配合。第四,浏览器兼容性的问题又出现。有些AJAX开发框架如DWR企图以自动生成JAVASCRIPT之方式来避免兼容的问题,并开立通道使得JAVASCRIPT可以直接调用服务器端的JAVA程序来简化数据的访问。但是前述第一及第二两个
32、问题仍然存在,程序员必须费相当的力气才能达到应用程序之规格要求,或可能根本无法达到要求。83需求分析31非学业因素测评的实施方案分析311等级评定方法测评一共有10个指标,每个指标相当于一道题,每道题有ABCD4个选项。这4个选项为该指标对应的一些表现的描述,并且有从A到D分数递减的顺序。测评形式包括自评和互评两个方面,自评即自己为自己打分,互评则需要打分者为全班所有同学打分。统计时首先要统计出每个学生ABCD各个选项的总数,分别乘以40,30,20,10,相加得出一个总分,然后除以为其测评的总人数(包括自己在内),得出一个平均分(既定性成绩),定性成绩(40302010)测评数测评题目数。评
33、价初始等级评定A等定性成绩33分及以上;B等定性成绩27分及以上;C等定性成绩15分及以上;D等定性成绩15分以下。班级品行评价小组根据对测评同学的日常表现,对照“班级学生品行评价定量指标,进行定量加分和减分操作;并填写学生品行评价等级汇总表的“定量加分情况”、“定量减分情况”和“定量合计”;并确定“定量排名”。班级品行评价小组根据“初始等级”和“定量排名”情况,对“初始等级”作不超过一个等级的调整,调整比例不超过班级人数的20,调整后的等级为“最终评价等级”。在最终评价等级中,A等比例原则上不超过40,该年度获校级以上先进集体的班级A等比例可上浮到不超过45,且全班应至少有A等、B等和C等三
34、个等级,才为有效评价。评价实行一票否决制。本学年内,受纪律处分的不得评为B等及以上等级,受记过以上处分或两次以上处分的评价等级为D。312测评实施注意要点每位学生必须要有自评成绩。没有参加在线测评的学生要以纸质答题卡的形式提交自评成绩,由教师录入系统。9参加互评的同学必须完成对所有同学所有指标的打分,否则视为无效测评。32主要功能需求分析图31系统主要功能结构图321学生模块实现功能学生模块主要包括两方面,一方面是自评,一方面是互评,具体功能描述如下(1)学生进入系统后,能够看到班级的全体同学,包括学号、姓名、测评完成情况、测评ABCD汇总和测评最后结果;(2)选中某一同学进行测评后,能够首先
35、看到这个同学的基本信息,在对测评学生有基本了解后,进行测评;目前测评是10个题目,最好能够从试题库中选择;(3)测评勾选后,保存结果;允许进行修改;但是必须提醒作完所有题目;(4)对全体同学测评结束后,提交测评结果;检查是不是已经给班级的所有同学都进行了测评(包括他自己),提醒一旦提交后,就不能再进行修改了。322班主任模块实现功能班主任模块设计到了班级账号控制和班级测评信息汇总处理,具体功能如下(1)能够控制学生帐号能否登录;(2)能够随时查看学生测评的结果;(3)能够登录“未参加互评”的学生的“自评结果”;(4)最终的学生测评情况,能够形成班级的学生品行评价等级汇总表(结构参考管理学院学系
36、统登录学生模块学生自评学生互评教师模块查看进度添加自评结果处理账号控制上交学院10生品行评价等级汇总表XLS),得到班级同学的“测评结果”、定性成绩、班级排名、初始等级;(5)班主任输入或导入班级全体同学的定量加分和减分成绩;得到定量排名;(6)班主任能够根据“定量成绩”对“定性初始等级”进行一个等级的上下浮动,但是调整总数不能超过20;(7)得到“最终等级”结果,比例不能超过规定的比例上限;(8)导出和打印“宁波城市学院学生品行评价等级汇总表XLS”和“班级上报最终结果XLS”;(9)向学院提交最终测评结果,一点提交就不能进行修改调整操作;323特殊处理的地方(1)文明班级的比例浮动;(2)
37、违纪处分的同学,等级限定;(3)目前已经有“学生管理信息系统”,能够提供班级学生名单,违纪处分名单,文明班级等信息;(4)目前的系统使用的数据库是SQLSERER2005,希望能够兼容;33数据量与访问量分析数据量与访问量分析从从性能和用户体验着手,对信息保存量较大的几个模块进行了分析,并给出了解决方案,具体分析如下(1)自评结果自评结果为10条信息,并且是数据表中一行数据,使用一次性提交即可。(2)互评结果互评时是以题目为导向,即转到下一题前要保存全班同学每人一条信息,并且涉及到不同行数据,一次性保存会造成延时很高,并且当多人同时提交时,很可能造成服务器无响应,导致之前的页面操作无效,甚至是
38、服务器瘫痪。故采用异步提交方式,既每次点击答案按钮时直接提交后台,不需要刷新页面即可保存信息。(3)班主任功能学生自评成绩添加未参加测评的学生提交自评成绩后,需有班出任提交系统,如果学生不多时,一次性提交延迟不大,但是多人时,会造成很长延迟,故采用每一条信息对应一个保存按钮的形式。(4)测评结果ABCD个数统计每一行信息中,既某一同学为班级任何一人(包括自己)打分得到的10个答案的ABCD个数统计在每次打分时已经做了保存,每个学生的所有结果中ABCD个数的统计使用存储过程,在该学生每一行信息保存时由数据库自己处理,不调用服务器后台程序处理。(5)定性成绩处理定性成绩处理是教师功能,当班主任点击
39、定性处理按钮时,后台调用数据利用公式(40302010)测评数测评题目数得出初始成绩,并直接将该条信息保存到数据库,同时显示在WEB页面。114系统设计41概要设计图411学生使用流程学生登录首先查看学生账号状态,判断为开启后查看是否完成测评,是则进入学生互评结果页面,否则进入学生自评页面,然后进入学生互评页面,最终到达学生互评结果页面,具体流程如下图所示图41学生使用流程图是学生是否完成测评学生互评结果页面学生自评页面学生互评页面登录页面学生帐号状态否开启关闭12412班主任功能和使用流程班主任登录首先要查看该班级是否已提交学院,未提交则可进入班主任首页,具体功能如下图所示图42班主任功能和
40、使用流程图42主要功能逻辑设计421登录逻辑用户登录后首先判断是否符合输入要求,判断通过后先到班级用户表寻找匹配账号,匹配成功班主任班主任主页在他所带班级中选班级登录页面成绩是否提交学院否是查看未测评学生页面添加学生自评信息页面查看学生测评进度页面测评信息汇总页面打印学生成绩确认页面提交学院控制学生帐号状态打印测评结果页面13则查看班级状态,开启则进入班主任首页。如果班级用户表没有则到学生用户表寻找匹配,匹配成功再查看班级状态,为开启则根据测评完成情况进入相应页面,逻辑图如下图41登录逻辑图422未测评项提示逻辑(以互评为例)造成未测评项产生有两种原因,一种是未点击单选框,一种是点击了未保存成
41、功,具体逻辑如用户输入帐号密码输入是否符合要求到班级用户表寻找匹配匹配成功到学生用户表寻找匹配班级状态匹配成功帐号状态班主任首页互评结果显示页面自评页面完成测评是否成功开启关闭不成功是否开启关闭是否14下图所示图42未测评项提示黄色逻辑图点击互斥单选框该项标记为UNCHECKED未点击互斥单选框点击提交按钮,所有选项变为黄色提交是否成功该项标记为CHECKED标记是否为CHECKED为CHECKED的改为白色都为CHECKEDD提交成功是否是是否否颜色仍为黄色15423学生自评功能学生自评为10道题,在一张页面显示,页面结构如图所示,在页面的下方中间位置是一个提交按钮,如果10道题没有全部做完
42、,无法提交,全部做完后提交,进入互评页面。424学生互评功能(1)学生互评以题目为导向,每道题要为所有同学打分后才能进入下一题。(2)上方的第一到第十道题做了限制,如果第一道题未提交,点击第二道不会转到第二道,会弹出对话框,提示“先完成前面的测评”,如果已做到第十题,则可以任意点击查看之前的任何一道题。(3)下方的打分一栏使用了异步提交方式,既不用刷新页面,即可完成数据提交,如果提交不成功,则在点击“下一题”时,提醒“请检查遗漏测评项”,并且未提交成功的选项会显示黄色。他的原理是利用JAVASCRIPT先将所有测评项都标为黄色,再将提交成功后的选项改回白色。如上图所示(4)当做到第十题时,下方
43、的下一题被隐藏,提交按钮由隐藏改为显示,单击“提交”按钮,提示“提交后将不能修改,确定要提交吗”,单击“是”保存完毕,并进入学生互评情况表。425参看学生互评结果功能学生完成互评后,进入该页面,退出后再登入系统,不会进入自评页面,直接跳出该页面426班主任主页(1)班主任主页包含了班主任角色的功能和该班级的情况,班级情况包括班级ID,班级名称,是否文明班级,班级状态以及班主任姓名。(2)如果该班主任为多个班级的班主任,则班级切换下拉列表中都会显示出来,如果该班级状态为开启,则后面的按钮只显示关闭,而开启按钮则被隐藏,如果状态为开启,则相反。开启和关闭都会刷新页面,故在班级信息栏中班级账号状态会
44、随之改变。(3)上面的6项功能采用以新的WEB页打开形式。427添加学生自评信息功能点击班主任页面“添加学生自评信息”栏时,系统会调出该班所有没有完成互评的学生学号和姓名,然后套用格式重复列出,并且每个列表下方有一个提交按钮,如果该学生的自评成绩已经有了,则将成绩显示并为白色,如果没有成绩则为黄色,如图所示。这里同样采用异步编程方式,不刷新页面保存,保存成功后,黄色变为白色。428测评信息汇总功能等级汇总页面主要有三个功能16(1)定性处理点击定性处理,首先检测是否所有学生都有自评信息了,如果没有,会提示“学生未全部完成测评”,如果都有了,则通过计算得出所有学生的定性成绩,班级排名以及初始等级
45、。定性成绩,班级排名以及初始等级这三项都有排序功能,既点击后按照升序或者降序重新排列顺序。(2)定量处理在进行定量处理前,首先要将该学生的定量成绩的加分和减分输入到输入框,输入完成后,点击“定量处理”按钮,则将学生的定量合计,定量排名以及定量等级都显示出来同时保存到数据库。定量成绩同样具有排序功能。(3)等级调整在等级调整下拉框中只有1,0,和1三个选项,默认为0。当调整比例大于20时,在点击等级调整按钮时,会弹出提示框“调整比例超过标准”,点击无效,如果符合要求,则显示最终等级,并将结果保存到数据库。429查看学生测评进度功能参看学生进度页面显示了该班学生测评进度情况,如图所示,该班两人完成
46、互评,三人提交了自评成绩,其他学生未测评。自评学生信息单元格下方以浅红色标注,互评学生以浅蓝色标注。同时显示了该生ABCD的个数,以及有几个人为他打分。43数据库设计将需求分析得到的用户需求抽象为信息结构(概念模型)的过程就是概念结构设计,它是整个数据库设计的关键。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定5。根据需求分析,数据库设计为4张表,下面将4张表的主要列名显示如下,每张表格还有共同的信息如“学年”“建立人员”“修改人员”“修改日期”未罗列出,还对一些与业务逻辑相关的或者比较重要,前面又没有提到作用的列名做了介绍。17431学生用户表(XSYH)序
47、号字段名类型中文含义是否允许空是否主键1IDINTID(自增)否是2JLRYVARCHAR30建立人是3JLRQDATETIME建立日期是4XGRYVARCHAR30修改人员是5XGRQDATETIME修改日期是6XNVARCHAR30学年是7BJIDINT班级ID是8BJMCVARCHAR50班级名称是9XMVARCHAR30姓名是10XHINT学号是11MMVARCHAR30密码是12CPLXVARCHAR30测评类型是13CPSINT测评数是14AJGINTA结果是15BJGINTB结果是16CJGINTC结果是17DJGINTD结果是18DXCJFLOAT定性成绩是19DXPMINT定
48、量成绩是20CSDJVARCHAR30初始等级是21JIAFENGFLOAT加分是22JIANFENGFLOAT减分是23DLHJFLOAT定量汇总是24DLPMINT定量排名是25DLDJVARCHAR30定量等级是26TZMCINT调整名次是27ZZDJVARCHAR30最终等级是28QRJGVARCHAR30确认结果是29TSBZVARCHAR300是否警告是30BZVARCHAR300备注是31CPYJ1VARCHAR350测评依据1是39CPYJ9VARCHAR350是40CPYJ10VARCHAR350测评依据10是41HPWCQKVARCHAR30互评完成情况是42TSGZVAR
49、CHAR50特殊关注是(1)BJID用以确定这个学生属于哪个班,在以BJID控制学生能否登录系统时,学生登录,后台找到该学生后查看该班级号对应的班级的状态。(2)测评类型用以记录该学生属于只参加了自评还是也参加了互评。18(3)确认结果用以确认该学生是否已经提交互评成绩,提交了则确认结果记录为1,否则为0,为1以后,则学生再次登录系统时直接跳转到互评结果表,既使学生不能修改原来的测评结果(4)测评依据记录了该生在10个指标上分别对应的一些表现。432班级用户表(BJYH)序号字段名类型中文含义是否允许空是否主键1IDINTID(自增)否是2JLRYVARCHAR30建立人是3JLRQDATETIME建立日期是4XGRYVARCHAR30修改人员是5XGRQDATETIME修改日期是6XNVARCHAR30学年是7BJIDINT班级ID是8XYMCVARCHAR30学院名称是9BJMCVARCHAR130班级名称是10BZRXMVARCHAR30班主任姓名是11WMBJBIT文明班级是12ZHZTVARCHAR30账号状态是13JCVARCHAR30进程是14MMVARCHAR50密码是15BZRIDVARCHAR30班主任ID是(1)文明班级的作用是控制初始等级为A的人的个数(2)账号状态即可控制学生能否登录系统(3)进程是控制教师可否登录系统的,
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。