基于 MyBatis 的时间日程管理系统
1 绪论
1.1 背景
随着时代的进步,网络技术层出不穷信息量急剧膨胀,整个人类社会已成为信息化的社会,人们对信息和数据的处理、管理和加工已经进入自动化、网络化和社会化的阶段。对于个人的日程管理也就更为重要,如果没有好的管理和来竞争力?在国际社会飞速发展的今天,我国也已成功加入世贸组织的今天,不得不让我们认真对待每一个问题。如今个人日程管理是人们生活中必不可少的一个环节,不管是社会还是公司企业想要取得更辉煌的成效,需要的是精确细致的安排管理。这里的管理就体现在个人的管理,当每个人都做好自己相关事情的时候,整体就会有所提升。
基于网络的个人日程管理系统则可以让人们在网络上记录自己的日常事情。使得自己在任何有网络环境的办公条件下都可以对自己需要处理的事物进行有序管理。并且随着个人的社会地位提高会出现不同的交际圈,会对身边的人加以区分。更有利的方便自身的管理以及在日常工作中对上下级的任务分配,不再局限于固定的时间召集人员开会、分配任务,可以及时的通过网络分配任务及了解自身的相关情况。通过该系统可以减轻公司人员的工作量,加快查询速度,加强管理,还有就是缩小开支,提高工作效率与准确率。可以使人们能够合理安排自己的时间,能够尽快的知道自己的相关事务,投入新一天的工作。并且个人日程管理系统的应用也为今天的公司企业在未来市场竞争力的提高打下坚实的基础。
在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。个人日程管理是一个非常重要的一项工作,一个原因就是每天细小事情很多,不好整合管理。一个原因就是会有突发事件,让人措手不及。对于个人而言,更应该运用好的管理措施,提高自身的管理力度,对自己负责,对自己的重任负责
1.2 现状与意义
在日常繁杂的工作中,总是有很多重要日程需要安排,个人的日常工作、领导的重要会议、个人重要日期或者时间等,都需要在特定时间给予醒目标识或者提示,日程安排就可以完成这些工作。日常安排主要功能是完成个人一般日程和重要日程安排,可以设置提醒。
在没有计算机的时代,我们对日程安排只能通过手写来记录,并且没有相应的提醒工具,人们有时会因为没有及时翻阅记录而错过了重要会议、重要日程等,也因为翻阅日程记录而浪费了很多的时间。我们不难想象一个人错过了重要会议会有什么后果。所以日程安排的重要性尤为重要。
在 20 世纪 60 年代在随着电子技术的发展,出现了一些好的提醒工具,比如闹钟。人们就可以通过闹钟的提示来完成日程的提醒,但是闹钟只是能提醒最近一个记录,这样就会总要去设置时间来提示,也会浪费很多的时间。
在计算机开始使用的时候,各人的日程安排有了明显的进步,我们可以通过计算机来记录备忘数据,并可以提醒给用户。但在网络还不发达的情况下,还不能实现日程共享等功能,但在进入 20 世纪 90 年代,Microsoft 推出了 Office 工具对人们的办公操作有了很大的帮助。人们在记录和提醒,以及联网都成为了可能。在 outlook 中有日历的功能实现,备忘录的记录提醒功能等,在通过邮件等功能就可以很好的完成人与人之间的提示功能。
但在软件开发办公自动化系统中由于商业原因,很多企业要自己根据项目的具体情况进行开发日程安排系统。基于国土资源电子政务平台的办公自动化系统就需要进行日程安排系统的设计与开发。这里的日程安排包括,备忘录的记录,查询、提醒、共享等功能。
1.3 设计目标
制作这个系统首先需要有漂亮的界面,能够吸引人的眼球,当然网站更重要的是实现良好的用户体验,所以需要有严谨的规划,保证系统的稳定,还好当今的开发技术十分全面,有各种前端和后端框架,前端技术包括非常流行的 HTML、jQuery、AJAX 等,然后可以通过后台处理将数据库和动态网页连接起来。传统的库存管理方法非常笨拙,消耗人力物力,且耗时长,在数据量较大时很不实际,不仅需要更多录入成本,且出错可能性也会大大上升。但是现在可以采用系统录入的方法,直接通过数据源操作技术,将数据插入到数据库中或者对数据进行修稿,大大减少劳动力使用。在实现实际功能时,可以采用 HTML、CSS 等前端技术实现界面的显示,jQuery 实现界面的操作,并用 AJAX 实现异步操作,界面动态无刷新,采用 MVC 三层架构模式,并用 MySQL 进行数据的采集和修改。系统的功能主要包括用户的注册和登录,查看个人信息,修改密码,添加自己的日程规划,根据日程的复杂程度,设置提醒时间和重复次数,日程可以设置重要程度,方便对日程的区分,除了带明确时间观念的日程功能,还提供方便记录信息的便签功能,根据用户的具体要求,用户可以设置便签是否展示,是否置顶,让用户能在明显的地方找到自己写下的便签。管理员除了拥有普通用户的日程功能,还能对普通用户进行管理,对系统设置进行修改。本系统完成之后将投入实际运行当中,进行系统模块的测试,进一步完善,实现信息化、规范化、系统化、网络化。
2 开发环境及技术
2.1 开发环境
2.1.1 系统环境及开发工具
环境搭建: 首先在电脑上安装 Eclipse 和 jdk,配置系统环境变量(PATH、CLASSPATH、JAVA_HOME),在 Eclipse 里设置相应的 JDK 版本(本系统采用 1.8 版本),然后安装 tomcat8.4 和 maven,环境全部配置完成后,重启 Eclipse。
系统在开发过程中所使用的各软件信息如下所示:
jdk: jdk1.8
Eclipse: eclipse-jee-luna
Tomcat: tomcat8.4
Mysql: mysql5.7
Maven: maven3.5
2.1.2 Eclipse
Eclipse 是著名的跨平台的自由集成开发环境(IDE)。最初主要用来 Java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如 C++ 和 Python 的开发工具。Eclipse 的本身只是一个框架平台,但是众多插件的支持使得 Eclipse 拥有其他功能相对固定的 IDE 软件很难具有的灵活性。许多软件开发商以 Eclipse 为框架开发自己的 IDE。
Eclipse 最初由 OTI 和 IBM 两家公司的 IDE 产品开发组创建,起始于 1999 年 4 月。IBM 提供了最初的 Eclipse 代码基础,包括 Platform、JDT 和 PDE。目前由 IBM 牵头,围绕着 Eclipse 项目已经发展成为了一个庞大的 Eclipse 联盟,有 150 多家软件公司参与到 Eclipse 项目中,其中包括 Borland、Rational Software、Red Hat 及 Sybase 等。Eclipse 是一个开发源码项目,它其实是 Visual Age for Java 的替代品,其界面跟先前的 Visual Age for Java 差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括 Oracle 在内的许多大公司也纷纷加入了该项目,并宣称 Eclipse 将来能成为可进行任何语言开发的 IDE 集大成者,使用者只需下载各种语言的插件即可。
虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
2.1.3 MySQL
MySQL 是一个开源的小型关系式数据库管理系统,使用起来十分规范,其操作简便,界面美观,体积小,速度快,使用成本低廉。MySQL 最初是由瑞典 MySQL AB 公司研发,后来被甲骨文(Oracle)公司收购,使用 C 语言与 C++ 便携,并用各种编译器进行了测试,保证了代码的可移植性,它支持多线程,而且很好的利用了 CPU 占用资源,将 SQL 查询语句的算法进行了优化,从某种程度上提高了 SQL 语句的查询速度,不仅可以在客户端的服务器环境中作为一个独立的应用程序单独使用,还能嵌入到别的软件内进行使用,作为一个库。不仅如此,管理和优化数据库的一些工具它也可以提供,在处理数据上,上百万、千万条的数据对它来说也不是难题,称得上是一个大型数据库。即使和其他的一些数据库比起来,MySQL 的规模相对较小且功能有限,但是这些都不影响它在开发界的使用规模,而且它的功能对一般的个人和中小型公司来说已经绰绰有余。
2.1.4 Tomcat
Tomcat 是一个应用十分广泛的服务器,受大部分程序员的喜欢,最开始接触软件开发一般都是使用此服务器,这是因为它在软件运行过程当中占用的 CPU 资源很 小,而且扩展性十分的好,在开发时需要的一些常用功能,它都可以支持,比如负载平衡,又或者邮件服务等功能。Tomcat 用起来比较方便简洁,用习惯了其他服务器的人也可以很快的接受它,并且可以去改变它,加上自己想要使用的新的功能。
Tomcat 是一个轻量级应用 服务器 ,所以使用特别广泛,比如在并发访问不多的场合或者中小型系统中被普遍使用,不仅是程序员开发也是调试 JSP 的不二选择。对一个刚开始学习编程的人来说,解释为这样也是合理的,在一台 pc 上配置好 Apache 服务器,就可以用它来响应动态页面的后台访问请求。
在某种意义上,其实 Tomcat 就是对 Apache 的另一种扩展,它也可以独立运行,不需要依赖于 Apache,所以在启动 Tomcat 之后,在任务管理器里可以看到它是一个单独的进程,与 Apache 无关。这里可以解释为,当环境配置无误时,Apache 是在为 HTML 静态页面服务,Tomcat 却是在管理 JSP 前台和 Servlet 后台,前端请求通过 Tomcat 到后台进行处理,然后将结果返回给前台。另外,Tomcat 也具有其他服务器的功能,可以处理 HTML 页面,另外它也是一个 Servlet 和 JSP 容器 。
2.1.5 Maven
Maven 项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
Maven 这个单词来自于意第绪语(犹太语),意为知识的积累,最初在 Jakata Turbine 项目中用来简化构建过程。当时有一些项目(有各自 Ant build 文件),仅有细微的差别,而 JAR 文件都由 CVS 来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享 JARs。
2.2 开发使用技术
2.2.1 Bootstrap 框架
Bootstrap无疑是当下最流行的前端开发框架,自带丰富的样式库,详细的开发文档,可大大简化网站开发过程,作为本系统前端框架。
Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷。 它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS/HTML 框架。Bootstrap 提供了优雅的 HTML 和 CSS 规范,它即是由动态 CSS 语言 Less 写成。Bootstrap 一经推出后颇受欢迎,一直是 GitHub 上的热门开源项目,包括 NASA 的 MSNBC(微软全国广播公司)的 Breaking News 都使用了该项目。 国内一些移动开发者较为熟悉的框架,如 WeX5 前端开源框架等,也是基于 Bootstrap 源码进行性能优化而来。
2.2.2 Fullcalendar 插件
FullCalendar 是一个可开发的日历插件,提供了丰富的属性设置和方法调用,开发者可以根据 FullCalendar 提供的 API 快速完成一个日历日程的开发,本文将 FullCalendar 的常用属性和方法、回调函数等整理成中文文档,方便参阅。
由于工作需要要开发一个日程管理,后面查询到 fullcalendar 是个不错 jQuery 做的日程控件配合 jquery-ui 的时间选择控件,个人感觉还是不错的 fullcalendar 有丰富的配置满足了开发所需还有不错的用户体验,
2.2.3 Guns 框架
Guns 是 gitee 码云上最火的几个快速开发框架之一,本次的开发选取 guns 框架作为后台框架。
Guns 框架简介:Guns 基于 SpringBoot,致力于做更简洁的后台管理系统,完美整合 SpringMVC + shiro + mybatis-plus + beetl + flowable!Guns 项目代码简洁,注释丰富,上手容易,同时 Guns 包含许多基础模块(用户管理,角色管理,部门管理,字典管理等 10 个模块),可以直接作为一个后台管理系统的脚手架!。下面对 guns 框架分开进行更细致的介绍:
SpringMVC 框架
Spring Web MVC 是一种基于 Java 的实现了 Web MVC 设计模式的请求驱动类型的轻量级 Web 框架,即使用了 MVC 架构模式的思想,将 Web 层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC 也是要简化我们日常 Web 开发的。
MVC 是一种著名的设计模式,特别是在 Web 应用程序领域。模式全都是关于将包含业务数据的模块与显示模块的视图解耦的。这是怎样发生的?视图(例如,JSP 页面)怎样能够与其模型(例如,包含数据的 JavaBean)解耦?记得这句格言么?一个层次的重定向几乎可以解决计算机业中的所有问题。确实,在模型和视图之间引入重定向层可以解决问题。此重定向层是控制器。控制器将接收请求,执行更新模型的操作,然后通知视图关于模型更改的消息。依赖于模型的状态并且依赖于请求的控制器可以决定要显示哪个视图。
Spring MVC 实现了即用的 MVC 的核心概念。它为控制器和处理程序提供了大量与此模式相关的功能。并且当向 MVC 添加反转控制(Inversion of Control,IoC)时,它使应用程序高度解耦,提供了通过简单的配置更改即可动态更改组件的灵活性。Spring MVC 为您提供了完全控制应用程序的各个方面的力量。
Spring 的 Web MVC 模块是围绕 DispatcherServlet 而设计的。DispatcherServlet 给处理程序分派请求,执行视图解析,并且处理语言环境和主题解析,此外还为上传文件提供支持。
DispatcherServlet 通过使用处理程序映射来决定哪一个处理程序应当处理传入的请求。处理程序映射只是用于标识使用哪一个处理程序来处理特定 URL 模式的映射。处理程序是只有一种方法 ModelAndView handleRequest(request,response) 的控制器接口的实现。Spring 还有一些可用的高级处理程序实现;其中一个重要的高级处理程序实现是 SimpleFormController,它提供了将命令对象绑定到表单、对其执行验证等功能。
Shiro 框架
Apache Shiro 是一个强大且易用的 Java 安全框架,执行身份验证、授权、密码学和会话管理。使用 Shiro 的易于理解的 API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
Shiro 已经将安全认证相关的功能抽取出来组成一个框架,使用 shiro 就可以非常快速的完成认证、授权等功能的开发,降低系统开发成本。
Shiro 使用广泛,Shiro 可以运行在 Web 应用、非 Web 应用、集群分布式应用中越来越多的用户开始使用 Shiro。
Java 领域中 Spring security 也是一个开源的权限管理框架,但是 Spring security 依赖 Spring 运行,而 shiro 就相对独立,最主要因为 shiro 使用简单、灵活。
下面就是 Shiro 的结构图:
图 2.1 Shiro 框架
mybatis-plus 插件
Mybatis-Plus(简称 MP)是一个 MyBatis 的的增强工具,在 MyBatis 的的基础上只做增强不做改变,为简化开发,提高效率而生。
Mybatis-Plus 是国内大牛在 Mybatis3 的基础上做了一些封装,简化了一些操作(分页,自动生成实体块等)。是快速开发一个不错的工具插件。
beetl 模板引擎
Beetl 是 Bee Template Language 的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,超过当前流行的模板引擎。而且还易学易用。
Beetl 能很容易的与各种 Web 框架整合,如 Act Framework,Spring MVC,Struts,Nutz,Jodd,Servlet,JFinal 等。支持模板单独开发和测试,即在 MVC 架构中,即使没有 M 和 C 部分,也能开发和测试模板。
Beetl 远超过主流 Java 模板引擎性能(引擎性能 5-6 倍与 freemaker,2 倍于 JSP),宏观上通过了优化的渲染引擎,IO 的二进制输出,字节码属性访问增强,微观上通过一维数组保存上下文 Context,静态文本合并处理,重复使用字节数组来防止 Java 频繁的创建和销毁数组,还使用模板缓存,运行时优化等方法。
Beetl 目前版本是 2.8.1,相对于其他 Java 模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点。使得开发和维护模板有很好的体验。是新一代的模板引擎。总得来说,它的特性如下:
功能完备:作为主流模板引擎,Beetl 具有相当多的功能和其他模板引擎不具备的功能。适用于各种应用场景,从对响应速度有很高要求的大网站到功能繁多的 CMS 管理系统都适合。Beetl 本身还具有很多独特功能来完成模板编写和维护,这是其他模板引擎所不具有的。
非常简单:类似 JavaScript 语法和习俗,只要半小时就能通过半学半猜完全掌握用法。拒绝其他模板引擎那种非人性化的语法和习俗。同时也能支持 HTML 标签,使得开发 CMS 系统比较容易
超高的性能:Beetl 远超过主流 Java 模板引擎性能,而且消耗较低的 CPU。
易于整合:Beetl 能很容易的与各种 Web 框架整合,如 Spring MVC,JFinal,Struts,Nutz,Jodd,Servlet 等。
支持模板单独开发和测试,即在 MVC 架构中,即使没有 M 和 C 部分,也能开发和测试模板。
扩展和个性化:Beetl 支持自定义方法,格式化函数,虚拟属性,标签,和 HTML 标签. 同时 Beetl 也支持自定义占位符和控制语句起始符号也支持使用者完全可以打造适合自己的工具包。
可以扩展为脚本引擎,规则引擎,能定制引擎从而实现高级功能。
2.3 本章小结
本章对整个系统使用的开发工具和技术进行介绍,开发工具使用的是 Eclipse、Tomcat8.4、Maven3.5、Jdk1.8 和 Mysql5.7,大概介绍了它们的优点、来源及使用情况,后面对主要开发技术进行概述,介绍前段框架 Bootsrap,个人日程展示需要的 Fullcalendar 日程插件,详细介绍了后台框架 Guns 框架,关于 Guns 框架的构成,有常见的 MVC 框架 SpringMVC,安全框架 Shiro,简化业务的 Mybatis-Plus 工具,替代 JSP 的 Beetl 模板引擎技术。
3 需求分析
3.1 可行性分析
3.1.1 技术和操作可行性
本系统开发工具主要是 Eclipse 和 MySQL 数据库,开发语言是 Java,主要使用 J2EE 技术,Java 是一种面向对象编程语言,简单易学并且灵活方便。大三时就学习了 Java 语言等等一系列课程,大四期间也系统的了解了 J2EE 技术的知识,个人日程管理系统总体上开发难度不大,数据库的设计和操作是本系统设计核心。在大学期间学习过软件工程、软件测试、UML 建模语言等课程,每个学期也会完成对应的课程设计以及课设报告,具备一定的分析、设计和测试能力。因此,完成并实现本管理系统在技术上完全具有可行性。
3.1.2 经济可行性
如今是信息化的时代,信息化管理使个人日程管理工作更加系统化、快速化、全面化。这样可以为企业带来更高的工作效益和经济效益,本系统对计算机配置的要求不太高,企业机房更换下来的低配置电脑也可以完全满足需要,而且,企业在管理工作上的高效率和便捷性远远超过开发本系统的成本,所以在经济上具有完全的可行性。
3.2 模块需求分析
3.2.1 网站展示模块
此模块是网站的前台展示界面,引导用户去使用这个系统,负责介绍系统的大致功能,能方便的安排时间日程,规划生活,展示网站的建设历程,展示开发者以及网站的基本信息。用户通过访问网站,能进入展示页面,了解大致情况后点击开始使用或者进入我的日程,来登录系统后台,进行功能性的操作。
3.2.2 登录注册模块
此模块是对于普通用户的账号注册,登录,以及忘记密码,在通过展示页面的进入系统后,若是未注册用户,需要先进行注册,填写个人信息并进行校验,邮箱号码必须满足规范,用正则表达式进行验证,后台会自动加以校验用户是否存在。用户登录时将根据注册时的信息和数据库中的进行校对,正确即可登录,否则将弹出错误信息。若用户忘记登录密码,可以进行找回密码操作,需要用户提供必要的注册信息,后台能够为用户修改密码操作。登录成功都即可开始使用系统。
3.2.3 个人信息模块
此模块是负责用户对自己账号密码,身份信息进行管理。提供修改个人信息的操作,和修改密码操作。在用户登录系统后,头像、名字、角色会在首页展示,进入个人信息,会查询出当前用户的个人信息,用户在了解自己的个人信息后,可以对自己的个人信息进行修改,比如个人的头像、名字、电话等,系统会对修改的信息进行校验,校验通过则进行修改,成功或者失败都会有明确的提示。
若用户需要修改密码,进入修改密码界面,输入原密码和新密码以及重复新密码,在用过校验后可以修改当前用户的登录密码。
3.2.4 日程模块
日程模块是系统关键性的业务模块,负责实现用户的安排日程规划的功能,由两个的部分组成:
1.计划管理:对有明确时间观念的时间安排做规划,并有提醒功能。在用户设置了明确时间安排,在哪一天,在哪一段时间,做什么事情,怎么设置提醒,需要重复的次数,设置计划的重要程度,不同的重要程度对应的颜色不一样。计划添加成功都可以在计划管理界面查看当前所有的计划,也可以按照条件去查找特定的计划。同时提供计划修改和删除功能,对于需要修改的计划,选择计划,可以打开计划详情界面,修改部分数据。对于管理员来说,能够查看所有用户的计划,能管理当前所有用户的计划,除了管理用户的计划安排,管理员还提供只看自己功能,当管理员只需要当作一个普通用户是,开启只看自己,便能够更方便的使用系统。
2.便签管理:对于没有明确时间要求的记录,用户可以记录自己的心情,记录以后的目标,可以选择便签是否放入专属界面进行展示,可以选择是否在展示界面进行置顶。便签查询可以查询出所有添加的便签,可以按照要求查询特定便签,提供便签的修改和删除功能。对于管理员来说,能够查看所有用户的便签,能管理当前所有用户的便签,除了管理普通用户的计划安排,管理员还提供只看自己功能,当管理员只需要当作一个普通用户使用时,开启只看自己,便能够更方便的使用系统。
其次,日程模块为了用户操作的便捷性,出来提供计划管理和便签管理外,将写计划和写便签加入菜单目录,方便用户一打开日程模块能够更快的使用日程功能。
3.2.5 用户模块
用户模块是系统对当前系统中所有使用用户的管理,负责普通用户和管理员,由两个的部分组成:
1.用户管理:对于通过登录界面,注册的用户,或者后台管理员手动添加的用户,能够在这里进行查看用户。提供对普通用户的添加,修改,删除,重置密码,冻结,解冻,重置专属链接操作。当用户忘记密码,又同时无法找回密码时,可以后管理员手动为用户重置密码,当用户有违规操作或者身份信息不全时,管理员可以冻结普通用户的账号。如有必要,管理员可以帮助用户修改信息,和重置专属链接。
2.管理员管理:管理员只能由系统后台添加,负责对普通用户进行管理,负责添加新的管理员账号,可以对管理员账号进行添加,修改,删除,置密码,冻结,解冻,重置专属链接操作。管理员拥有更多的权限,并且可以修改系统的介绍。
其次,用户模块和日程模块一样,为了管理员操作的便捷性,除了提供用户管理和管理员管理外,将添加用户和添加管理员加入菜单目录,方便用户一打开用户模块能够更快的使用需要的功能。
3.2.6 系统模块
系统模块主要介绍系统、网站、开发者的基本信息,这里命名为组织机构,这里内置一条数据,记录当前系统的基本情况。管理员可以组织机构进行编辑修改。除外,还有一个关于系统的界面,展示当前系统组织机构的基本信息。
3.2.7 专属链接模块
此模块为用户个人界面,为方便用户日常使用,将用户常用的操作,查看计划,查看便签,添加计划和便签,抽取出来,提供可视化的一个界面,不用用户再去登录后台。仅仅需要收藏链接地址,便可以满足用户日常操作。
用户的专属链接会在用户注册时候生成,用户在进入首页后将看到属于自己的专属链接,收藏链接后将不用再登录后台,如果用户专属链接泄露,用户看可以使用首页提供的重置专属链接功能,重置专属链接。
专属链接界面,提供可视化的日历展示计划,可以按月、按周、按日、按列表的方式展示自己的日程安排。再一侧,展示用户添加的可以展示和置顶的便签。并且,专属链接界面提供新增计划和便签功能,方便用户使用。
3.3 用例图
此系统有二个角色,用户和管理员,用户和管理员都通过后台登录进入系统,普通用户 登录有能访问个人信息模块和日程管理模块,和专属链接模块,能添加日程和修改个人信息。管理员登录后能访问用户所有功能,还有用户管理模块和系统模块。
用户
用户通过网站展示页的引导,点击进入后台登录界面,通过登录后能使用日程模块,可以添加,查询,修改,删除计划和便签。计划可以设置提醒功能,当到达添加提醒的时间时,界面将弹出提醒的消息。用户能通过首页的专属链接访问个人页面,界面将展示可视化展示当前用户的计划和便签。使用专属链接上和新增功能都,可以下面是用户的用例图:
图 3-1 用户的用例图
下面是对用户的用例图的描述:
表 3-1 用户用例图清单
用例编号 | 用例名称 | 目标 | 备注 |
---|---|---|---|
1 | 用户注册 | 完成用户注册 | 任何人 |
2 | 用户登录 | 用户用用户名和密码进行登录 | 已登录 |
3 | 忘记密码 | 用户如忘记密码可通过注册邮箱修改密码 | 已注册 |
4 | 访问首页 | 已经注册过的用户进入系统,可以查看统计,和专属链接,和重置专属链接 | 已登录 |
5 | 访问网站展示版 | 任何人都能通过网站访问,查看网址介绍 | 任何人 |
6 | 注销退出 | 用户不需要使用后台可退出系统 | 已登录 |
7 | 访问专属链接 | 已经注册用户会有一条无需登录的链接,展示自己的所有日程。 | 已注册,无需登录 |
8 | 重置专属链接 | 专属链接如果泄露,或者不能访问,用户可以在首页重置链接链接 | 已登录 |
9 | 修改个人信息 | 用户进入系统后可以通过个人信息管理进入修改个人信息界面,修改自己的信息 | 已登录 |
10 | 修改密码 | 用户通过填写原密码,修改成新密码 | 已登录 |
11 | 添加计划 | 用户可以按照自己的要求添加计划 | 已登录 |
12 | 查询计划 | 用户可条件搜索自己的计划 | 已登录 |
13 | 修改计划 | 用户可修改自己的计划 | 已登录 |
14 | 删除计划 | 用户可删除自己的计划 | 已登录 |
15 | 添加便签 | 用户可以按照自己的要求添加便签 | 已登录 |
16 | 查询便签 | 用户可条件搜索自己的便签 | 已登录 |
17 | 修改便签 | 用户可修改自己的便签 | 已登录 |
18 | 删除便签 | 用户可删除自己的计划 | 已登录 |
管理员
管理员通过后台登录界面登录后进入系统,和普通用户一样能够安排规划日程,添加、查询、编辑和删除计划和便签,能修改个人信息,访问个人链接,但是管理员能管理的日程不仅仅是自己的日程,可以管理系统中所有的日程,可以帮助用户对日程的管理,另外管理员能够对当前系统的用户和管理员进行管理,添加、查询、修改、删除、冻结、解除冻结、重置密码、重置专属链接。管理员账号只能通过后台管理员手动添加,无法通过首页登录界面注册,注册所得用户只是普通用户。管理员能访问系统模块,能够修改组织机构的数据,修改的数据将会在关于系统界面展示。用户下面是管理员的用例图:
图 3-2 管理员用例图
下面是管理员的用例描述清单:
表 3-2 管理员用例图清单
用例编号 | 用例名称 | 目标 | 备注 |
---|---|---|---|
19 | 管理员登录 | 管理员使用管理员帐号登录系统后台 | 通过管理员后台添加 |
20 | 忘记密码 | 管理员填写原密码,修改成新密码 | 任何人 |
21 | 注销退出 | 已登录用户可以退出系统 | 已登录 |
22 | 访问首页 | 管理员进入系统,可以查看统计,和专属链接,和重置专属链接 | 已登录 |
23 | 访问网站展示版 | 任何人都能通过网站访问,查看网址介绍 | 任何人 |
24 | 访问专属链接 | 系统所有用户会有一条无需登录的链接,展示自己的所有日程。 | 账号已经存在,无需登录 |
25 | 重置专属链接 | 专属链接如果泄露,或者不能访问,管理员可以在首页重置链接链接 | 已登录 |
26 | 修改个人信息 | 管理员可以通过个人信息管理进入修改个人信息界面,修改自己的信息 | 已登录 |
27 | 修改密码 | 管理员通过填写原密码,修改成新密码 | 已登录 |
28 | 添加计划 | 管理员可以按照自己的要求添加自己计划 | 已登录 |
29 | 查询计划 | 管理员可以条件查询系统所有的计划,并且可以只看自己的计划 | 已登录 |
30 | 修改计划 | 管理员可以修改所有的计划 | 已登录 |
31 | 删除计划 | 管理员可以删除所有的计划 | 已登录 |
32 | 添加便签 | 管理员可以按照自己的要求添加自己的便签 | 已登录 |
33 | 修改便签 | 管理员可以修改所有的计划 | 已登录 |
34 | 删除便签 | 管理员可以删除所有的计划 | 已登录 |
35 | 查询便签 | 管理员可以条件查询系统所有的便签,并且可以只看自己的便签 | 已登录 |
36 | 添加用户 | 管理员可查看每个商品的评价信息 | 已登录 |
37 | 修改用户 | 用户购买商品后管理员需在后台处理 | 已登录 |
38 | 查询用户 | 管理员可查看总的销售记录 | 已登录 |
39 | 删除用户 | 管理员可删除所有的普通用户 | 已登录 |
40 | 添加管理员 | 管理员可手动添加管理后台的管理员 | 已登录 |
41 | 修改管理员 | 管理员可修改管理员的账号信息 | 已登录 |
42 | 查询管理员 | 管理员可条件查询所有管理员 | 已登录 |
43 | 删除管理员 | 管理员可删除所有管理员账号 | 已登录 |
44 | 冻结账号 | 管理员可冻结指定普通用户或者管理员的账号,禁止他登录系统 | 已登录 |
45 | 解除冻结 | 管理员可解除已经冻结的账号 | 已登录 |
46 | 重置账号密码 | 管理员可重置指定用户或者管理员的账号密码 | 已登录 |
47 | 重置账号专属链接 | 管理员可重置指定用户或者管理员的专属链接 | 已登录 |
48 | 修改组织机构 | 管理员可访问系统组织机构,并且能修改当前的组织机构 | 已登录 |
49 | 查询组织机构 | 管理员可查看当前系统内置的组织机构信息 | 已登录 |
50 | 访问关于系统 | 管理员可访问关于系统界面,查看当前组织机构的信息 | 已登录 |
3.4 本章小结
本章主要在对用户需求分析的基础上,进行了可行性分析、模块分析和具体的角色用例分析。首先对系统的可行性进行了讨论(经济可行性、技术可行性、操作可行性),然后分析系统的各个模块,展示了系统需要实现的功能。接着进行用例分析,根据用户、管理员两个角色分别进行描述,首先简要介绍系统角色的用例,再画出用例图,然后对用例图的各个用例进行具体描述,通过表格的形式进行展示。
4 系统概要设计
4.1 系统总体设计
系统一共分三个板块,网站前台、网站后台、个人界面,再细分为七个模块网站展示模块、注册登录模块、个人信息模块、日程模块、用户模块、系统模块和专属链接模块。各个模块分别拥有不同的功能,网站展示模块有主页、时间轴和关于我们功能,注册登录模块有登录、注册和忘记密码功能,个人信息模块有修改个人信息和修改密码功能,日程模块有计划管理和便签管理功能,用户模块有用户管理和管理员管理功能,系统模块有组织机构管理和关于系统功能,专属连接模块有计划日历、便签墙和导航栏功能。
总功能图如图所示:
图 4-1 系统功能图
4.2 系统模块设计
系统分管理员和用户2个用户角色。管理员可拥有网站展示模块、注册登录模块、个人信息模块、日程模块、用户模块、系统模块和专属链接模块,用户拥有网站展示模块、注册登录模块、个人信息模块、日程模块和专属链接模块。以下是按照系统角色模块图。
图 4-2 系统角色模块图
4.2.1 用户角色模块设计
用户是系统功能的主要使用者,用户注册登录后,使用日程模块来规划自己的日程,可以使用专属链接模块方便自己的日程使用,也可以使用系统的其他功能模块。图 4-3 显示的是用户的模块图:
图 4-3 用户模块图
4.2.2 管理员角色模块设计
管理员能对相同的用户进行管理,能对系统的设置进行修改,能对系统中存在的所有日程进行管理,同样,管理员也能使用用户的基本日程规划功能。图 4-4 是管理员的模块图:
图 4-4 管理员模块图
4.3 数据库设计
数据库是系统信息的有效中心,一个优秀的数据库设计应考虑到系统工程的功能,系统的执行速度,以及是否可能引起系统工作的异常等。数据库的设计合理与否不仅直接影响到程序设计的质量,而且影响到系统的实现。
数据(Data)
数据是数据库中存储的对象。数据在大多数人头脑中的第一反映就是数字。其实数字只是最简单的一种数据,是数据的一种传统和狭义的理解。广义的理解,数据的种类很多,文字,图形,图象,声音等都是数据,可以对数据做以下定义:描述事物的符号记录称为数据。
数据库(DataBase)
数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。数据库是指长期存在计算机内的,有组织的,可共享的数据集合。数据库中的数据按一定的数据模型组织,描述和存储,具有较高的数据独立性和易扩展性,并可以为各种用户共享。
数据库管理系统(DataBase Management System,简称 DBMS)
数据库管理系统是位于用户和操作系统之间的一层数据管理软件。它主要有以下几个方面的功能:
① 数据定义功能
DBMS 提供数据定义语言,用户通过它可以方便的对数据库中的数据对象进行定义。
② 数据操纵功能
DBMS 还提供数据操纵语言,用户可以使用这语言操纵数据实现对数据库的基本操作。如查询,插入,删除和修改等。
③ 数据库的运行管理
数据库在建立,运行和维护时由数据库管理系统统一管理,统一控制,以保证数据的安全性,完整性,多用户对数据的并发使用乃发生故障后的系统恢复。④ 数据库的建立和维护功能
它包括数据库初始的输入,转换功能,数据库的转存,恢复功能,数据库的重组织功能和性能监视。这些功能通常是由一些实用的程序完成的。
4.3.1 数据库表结构
在创建数据库表时一般需要注意几个方面,一是每个表中都需要定义一个主键,表示数据唯一性,也正是因为这一特性,所以在向表中插入数据时 id 不能为空,二是每个字段可规定长度也可以不规定长度,下面以便签表和用户表说明数据库表结果:
便签表
便签表中特别的是 id、status 和 userid,前两个字段表示识别便签的唯一主键和当前状态,userid 是关联用户表中的主键,表示这个便签属于谁。其他字段是便签必须的信息,
图 4-1 是便签表的 ER 图:
图 4-1 便签表的 ER 图
表 4-1 是字段的具体描述:
表 4-1 便签表
名称 | 类型 | 备注 |
---|---|---|
Id | int(11) | 主键 id |
Pid | int(11) | 父级 id(备忘录归档) |
Type | int(11) | 便签类型(0 便签 1 文件夹) |
Userid | int(11) | 关联用户的 ID |
Title | varchar(255) | 标题(标题自动生成 前 10 个字) |
Text | text | 便签 |
is_show | int(11) | 是否展示(0:否 1:是) |
is_top | int(11) | 是否置顶(0:否 1:是) |
is_wait | int(11) | 是否待办(0:否 1:是) |
wait_status | int(11) | 代办状态(0:待办 1:完成) |
Createtime | datetime | 创建时间 |
Updatetime | datetime | 更新时间 |
Version | int(11) | 保留字段 |
用户表
用户表里面主要的字段是 id、roleid、deptid 和 status,id 代表此用户编号唯一,roleid 是对应角色表 id,deptid 是对应部门 id,也就是说,用户表关联了角色表和部门表。
图 4-1 是用户表的 ER 图:
图 4-2 用户表的 ER 图
表 4-2 是用户表的详细信息:
表 4-2 用户表
名称 | 类型 | 备注 |
---|---|---|
id | int(11) | 主键 id |
avatar | varchar(255) | 头像 |
account | varchar(45) | 账号 |
password | varchar(45) | 密码 |
salt | varchar(45) | md5 密码盐 |
name | varchar(45) | 名字 |
birthday | datetime | 生日 |
sex | int(11) | 性别(1:男 2:女) |
varchar(45) | 电子邮件 | |
phone | varchar(45) | 电话 |
roleid | varchar(255) | 角色 id |
deptid | int(11) | 部门 id |
status | int(11) | 状态(1:启用 2:冻结 3:删除) |
createtime | datetime | 创建时间 |
linkcode | varchar(45) | 链接 code |
version | int(11) | 保留字段 |
对于这两个表的关系
4.3.2 数据库表设计
根据平台的需求分析和功能模块的划分,所涉及的实体有计划、便签、部门、字典、登录日志、菜单、通知、操作日志、菜单角色关联项、角色、组织机构、用户。因此系统的定义数据库主要包含 13 张表:计划表 plan,便签表 note、部门表 sys_dept、字典表 sys_dict、报销表 sys_expense、登录日志表 sys_login_log、菜单表 sys_menu、通知表 sys_notice、操作日志表 sys_operation_log、菜单角色关联表 sys_relation、角色表 sys_role、组织机构表 sys_setup、用户表 sys_user。主要的建表语句为 create table 表名。
下面以组织机构表为例:
购物车表 sys_setup
图 4-1 数据库表示例
建表的语句为:
CREATE TABLE
sys_setup
(
id
int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 id',
website_name
varchar(50) DEFAULT '' COMMENT '网站名称',
website_code
varchar(50) DEFAULT '' COMMENT '网站英文简称',
website_url
varchar(50) DEFAULT '' COMMENT '网站地址',
logo
varchar(100) DEFAULT '' COMMENT 'LOGO',
toptitle
varchar(50) DEFAULT NULL COMMENT '顶端标题',
keyword
varchar(50) DEFAULT NULL COMMENT '关键字',
describe
varchar(255) DEFAULT NULL COMMENT '描述',
username
varchar(50) DEFAULT NULL COMMENT '主办方',
tel
varchar(50) DEFAULT NULL COMMENT '联系电话',
hotline
varchar(50) DEFAULT NULL COMMENT '服务热线',
address
varchar(50) DEFAULT NULL COMMENT '地址',
email
varchar(50) DEFAULT NULL COMMENT '邮箱',
about
varchar(255) DEFAULT NULL COMMENT '关于系统', PRIMARY KEY (
id
)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='组织机构';
在数据库中运行这个 SQL 语句,就会创建这个表,然后就可以对这个表进行数据的相关操作了。
4.4 本章小结
本章主要对系统进行概要设计。首先通过系统功能模块图描述了系统需要实现的总体功能,接着对数据库的各个概念进行大致的解释,然后进行具体的数据库结构设计及数据库表设计,并用两个比较典型的数据库表进行表字段的说明解释,并说明创建数据库表的 SQL 语句,更清晰明了。
5 详细设计与功能实现
5.1 类图
类图用来描述系统中各个模块中类之间的关系,包括类或者类与接口的继承关系,类之间的依赖、聚合等关系。它还描述每一个类的详细信息,包括变量和方法等。本系统中的实体类根据数据库表分为十三个。图 5-1 描述了各个类之间的关系:
图 5-1 系统类图
5.2 功能实现
5.2.1 网站展示模块
用户通过网站访问网站前台,游览首页系统功能介绍,在页面头部可以看到网站 logo,右侧是导航栏负责跳转到其他页面,可以通过导航栏访问时间轴和关于我们页面,也可以通过点击“进入我的日程”按钮进入系统后台。页面中部是页面详情,页面底部是记录网站信息。这里主要介绍页面头部。
主要代码:
界面使用前段采用 Bootstrap 框架,使用栅格系统实现自适应,局部采用 flex 弹性布局实现布局调整,必要时直接写行内样式调整大小,以下是界面 HTML 内容。
图 5-2 页面头部 HTML 代码
页面跳转方法 link()采用 JavaScript 编写,其中 ${ctxPath}为项目路径,在加载页面前由模板引擎预处理到界面上。
图 5-3 js 中 link 方法
5.2.2 注册登录模块
用户点击注册进入注册页面,填写用户信息后提交时,将用 JavaScript 编写的 validate()方法对信息进行验证,文本框不允许为空且对邮箱格式进行正则表达式校验,信息填写成功后将此用户信息插入到数据库中。之后将会自动使用注册的账号密码为用户登录,验证成功后进行 form 表单提交,跳转到后台的 login 方法,到根据用户查数据库中的用户信息,看密码是否匹配,匹配则登录成功,不匹配则跳出提示。
主要代码:
用户注册时需进行验证,校验两场密码是否一致。
图 5-4 两场密码一致性验证
用户注册成功会自动使用账号密码登录。
图 5-5 注册成功自动登录
用户登录时根据用户输入的账号和密码信息到后台,shiro 框架会执行 login 方法,自动校验账号密码和用户状态。
图 5-6 登录时进行账户检验
5.2.3 个人信息模块
用户进行系统首页,进入修改个人信息界面,后台在 session 中取得当前用户的用户 id,再通过用户 id 查询当前用户个人信息,获取到个人信息后,将个人信息存放在 request 作用域中,会将信息和界面一起返回展示。修改完成后,js 会使用 AJAX 请求,将修改的信息发送到后台,后台执行修改操作:
用户访问修改个人信息时,返回界面和数据。
图 5-7 返回个人信息和页面
数据存放在 request 作用域中,HTML 将回显数据。
图 5-8 个人信息页面
用户填写修改信息后,点击提交,当判断当前用户和修改用户一致时,后台会执行用户信息更新操作。
图 5-9 修改个人信息保存
5.2.4 日程模块
用户进入计划管理界面时,系统会访问 list 接口请求计划列表,如果是用户,返回的自己的计划,如果是管理员,返回全部计划。用户可以按照自己要求添加计划,后台会执行添加方法时会自动计算完善计划数据。数据列表展示时会按照不同的重要程度,使用不同的标签颜色区别计划。
主要代码:
查询计划时对用户和管理员不同的列表查询。
图 5-10 不同角色查询不同列表
计划添加时,自动补缺计划数据,添加用户 id,创建时间和计算时间长度。Creat()方法和 getTimeLength()方法为自定义方法,这里仅举例说明 Creat()。
图 5-11 自动补全信息
Creat()添加创建时间和拥有者 id,方法展示:
图 5-12 Creat()方法展示
列表展示时根据不同的重要程度,设置不同颜色标签。
图 5-13 列表展示不同颜色标签
用户模块仅管理员能够访问,进入用户模块前后台会进行权限检测,检测通过才能操作,否则提示“权限不足”。管理员能对系统所有用户的账号进行重置密码,冻结等操作。
主要代码:
管理员操作用户模块前的权限检测,判断登录用户的角色和部门是否为管理员,否则抛出权限异常提醒。
图 5-14 管理员操作检查权限
管理员冻结账户操作所执行方法。
图 5-15 冻结账户
5.2.6 系统模块
用户点击系统管理,进入组织机构管理,系统会通过请求返回界面。界面加载是会请求组织机构列表,管理员能够修改组织机构,关于系统请求组织机构信息,展示组织机构保存的信息。
主要代码:
菜单点击组织机构管理,跳转到列表页面。
图 5-16 跳转组织机构页面
列表页面访问 list 接口,请求数据。
图 5-17 访问 list 接口
管理员修改组织机构,会发送请求,修改成功会有提示信息。
图 5-18 更新组织机构操作
5.2.7 专属链接模块
用户通过收藏夹或者首页专属链接通知访问个人连接界面,无需登录,进入专属链接界面,会使用发送ajax请求查询当前月的计划和便签。同时请求当天的提醒列表,加载提醒列表后,对提醒时间大于当前时间的提醒任务设置定时提醒。
主要代码:
加载当前月的计划。界面加载执行请求,请求成功都调用回调函数加载计划日程。
图 5-19 请求当月计划的 AJAX 请求
加载当天定时提醒计划,在请求成功后,循环生成提醒内容_html,并生成定时提醒窗体。
图 5-20 创建提醒窗口
打开提醒会播放音乐提醒,音乐功能实现由 H5 标签 audio 实现。
图 5-21 提醒功能 audio 便签部分
5.3 本章小结
本章主要进行详细设计和具体的功能实现,首先是系统的整体类图,通过对类图中各个数据表的关系,对系统整体有了大致的了解。然后具体描述各个系统模块的实现,实现功能的流程及主要代码的展示。
6 系统测试与效果演示
6.1 功能模块验证
6.1.1 网站展示模块验证
用户通过浏览器访问网站地址进入网站展示界面的首页,首页将介绍日程管理系统的基本功能,规划日程,记录便签,设置提醒,用户可以通过右上角的“进入我的日程”按钮进入系统登录页面,也可以通过首页轮播图上的“开始使用”按钮进入系统。表 6-1 是对网站展示模块用例测试及结果的记录:
表 6-1 网站展示模块主要测试用例表
功能描述 | 测试步骤 | 预期结果 | 测试结果 |
---|---|---|---|
测试页面切换功能 | 先后导航栏点击时间轴和关于我们 | 点击时间轴进入时间轴界面;点击关于我们进入关于我们界面; | 通过 |
测试进入系统功能 | 点击“进入我的日程”按钮;点击“开始”按钮; | 进入登录界面;进入登录界面; | 通过 |
6.1.1 注册登录模块验证
用户进入系统登录界面后,需要进行输入账号密码进行登录,账号和密码匹配后登录成功,否则弹出提示信息。如没有账号,需要进行注册,注册会校验邮箱和两场密码输入情况。表 6-2 是对注册登录模块用例测试及结果的记录:
表 6-2 注册登录模块主要测试用例表
功能描述 | 测试步骤 | 预期结果 | 测试结果 |
---|---|---|---|
测试注册信息验证功能 | 输入不正确邮箱,输入 111;密码和确认密码填写不同的秘密密码填写:1 和确认密码填写 111; | 提示“邮箱地址格式有误”提示“两次密码不一致”; | 通过 |
测试登录信息验证功能 | 输入未注册用户信息,账号填写 admin1,密码填写 1;输入错误的昵称或者密码,账号填写 admin,密码填写 1 | 提示“账号密码错误”;提示“账号密码错误” | 通过 |
6.1.1 个人信息模块验证
用户进入系统后,可以查看自己的个人信息,并且可以修改个人信息,修改的个人信息再次查看将会改变。表 6-3 是对个人信息模块用例测试及结果的记录:
表 6-3 个人信息模块主要测试用例表
功能描述 | 测试步骤 | 预期结果 | 测试结果 |
---|---|---|---|
测试修改个人信息功能 | 进入修改个人信息,修个人信息后关闭窗户,再次打开; | 再次打开时能够看见修改后的信息; | 通过 |
测试修改密码功能 | 进入修改密码界面,修改密码。退出系统,使用新密码登录; | 使用新密码登录成功 | 通过 |
6.1.1 日程模块验证
日程模块拥有添加日程,查询日程,添加计划,查询计划,日程提醒等功能,本次测试计划的添加和提醒和查询功能。 表 6-4 是对日程模块用例测试及结果的记录:
表 6-4 日程模块主要测试用例表
功能描述 | 测试步骤 | 预期结果 | 测试结果 |
---|---|---|---|
测试计划添加功能 | 添加一个计划,打开计划管理; | 新添加的计划在计划管理第一条; | 通过 |
测试计划提醒功能 | 添加一个计划,开启提醒,提醒时间设置一分钟后; | 到提醒时间,弹出提醒窗口; | 通过 |
测试计划查询功能 | 打开计划管理,输入查询计划的标题,点击搜索; | 列表只显示和查询内容相关的计划; | 通过 |
6.1.2 用户模块验证
用户模块仅仅管理员账号能够访问,可以管理系统的普通用户和管理管理员。在用户管理中查看系统的普通用户。可以对普通用户的账号进行重置密码、冻结等操作。表 6-5 是对用户模块用例测试及结果的记录:
表 6-5 用户模块主要测试用例表
\功能描述\ | \测试步骤\ | \预期结果\ | \测试结果\ |
---|---|---|---|
测试用户管理操作功能 | 进入用户管理,冻结一个用户,再登录;选择账号,点击重置密码 | 用户无法登录,提示“账号被冻结”;使用新密码 111111 登录,登录成功。 | 通过 |
测试添加管理员功能 | 菜单点击添加管理员,填写并提交信息,使用新账号登录。 | 登录成功,并且角色显示为管理员。 | 通过 |
6.1.3 系统模块验证
管理员能够访问系统模块,由组织机构管理和关于系统两部分组成,组织机构记录系统的基本数据,管理员可以修改组织机构。修改后的数据将会在关于我们中展示。表 6-6 系统模块用例测试和结果的记录:
表 6-6 系统模块主要测试用例表
\功能描述\ | \测试步骤\ | \预期结果\ | \测试结果\ |
---|---|---|---|
测试修改组织机构功能 | 点击组织机构管理,点击修改,修改部分信息。 | 关于我们界面展示的信息变更为修改后的信息; | 通过 |
6.1.4 专属链接模块验证
专属连接界面展示当前月用户所添加的计划,新添加的计划将会立即展示在日历界面上,便签将展示在右侧的便签墙上,导航栏能够通过按钮点击进入官网和后台。表 6-7 专属链接模块用例测试和结果的记录:
表 6-7 专属链接模块主要测试用例表
功能描述 | 测试步骤 | 预期结果 | 测试结果 |
---|---|---|---|
测试界面展示功能 | 通过收藏夹点击专属链接; | 专属连接正常打开,展示已有的计划和便签; | 通过 |
测试导航栏跳转功能 | 点击“官网主页”;点击“进入控制台”; | 进入网站主页;进入后台系统; | 通过 |
6.2 效果展示
6.2.1 网站展示模块页面显示
用户通过浏览器访问网站地址进入网站展示界面的首页,首页将介绍日程管理系统的基本功能,规划日程,记录便签,设置提醒。首页图 6-1 是用网站首页页面:
![](https://www.writebug.com/myres/static/uploads/2021/11/9/bf1def5c5381abc9dd1f3852ce66b677.writebug)
图 6-1 用户注册页面
用户可以继续访问网站的其他部门,点击导航栏上的时间轴,可以进入时间轴页面,里面记录了网站的建设历程。图 6-2 是网站时间轴界面:
![](https://www.writebug.com/myres/static/uploads/2021/11/9/7bb1e51cdb4c357a0725e82165b5c188.writebug)
图 6-2 用户登录页面
用户可以通过导航栏访问网站展示的第三个部分,关于我们页面,会介绍开发者和网站的一些基本信息。图 6-3 是网站关于我们界面:
图 6-3 用户登录页面
6.2.2 注册登录模块页面显示
用户访问网站展示模块后,将会引导进入登录界面,用户需要使用系统进必须使用账号密码进行登录,登录成功后会进入系统首页。登录界面还拥有记着密码,自动登录等快捷操作。图 6-4 是用户登录页面:
![](https://www.writebug.com/myres/static/uploads/2021/11/9/317b45be42b9324fa43367d037f00908.writebug)
图 6-4 用户登录页面
若没有账户,需要先进行注册,点击“没有账号,立即注册”,即可进入注册界面,输入账号和邮箱等基本信息,完成注册后将会自动登录系统.图 6-5 是用户注册界面:
![](https://www.writebug.com/myres/static/uploads/2021/11/9/21e3fea9cf67104897dfd0507fa5201e.writebug)
图 6-5 用户注册页面
若当前用户忘记密码,可以点击忘记密码,进入忘记密码界面,输入必要信息,当信息校验成功,即可修改账号密码。图 6-6 是用户忘记密码界面:
![](https://www.writebug.com/myres/static/uploads/2021/11/9/5d979a9edfb0e9d6b032d24a554f47fc.writebug)
图 6-6 用户忘记密码页面
6.2.3 个人信息模块页面显示
用户在登陆成功后将进入系统首页,首页上会统计系统的注册人数和计划数等,会展示用户的专属链接。图 6-7 是系统首页页面:
图 6-7 系统首页页面
用户访问个人信息管理,可以使用修改个人信息和修改密码功能,点击修改个人信息,可以查看个人信息。图 6-8 是修改个人信息页面:
![](https://www.writebug.com/myres/static/uploads/2021/11/9/29d6a4c085999aa010f1b96fec5f05b7.writebug)
图 6-8 修改个人信息页面
用户需要修改密码可以进入修改密码界面。图 6-9 是修改密码界面:
图 6-9 修改密码页面
6.2.4 日程模块页面显示
用户日程模块包括计划管理和便签管理,用户在添加自己的计划后,自己的计划会在计划管理中展示。图 6-10 是计划管理页面:
![](https://www.writebug.com/myres/static/uploads/2021/11/9/9c6b00ea1a51d3ea7c5ea4b742474463.writebug)
图 6-10 计划管理页面
当用计划设置了提醒,并且到达提醒时间时,将会弹出提醒界面,并且播放音乐。图 6-11 是提醒页面:
图 6-11 提醒页面
用户可以添加自己的计划,可以设置提醒、重复等高级功能,添加完成的计划会在计划管理中展示。图 6-12 是提醒界页面:
图 6-12 用户登录页面
除了有时间规划的计划外,用户可以添加无时间安排的便签。便签管理可以看到当前用户所添加的便签。图6-13是便签管理页面:
图 6-13 便签管理页面
用户用过写便签界面添加标签,或者在便签管理可以添加便签。图 6-14 是写便签页面:
图 6-14 写便签页面
6.2.5 用户模块页面显示
用户模块仅仅管理员账号能够访问,可以管理系统的普通用户和管理管理员。在用户管理中查看系统的普通用户。可以对普通用户的账号进行重置密码、冻结等操作。图 6-15 是用户管理页面:
图 6-15 用户管理页面
当前系统的管理员可以在管理员管理中查看。图 6-16 是管理员管理页面:
图 6-16 管理员管理页面
管理员只能通过后台进行添加,用户注册功能生成的账户是普通用户,没有用户管理的权限。图 6-17 是添加管理员界面:
图 6-17 添加管理员页面
6.2.6 系统模块页面显示
管理员能够访问系统模块,由组织机构管理和关于系统两部分组成,组织机构记录系统的基本数据,管理员有修改数据的权限。图 6-18 是组织机构管理页面:
图 6-18 组织机构管理页面
关于我们界面展示组织机构中记录的系统基本数据。图 6-19 是组织机构管理页面:
图 6-19 关于我们页面
6.2.7 专属链接模块页面显示
管理员和用户在登录系统后,首页将展示专属连接和重置专属连接的方法。图 6-20 是后台首页专属链接界面:
![](https://www.writebug.com/myres/static/uploads/2021/11/9/f28448e7fa33de2680a35824fbda6a7f.writebug)
图 6-20 后台首页专属链接页面
使用者通过首页或者已经收藏的专属链接进入个人界面,将展示使用者自己添加的计划和便签:图 6-21 是专属链接界面:
图 6-21 专属链接页面
6.3 本章小结
本章对系统进行测试以及进行系统效果的演示。测试主要分七个模块,通过对具体的操作进行解释,罗列了各个模块的测试用例,展示了具体的测试操作过程,看各个功能模块是否能正常进行,最后将使用的过程以截图的形式展示出来。至此整个开发的流程全部结束,系统可以投入正常使用。
7 总结与展望
7.1 工作总结
2017 年 12 月,我开始了我的毕业设计工作,时至今日,论文已经撰写完成。从最初拿到选题的无从下手,到自己慢慢摸索着进入状态,对整体的思路逐渐清晰,到最后写作中的反复琢磨修改,整个过程让我感慨万千。为毕业设计忙碌的日子让我拥有了难忘的回忆、收获和心得。我的课题是《基于 mybaits 的日程时间管理系统》,经过老师的指点,我明确了毕设的最终目标是设计出一个在线日程管理网站。日程管理系统功能不是太多,但是细分为很多模块,在编写过程中遇到很多困难,需要锲而不舍的精神,我首先确定了系统框架,再经过多次的斟酌和完善,最终确定了功能框架、工具的使用及数据源的选择。经过多次的测试和调试,系统最终可以正常运行,并能实现各个功能模块。在整个系统的开发过程中,我上网查阅资料,阅读各种文献,积累自己的知识量,提高技术能力。最大的收获是自学能力的提高,面对有些新的知识领域,有信心,不惧怕,积极面对。在自己和他人的帮助下,我逐渐清晰了系统的框架和流程,最终实现了系统的大部分功能。
7.2 问题与改进
在整个毕设的过程中,不可能一直都是顺风顺水的,会遇到很多的小问题,首先是在对题目的理解上太斤斤计较,对小的技术细节太过担心自己的选择会跑题,常见主流的日程管理软件都是手机版,我做的又是网站版,担心最后自己做的不实用,总之各种担忧,但是进过一段是的了解后,我逐渐想清楚了,不能局限于技术,任何平台都是其适用的人群。自己的规划有点晚,时间十分紧急,完成质量没有达到自己的完美状态。在撰写论文时,没有严格的按照论文格式的要求来,导致论文存在的问题很多,需要大量修改,花费了很多时间在格式的修改上,在内容方面,起初也没有按照软件开发的流程来,导致大篇幅修改。在时间上,也没有很合理的安排,做一段时间后很久又没有理会了,总是间歇性的积极性。后面我很抓紧时间,每天定时定量完成,进一步做好规划,认真查阅资料,分析资料,进行论文构思和撰写,而且认真阅读论文的要求,严格按照要求来,一步一个脚印的完成。
7.3 展望
在当今这个经济高速发展的社会里,日程管理已经成为人们生活中很重要的部分。具有很大的开发潜力。随着电脑上网的发展,越来越多的人们可以从网络中浏览信息,享受服务,享受高科技带来的便利。因此网络市场前景相当广阔,
作为在线日程管理系统,目前人们对于时间管理的概念不断的加深,时间管理的需求也不断加大。对于目前已经存在的许多所提供的服务在功能和安全问题上存在很多的问题,还有很大的改进空间,比如:内容不详细、不符合使用者生活习惯,不能体现日程管理的便捷性,所有日程管理软件的建设还有很长的路走。针对我制作的日程管理系统来说,功能只能达到部分用户的需求,还有很大的改进空间,随着技术日新月异的发展,网络概念也在不断向前延伸,应用范围越来越广,我们在做系统开发时要求也越来越高,需要我们不停地去探索新的需求,学习新的技术,使得系统更加完善,集成度更加深入,功能更加符合用户需求。没有最好,只有更好,随着技术的发展,还会有崭新的天地等我们去开拓。
参考文献
[1] 王家华.软件工程[M].沈阳:东北大学出版社,2001.
[2] 朱福喜,黄昊.Java 项目开发与毕业设计指导[M].北京:清华大学出版社,2008.
[3] 朱福喜,唐晓军等.Java 程序设计技巧与开发实例[M].北京:人民邮电出版社,2007.
[4] 曾顺.精通 JavaScript[M].北京:人民出版社,2008.
[5] 高飞.MySQL 入门经典[M].北京:机械工业出版社,2013.
[6] 张洪斌.java 高级程序设计[M].北京:中科多媒体出版社,2001.
[7] 孙鑫.Java Web 开发详解[M] .北京:电子工业出版社,2006.
[8] 孙卫琴,李洪成.Tomcat 与 Java Web 开发技术详解[M].电子工业出版社,2013.
[9] BruceEckel.Java 编程思想[M].机械工业出版社,2013.
[10] 威尔顿 P[美],科尔比 J[美].SQL 入门经典[M].译者:敖富江.北京:清华大学出版社,2006.
[11] 邓子云.JSP 网络编程从基础到实践[M].北京:电子工业出版社,2013.
[12] 郝玉龙.JavaEE 编程技术[M].北京:北京交通大学出版社,2015.
[13] (美)Bruce Eckel 著,陈昊鹏译.Java 编程思想(第三版)[M].北京:机械工业出版社,2007.
[14] 李建中,王珊.数据库系统原理(第 2 版)[M].电子工业出版社,2004.
[15] 张长富,黄中敏.JavaScript 动态网页编程实例手册[M].北京:海洋出版社,2005.
[16] Martin Fowler.重构 改善既有代码的设计[M].北京:人民邮电出版社,2010
[17] (美)Robert Vieria.SQL Server 2008 编程入门经典(第 3 版)[M].北京:清华大学出版社,2009
[18] Stoyan Stefanov.面向对象编程指南[M].北京:人民邮电出版社,2013
参考文献
- 云南城投教育投资公司集团级项目管控系统的设计与实现(山东大学·张亚南)
- 广告企业办公自动化管理系统的设计与实现(吉林大学·何浩然)
- 基于SSH框架的人力资源管理系统的设计与开发(电子科技大学·唐伟)
- 学生综合信息管理平台的设计与实现(吉林大学·刘铁刚)
- 基于OAuth2.0协议的企业分布式授权系统设计与实现(华中科技大学·支猛)
- 基于J2EE的辽油通信小灵通服务下载系统的设计与实现(电子科技大学·吴文哲)
- 社交化协同日程管理系统的设计与实现(北方民族大学·丁浩)
- 基于J2EE的工作流考勤系统的设计与实现(吉林大学·王奇峰)
- 基于J2EE的工作流管理系统的研究与实现(中国农业大学·梁言兵)
- 小型企业办公自动化系统设计与实现(大连海事大学·杨旭)
- 基于J2EE的工作流考勤系统的设计与实现(吉林大学·王奇峰)
- 天津中建地产公司时间管理系统的设计与实现(山东大学·李锡文)
- 基于JAVA平台的企业人事档案管理系统的设计与实现(吉林大学·王晓君)
- 基于OAuth2.0协议的企业分布式授权系统设计与实现(华中科技大学·支猛)
- 基于J2EE的工作流考勤系统的设计与实现(吉林大学·王奇峰)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计驿站 ,原文地址:https://m.bishedaima.com/yuanma/35746.html