面向个人的时间记事管理小程序的设计与实现_第1页
面向个人的时间记事管理小程序的设计与实现_第2页
面向个人的时间记事管理小程序的设计与实现_第3页
面向个人的时间记事管理小程序的设计与实现_第4页
面向个人的时间记事管理小程序的设计与实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

第1章绪论1.1研究目的和意义中国移动互联网REF_Ref129618718\r\h[1]经历了近二十年的发展,随着手机、计算机等智能设备的不断完善,资金的不断投入,以及多种媒介的不断发展,使得人们可以更加便捷、快速地获得并综合各种信息,在给人们生活带来便利的同时,也开阔了人们的视野。但是,现在的问题是,碎片化的时间已经占据了大部分的时间,大块的,连续的,有效的时间越来越少。随着时间的不断流逝,“时间碎片化”已经成为人们无法回避的时间管理问题,从而形成了现代人的症状,也给那些想要独立思考的人们带来了极大的困扰。互联网的快速发展,导致时间碎片化问题越来越突出,但不能把这当成浪费时间的借口。对职员来说,每天上班前必须要做好一天要做的事情,不然就会把工作项目搞得乱七八糟,造成工作无法按时完成。而职员利用时间表规划小软件,可以在一天前就计划好第二天要做什么,并且针对重大事项做好提醒功能,以便平台及时告知用户完成工作事项。对于学生来说,规划好每个时间段的学习任务是对时间最好的使用方法,尤其考前每科的复习任务更要规划好,而现在移动设备携带方便,所以设计以职员和学生为使用对象的一款面向个人的时间记事管理小程序帮助用户更好的规划时间,更好的利用时间。1.2国内外研究现状我们在日常的生活当中无论做什么事情都应当利用好时间,提高自己的工作效率。因此我们应当把大幅度的时间变化降低,并安排好计划,争取把时间管理做到极致。国内对时间管理小程序研究较为成熟,2019年,李哲,周灵在《微信小程序的架构与开发浅析》中指出在整个生命周期中,MINA框架能够完成页面呈现、函数调用、数据更新等操作。此外,MINA框架还为微信小程序提供了丰富的页面组件、独特的样式风格以及微信原生API。2021年,杨沛沛、曹林洁、黄韵璇、钟佩华、伍俏羲等人在《基于微信平台的时间管理记事小程序设计》中提出了以Ln-764telliJ为开发工具、以Nginx、Udertow为WEB服务器、以MySQL为数据库软件的MVC设计模式,以MVC为设计模型,以Ln—764Tellij为开发工具,以NGINX、UDerTow为webserver,以MySQLs为数据库软件。这种体系结构便于小组成员之间的分工,便于以后的多端重用,增加了项目的可扩展性。2018年,傅钟,雷笑天,王强在《家校微信小程序的设计和开发》中指出MINA可以让数据与视图保持同步。当用户做数据修改时,只需要在逻辑层修改数据,视图层就会同时更新。相对于国内而言,国外微信小程序的发展迟缓,没有国内发展迅速,小程序功能还未普及。2017年,Huangx在《ExplanationontheAttributeofFlexLavoutContainerandElementinWechatAppletDevelopment》本文认为,利用样式类的display来决定flex的布局,利用flex容器、元素的属性设置,能够方便地设计出适合于多种移动终端屏幕的页面,这对于小程序的开发有着十分重要的意义。2020年,V.RohithkumarS.AshwiniTJerinioseph等人在《ScheduleManagementSystemUsingAndroidApplication》中设计了一个基于Android的日程管理系统,实现日程管理,日程统计,日程待办等功能。1.3论文组织架构本文组织架构如下:第一章:绪论。这一部分的内容包括研究目的、价值、论文结构等,也对国内外同一领域的研究情况进行梳理。第二章:介绍在怎样的环境中采用哪些技术工具开发本程序。第三章:分析本系统的可行性与需求。第四章:设计系统,以数据库和功能模块设计为主。第五章:让系统中每个模块的功能成为现实。第六章:对主要功能模块能否达到预期进行测试且介绍测试结果。第2章相关理论和技术2.1Java简介在1995年5月,由SunM计算机系统公司设计并发布的Java编程语言REF_Ref13870\r\h[2]。Java编程是一个通用术语,也是一个Java平台。因为Java具有跨平台性、动态性和可移植性等优点,所以它才会被大量的编程爱好者所接受,并持续地将Java技术推向前进,而这也是Java技术能够一直保持稳定和完善的原因。从Java的应用发展方向来看,Java平台可以被分成三个发展体系,分别是J2SE(java2Platform标准版)标准版、J2EE(java2PlatformEnterpriseEdition)企业版、J2ME(java2Platform标准)微型版。Java语言与C++语言有异曲同工之妙,两种语言都面向对象。相比而言,前者对后者的核心思想进行继承,也将其中不易于理解、过于晦涩的技术概念予以剔除,包括多重继承、指针等。Java语言可以自动地处理这些无用的东西,这是因为编程人员不需要手工地将这些无用的东西送回去,这就保证了Java可以最大程度地使用整个系统,降低了浪费,增加了系统的总体效率。这个软件的作用有别于其它的程序,因为它是先编译成二进制码,然后再用在虚拟机上的旁路码来转换,这样就形成了一套独特的、可执行的算法。Java语言基本工作环境包含许多基本功能类库,用于我们的程序,我们也可以直接使用在没有网络的情况下,因此,不要忘记我们的发展方案,以及开发计划署增加我们的成功,特别是在发展领域的编程提供大量商业应用开发商业应用程序的Java类库,使用Java开发的软件很方便,因为使用Java开发系统是一个很好的选择。2.2MySQL特点 1、功能强大MySQL中拥有多样化的数据库存储引擎功能,每一种引擎都有其独有的优势,在适用场合上存在着显著的差别。用户可以根据自己的需求来选择引擎,从而对性能的提升起到推动作用,它可以处理每天访问量超过数亿的高密度的搜索网页。支持事务,视图,存储过程,触发器,等等。2、支持跨平台MySQL对Linux,windows,自由BSD,AIX,以及其他20个以上的开发平台提供了支持。这就意味着,无论在什么平台上,软件都可以被灵活地移植,无需修改。3、运行速度快MySQL最突出的特点就是速度快。在MySQL数据库中,采用了非常快速的B-树磁盘表(MyISAM),并采用了索引压缩技术;对一次扫描的多重联接进行了优化,联接速度快;有了SQL这个功能,就可以对类库进行优化,从而加快程序的运行速度。4、支持面向对象PHP提供了一种混合式的编程方法。程序设计方法有三种,即单纯面向对象的程序设计方法、单纯面向过程的程序设计方法和面向过程的程序设计方法。5、安全性高通过对用户的权限配置,实现了对用户的安全认证,保证了用户的安全。连接到服务器上后,所有的口令都以加密的方式传送,以确保口令的安全性。6、成本低该数据库的使用不需要付费,用户能直接在网络平台中下载。7、支持各种开发语言该数据库能支持当前所有常用的程序设计语言,为其提供了很多的

