版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于微信小程序的党员在线学习系统设计与实现
摘要党员教育是党建工作中的重要一环,主要由党组织承担教育培养任务。党课是加强党员教育,提高党员党性修养的重要组成部分。而现实情况却是在党课安排过程中,需要花费大量的时间和精力去组织人员和安排场地,十分的不方便。为了解决此类问题,有必要开发一款在线学习系统,将现代信息技术和党员学习交流活动有机结合起来。鉴于此,本文在可行性分析、需求分析和流程分析的基础上,基于SpringBoot框架使用Java语言设计开发了党员在线学习系统。本系统的主要功能有:党员信息管理、资料分类管理、公告管理、考试成绩管理、试题管理、学习情况管理、学习打卡管理、学习资料管理、试卷管理等。该系统投入使用后为党员提供了一个自主学习的平台,让党员可以随时随地学习,在一定程度上可提升党建管理水平。通过对系统功能的测试,证明了本移动学习平台系统运行稳定,用户体验良好,能满足党员学习的需求。关键词:SpringBoot;Java语言;微信小程序ABSTRACTPartymembereducationisanimportantpartofPartybuilding,andPartyorganizationsmainlyundertakethetaskofeducationandtraining.PartyclassesareanimportantpartofstrengtheningtheeducationofPartymembersandimprovingtheircultivationofPartyspirit.However,therealityisthatintheprocessofarrangingpartyclasses,ittakesalotoftimeandenergytoorganizepersonnelandarrangevenues,whichisveryinconvenient.Inordertosolvesuchproblems,itisnecessarytodevelopanonlinelearningsystemthatorganicallycombinesmoderninformationtechnologywithPartymemberlearningandexchangeactivities.Inviewofthis,thispaperusesJavalanguagetodesignanddevelopanonlinelearningsystemforpartymembersbasedontheSpringBootframeworkbasedonfeasibilityanalysis,requirementsanalysisandprocessanalysis.Themainfunctionsofthissystemare:partymemberinformationmanagement,dataclassificationmanagement,announcementmanagement,testscoremanagement,testquestionmanagement,learningsituationmanagement,learningclockmanagement,learningmaterialmanagement,examinationpapermanagement,etc.Afterthesystemisputintouse,itprovidesaplatformforpartymemberstolearnindependently,sothatpartymemberscanlearnanytimeandanywhere,andtoacertainextent,thelevelofpartybuildingmanagementcanbeimproved.Throughthetestofthesystemfunction,itisprovedthatthesystemoperationofthismobilelearningplatformisstable,theuserexperienceisgood,anditcanmeetthelearningneedsofPartymembers.Keywords:SpringBoot;Javalanguage;WeChatminiprogram
目录第1章绪论 介绍到系统与实际需求相结合,应用服务器采用IIS,并与ASP开发技术和Access数据库相结合,完成了作业的远程上传,课件的在线浏览、在线测试、在线答疑等功能。文中详细地阐述了系统的设计与实现,并用流程图进行辅助说明。1.3研究内容为了缓解党员学习的低效率,提高党员学习的实时性,使每个党员都可以随时随地的在线学习。本设计将在Windows操作环境下,基于SpringBoot框架使用Java语言设计开发党员在线学习系统。该系统的开发工具为Idea和微信开发者,数据使用MySQL数据库进行存储管理。本系统将提供资料分类管理、公告管理、考试成绩管理、党员信息管理、学习资料管理、试题管理、试卷管理、学习打卡管理、学习情况管理等功能。将大大提高党员的学习效率。应完成的主要工作有:(1)分析国内外相关文献资料,确定系统开发技术路线。(2)在可行性分析和需求分析的基础上,确定系统整体结构和主要功能模块。(3)选择合适数据库进行数据存储。(4)对各个功能模块进行设计和实现。(5)选择合适方法进行测试,根据测试结果修改完善。第2章关键技术及开发工具简介2.1JavaJava是一种面向对象、可移植性强、安全性高、简单易学的高级编程语言。Java语言被设计用于开发跨平台应用程序,可以实现多个线程同时执行。Java具有丰富的类库以及拥有一个庞大的开源社区,这使得开发效率大大提高。2.2MySQLMySQL是一种高性能、开源和兼容的关系型数据库管理系统,不仅被应用于Web应用程序的开发中,还被广泛应用于企业级应用程序、移动应用程序、游戏开发等领域。MySQL具有数据存储和管理、数据安全、查询和分析、数据库优化、多用户并发、数据库扩展等核心功能,这些功能使得MySQL成为一种非常强大和灵活的数据库管理系统。2.3SpringBootSpringBoot是基于Spring开发的一种轻量级的全新框架,通过自动化配置、内嵌服务器、提供大量的Starter、支持多种数据源、提供Actuator、易于集成的特性等特点,使得开发者可以更加快速、方便地构建出高质量的Spring应用。极大的提高了工作效率。2.4Idea开发工具IDEA是一款功能强大、易用性高的开发工具,提供了代码编辑、重构、提示等功能以及丰富的工具和插件如:代码分析工具、代码格式化工具、自动化构建工具等。在进行调试代码时可以直接查看变量的值、方法的返回值等。使开发者大大提高了开发效率和代码质量。第3章系统分析3.1可行性分析3.1.1技术可行性本次开发是基于微信小程序的党员在线学习系统,所使用的语言是Java,在开发过程中主要基于SpringBoot框架。该系统采用的技术以及开发语言已经十分成熟,此外对于以上技术我也有较为熟练的掌握。因此,我认为在技术上是可行的。3.1.2经济可行性设计开发一个基于微信小程序的党员在线学习系统的成本很低,大多数与之相关的开发工具都是免费的。同时,相较于传统App,小程序减少了开发与维护的成本。因此,我认为在经济上是可行的。3.1.3操作可行性操作可行性是系统投产后运行或操作条件,对系统可行性的支持。用户进行使用时简单易操作,如果操作错误会有错误提示。系统的界面清晰,功能完整。并对用户有不同级别的使用权限管理。基于这些考虑,可以确定这个开发是可操作的。3.2需求分析需求分析主要是通过收集、分析和整理用户需求,从而确定系统所需要具备的功能。良好的需求分析可以及时发现和解决问题,避免后续工作的返工和修改,降低其开发成本和风险。3.2.1功能需求分析该在线学习系统的使用者可以分为用户和管理员两类。对于用户可以进行登录,浏览公告内容,查看和修改个人信息,查看学习资料,进行学习打卡和记录学习情况。通过考试可以对其所学知识进行查漏补缺,并且可以查看考试成绩以及每道题的具体得分情况。管理员可以添加和修改学习资料、试题、试卷等信息,还可以查看党员的打卡次数、学习情况、考试成绩等信息,发布系统公告,对党员信息进行添加、修改、删除等操作。其用户和管理员用例图如图3.1、3.2所示:图3.1用户用例图图3.2管理员用例图3.2.2非功能需求分析非功能性需求是指与软件系统的功能无关的要求,包括易用性、安全性、可执行性等。该在线学习系统界面简单、直观,用户可以轻松地记住操作方式和页面布局。系统严格控制使用者的访问权限,使用者只能在其权限范围内访问数据。为了保证应用程序的正常运行,系统还对用户的考试时长进行了设置,用户必须在规定时间内完成答题任务。3.3系统流程分析3.3.1用户登录流程在进行登录时,需要填写相应账号密码,如填写信息错误则会出现错误提示。如图3.3所示:图3.3用户登录流程图3.3.2在线考试流程用户可以通过考试对自己所学知识进行查漏补缺,在试卷列表选择试卷进行答题,在倒计时结束前作答完毕,否则即使仍有试题未作答,系统也会结束本次考试。用户在线考试流程图如图3.4所示:图3.4在线考试流程图3.3.3信息修改流程在进行信息修改时,系统会对修改信息进行验证,验证通过则添加至数据库修改成功,反之修改失败。如图3.5所示:图3.5信息修改流程图第4章系统设计4.1系统总体设计该系统在功能需求分析的基础上,根据软件工程提出的“高内聚”、“低耦合”的方法,对系统的功能模块进行划分,其功能结构如图4.1所示:图4.1系统功能结构图4.2数据库设计4.2.1概念结构设计概念结构设计是将需求分析得到的用户需求,抽象为信息结构即概念模型的过程。概念模型常用E-R图来表示。系统各个实体之间的E-R图如图4.2所示:图4.2系统E-R图用户实体属性图如图4.3所示:图4.3用户实体属性图学习打卡实体属性图如图4.4所示:图4.4学习打卡实体属性图试题实体属性图如图4.5所示:图4.5试题实体属性图试卷实体属性图如图4.6所示:图4.6试卷实体属性图学习情况实体属性图如图4.7所示:图4.7学习情况实体属性图4.2.2逻辑结构设计逻辑结构设计是将概念结构设计阶段完成的概念模型,转换成能被选定的数据库管理系统支持的数据模型。本系统采用的是MySQL数据库,是一种关系型数据库,使用的是关系模型,关系模型中任何实体之间的联系都可以用二维表来表示。该系统中包括党员表、公告表、考试成绩表、试题表、试卷表、学习打卡表、学习情况表、资料分类表、学习资料表。(1)党员表用于存放党员信息,其表结构如表4.1所示:表4.1党员表字段名称类型长度字段说明主键默认值idint4编号主键addtimetimestamp16创建时间CURRENT_TIMESTAMPdangyuanzhanghaovarchar8党员账号mimavarchar6密码dangyuanxingmingvarchar8党员姓名touxiangtext20头像xingbiechar2性别nianlingint2年龄dangyuanshoujichar11党员手机danglingint2党龄(2)公告表主要是用来记录公告内容,其表结构如表4.2所示:表4.2公告表字段名称类型长度字段说明主键默认值idint4编号主键addtimetimestamp16创建时间CURRENT_TIMESTAMPtitlevarchar80标题introductiontext100简介picturetext20图片contenttext100内容(3)考试成绩表用于存放用户考试成绩信息,其表结构如表4.3所示:表4.3考试成绩表字段名称类型长度字段说明主键默认值idint4编号主键addtimetimestamp16创建时间CURRENT_TIMESTAMPuseridint用户idusernamevarchar8用户名paperidint试卷id(外键)papernamevarchar40试卷名称questionidint试题id(外键)questionnamevarchar100试题名称optionstext100选项scoreint4分值0answervarchar200正确答案analysistext100答案解析myscoreint4试题得分0myanswervarchar200考生答案(4)试题表主要是用来记录试题信息,其表结构如表4.4所示:表4.4试题表字段名称类型长度字段说明主键默认值idint4编号主键addtimetimestamp16创建时间CURRENT_TIMESTAMPpaperidint所属试卷id(外键)papernamevarchar40试卷名称questionnamevarchar100试题名称optionstext100选项scoreint4分值0answervarchar200正确答案analysistext100答案解析typeint1试题类型0(5)试卷表主要是用来存放试卷信息,其表结构如表4.5所示:表4.5试卷表字段名称类型长度字段说明主键默认值idint4编号主键addtimetimestamp16创建时间CURRENT_TIMESTAMPnamevarchar40试卷名称timeint4考试时长(分钟)statusint1试卷状态0(6)学习打卡表是用来记录用户打卡次数,其表结构如表4.6所示:表4.6学习打卡表字段名称类型长度字段说明主键默认值idint4编号主键addtimetimestamp16创建时间CURRENT_TIMESTAMPdakashijiantimestamp16打卡时间dakabeizhuvarchar100打卡备注dakatupiantext20打卡图片dangyuanzhanghaovarchar8党员账号dangyuanxingmingvarchar8党员姓名(7)学习情况表主要是用来记录用户的学习进度,其表结构如表4.7所示:表4.7学习情况表字段名称类型长度字段说明主键默认值idint4编号主键addtimetimestamp16创建时间CURRENT_TIMESTAMPjilushijiantimestamp16记录时间xuexineirongtext100学习内容xuexijinduvarchar100学习进度dangyuanzhanghaovarchar8党员账号dangyuanxingmingvarchar8党员姓名xuexishizhangint8学习时长xuexitupiantext20学习图片(8)资料分类表主要用来存放资料类别信息,其表结构如表4.8所示:表4.8资料分类表字段名称类型长度字段说明主键默认值idint4编号主键addtimetimestamp16创建时间CURRENT_TIMESTAMPziliaofenleivarchar40资料分类(9)学习资料表主要用来存放学习资料信息,其表结构如表4.9所示:表4.9学习资料表字段名称类型长度字段说明主键默认值idint4编号主键addtimetimestamp16创建时间CURRENT_TIMESTAMPziliaobianhaovarchar13资料编号ziliaomingchengvarchar80资料名称fengmiantupiantext20封面图片ziliaofenleivarchar40资料分类shipintext20视频fabushijiantimestamp16发布时间xiangqingtext100详情第5章系统实现5.1党员信息管理在登录前,用户要进行注册,填写相应账号密码,后台系统对账号密码进行判断,如填写信息错误或已注册,则会出现错误提示,如图5.1所示。用户在登录时必须填入对应的账号密码,如填写信息错误则会显示错误信息,如图5.2所示。图5.1注册失败界面图图5.2登录失败界面图实现该功能的关键代码如下。@RequestMapping(value="/login")publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){DangyuanEntityu=dangyuanService.selectOne(newEntityWrapper<DangyuanEntity>().eq("dangyuanzhanghao",username));if(u==null||!u.getMima().equals(password)){returnR.error("账号或密码不正确");}Stringtoken=tokenService.generateToken(u.getId(),username,"dangyuan","党员");returnR.ok().put("token",token);@PostMapping(value="/register")publicRregister(@RequestBodyDangyuanEntitydangyuan){DangyuanEntityu=dangyuanService.selectOne(newEntityWrapper<DangyuanEntity>().eq("dangyuanzhanghao",dangyuan.getDangyuanzhanghao()));if(u!=null){returnR.error("注册用户已存在");}LonguId=newDate().getTime();dangyuan.setId(uId);dangyuanService.insert(dangyuan);returnR.ok();}用户可对个人信息进行修改,管理员也可以在后台添加、修改和删除党员信息以及查看详情,还可以通过对党员账号、党员姓名、性别进行搜索查询,如图5.3所示。如管理员对“李里”的党员信息进行修改,将其党龄“1”改为“3”,修改成功界面如图5.4所示:图5.3党员信息管理界面图图5.4修改成功后党员信息管理界面图管理员端进行用户信息修改后,用户端的个人信息也会随之修改,如图5.5所示:图5.5用户信息界面图实现该功能的关键代码如下。publicRquery(DangyuanEntitydangyuan){EntityWrapper<DangyuanEntity>ew=newEntityWrapper<DangyuanEntity>();ew.allEq(MPUtil.allEQMapPre(dangyuan,"dangyuan"));DangyuanViewdangyuanView=dangyuanService.selectView(ew);returnR.ok("查询党员成功").put("data",dangyuanView);}publicRupdate(@RequestBodyDangyuanEntitydangyuan,HttpServletRequestrequest){dangyuanService.updateById(dangyuan);returnR.ok();}publicRlist(DangyuanEntitydangyuan){EntityWrapper<DangyuanEntity>ew=newEntityWrapper<DangyuanEntity>();ew.allEq(MPUtil.allEQMapPre(dangyuan,"dangyuan"));returnR.ok().put("data",dangyuanService.selectListView(ew));}5.2资料分类管理管理员可以在此界面添加、修改、删除资料类别的信息,还可以在搜索框输入关键词进行搜索查询操作。如管理员在搜索框输入“党史”进行搜索查询,则会显示名为“党史”的资料类别信息,其界面图如图5.6所示:图5.6查询成功后资料分类管理界面图用户可以对资料类别进行搜索,如在搜索框选择资料分类输入“党史”对其进行搜索查询,即可出现资料分类为“党史”的学习资料,其界面如图5.7所示:图5.7用户端资料分类搜索界面图实现该功能的关键代码如下。publicRquery(ZiliaofenleiEntityziliaofenlei){EntityWrapper<ZiliaofenleiEntity>ew=newEntityWrapper<ZiliaofenleiEntity>();ew.allEq(MPUtil.allEQMapPre(ziliaofenlei,"ziliaofenlei"));ZiliaofenleiViewziliaofenleiView=ziliaofenleiService.selectView(ew);returnR.ok("查询资料分类成功").put("data",ziliaofenleiView);}publicRdelete(@RequestBodyLong[]ids){ziliaofenleiService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}publicRlist(ZiliaofenleiEntityziliaofenlei){EntityWrapper<ZiliaofenleiEntity>ew=newEntityWrapper<ZiliaofenleiEntity>();ew.allEq(MPUtil.allEQMapPre(ziliaofenlei,"ziliaofenlei"));returnR.ok().put("data",ziliaofenleiService.selectListView(ew));}publicRupdate(@RequestBodyZiliaofenleiEntityziliaofenlei,HttpServletRequestrequest){ziliaofenleiService.updateById(ziliaofenlei);returnR.ok();}5.3学习资料管理管理员可以查看学习资料的详情以及进行修改和删除操作。还可以通过搜索框输入关键词进行查询,以及可以查看用户评论,点击“预览”即可查看上传的视频,其界面图如图5.8所示:图5.8学习资料管理界面图管理员还可以通过对资料名称、资料分类输入关键词进行搜索查询,如在资料分类搜索框选择党史,对其进行搜索查询,即可出现类别为党史的学习资料,查询成功界面如图5.9所示:图5.9查询成功后学习资料管理界面图用户可以查看学习资料,如查看“党的建设”具体资料信息,其界面如图5.10、5.11所示:图5.10学习资料界面图图5.11学习资料界面图实现该功能的关键代码如下。publicRinfo(@PathVariable("id")Longid){XuexiziliaoEntityxuexiziliao=xuexiziliaoService.selectById(id);returnR.ok().put("data",xuexiziliao);}publicRupdate(@RequestBodyXuexiziliaoEntityxuexiziliao,HttpServletRequestrequest){xuexiziliaoService.updateById(xuexiziliao);returnR.ok();}publicRquery(XuexiziliaoEntityxuexiziliao){EntityWrapper<XuexiziliaoEntity>ew=newEntityWrapper<XuexiziliaoEntity>();ew.allEq(MPUtil.allEQMapPre(xuexiziliao,"xuexiziliao"));XuexiziliaoViewxuexiziliaoView=xuexiziliaoService.selectView(ew);returnR.ok("查询学习资料成功").put("data",xuexiziliaoView);}publicRdelete(@RequestBodyLong[]ids){xuexiziliaoService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}用户点击学习资料,可以评论自己感兴趣的内容。管理员可以回复用户评论,如图5.12、5.13所示:图5.12添加评论界面图图5.13回复评论界面图实现该功能的关键代码如下。publicRadd(@RequestBodyDiscussxuexiziliaoEntitydiscussxuexiziliao,HttpServletRequestrequest){discussxuexiziliao.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());discussxuexiziliaoService.insert(discussxuexiziliao);returnR.ok();}publicRinfo(@PathVariable("id")Longid){DiscussxuexiziliaoEntitydiscussxuexiziliao=discussxuexiziliaoService.selectById(id);returnR.ok().put("data",discussxuexiziliao);}用户可以决定是否收藏学习资料,并对其所收藏内容进行查看、搜索,如图5.14、5.15所示:图5.14学习资料收藏界面图图5.15查看收藏界面图实现该功能的关键代码如下。publicRlist(StoreupEntitystoreup){EntityWrapper<StoreupEntity>ew=newEntityWrapper<StoreupEntity>();ew.allEq(MPUtil.allEQMapPre(storeup,"storeup"));returnR.ok().put("data",storeupService.selectListView(ew));}publicRquery(StoreupEntitystoreup){EntityWrapper<StoreupEntity>ew=newEntityWrapper<StoreupEntity>();ew.allEq(MPUtil.allEQMapPre(storeup,"storeup"));StoreupViewstoreupView=storeupService.selectView(ew);returnR.ok("查询收藏表成功").put("data",storeupView);}publicRinfo(@PathVariable("id")Longid){StoreupEntitystoreup=storeupService.selectById(id);returnR.ok().put("data",storeup);}5.4试题管理管理员可以在此界面,添加、修改和删除试题信息。以及可以在搜索框输入关键词进行查询,其界面如图5.16所示。如将“社会主义国家机构的基本组织原则是”的分值“20”进行修改,将其改为“10”,修改成功界面如图5.17所示:图5.16试题管理界面图图5.17修改成功后试题管理界面图用户可以选择试卷进行答题,答题界面如图5.18所示:图5.18用户答题界面图实现该功能的关键代码如下。publicRupdate(@RequestBodyExamquestionEntityexamquestion,HttpServletRequestrequest){examquestionService.updateById(examquestion);returnR.ok();}publicRlist(ExamquestionEntityexamquestion){EntityWrapper<ExamquestionEntity>ew=newEntityWrapper<ExamquestionEntity>();ew.allEq(MPUtil.allEQMapPre(examquestion,"examquestion"));returnR.ok().put("data",examquestionService.selectListView(ew));}publicRquery(ExamquestionEntityexamquestion){EntityWrapper<ExamquestionEntity>ew=newEntityWrapper<ExamquestionEntity>();ew.allEq(MPUtil.allEQMapPre(examquestion,"examquestion"));ExamquestionViewexamquestionView=examquestionService.selectView(ew);returnR.ok("查询试题表成功").put("data",examquestionView);}5.5公告管理管理员可以在此界面,增添、修改和删除公告。还可以在标题搜索框输入关键词进行搜索,以及可以查看公告详情,如图5.19所示:图5.19公告管理界面图用户进入系统首页,首先可以看到的是管理员推荐的系统公告,可以对系统公告进行查看,了解资讯详情。如图5.20所示:图5.20用户端公告界面图实现该功能的核心代码如下:publicRlist(NewsEntitynews){EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>();ew.allEq(MPUtil.allEQMapPre(news,"news"));returnR.ok().put("data",newsService.selectListView(ew));}publicRinfo(@PathVariable("id")Longid){NewsEntitynews=newsService.selectById(id);returnR.ok().put("data",news);}publicRupdate(@RequestBodyNewsEntitynews,HttpServletRequestrequest){newsService.updateById(news);returnR.ok();}publicRdelete(@RequestBodyLong[]ids){newsService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.6考试成绩管理管理员登录后台系统,可以查看用户考试成绩,其界面如图5.21所示。也可以通过对试卷输入关键词进行查询,查看用户考试得分信息。如输入“政治学原理”进行搜索,搜索成功界面如图5.22所示:图5.21考试成绩管理界面图图5.22查询成功后考试成绩管理界面图用户可以在“我的”选择考试记录,对自己考试成绩以及得分具体情况进行查看。其界面如图5.23、5.24所示:图5.23考试记录界面图图5.24具体得分界面图实现该功能的关键代码如下。@RequestMapping("/lists")publicRlist(ExamrecordEntityexamrecord){EntityWrapper<ExamrecordEntity>ew=newEntityWrapper<ExamrecordEntity>();ew.allEq(MPUtil.allEQMapPre(examrecord,"examrecord"));returnR.ok().put("data",examrecordService.selectListView(ew));}@RequestMapping("/query")publicRquery(ExamrecordEntityexamrecord){EntityWrapper<ExamrecordEntity>ew=newEntityWrapper<ExamrecordEntity>();ew.allEq(MPUtil.allEQMapPre(examrecord,"examrecord"));ExamrecordViewexamrecordView=examrecordService.selectView(ew);returnR.ok("查询考试记录表成功").put("data",examrecordView);}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){ExamrecordEntityexamrecord=examrecordService.selectById(id);returnR.ok().put("data",examrecord);}5.7试卷管理管理员可以在此界面新增、修改、删除试卷信息,以及可以通过对试卷名称输入关键词进行查询,如图5.25所示。如将“党的二十大精神答题活动”考试时长(分钟)“10”改为“20”,修改成功界面如图5.26所示:图5.25试卷管理界面图图5.26修改成功后试卷管理界面图用户可以对试卷名称进行搜索,选择试卷进行答题,以此检验自身的学习情况。其界面如图5.27所示:图5.27试卷列表界面图实现该功能的关键代码如下。publicRinfo(@PathVariable("id")Longid){ExampaperEntityexampaper=exampaperService.selectById(id);returnR.ok().put("data",exampaper);}publicRupdate(@RequestBodyExampaperEntityexampaper,HttpServletRequestrequest){exampaperService.updateById(exampaper);returnR.ok();}publicRlist(ExampaperEntityexampaper){EntityWrapper<ExampaperEntity>ew=newEntityWrapper<ExampaperEntity>();ew.allEq(MPUtil.allEQMapPre(exampaper,"exampaper"));returnR.ok().put("data",exampaperService.selectListView(ew));}5.8学习打卡管理管理员登录后台系统,可以在此界面查看用户打卡详情,对其进行修改和删除操作,还可以通过打卡备注输入关键词进行搜索查询,学习打卡管理界面如图5.28所示。点击打卡次数,可以看到用户打卡次数的条形统计图,其界面图如图5.29所示:图5.28学习打卡管理界面图图5.29打卡次数统计界面图用户可以在“我的”进行学习打卡,添加打卡图片进行打卡备注,通过对打卡备注输入关键词进行搜索查询,以及可以修改和删除已添加的打卡备注。如图5.30所示:图5.30用户端学习打卡界面图实现该功能的关键代码如下。publicRquery(XuexidakaEntityxuexidaka){EntityWrapper<XuexidakaEntity>ew=newEntityWrapper<XuexidakaEntity>();ew.allEq(MPUtil.allEQMapPre(xuexidaka,"xuexidaka"));XuexidakaViewxuexidakaView=xuexidakaService.selectView(ew);returnR.ok("查询学习打卡成功").put("data",xuexidakaView);}publicRupdate(@RequestBodyXuexidakaEntityxuexidaka,HttpServletRequestrequest){xuexidakaService.updateById(xuexidaka);returnR.ok();}publicRlist(XuexidakaEntityxuexidaka){EntityWrapper<XuexidakaEntity>ew=newEntityWrapper<XuexidakaEntity>();ew.allEq(MPUtil.allEQMapPre(xuexidaka,"xuexidaka"));returnR.ok().put("data",xuexidakaService.selectListView(ew));}5.9学习情况管理管理员在学习情况管理界面中,可以在搜索框输入关键词进行查询,还可以进行修改和删除操作以及查看详情,如图5.31所示。如对学习进度输入关键词“知识点”进行搜索查询,查询成功界面如图5.32所示:图5.31学习情况管理界面图图5.32查询成功后学习情况管理界面图用户点击学习情况可以对自己学习进度、学习时长、学习图片、学习内容进行记录以及修改,其界面如图5.33所示。还可以在搜索框选择“学习内容”或者“学习进度”输入关键词进行搜索查询,其界面如图5.34所示:图5.33用户端学习情况界面图图5.34搜索查询界面图实现该功能的关键代码如下:publicRquery(XuexiqingkuangEntityxuexiqingkuang){EntityWrapper<XuexiqingkuangEntity>ew=newEntityWrapper<XuexiqingkuangEntity>();ew.allEq(MPUtil.allEQMapPre(xuexiqingkuang,"xuexiqingkuang"));XuexiqingkuangViewxuexiqingkuangView=xuexiqingkuangService.selectView(ew);returnR.ok("查询学习情况成功").put("data",xuexiqingkuangView);}publicRlist(XuexiqingkuangEntityxuexiqingkuang){EntityWrapper<XuexiqingkuangEntity>ew=newEntityWrapper<XuexiqingkuangEntity>();ew.allEq(MPUtil.allEQMapPre(xuexiqingkuang,"xuexiqingkuang"));returnR.ok().put("data",xuexiqingkuangService.selectListView(ew));}publicRupdate(@RequestBodyXuexiqingkuangEntityxuexiqingkuang,HttpServletRequestrequest){xuexiqingkuangService.updateById(xuexiqingkuang);returnR.ok();}publicRdelete(@RequestBodyLong[]ids){xuexiqingkuangService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}第6章系统测试6.1测试方法本系统采用黑白盒相结合的方法,通过黑盒测试检测是否存在影响用户体验的问题,程序是否可以正常运行,能否适当地接收输入数据而产生正确的输出信息。通过白盒测试检测测试规格是否有瑕疵,测试结果是否和预期结果一致。这样既可以确保系统在其它不确定的情况下依然可以正常工作,又可以在发生错误的时候发现问题并加以修正,减少了测试人员的工作量。6.2功能测试完整的测试可以及时的发现其潜在问题,使系统在后续的实际运行过程中,能够保证出错的概率减少。6.2.1党员信息管理在登录前,用户要进行注册,填写相应账号密码,后台系统对账号密码进行判断,如填写信息错误或已注册则会出现错误提示,如图6.1、6.2所示。用户在登录时要填入相应账号密码,然后才能登入该系统。如填写信息错误,则会显示错误信息如图6.3所示。登录成功后,用户进入系统首页如图6.4所示。新用户信息会在后台系统显示,其界面如图6.5所示。图6.1用户注册失败界面图图6.2注册用户已存在界面图图6.3用户登录失败界面图图6.4用户首页界面图图6.5用户信息界面图管理员登录时,需输入相应账号密码,当输入信息错误则会出现错误提示,如图6.6所示。输入信息正确则会显示“欢迎使用基于微信小程序的党员在线学习系统”,如图6.7所示:图6.6管理员登录失败界面图图6.7管理员登录成功界面图用户可更改个人信息,修改完成后单击保存则会出现“修改成功”的提示。如将党龄“5”(见图6.5)改为“8”如图6.8所示。后台用户信息也会发生变化,如图6.9所示:图6.8用户信息修改界面图图6.9用户信息修改成功界面图管理员也可在后台界面添加用户信息,添加成功后,后台界面显示新添加的用户信息,如图6.10、6.11所示:图6.10添加用户信息界面图图6.11用户信息添加成功界面图管理员可在搜索框输入关键词对用户进行搜索查询,比如在性别搜索框输入“男”点击查询,即可出现所有性别为男的用户信息。查询成功界面如图6.12所示:图6.12用户信息查询成功界面图管理员可以对用户“吴刚”进行删除,删除成功后则无法通过搜索查询找到该用户,其界面如图6.13、6.14所示:图6.13删除用户界面图图6.14用户信息删除成功界面图6.2.2试卷管理管理员可以对试卷进行添加,如添加试卷名称为“党的二十大精神答题活动”,考试时长(分钟)为“10”,其界面如图6.15、6.16所示:图6.15添加试卷界面图图6.16添加成功后试卷管理界面图管理员可以对试卷信息进行修改,如将“党的二十大精神答题活动”考试时长(分钟)由“10”(见图6.16)修改为“1”,其界面如图6.17、6.18所示:图6.17修改试卷界面图图6.18修改成功后试卷管理界面图管理员可对试卷名称进行查询找出相应试卷,比如在搜索框输入“党的二十大精神”即可出现名为“党的二十大精神答题活动”的试卷。查询成功界面如图6.19所示:图6.19查询成功后试卷管理界面图用户可以根据试卷名称进行搜索,还可以在试卷列表选择试卷进行答题,如图6.20所示。用户答题界面如图6.21所示:图6.20用户端试卷列表界面图图6.21用户答题界面图试卷会有考试时长的限制,如果用户未作答完毕选择中途提交试卷,或者未能在规定时间内作答完毕,则未作答题目按零分计算。其界面如图6.22、6.23所示:图6.22用户中途交卷界面图图6.23考试时间结束界面图管理员可以对试卷进行删除,其删除操作与上述党员信息管理中,删除用户信息操作一致。对想要删除的试卷,点击删除按钮,确定删除即可删除成功。还可以查看试卷详情,其界面与试卷添加界面相同。6.2.3试题管理管理员可以添加试题,如选择“党的二十大精神答题活动”试卷,填写试题内容,答案,选择试题的类型,输入分数等信息,其界面如图6.24所示。添加成功界面如图6.25所示:图6.24添加试题界面图图6.25添加成功后试题管理界面图管理员可以对试题所属试卷、试题内容、答案、分数、类型、排序进行修改,比如将试题分数“10”(见图6.25)改为“50”,修改界面如图6.26所示。修改成功界面如图6.27所示:图6.26试题信息修改界面图图6.27修改成功后试题管理界面图管理员可以对试题进行删除,如对试题“社会主义国家机构的基本组织原则是”进行删除,其界面如图6.28所示。删除成功后对其进行搜索查询,则无法找到该试题,如图6.29所示:图6.28试题删除界面图图6.29删除成功后试题管理界面图6.2.4学习资料管理管理员可以通过搜索框,输入其名称或选择类别,对学习资料进行搜索查询。如在资料分类搜索框选择党史进行查询,其界面图如图6.30所示:图6.30查询成功后学习资料管理界面图管理员可以更改资料信息,比如将资料类别“党史”(见图6.30)更改为“重要会议”。其界面图如图6.31所示:图6.31修改成功后学习资料管理界面图管理员可以对学习资料进行新增、删除。点击新增按钮,进行学习资料信息的填写,点击提交即可完成添加操作。对想要删除的信息,点击删除按钮,确定删除即可删除成功。用户可以进行评论以及查看回复的评论内容,如图6.32、6.33所示。管理员可以回复用户评论,如图6.34所示:图6.32用户评论界面图图6.33查看回复评论界面图图6.34管理员回复评论界面图用户可以决定是否收藏学习资料,并对其所收藏内容进行查看、搜索。如图6.35、6.36所示:图6.35学习资料收藏界面图图6.36查看收藏界面图6.2.5资料分类管理管理员可以对学习资料的类别进行添加,如图6.37、6.38所示:图6.37资料分类添加界面图图6.38添加成功后资料分类管理界面图管理员也可以修改资料类别,比如将“青春中国”(见图6.38)改为“要闻”,修改界面如图6.39所示。修改成功界面,如图6.40所示:图6.39修改资料分类界面图图6.40修改成功后资料分类管理界面图管理员可以删除资料所属类别,如对“要闻”进行删除,删除成功后则无法通过搜索查询找到该类别,其界面如图6.41、6.42所示:图6.41资料分类删除界面图图6.42删除成功后资料分类管理界面图用户可以查看、学习自己感兴趣的学习资料并对其资料分类进行搜索,比如搜索“党史”其界面图如图6.43所示:图6.43资料分类搜索成功界面图6.2.6公告管理管理员可以对用户首页公告内容进行添加、修改,比如增添标题为“新时代新征程新伟业|河北省商务厅积极服务和融入新发展格局”的公告,其界面如图6.44、6.45所示,或对其图片进行替换,其界面如图6.46所示:图6.44公告添加界面图图6.45添加成功后公告管理界面图图6.46修改成功后公告管理界面图管理员可以删除公告,对想要删除的公告点击删除按钮,确定删除即可删除成功。还可以查看公告详情,其界面与公告添加界面相同。用户在公告界面,可以查看到新增公告“新时代新征程新伟业|河北省商务厅积极服务和融入新发展格局”,其界面如图6.47所示。以及可以对公告标题进行搜索,其界面如图6.48所示:图6.47用户公告界面图图6.48搜索成功界面图6.2.7考试成绩管理管理员登录后台系统,可以查看用户考试成绩,也可以通过对试卷输入关键词进行查询,查看用户考试得分。如图6.49所示。如查看“张莉丽”“党的二十大精神答题活动”考试得分具体情况,其界面如图6.50所示:图6.49考试成绩管理界面图图6.50用户得分界面图用户可以在“我的”选择考试记录,对自己考试成绩进行查看,试卷得分界面如图6.51所示。以及可以查看其详情,如查看“政治学原理(周红)”考试得分具体情况,其界面如图6.52所示。在错题本可以查看错题,如图6.53所示:图6.51用户端试卷得分界面图图6.52具体得分界面图图6.53错题本界面图6.2.8学习打卡管理用户可以进行打卡备注并添加打卡图片,如图6.54、6.55所示:图6.54学习打卡界面图图6.55打卡成功界面图管理员可以通过打卡备注,输入关键词对用户打卡信息进行查询,如图6.56所示。还可以查看用户打卡详情,如查看党员“张莉丽”的打卡详情,其界面如图6.57所示:图6.56查询成功后学习打卡管理界面图图6.57用户打卡详情界面图管理员可以对用户打卡信息进行修改和删除。对想要修改的信息,点击修改按钮进行修改,修改完成后,点击提交即可完成修改操作。对想要删除的信息,点击删除按钮,确定删除即可删除成功。还可以查看用户的打卡次数条形统计图(见图5.29)。6.2.9学习情况管理用户点击学习情况可以对自己的学习时长、学习进度以及学习内容进行记录,如图6.58所示:图6.58用户端学习情况界面图管理员可以通过输入关键词,对用户的学习情况进行搜索查询。如在学习进度搜索框输入“知识点”进行查询,其界面如图6.59所示。还可以对用户的学习情况进行查看,如查看“张莉丽”学习情况的具体详情,其界面如图6.60所示:图6.59查询成功后学习情况管理界面图图6.60用户学习情况详情界面图管理员可以对用户学习情况进行修改、删除操作。对想要修改的信息,点击修改按钮进行修改,点击提交即可完成修改操作。对想要删除的用户学习情况,点击删除按钮,确定删除即可删除成功。6.3测试结论经过对党员在线学习系统的测试和分析,证明该系统在功能的使用上是可行的,运行正常无运行错误。系统在测试过程中,都能很好的把正确数据呈现给用户包括基本的登录退出系统和对设备信息增删查改等功能。各个功能都符合设计要求,基本都能达到当初预计的结果。结论本设计是考虑到目前党建工作中活动难开展、沟通难、党务队伍分散等问题,影响党员后续教育工作的开展。鉴于此,本文在进行可行性分析和需求分析的基础上,使用Java语言基于SpringBoot框架设计开发了党员在线学习系统。该系统的主要功能有资料分类管理、公告管理、考试成绩管理、党员信息管理、学习资料管理、试题管理、试卷管理、学习打卡管理、学习情况管理等。所做工作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖南省公开遴选公务员考试(公安专业知识)全真模拟试题及答案
- 2025年云南公开遴选公务员考试(法律工作)综合试题及答案
- 2025年全国物业管理师资格考试(物业管理基本制度与政策)(建设部)经典试题及答案
- 团支部青年思想访谈情况的报告2026(2篇)
- 西藏自治区西藏昌都市第一高级中学2025-2026学年高二下学期5月半期考试英语试题(含答案)
- 贵州镇宁高中教育集团2025-2026学年第二学期期中评价试题高二年级英语试题(含答案)
- 2026及未来5-10年室内装饰大板项目投资价值市场数据分析报告
- 2025-2026学年福建省漳州市华安县第一中学高一(下)期中数学试卷(含简单答案)
- 2026就业模拟面试题目及答案
- 2026乐园宾客服务面试题及答案
- 2024年上海市中考语文备考之150个文言实词刷题表格及答案
- 设备采购与招标流程培训
- 1956-1967国家科学技术发展远景规划纲要
- 山西省万家寨水务控股集团有限公司招聘笔试试题及答案2022
- 口语交际:倾听
- 导线三角高程计算表(表内自带计算公式)
- 清明古诗欣赏课件
- 电路基础实验北大未名BBS北京大学教学课件
- 2023广东惠州市惠城区桥西街道办事处招聘治安队员、党建联络员、社区“两委”班子储备人选考试通告考试备考试题及答案解析
- 大学生心理健康教育(第3版)PPT全套完整教学课件
- GB/T 9124.1-2019钢制管法兰第1部分:PN系列
评论
0/150
提交评论