版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ⅡIIII基于JAVA的高校学生成绩管理系统设计摘 要在2020年,中华人民共和国教育部颁布了《教育部关于做好2020年普通高校招生工作的通知》。学生数量逐年增长,为了稳定教育质量,学校不得不通过扩招教师与其他职员来对学生进行题目训练和成绩的统计。教师为了进一步了解学生的薄弱项或无法跟上进度的学生,需要付出大量的人工去查看各种表格与数据,不仅如此还容易出现名不对人,数据统计出错的情况,为教师了解学生提供了一定的障碍。学生几乎没有相关途径去进行题目的训练,对每个章节的内容掌握不够牢固。目前市场上还没有出现关于学生刷题、测试、成绩统计的软件出现,这款软件可以在空白的市场里寻找新的生存发展空间。与此同时,这款软件更方便高校对学生的成绩管理,减少了人工也降低了错误率,教师可以运用此款软件对学生的学习情况进行追踪掌握,在了解学生薄弱项的基础上加强学生的习题锻炼,更有助于学生掌握知识。学生也可以运用这款软件进行题目的训练,进一步掌握知识,为后续的学习打下牢固基础。选择以软件作为基础平台,是基于现代社会大学生几乎人手一台手机的情况下,同时手机更方便于利用碎片化时间刷题、也方便教师随时随地地查看和掌握学生的学习情况,提高教育质量的同时也注重方便化和快捷化。文章介绍了学生平时成绩测评系统的研究背景、意义及未来的发展趋势。对大部分的框架进行详细地说明与分析,介绍并明确系统功能,同时介绍了部分源码,方便理解。最后本文对工作进行了归纳总结,对未来工作进行阐述。……关键词:平时成绩,数据库,java,学生成绩管理系统ABSTRACTIn2020,theMinistryofEducationofthePeople'sRepublicofChinapromulgatedtheNoticeoftheMinistryofEducationonEnrollmentofGeneralUniversitiesin2020Thenumberofstudentsisincreasingyearbyyear.Inordertostabilizethequalityofeducation,schoolshavetoenrollmoreteachersandotherstafftomakestatisticsonthesubjecttrainingandresultsofstudents.Inordertofurtherunderstandthestudents'weaknessesorunabletokeepupwiththeprogressofthestudents,teachersneedtopayalotofmanualworktoviewvariousformsanddata,whichisnotonlypronetoanonymouspeople,butalsodatastatisticserrors,whichprovidesomeobstaclesforteacherstounderstandstudents.Therearealmostnorelevantwaysforstudentstotrainontopics,andtheydonothaveafirmgraspofthecontentsofeachchapter.Atpresent,thereisnosoftwareaboutstudents'refreshingquestions,testing,andperformancestatisticsonthemarket.Thissoftwarecanfindanewspaceforsurvivalanddevelopmentinablankmarket.Atthesametime,thissoftwaremakesiteasierforuniversitiestomanagestudents'performance,reducethelaborandreducetheerrorrate.Teacherscanusethissoftwaretotrackandmasterstudents'learningsituation,strengthenstudents'exercisebasedonunderstandingstudents'weaknesses,andhelpstudentstomasterknowledge.Studentscanalsousethissoftwarefortrainingtopics,tofurthermasterknowledge,andtolayasolidfoundationforsubsequentlearning.Choosingsoftwareasthebasicplatformisbasedonthesituationthatcollegestudentsalmosthaveonemobilephoneinmodernsociety.Atthesametime,themobilephoneismoreconvenienttousefragmentedtimetobrushquestions,anditisalsoconvenientforteacherstoviewandmasterthelearningsituationofstudentsanytime,anywhere.Italsopaysattentiontoconvenienceandrapiditytoimprovethequalityofeducation.Thispaperintroducestheresearchbackground,significanceandfuturedevelopmenttrendofthestudent'sperformanceevaluationsysteminpeacetime.Mostoftheframeworksareexplainedandanalyzedindetail,thesystemfunctionsareintroducedandclarified,andsomesourcecodesareintroducedforeasyunderstanding.Finally,thispapersummarizestheworkanddescribesthefuturework.Keywords:usualresults,database,Java,studentachievementmanagementsystemⅣⅣ目录目录ⅢⅢ目录第一章绪论 1研究的背景 1研究的意义 1国内的研究现状 1研究的内容和主要工作 2研究的内容 2主要工作 2本论文的结构安排 3第二章开发工具以及技术的介绍 4语言介绍 4系统开发所用到的工具 4JDK工具 4MyEclipse软件 4Navicat数据库管理系统 4第三章数据库设计 5数据库介绍 5数据库设计 5user表设计 5test表的设计 6数据库ER设计图 7数据库连接 7连接数据库 7用户注册验证 8用户的登录 9内容的添加 9内容的更新 10删除功能 更新密码 获取列表 12第四章系统总体设计 14 开发工具说明与介绍 14功能结构分析 14业务流程图 15模块的具体流程图设计 16教师用户 16学生用户 17第五章系统实现 19总体框架的介绍 19登陆模块 20登录功能实现 22个人信息模块 25个人信息的修改 26密码的修改 29版本的更新和退出应用 30试卷模块 32教师端的提交与评分 34学生端的答题与查分 39排名模块 41第六章总结与期望 436.1总结 436.2展望 43参考文献 46第一章绪论第一章绪论PAGEPAGE1PAGEPAGE10第一章绪论研究的背景根据《大学生平时成绩与期末考试成绩关系研究》[1]表明,大学生的平时成绩与期末考试的成绩呈现了正相关的趋势。学生的平时成绩是为了考核学生在学习上的阶段性学习成果,在一定意义上也是对教师自己阶段性教育效果反馈。随着生源增多,成绩管理工作愈发紧张,工作繁琐且数量增大,给教师增添了不少的负担。对学生来说无法及时得到自己考试成绩的反馈,就容易对下一阶段的学习造成负面的影响。学习是一个持续的过程,重视学生的平时成绩可以有效地提高学生的整体学习效果,也是提高学校教学质量的重要方法之一。在现代化教育的背景之下,学生平时成绩测评系统有效地做到科学的、管理分工明确且简洁方便,没有繁琐的操作,实际地解决了非常多现在正在面临的问题。选择以安卓作为基础平台,是基于现代社会大学生几乎人手一台手机的情况下,后续也将推出IOS版本,方便大家使用,同时手机更有利用碎片化时间刷题、也更方便教师随时随地地查看和掌握学生的学习情况,提高教育质量的同时也注重方便化和快捷化。综上所述,这个学生成绩管理系统是顺应现代化信息化教育的诞生品,势在必行[2]。研究的意义信息全面化发展,对于高校的要求总体上升。大学生的平时成绩以结果评价为主向结果和过程评价结合转变已转换成必然[3]。故学生的平时成绩的测评对促进教师教学工作、提高教学质量有着非同一般的现实意义,具体表现在以下这几个方面:1、方便教师对于课堂上学生的平时成绩的考核,减轻教师课后批改、逐一解答的负担。2、提高平时成绩考核的公平性,真正做到科学、明确且高效的平时成绩测评方式,简介的系统使教师与学生更容易上手,实现教师与学生之间的高效交流。3、提高学生对于课堂考核的活跃度,加强学生对于阶段性学习成果的反馈认识,为学生下一步学习打下基础。4、目前市场上还没有出现关于学生平时成绩测评为主流业务的软件,本软件可以在空白的市场里寻找新的生存发展空间。国内的研究现状目前,国内几乎没有一个以平时成绩测评为主要目标的教学辅助软件。国内大部分相似类型的成绩测评系统仅仅应用于各大高校,如清华大学的商业化教学管理系统,但仍然是以成绩管理为主。大部分平时成绩测评在网页上实行,虽很好地实现无纸化、数字化与智能化,但仍然存在着无法在课堂上随时使用、以及因功能较多导致的操作繁琐,可能需要对使用的教师与同学进行一系列的培训等普遍的问题。随着各大高校的发展,学校规模进一步地扩大,更大量地学生涌入。数量庞大,学生与教师之间的沟通不顺畅,对于平时成绩的测评大多采用教师用纸打印出来交给学生课堂上完成,下课后教师再取走进行批改,然后再进行统计与排名,过程相当繁琐,耗费人工多且效率低下。而大部分的成绩系统以总体分数的展示为主,对于平时成绩的考核与统分仍然有一定的亲。目前根据我国高校人才培养模式,设计一款平时成绩测评为主要功能的、方便学生与教师及时收到阶段性学习反馈的软件具有十分重要的现实意义。研究的内容和主要工作研究的内容主要是研究学生平时成绩测评系统的研究与分析,通过面向对象的方法来对该系统进行分析,设计出软件的整体框架,并且实现大部分用户所需的公布功能。学生平时成绩测评系统主要研究了以下的内容:1、对目前学生平时成绩测评系统进行了调查与研究,规划了软件的需求分析;2、分析当下的学生平时成绩测评系统的不足和改进的地方,在软件里避免出现,功能进一步改进;3、对系统功能的框架分析,研究具体功能的实现方法,了解安卓系统的开发流程;4、了解前后端的交互,数据库的应用与导入。这款安卓软件主要实现的功能由:1、教师可以通过软件的教师端在课堂上发布习题并让学生完成;2、学生登录学生端后看到教师发布的题目后并在区域内完成题目并提交;3、教师在看到学生答题后可以进行评分,并在评分结束之后软件会自动让学生的成绩降序排序。主要工作本人在基于安卓的学生平时成绩测评系统中主要做了以下工作:1、对高校的学生平时成绩等项目背景进行了研究,对现高校的平时成绩应用的现状进行了了解和分析;2、设计软件的总体框架,进行需求分析,明确并完成软件的功能实现;3、结合安卓平台实现前后端的交互,设计数据库;4、整体系统功能的实现与测试;5、软件的开发完成及相关论文的写作。本论文的结构安排本文的章节结构安排如下:第一章绪论。本章使通过对研究内容进行概要性地介绍,包括研究背景、我国高校学生平时成绩测评现状以及本人在这次的软件开发中的主要工作介绍。第二章开发工具以及技术的介绍。本章主要介绍了开发语言JAVA,以及开发学生平时成绩测评系统时所使用到的工具介绍。第三章数据库设计。本章主要对数据库做了概要性介绍,对所用到数据库以及系统跟数据库的连接做了详细的介绍,并对代码进行了展示。第四章系统总体设计。本章主要介绍了系统的功能结构分析,详细展示了系统的功能,并且规划了教师个人信息、教师主要功能、学生个人信息、学生主要功能的业务流程图。第五章系统实现。本章主要介绍了系统所采用的框架、以及系统的主要功能,包括登录模块的注册功能与登录功能,个人信息模块的个人信息修改功能、密码的修改功能、版本的更新以及退出应用功能、教师端的试卷提交功能与答卷的评分功能,学生端的答题与评分功能、最后是排名功能。第六章总结与期望。本章是对本文的内容进行一个概括性的总结,简单地概括研究的成果,并对将来的工作展开期望与规划。最后为对于本次研究内容的概括,对目前研究内容不足的总结,针对不足对未来的工作内容进行规划,以及对本次实验帮助过我的人表达感谢。第二章开发工具以及技术的介绍JAVA语言介绍JAVA是面向对象的程序设计语言之一。JAVA语言可以在不同平台上的虚拟机进行,相较于传统的c语言更加体现了跨平台的优势。同时JAVA语言编写的简单性、灵活性使其在计算机软件开发应用中降低了复杂性,同时安全性、稳定性的特点降低了计算机软件系统开发中的安全风险[4]。目前市场上以及出现很多由JAVA编程的软件,未来发展可期。综上所述,JAVA语言在计算机开发中的价值更大一些。除了编译后字节码会降低JAVA程序的运行速度及性能之外的些许缺陷外,整体来说,JAVA语言是一个软件开发者首选的语言之一。系统开发所用到的工具JDK工具JDK为JAVA工具开发包的缩写,是一个JAVA语言的开发环境。运用该平台在JAVA上开发软件应用,包括本文所介绍的学生平时成绩测评安卓软件。并且,JDK包含着大量的开发工具以及JAVA相关的类库和语言规范,方便使用者进行软件的开发。使用JAVA语言的开发者必备的一个工具。MyEclipse软件MyEclipse是一个企业级工作平台,一般情况下被使用于Java、JavaEE以及移动应用的开发。在软件开发方面,MyEclipse的环境功能丰富,调试、测试等功能齐全,提高使用者开发的效率。Navicat数据库管理系统Navicat是一款快速、便捷的数据库管理工具,简化了数据库的管理步骤并且降低了数据库的管理成本,所包含的功能满足了数据库市场上中小型公司的需求。Navicat是通过完整的GUI(图形用户界面)进行创建、组织以及访问和共享信息。Navicat简单容易上手,是新手友好型应用,Navicat利用数据库工具使用户连接到任何本地或远程服务器端,方便存储、管理数据。第三章数据库设计第三章数据库设计PAGEPAGE13电子科技大学学士学位论文电子科技大学学士学位论文PAGEPAGE6第三章数据库设计数据库介绍MySQL是一个在高校中最常见的存储库之一,MySQL语言拥有双重许可的政策,总体的规模小,使用简洁快速同时使用的成本较低,分为社区版本和商业版本,目前仍然有不少的网站使用MySQL作为开发语言。MySQL相较于其它大型数据存储库来比较,有着速度快,灵活度高等有点,与此同时,MySQL更加轻量级,更易于部署,同时MySQL不仅可以替代oracle大部分功能以外,同时还可以根据不同的应用定义开发者所需要的数据库。数据库设计本系统分为两个个大表,第一个表为user表,用来存储用户的信息;第二个大表为test表,用来存储教师端发布的试卷,与试卷的标题等;user表设计user表的字段含义表31user表含义字段名实际含义id序号(连接test表)uuid用户ip地址name用户的账号名字psd用户的登录密码zwname用户个人信息名字userid编号(工号或学号tel个人电话user表具体设计表32user具体字段设计字段名称类型长度允许空值主键idint10不允许空值是uuidvarchar50允许空值不是namevarchar20不允许空值不是psdvarchar20不允许空值不是zwnamevarchar10允许空值不是useridvarchar20允许空值不是telvarchar20允许空值不是test表的设计test表的字段含义表33test表含义字段名实际含义id序号(连接user表)uuid发布/答题的人的ip地址title发布的答卷的标题content答卷具体内容/学生提交的答案time发布/提交的时间(精确到分)isStudent判断是否为学生(true/false)state判断是否为答卷(true/false)score提交后学生的成绩tset表的具体设计表34test表具体字段设计字段名称类型长度允许空值主键idint10不允许空值是uuidvarchar100允许空值不是titlevarchar100允许空值不是contentvarchar9000允许空值不是timevarchar50允许空值不是isStudentvarchar30允许空值不是statevarchar50允许空值不是scoreint5允许空值不是shengyutimevarchar50允许空值不是authorvarchar100不允许空值不是数据库ER设计图图35数据库er设计图数据库连接本次的软件开发,通过JDBC访问MYSQL。JDBC是一个JAVA提供的专门用语操作数据的由一些用JAVA语言编写的类和接口组成。通过JDBCAPI,程序开发者通过同一段JAVA语言去访问不同的SQL数据库,不需要依赖于具体的数据。JAVA连接数据库首先先把加载的JDBCMYSQL数据库驱动器来,接着用安装mysql时设定好的账号和密码,数据库名我设置为bs004sjpy,用户名是root,没有设置密码。如果运行显示错误,则在命令行打印异常信息在程序中出错的位置及原因。负责加载JDBC-MYSQL数据库驱动的代码为:DriverManager.getConnection("jdbc:mysql://localhost:3306/bs004sjpy","root","");负责加载JDBC-MYSQL数据库驱动的代码为:DriverManager.getConnection("jdbc:mysql://localhost:3306/bs004sjpy","root",""); 若是程序加载错误,则运用ClassNotFoundExceptione这个异常处理类,在程序运行出错的情况下,用e.printStackTrace()语句则会在命令行打印异常信息在程序中出错的位置及原因。同理可得数据库出现异常或者差错的时候,也运用同样的语句打印出错误的位置及原因。用户注册验证DBUtil是JDBC封装的开源工具jar包,通过DBUtil调用的数据库的操作相较于其它操作来说会更简洁方便。并且DBUtil确保不会发生资源的泄露,与此同时还会提供干净明了的代码去满足软件开发者需要执行的数据库操作,不需要额外地编写负责清理或者防止资源外泄的代码。用户在点击注册按钮之后,先获取用户注册的数据,判断是否用户的账号是否为数据库user表里已存在的,若是存在则返回错误,并显示已注册的提示,若是未发现对应账号,则用sql语句“Stringsql="insertintouser(uuid,name,psd)values(?,?,?)"把相应的数据对应放入数据库里USER表中,若是出错则返回错误地方及原因,若是未出错则返回注册成果!用户的登录运用preparedstatement来进行批处理,效率高,并且由于本身以及预编译过,不必二次编译,降低了大量的运行时间,可以批量地处理数据。用户按下登录按钮,并且在文本框内输入账号与密码,系统收到数据之后用sql查询语句“Stringsql="select*fromuserwherename=?"”去查询数据库表里是否存在者着对应的账号。创建prepareStatement对象,并且从prepareStatement的第一个参数开始检查并返回查询的结果,账号匹配成功后去匹配使用者的密码,都成功后把result值设为0,若是账号不存在则把result值设为1,并返回账号不存在的提示框,若是密码匹配不上则把result值设为2,并且返回密码错误的提示框。只有result为0情况下才算成功,其余都算失败,成功后会返回登陆成功的提示框。内容的添加用户的添加分文教师发布试卷和学生提交答卷两种模式,用户点击了添加操作之后,由JAVAJDK提供的UUID.randomUUID().toString()自动生成主键,UUID是全局唯一的标识符,由16位数字组成,分别由时期时间、始终序列与全局唯一IEEE机器识别号组成。 用户在按了提交按钮之后,系统收到数据并用sql插入语句“Stringsql="insertintotest(uuid,title,time,isDajuan,content,shenyutime,isStudent,author、state)”,把用户值插入到test的表内存储,若是教师发布的试卷或学生提交的答卷,则不给score赋值,score值为空,只有等待教师评分以后score才被赋值。赋值成功之后,服务端返回成功给移动端,移动端返回提交成功给用户。内容的更新内容的更新分为两种情况,第一种是学生看到教师发布的试卷之后进行回答,并提交答卷给教师等待教师评阅,第二种是教师看到上交的答卷之后对学生的试卷进行评分,按下提交打分按钮分数上传到系统。系统在收到学生提交的答卷和教师的评分之后,运用sql的更新语句“Stringsql="updatetestsetscore=?,comment=?,state=?whereuuid=?"”把学生提交的comment和教师提交的score分别赋值,最后把result设置成true,返回result给移动端,移动端显示提交成功返回给用户。删除功能删除功能分为两个部分,分别从user表和test表里通过查询uuid并删除。通过sql的删除语句“Stringsql="deletefromtestwhereuuid=?"”和“Stringsql="deletefromuserwhereid=?"”通过查询test表和user表的uuid,并对对应的值进行删除。result获取结果,返回移动端,移动端反馈删除成功的提示框给用户。更新密码用户登陆成功之后,点开个人信息页面,点击修改密码按钮,在文本框中输入自己的新密码两次,并点击提交。系统通过sql更新语句“Stringsql="updateusersetpsd=?wherename=?"”取根据账号查询user表里psd的值并对psd的值进行更新,最后返回给移动端,移动端显示更改成功的提示框反馈给用户。获取列表获取列表分为两个部分,一个是获取test表,一个是获取user表。通过查询语句“Stringsql="select*fromtestorderByscoredesc";”和“Stringsql="select*fromuser"”查询test表和的数据,并且按照score的数值进行降序排序,排序完成后把user表和test表按降序后的顺序再次赋值并且返回,生成成绩排名。第四章系统总体设计开发工具说明与介绍表41开发工具序号软件及版本说明1Windows10操作系统2mysqlsever5.5数据库3MyEclipse10服务端4NavicatforMySQL数据库图形界面管理工具5AndroidStudio3.0.1android端开发工具6gradle4.1androidsutiod项目的一种构建工具7tomcat-7.0.26服务端运行项目的容器8夜神模拟器安卓手机模拟器功能结构分析研究高校的大学生平时成绩的测评系统之后,根据学生与教师的需求,设计出由两大模块组成的项目。学生平时成绩测评系统分为:教师板块与学生板块。教师可以进行修改个人信息、发布试卷、批改试卷以及查看学生成绩排名;学生可以修改个人信息、查看教师发布的答卷并提交自己的答案、等待教师评分之后查看教师的评分、查看学生的成绩排名。系统结构图如下:1、教师用户:个人信息修改;发布试卷;查阅答卷并提交分数;查看学生成绩排名;2、学生用户:个人信息修改;查看试卷并提交回答;查看教师评分;查看成绩排名;第四章系统总体设计第四章系统总体设计PAGEPAGE15电子科技大学学士学位论文电子科技大学学士学位论文PAGEPAGE16图41系统结构图业务流程图教师在软件上登录后,点击底下加号按钮,输入试卷名称以及试卷内容,按提交按钮之后提交到系统上。学生登录成功后,查看教师发布的试卷,并在试卷上作答,完成之后提交答卷。教师在软件上看到学生提交的答卷,对此给出评分,评分提交完成后,切换页面查看学生的成绩排名。学生在教师提交分数后查看自己的分数,并且可以切换页面查看学生的总排名。如图42所示。图42业务流程图模块的具体流程图设计教师用户教师用户个人信息查看及修改流程教师用户注册之后登录,在个人页面查看个人信息、修改个人信息、修改密码、查看是否有版本更新。修改个人信息点击之后,会显示名字、学号以及电话的更改方式,重新输入完毕之后导入数据库,显示在个人首页上。修改密码点击之后会需要重新输入密码,等新密码输入完毕后会及时更新数据库。点击版本更新则会查询有无版本更新,有则更新,没有则显示这是最新版本。如图43所示。图43教师用户个人信息流程图教师用户主要功能流程图教师端的主要功能是编写试卷标题、提交试卷内容,以及对学生的答卷进行评分,查看学生的排名。教师端的主要操作是,打开主页面,按加号按钮编写试卷标题以及试卷的内容,编写完成之后按提交按钮发布试卷;等待学生完成之后,点击查看学生的提交的答卷,并提交评分,接着切换页面查看学生的成绩排名。如图44所示。图44教师用户主要功能流程图学生用户学生用户个人信息查看及修改流程学生用户注册之后登录,与教师端的操作一致,在个人页面查看个人信息、修改个人信息、修改密码、查看是否有版本更新。如图45所示。学生用户主要功能流程图学生端的主要功能是,查看教师发布的试卷、在试卷上作答并提交、提交之后查看分数以及查看总体成绩排名。学生端的主要操作是,在等待教师发布试卷后,查看试卷并在试卷上回答问题,结束后按提交按钮提交答卷,答卷反馈给教师。同时在教师发布玩试卷之后,系统开始倒计时,若是倒计时结束之前学生仍然没有提交,则会在试卷页面显示已超时的提示,但仍然可以提交给教师评分。等待教师评分完,点进试卷的页面查看自己的分数,以及可以切换页面查看总体的成绩排名。如图46所示。 图45学生信息流程图 图46学生功能流程图第五章系统实现第五章系统实现PAGEPAGE19电子科技大学学士学位论文电子科技大学学士学位论文PAGEPAGE20第五章系统实现总体框架的介绍本试卷评阅软件采用的架构是MVC/MVP(ModelViewController的缩写)。MVC是一个把应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层[5]。Model、View、Controller分别对应着数据处理、数据输出、输入输出的控制。采用MVC结构可以有效地减少程序的复杂性,避免内容之间的相互影响,从而简化系统维护,提高系统的可扩展性和灵活性[6]。图51MVC架构图[7]在MVC中,安卓的控制层重心放在了activity上,通过activity交割model的业务逻辑层处理,但容易出现代码量过大,程序耗时长的缺点,故在本软件的编写中,MVC只起到了视图与模型分离的作用,大部分的框架结构采用的是MVP模式。MVP的presenter是框架的控制者,把之前在activity中大量的逻辑操作放在了控制层中,避免了activity的臃肿,减少了阅读的代码量。在安卓上,将试卷评阅APP根据程序的结构进行纵向划分,根据MVP划分为模型层、UI层和逻辑层。UI层包括了activity、fragment等直接和UI相关的类,activity启动之后实例化相应的逻辑层,app的控制权后移,从UI层转向了逻辑层,两者之间的通信通过handler或者接口完成。逻辑层自己决定用什么行为进行响应,找哪个模型去完成这个事件,最后逻辑层把完成的结果更新到了UI层[8]。图52MVP结构图登陆模块注册功能实现用户在使用之前,需要先注册自己的账号与密码。在登录页面的地方,选择好对应的用户端,点击注册按钮,弹出一个新的页面。用户在文字框内输入ip地址、注册的账号名与密码。服务端查询有无重复的账号名称,若是无则把收到的信息导入到数据库,并反馈给用户。用户登录的时候,服务端查询数据库是否有对应数据时查询到刚导入的数据,反应成功后让用户登录。图53用户注册页面用户在面对文本框时,若是没有输入数值则直接点击注册,系统调用InputCheckUtil.inputChack(editTextIp)来显示“输入不能为空”的提示框提醒用户输入。用户输入完之后,点击提交按钮,检测是否存在相同账号,若是不存在,则进行网络认证检查,网络认证通过,通过HttpUtil.requestNet()语句实现http连接,通过ConfigUtil.write写入本地的存储中,在写入存储的过程中显示“正在提交,请稍后”的提示语。用户注册之后,通过showRequstResult()来给予用户回馈,根据Net.result_registe_has_exist、Net.result_registe_success和Net.result_registe_faild的值去判断应该输出“用户名已存在”“注册成功”还是“注册失败”。用户在注册的时候,输入密码的时候会有相应的提醒,不输入二次密码时会显示输入不能为空,如54所示;若是两次密码的输入不一样,则会显示并提醒用户密码不一致,直到用户两次密码输入完全一致时才会注册成功。图54教师端登录页面 图55学生端登陆页面移动端通过handler返回用户点击的信息给逻辑层,服务端接收之后根据用输入的文本来判断是否允许用户注册成功。服务端与移动端交互主要采用的是servlet方式[9]。servlet具有独特于平台和协议的特性,可以生成动态发地返回结果,负责担当起客户与服务器响应的中间层。通过使用servlet技术实现客户端的请求媒在根据请求的参数不同,再分发给不同的业务处理类,最后把业务处理类的动态结果反馈给用户[10]。移动端与服务端采用的交互方式时http与servlet的结合,servlet进行发送,http负责接收,回应由移动端提供。移动端通过doPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException对给予回应,若是注册成功或者用户名显示已经存在,都会加上相应的用户名作提示。图56教师端登录页面图57学生端登陆页面当教师或学生输入完账号与密码的时候,并点击登录的时候,系统调用handleMessage(Messagemsg)去连接服务器,检测是否连接服务器成功,并输出相关不同的提示,若是连接服务器成功,则调用showRequstResult()进行对应的结果提示框输出。showRequstResult()里再根据Net.result_login_not_exist、Net.result_login_success和Net.result_login_psd_error分别输出不同的提示框“用户不存在”、“登陆成功”和“用户名或密码输入错误!”。若是选择错用户端登录,则会显示“此账号非用户端登录,请重新输入”,如图58所示;网络连接失败或者IP地址输入错误,则显示”连接服务器失败,请检查网络!”,如图59所示;检查到用户与密码匹配不上,则显示”用户名或密码输入错误!”,如图510所示;如果检查到用户所输入的账号不存在于数据库,则显示”用户名不存在!”,如图511所示。图58非用户登录截图图59网络失败截图 图510输入错误截图图511用户不存在截图个人信息模块系统调用onClick(Viewview)来及进行整体的页面显示,分别用bnt来表示按钮1234,后调用showUpdateDialog()来显示不同的提示框。bnt1为更新个人资料,点击后用户将对自己的个人信息进行更改;bnt2为更新密码,用户点击这个按钮更改自己的账号的密码,需要重复输入防止出现错误;bnt3为查看版本更新,点击后会显示提示窗,现阶段是目前没有更新,故显示为当前版本新版本;bnt4为推出按钮,弹出提示框询问用户是否确定退出,只有用户点击确定后再退出。用户在登陆成功以后,可以选择个人信息的页面查看自己的个人信息,学生端与教师端的页面一致。在个人信息页面有四个按钮,分别是个人资料、修改密码、版本更新和退出应用。如图512所示图512个人信息截图个人信息的修改用户在查看个人信息页面时,可以点击个人资料按钮对自己的个人信息进行修改。用户点击修改个人信息的按钮后,系统会弹出一个页面,用户输入自己的姓名、学号还有电话,对自己的信息进行增加或者修改。完成后,按照提交按钮提交个人信息,系统把用户的个人信息导入到数据库中。 tvBackground显示背景页面,tvTitle显示标题为个人页面,再用tv1、tv2、tv3分别为三个文本框前的标题,要求用户分别输入对应的内容,点击确定之后调用setOnClickListener(newView.OnClickListener()来提交信息,通关字段isStudent来判断是否为学生,再读取用户所输入的内容,并调用ConfigUtil.write()对三个文本框内的数据进行分别的写入存储。图513个人资料截图个人信息修改页面如图513所示。用户若是想要提交,必须三个信息都填完才能按下提交按钮。移动端把用户输入的字符串用“”隔开,传送过服务端,服务端通过分隔号“”把信息分开并更新数据库内对应字段的内容。移动端把用户的三个文本框内的数据用“~”拼在一起传送给服务端,服务端在收到移动端的请求之后,判断是否为更新数值,再调用requestType.split("~");来把数据分割开来,并且调用DBUtil.updateState()来分别更新数据,最后返回给移动端。密码的修改用户在个人信息页面,点击第二个“修改密码”,即可修改密码。点击按钮之后,会弹出一个窗口,显示两个文本框,用户在两个文本框中输出自己的密码,而后按下提交按钮提交。用户只有输入两次相同的密码之后才能按下提交按钮,否则会显示两次密码输入不一致的提交失败提示栏。按下提交按钮之后,移动端传达给服务端,服务端更新user表中的密码,如514所示。图514密码修改截图用户点击更新密码的按钮之后,移动端立刻调用updatePassword()执行相关操作,先设置一个基本的提示框CommonBaseDialogdialog,用来显示修改密码的页面,再用et1、et2设置为两个文本框,并显示请用户输入密码和再次输入密码,用来提示用户的操作。同时调用InputCheckUtil.inputChack()防止用户不输入直接提交。用户点击提交按钮后,判断两个文本框内容是否相同,不相同的话显示错误并显示提示框提示用户重新输入,若是成功,则HttpUtil.requestNet请求服务并且显示密码修改成功。版本的更新和退出应用用户在个人信息页面,可以点击第三个按钮,查看该软件是否有更新的版本,若是没有则显示目前为最新版本吗,如图515所示。与此同时,若是用户不需要再使用该软件,那么可以点击个人信息页面的最后一个按钮,会再次出现一个窗口,给用户二次选择的机会,如果用户取消了操作,则接着使用软件,若是用户则软件退出,如图516所示。用户点击版本更新之后,系统调用showUpdateDialog()来显示更新的提示框,目前没有版本的更新,故直接运用.setText(R.id.message,"当前版本即为最新版本\n无需更新!")来提示用户不需要版本的更新,用户点击确定之后系统调用dialog.dismiss()来隐藏提示框。若是用户点击退出应用,系统调用showQuitDialog()来再次确认用户退出意愿,防止用户的误触,调用.setText显示主要内容,若是用户点了取消,则调用dialog.dismiss()取消提示框的显示,若是用户点击确定,系统收到后调用run(),并且System.exit(0)来让软件退出图515版本更新截图图516退出应用截图试卷模块用户在登录成功以后,直接看到了软件的主页面,也就是查看试卷和答卷的页面,如图522所示。教师端与学生端的页面显示相同,但教师端与学生端的功能不同。教师端可以对试卷和答卷进行删除,学生端只能执行答卷与查分操作,系统通过调用dialog.dismiss()来把学生端的删除按钮隐藏掉,学生无法对试卷或答卷进行删除。 图517教师端页面截图图518学生端页面截图主页上,分为两种图标一种是绿标,一种为红标。绿标为教师发布的试卷或者为已经被教师审阅评分过的试卷,红标为学生的已经完成了的答卷,设置的目的是方便用户对当前类型试卷的区分。教师端可以更加方便地看到学生已经完成。若是试卷已经被教师查阅后评分,系统通过houseHolder.tvState.setBackgroundColor(context.getResources().getColor(R.color)语句设置绿标的成绩标识显示。若是学生提交答卷之后,教师未来得及评分,为了区分,系统将会调用这个houseHolder.tvState.setBackgroundColor(context.getResources().getColor(R.color)语句设置红标的成绩标识显示。图519试卷标识截图教师端的提交与评分教师登陆成功之后,可以发布试卷给学生,让学生完成,若是发布错误,可以选择右下角的删除按钮删除,后重新发布。教师在编写试卷的时候,系统会自动给予时间,方便教师了解试卷下发的时间,并规划让学生上交的时间。试卷的提交教师想要发布时间,登录软件显示主页面后,按底下加号的按钮,进入到发布试卷的页面。试卷组成分为两个部分,一个是试卷的标题,一个是试卷的内容,教师在编写完成之后按下提交按钮,发送试卷到平台上,移动端把试卷存储入数据库的test表中。系统在收到提交按钮时,先根据isStudent来判断用户是否为学生,分别设定tv对应不同的内容,tv1为试卷标识的标识提醒,tv2为考试的时间,tv3通过isStudent来判断是学生还是教师,若是教师则显示出题人,若是学生则显示答题人,tv4显示为考试内容的标题,tv组成试卷提交页面,教师点击提交之后,系统自动开始计时time,目前默认的时间SETTING_TIME为2小时的完成时间,把系统时间放到主进程内运行。学生未提交之前,time一直在计时,学生页面显示的剩余时间为默认设置的SETTING_TIME减去系统正在及时的time,若是学生未来得及及时提交,即time大于了SETTING_TIME,则显示已超过教师要求的时间,若是SETTING_TIME大于time,则显示学生答题所剩余的倒计时时间。移动端在收到用户输入的字段之后,用“~”把字段分隔开后把所有信息汇总成一条字符串,通过servlet传送给服务端,服务端用分隔符分开字符串以后分别对应字段地把用户名字、试卷内容、试卷信息、系统时间,是否为学生等信息一一存储于数据库里,并反馈给用户为提交成功。系统时间运用SimpleDateFormat("yyyy-MM-ddHH:mm:ss")来获取,同时设置View.VISIBLE来显示系统时间。图520提交试卷截图答卷的评分学生在完成答卷之后提交,教师点开学生提交的试卷,查看学生上交的答案,并且对学生的答题进行查阅,查阅完后把分数输入到固定的文本框内,按下提交打分的按钮,则评分完成。系统把教师给予的评分放到test表内。系统通过isDajuan来判断是否为学生提交的答卷而不是教师发布的试卷,若判断出来此不是学生提交的答卷,则等待评分的提示显示,系统运行tv5.setVisibility(View.GONE)把提交分数的文本框被隐藏。若是答卷且在为评阅的情况下,分数文本框显示,且按钮显示为提交打分。教师在输入分数以后,系统发出请求,数据通过“~”连接成一串字符,调用DBUtil.updateState(s[1],s[2],s[3])分别对应字段进行更新,同时调用returnResponseStringData(String.valueOf(result))输出回应。图521提交试卷截图学生端的答题与查分学生端在登录之后,可以看到教师已经评分完的试卷、已提交但仍未评分的试卷以及仍未完成的试卷。学生点击教师发下的试卷后,在文本框内完成试卷,并按下提交按钮,提交给系统。等待教师完成评分以后,再点开答卷,查看自己的分数。学生在点开试卷页面时,系统通过isStudent来判断是否为学生,接着通过isDajuan来判断是否为已经提交过的答卷,若是未提交的试卷,则隐藏分数的文本框,只显示倒计时与提交的功能。学生答题完之后,点击提交试卷。系统收到请求,把学生输入的数据一一赋值到sj=newShiJuanBean()中,系统判断为学生之后,把数据通过“~”连接成在一起并且存放在param里,并且通过HttpUtil.requestNet()发出请求,发送数据给服务端。服务端在收到请求之后,获取移动端的数据,并且调用requestType.startsWith("addNews"),分割字符串,并对对应的值进行更新,同时更新result=DBUtil.addNews(p),并且把返回更新成功的信息。学生未提交之前,time一直在计时,学生页面显示的剩余时间为默认设置的SETTING_TIME减去系统正在及时的time,若是学生未来得及及时提交,即time大于了SETTING_TIME,则显示已超过教师要求的时间,若是SETTING_TIME大于time,则显示学生答题所剩余的倒计时时间。图522提交试卷(超时)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产年度工作总结
- 2026年全国卷高考历史古代思想文化易错点分析卷含解析
- 绿氢产业未来展望 (课件)
- 芳香烃衍生物生产工岗前工艺优化考核试卷含答案
- 镀层工安全实操强化考核试卷含答案
- 真空测试工安全意识测试考核试卷含答案
- 陶瓷、玻璃文物修复师改进模拟考核试卷含答案
- 项目安全培训管理
- 2026年高职(数字媒体艺术设计)UI设计制作阶段测试题及答案
- 《短视频制作》电子教案 课题20-使用快影App剪辑短视频
- 山东省聊城市2026年普通高中学业水平等级考试模拟卷(聊城二模)地理+答案
- 2025学年第二学期杭州市高三年级二模教学质量检测英语试卷+答案
- 装饰装修工程进度计划与保证措施
- 2026年初中美术考试题目及答案全套试题及答案
- 2026中国光刻胶行业销售动态与投资前景展望报告
- 船舶代理公司考核制度
- 2026华能笔试题库
- 2025年湖南长沙市拔尖选拔自主招生数学试卷试题(含答案详解)
- 函数的概念课件2025-2026学年人教版数学八年级下册
- 2026年中国铁路武汉局集团有限公司招聘高校毕业生1219人(公共基础知识)测试题附答案
- 8.1 课时3 煤、石油和天然气的综合利用 课件 2024-2025学年高一下学期化学人教版(2019)必修第二册
评论
0/150
提交评论