API函数,包括PHP、ASP.NET、Java、Eiffel、Python、Ruby、Tcl、C、C++、Perl语言等。8、数据库存储容量大MySQL资料库的最大有效表长一般取决于作业系统对于档案大小的限制,而非MySQL本身。InnoDB存储引擎是将InnoDB表存放在多个文件所组成的单一表空间中,最大可达64TB,能够轻易地处理几千万条数据。9、支持强大的内置函数在PHP中,有许多内建的函数,它们基本上覆盖了web应用程序开发所需要的一切。它具有基于库的连接,文件上传,MySQL还支持MySQLi等扩展库,方便了Web应用的快速开发。2.3Vue框架Vue是一套用于构建用户界面的框架,具有激进式的特征。不同于其他几种大型框架,该框架可以采用自下而上的方式进行应用。该框架的核心库只是对图层表示关注,除了能快速掌握以外,也能与其他项目进行整合,与第三方库也能衔接到一起。同时,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。

第3章系统分析3.1可行性分析3.1.1技术可行性技术可行性就是在开发本系统过程中运用哪些技术、选择怎样的平台、套用什么样的框架以及在设计中采用的模式等,在介绍基础知识环节已经做出了解释与说明,本开发是建立在微信小程序的基础之上,选择了Java语言,在开发中主要基于SpringBoot框架,弹性管理代码,Idea是现今做得最好的一款多语言集成开发环境,同时大多数与之相关的开发工具都是免费的。3.1.2经济可行性所谓“经济可行性”,就是在研制过程中,所需的投资与原设计预算相符,研制过程中所需的各项费用都能清楚地记录下来,并与研制过程相适应。此外,在系统完成之后,所开发的面向个人的时间记事管理小程序具有更好的应用前景,具有更高的经济价值。这一点,在系统开发之前,就已经重点对其进行了分析。从整体上来看,本次系统设计与开发不需要太高的成本,因此其经济可行性较强。3.1.3操作可行性系统设计完成后投入使用,要给使用者带来方便,使之能在短期内掌握操作技巧。本系统的多数功能都可以通过图形界面实现,要想及时输入数据,需要保证系统的完整性与灵活性,不能存在歧义,方便管理员和用户查看信息。整个系统必须是简洁的,高效的,使用过程中要做好不同等级用户的使用权限管理。从以上这些考虑,意识到本次开发的系统具有较强的操作可行性。3.1.4法律可行性从法律方面看,本次系统开发体现出如下特征:

1、在系统开发中运用的所有资料都符合法律规定;

2、在系统开发中知识产权问题是不存在的;

3、在系统开发中没有任何一部分内容从其他网站抄袭,不会引发侵犯版权问题;

4、在系统开发中所有工作均由本人完成,属于原始劳动,不会引发法律纠纷。3.2需求分析系统的功能需求分析能充分了解到本系统在开发中需要具备哪些需求,进一步明确哪些功能需要实现,哪些功能不需要实现。分析的深入进行,能提前意识到有可能在系统开发中存在哪些,使软件生产率得到有效提高,也能起到降低成本的作用,软件质量由此得到改善。3.2.1功能需求分析本系统主要采取面对对象的开发模式进行软件的开发和硬体的架设,采取MySQL为存储后台数据的主要单元,选择的是Java语言,对业务系统进行开发且编码,使系统的各项功能可以实现。证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现时间记事管理小程序和部署运行以及使用它,对时间管理有重要意义。3.2.2非功能需求分析本论文所开发的面向个人的时间记事管理小程序由于存储大量的信息以及用户的相关基本信息,为了保证面向个人的时间记事管理小程序系统中职员,学生的数据的安全性,在面向个人的时间记事管理小程序设计调适过程中,专门配置了职员和学生等用户身份认证与权限控制的内容,对访问系统的职员和学生等用户进行身份认证。在所有职员和学生等用户身份通过系统认证通过后,面向个人的时间记事管理小程序设计系统将根据职员和学生等用户身份为其配置相应的权限,并确保职员和学生等用户只能在权限范围内进行操作,只能访问权限范围内的内容。职员和学生等用户权限控制机制有效保证了面向个人的时间记事管理小程序系统数据的安全性,一旦职员和学生等用户出现异常操作,面向个人的时间记事管理小程序系统将立即停止该职员和学生等用户访问。

第4章系统设计4.1功能模块设计对系统功能进行分析,本次开发的系统要满足时间记事需求,主要包含如图4.1所示的几个模块:图4.1系统功能模块图4.2数据库概念设计图4.2管理员用例图4.3用户用例图4.3数据库逻辑设计数据库库REF_Ref13870\r\h[3]物理设计分四步进行:第一,确定系统数据在数据库中将以怎样的结构进行存储;第二,明确数据库中存取数据采用怎样的方法;第三,结合系统情况为数据在数据库中进行存储指定位置;第四,为各类数据在数据库中占据怎样的位置进行指定。数据库物理设计的主要内容就是存储与取出数据,也要考虑到采用怎样的方式存储数据库中的数据。在此基础上,需要为数据库创立索引,为数据访问提供有利条件。由于访问类型有显著区别,可以把存储结构划分为顺序表、索引表两种类型,两种存储结构能获得不同的查询效果。小程序具体表设计如下:表4.1shijianfenlei事件分类字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPshijianfenleivarchar200事件分类表4.2meiriricheng每日日程字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPrichengmingchengvarchar200日程名称richengfenleivarchar200日程分类richengfengmianlongtext4294967295日程封面zhuangtaivarchar200状态richengneironglongtext4294967295日程内容dengjiriqidate登记日期zhanghaovarchar200账号xingmingvarchar200姓名useridbigint用户id表4.3yonghu用户字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPzhanghaovarchar200账号mimavarchar200密码xingmingvarchar200姓名xingbievarchar200性别youxiangvarchar200邮箱shoujihaomavarchar200手机号码touxianglongtext4294967295头像表4.4users用户表字段名称类型长度字段说明主键默认值idbigint主键主键usernamevarchar100用户名passwordvarchar100密码rolevarchar100角色管理员addtimetimestamp新增时间CURRENT_TIMESTAMP表4.5news新闻资讯字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar200标题introductionlongtext4294967295简介picturelongtext4294967295图片contentlongtext4294967295内容表4.6tokentoken表、字段名称类型长度字段说明主键默认值idbigint主键主键useridbigint用户idusernamevarchar100用户名tablenamevarchar100表名rolevarchar100角色tokenvarchar200密码addtimetimestamp新增时间CURRENT_TIMESTAMPexpiratedtimetimestamp过期时间CURRENT_TIMESTAMP表4.7daibanshijian待办事件字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPshijianmingchengvarchar200事件名称shijianfenleivarchar200事件分类shijianfengmianlongtext4294967295事件封面shijianneironglongtext4294967295事件内容yujiwanchengriqidate预计完成日期zhanghaovarchar200账号xingmingvarchar200姓名dengjiriqidate登记日期useridbigint用户id表4.8config配置文件字段名称类型长度字段说明主键默认值idbigint主键主键namevarchar100配置参数名称valuevarchar100配置参数值表4.9richengfenlei日程分类字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPrichengfenleivarchar200日程分类表4.10yirizongjie一日总结字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPzongjiebiaotivarchar200总结标题zongjiefengmianlongtext4294967295总结封面wanchengshijianshuliangint完成事件数量weiwanchengshijianshuliangint未完成事件数量daiwanchengshijianshuliangint待完成事件数量zongjieneironglongtext4294967295总结内容zongjieriqidate总结日期zhanghaovarchar200账号xingmingvarchar200姓名useridbigint用户id

第5章系统实现5.1实现环境开发语言:Java框架:springboootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7数据库工具:Navicat11开发软件:ideaMaven包:Maven3.3.9浏览器:谷歌浏览器5.2登录注册在首次使用小程序时,用户需要进行账号注册。在这一环节,需要输入一系列信息,包括账号、姓名、年龄、密码等,也要对自己的头像进行编辑,需要进入如图5.1所示的界面;用户登录时,系统要对账号与密码进行验证,点击“登录”后方可进入系统中。在用户名与密码输入不完整或未输入时,系统会发出相应的提示。图5.2介绍的是登录界面,管理员从后台登录管理系统,也需要输入相应的信息,信息核对无误,即可进入主页。图5.1用户注册界面图5.2用户登录界面图5.3管理员登录界面图5.3介绍的是管理员登录界面,此时需要按提示输入信息,进入管理员界面,选择管理员角色进行登录系统会跳转到首页,管理员完成登录界面如图5.4所示:图5.4用户登录成功界面实现该功能的关键代码如下。** *登录 */ @IgnoreAuth @PostMapping(value="/login") publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username)); if(user==null||!user.getPassword().equals(password)){ returnR.error("账号或密码不正确"); } Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole()); returnR.ok().put("token",token); } /** *注册 */ @IgnoreAuth @PostMapping(value="/register") publicRregister(@RequestBodyUsersEntityuser){// ValidatorUtils.validateEntity(user); if(userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()))!=null){ returnR.error("用户已存在"); }userService.insert(user);returnR.ok();} /** *退出 */ @GetMapping(value="logout") publicRlogout(HttpServletRequestrequest){ request.getSession().invalidate(); returnR.ok("退出成功"); }

5.3用户管理管理员进入系统后,要想调整自己的密码,需要进入“个人中心”,在这里可以进行相应的操作,图5.5介绍的是相应的界面:图5.5个人中心界面进入系统后,管理员需要再次点击“用户管理”,进入相应的界面后,可以对用户信息进行一系列操作,包括增加、删除、调整等,图5.6介绍的是这一界面:图5.6用户管理界面实现该功能的关键代码如下。 /***列表*/@RequestMapping("/lists")publicRlist(YonghuEntityyonghu){ EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); ew.allEq(MPUtil.allEQMapPre(yonghu,"yonghu"));returnR.ok().put("data",yonghuService.selectListView(ew));} /***查询*/@RequestMapping("/query")publicRquery(YonghuEntityyonghu){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); ew.allEq(MPUtil.allEQMapPre(yonghu,"yonghu")); YonghuViewyonghuView=yonghuService.selectView(ew); returnR.ok("查询用户成功").put("data",yonghuView);} /***修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){//ValidatorUtils.validateEntity(yonghu);yonghuService.updateById(yonghu);//全部更新returnR.ok();}/***删除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){yonghuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.4事件分类管理通过管理员身份进入到系统中,点击事件分类管理,进入事件分类管理界面,第一种分类,跟时间密切相关,必须特定时间要做的事情。第二种分类,跟时间有一定的关系,但是要求没有那么高。第三种分类,对时间的要求更低如图5.7。可以新增事件分类管理如图5.8所示:图5.7事件分类管理界面图5.8事件分类添加界面实现该功能的关键代码如下。***提醒接口*/ @RequestMapping("/remind/{columnName}/{type}") publicRremindCount(@PathVariable("columnName")StringcolumnName,HttpServletRequestrequest, @PathVariable("type")Stringtype,@RequestParamMap<String,Object>map){ map.put("column",columnName); map.put("type",type); if(type.equals("2")){ SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd"); Calendarc=Calendar.getInstance(); DateremindStartDate=null; DateremindEndDate=null; if(map.get("remindstart")!=null){ IntegerremindStart=Integer.parseInt(map.get("remindstart").toString()); c.setTime(newDate()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate=c.getTime(); map.put("remindstart",sdf.format(remindStartDate)); } if(map.get("remindend")!=null){ IntegerremindEnd=Integer.parseInt(map.get("remindend").toString()); c.setTime(newDate()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate=c.getTime(); map.put("remindend",sdf.format(remindEndDate)); } } Wrapper<ShijianfenleiEntity>wrapper=newEntityWrapper<ShijianfenleiEntity>(); if(map.get("remindstart")!=null){ wrapper.ge(columnName,map.get("remindstart")); } if(map.get("remindend")!=null){ wrapper.le(columnName,map.get("remindend")); } intcount=shijianfenleiService.selectCount(wrapper); returnR.ok().put("count",count); }5.5日期分类管理进入系统中,如果用户的身份是管理员,可以分类管理日期,进入相应的界面后,能及时对设置进行修改,也可以通过点击“新增”按钮后完善这些日期分类的基础信息。完成日期分类基础信息设置后,点击“提交”按钮会弹出“操作成功”。点击“删除”按钮可以删除已经失效或下线的信息,日期分类界面如图5.9所示;添加日期分类界面如图5.10所示:图5.9日期分类管理界面图5.10日期分类添加界面实现该功能的关键代码如下。/***后端列表*/@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,RichengfenleiEntityrichengfenlei, HttpServletRequestrequest){EntityWrapper<RichengfenleiEntity>ew=newEntityWrapper<RichengfenleiEntity>(); PageUtilspage=richengfenleiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,richengfenlei),params),params));returnR.ok().put("data",page);}/***前端列表*/ @IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,RichengfenleiEntityrichengfenlei, HttpServletRequestrequest){EntityWrapper<RichengfenleiEntity>ew=newEntityWrapper<RichengfenleiEntity>(); PageUtilspage=richengfenleiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,richengfenlei),params),params));returnR.ok().put("data",page);}5.6每日日程管理点击每日日程管理,进入每日日程管理界面,如图5.11所示,点击统计报表,查看图形统计报表详情如图5.12:图5.11每日日程管理界面图5.12每日日程详情界面实现该功能的关键代码如下。//获取数据列表getDataList(){this.dataListLoading=true;letparams={page:this.pageIndex,limit:this.pageSize,sort:'id',}if(this.searchForm.richengmingcheng!=''&&this.searchForm.richengmingcheng!=undefined){params['richengmingcheng']='%'+this.searchForm.richengmingcheng+'%'}if(this.searchForm.zhuangtai!=''&&this.searchForm.zhuangtai!=undefined){params['zhuangtai']=this.searchForm.zhuangtai}if(this.searchForm.xingming!=''&&this.searchForm.xingming!=undefined){params['xingming']='%'+this.searchForm.xingming+'%'}this.$http({url:"meiriricheng/page",method:"get",params:params}).then(({data})=>{if(data&&data.code===0){this.dataList=data.data.list;this.totalPage=data.data.total;}else{this.dataList=[];this.totalPage=0;}this.dataListLoading=false;});},5.7待办事件管理通过管理员身份登录到平台中,点击待办事件,进行对用户的待办事件进行管理,待办事件统计界面如图5.13;待办事件的统计报表如图5.14所示:图5.13待办事件界面图5.14待办事件统计报表界面实现该功能的关键代码如下。init(id,type){if(id){this.id=id;this.type=type;}if(this.type=='info'||this.type=='else'){(id);}elseif(this.type=='logistics'){this.logistics=false;(id);}elseif(this.type=='cross'){varobj=this.$storage.getObj('crossObj');for(varoinobj){if(o=='shijianmingcheng'){this.ruleForm.shijianmingcheng=obj[o]; this.ro.shijianmingcheng=true;continue;}if(o=='shijianfenlei'){this.ruleForm.shijianfenlei=obj[o]; this.ro.shijianfenlei=true;continue;}if(o=='shijianfengmian'){this.ruleForm.shijianfengmian=obj[o]; this.ro.shijianfengmian=true;continue;}if(o=='shijianneirong'){this.ruleForm.shijianneirong=obj[o]; this.ro.shijianneirong=true;continue;}if(o=='yujiwanchengriqi'){this.ruleForm.yujiwanchengriqi=obj[o]; this.ro.yujiwanchengriqi=true;continue;}if(o=='zhanghao'){this.ruleForm.zhanghao=obj[o]; this.ro.zhanghao=true;continue;}if(o=='xingming'){this.ruleForm.xingming=obj[o]; this.ro.xingming=true;continue;}if(o=='dengjiriqi'){this.ruleForm.dengjiriqi=obj[o]; this.ro.dengjiriqi=true;continue;}if(o=='userid'){this.ruleForm.userid=obj[o]; this.ro.userid=true;continue;}5.8系统管理通过管理员身份登录到平台中,点击系统管理,可以对公告信息、轮播图进行管理。公告信息管理界面如图5.15所示,轮播图管理界面如图5.16所示:图5.15公告信息管理界面图5.16轮播图管理界面实现该功能的关键代码如下。varcrossuserid;varcrossrefid;varcrossoptnum;if(this.type=='cross'){varstatusColumnName=this.$storage.get('statusColumnName');varstatusColumnValue=this.$storage.get('statusColumnValue');if(statusColumnName!=''){varobj=this.$storage.getObj('crossObj');if(!statusColumnName.startsWith("[")){for(varoinobj){if(o==statusColumnName){obj[o]=statusColumnValue;}}vartable=this.$storage.get('crossTable');this.$http({url:`${table}/update`,method:"post",data:obj}).then(({data})=>{});}else{crossuserid=this.$storage.get('userid');crossrefid=obj['id'];crossoptnum=this.$storage.get('statusColumnName');crossoptnum=crossoptnum.replace(/\[/,"").replace(/\]/,"");}}5.9一日总结管理点击一日总结管理,进入一日总结管理界面如图5.17,点击统计报表,查看详细的统计报表图形信息如图5.18:图5.17一日总结界面图5.18一日总结统计报表界面实现该功能的关键代码如下。addOrUpdateHandler(id,type){this.showFlag=false;this.addOrUpdateFlag=true;this.crossAddOrUpdateFlag=false;if(type!='info'){type='else';}this.$nextTick(()=>{this.$refs.addOrUpdate.init(id,type);});},download(file){window.open(`${file}`)},5.10用户功能只要用户能保证账号密码无误,即可进入首页即图5.19。进入“每日日程”后,可以跳转到图5.20所示的界面:图5.19首页界面图5.20每日日程界面点击待办事件界面,查看待办事件如图5.21,点击一日总结,查看一日总结事件如图5.22;待办事件增加如图5.23;图5.21待办事件界面图5.22一日总结界面图5.23待办事件增加界面点击我的功能,如图5.24:图5.24我的界面实现该功能的关键代码如下。@RequestMapping("/remind/{columnName}/{type}") publicRremindCount(@PathVariable("columnName")StringcolumnName,HttpServletRequestrequest, @PathVariable("type")Stringtype,@RequestParamMap<String,Object>map){ map.put("column",columnName); map.put("type",type); if(type.equals("2")){ SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd"); Calendarc=Calendar.getInstance(); DateremindStartDate=null; DateremindEndDate=null; if(map.get("remindstart")!=null){ IntegerremindStart=Integer.parseInt(map.get("remindstart").toString()); c.setTime(newDate()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate=c.getTime(); map.put("remindstart",sdf.format(remindStartDate)); } if(map.get("remindend")!=null){ IntegerremindEnd=Integer.parseInt(map.get("remindend").toString()); c.setTime(newDate()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate=c.getTime(); map.put("remindend",sdf.format(remindEndDate)); } } Wrapper<YonghuEntity>wrapper=newEntityWrapper<YonghuEntity>(); if(map.get("remindstart")!=null){ wrapper.ge(columnName,map.get("remindstart")); } if(map.get("remindend")!=null){ wrapper.le(columnName,map.get("remindend")); } intcount=yonghuService.selectCount(wrapper); returnR.ok().put("count",count); }

第6章系统测试本系统在开发中,前台操作界面与各个功能模块的设计任务完成后,为了能让系统保持良好的运行状态,在系统投入使用之前需要进行功能测试,确保系统性能达到要求,一旦发现问题,可以在正式文工团之前进行修复与调整。在测试系统是否具备良好的整体功能时,黑盒测试是一种测试手段,在黑盒测试中,我们会使用错位分析法来检查控制器,因为它们更容易检查出控制器出现问题时,出现在输入值和输出值之间,而不是它们之间,这样我们才能更准确地评估出控制器的稳定性和准确度,所以,我们会使用边界值分析法来检查这些问题。以便更准确地评估出问题所在。6.1测试步骤在发展中,要在试验期进行分步测试。从逻辑方面看,每一步都要顺承前一步,是对前一步的延续。所有规模较大的软件程序都包含若干个子程序,每个子程序都由多个模块构成。所以,大规模软件程序在测试中需要按如下流程进行:1.模块测试需要从设计与编码两方面找出程序中存在的不足。2.要对程序进行测试,指明设计中的欠缺。3.发现错误后需要调整测试方案,要做到规范合理。6.2测试用例6.2.1登录测试用例在用户端进行测试,需要符合用户要求,在测试中采用的方式为黑盒测试,本文篇幅有限,只是介绍一些代表性较强的测试用例,见下表:表6.1登录测试用例表测试编号测试目的操作步骤预期结果实际结果001登录测试输入正确的用户名和密码登录成功登录成功002登录测试输入错误的用户名登录失败登录失败003登录测试输入错误的的密码登录失败登录失败6.2.2用户信息管理测试用例管理端在运行时要满足浏览器的运行需求,比如添加用户信息测试、修改用户信息测试、删除用户信息测试等。表6.2用户信息测试用例表测试编号测试目的操作步骤预期结果实际结果001添加用户信息测试在添加页面输入用户信息,点击确认按钮添加成功添加成功002修改用户信息测试在修改页面修改用户信息,点击确认按钮修改成功修改成功003删除用户信息测试在管理用户息页面,点击某一试卷的删除按钮删除成功删除成功004查询用户信息测试在用户信息管理页面查询输入框输入要查询的用户名字,点击查询按钮查询成功查询成功6.2.3事件分类管理测试用例通过管理员身份进入到系统中,点击事件分类管理,进入事件分类管理界面,要满足管理需求,比如添加事件分类测试、修改事件分类测试、删除事件分类测试等。表6.3事件分类管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加事件分类测试在添加页面输入事件分类,点击确认按钮添加成功添加成功002修改事件分类测试在修改页面修改事件分类,点击确认按钮修改成功修改成功003删除事件分类测试在管理事件分类页面,点击某一试卷的删除按钮删除成功删除成功004查看事件分类测试在事件分类管理页面查看输入框点击查看按钮查看成功查看成功6.2.4日期分类管理测试用例进入相应的界面后,能及时对设置进行修改,也可以通过点击“新增”按钮后完善这些日期分类的基础信息,为了满足用户要求,比如添加日期分类测试、修改日期分类测试、删除日期分类测试等。表6.4日期分类管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加日期分类测试在添加页面输入日期分类,点击确认按钮添加成功添加成功002修改日期分类测试在修改页面修改日期分类,点击确认按钮修改成功修改成功003删除日期分类测试在管理日期分类页面,点击某一试卷的删除按钮删除成功删除成功004查看日期分类测试在日期分类管理页面查看输入框点击查看按钮查看成功查看成功6.2.5每日日程管理测试用例点击每日日程管理,进入每日日程管理界面。为了满足用户要求,比如添加每日日程测试、修改每日日程测试、删除每日日程测试等。表6.5每日日程管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加每日日程测试在添加页面输入每日日程,点击确认按钮添加成功添加成功002修改每日日程测试在修改页面修改每日日程,点击确认按钮修改成功修改成功003删除每日日程测试在管理每日日程页面,点击某一试卷的删除按钮删除成功删除成功004查询每日日程测试在每日日程管理页面查询输入框输入要查询每日日程,点击查询按钮查询成功查询成功6.2.6待办事件管理测试用例通过管理员身份登录到平台中,点击待办事件,进行对用户的待办事件进行管理,为了满足用户要求,比如添加待办事件测试、修改待办事件测试、删除待办事件测试等。表6.6待办事件管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加待办事件测试在添加页面输入待办事件,点击确认按钮添加成功添加成功002修改待办事件测试在修改页面修改待办事件,点击确认按钮修改成功修改成功003删除待办事件测试在管理待办事件,点击某一试卷的删除按钮删除成功删除成功004查询待办事件测试在待办事件管理页面查询输入框输入要查询的待办事件,点击查询按钮查询成功查询成功6.3测试结论通过多个测试用例,能对本系统中的一部分功能是否能达到预期进行测试,在测试期间,发现每一部分功能都能向用户呈现正确而可靠的数据,无论是系统的功能还是使用,与预期计划的情况都是相符的。结论在本次研究所实现的面向个人的时间记事管理小程序,先是对本系统设计在现实中能产生怎样的意义与价值进行解释与说明,分析设计的环境与背景。在此基础上介绍本次设计中使用了哪些技术与知识、原理与工具等,重点介绍的是开发中使用的技术与语言,分析本系统开发具有怎样的可行性,也进行需求分析。通过可行性分析,进一步意识到本开发有较高的可行性。为用户建立的功能模块有:登陆管理,事件分类管理,日程分类管理,待办事件管理,今日规划管理,事件统计管理,事件提醒管理一日总结管理等内容。在分析系统要求后,将充分实现系统设计,并介绍用于其开发的数据库。还详细介绍了系统

温馨提示

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

最新文档

评论

0/150

提交评论