【网站项目】基于springboot的个人时间管理系统

作者简介:多年一线开发工作经验,分享技术代码帮助学生学习,独立完成自己的网站项目。

  1. 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~
  2. 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
  3. 赠送开题报告模板,帮助书写开题报告。

作者完整代码目录供你选择:

  1. 《Springboot网站项目》400套
  2. 《ssm网站项目》800套
  3. 《小程序项目》300套
  4. 《App项目》500套
  5. 《Python网站项目》600套

⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡

项目展示

【网站项目】基于springboot的个人时间管理系统_第1张图片【网站项目】基于springboot的个人时间管理系统_第2张图片【网站项目】基于springboot的个人时间管理系统_第3张图片【网站项目】基于springboot的个人时间管理系统_第4张图片【网站项目】基于springboot的个人时间管理系统_第5张图片

【网站项目】基于springboot的个人时间管理系统_第6张图片【网站项目】基于springboot的个人时间管理系统_第7张图片

摘 要

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括时间管理系统的网络应用,在外国时间管理系统已经是很普遍的方式,不过国内的管理系统可能还处于起步阶段。时间管理系统具有时间管理功能的选择。时间管理系统采用java技术,基于springboot框架,mysql数据库进行开发,实现了首页,个人中心,系统公告管理,用户管理,时间分类管理,事件数据管理,目标数据管理,用户日记管理等内容进行管理,本系统具有良好的兼容性和适应性,为用户提供更多的时间管理信息,也提供了良好的平台,从而提高系统的核心竞争力。

本文首先介绍了设计的背景与研究目的,其次介绍系统相关技术,重点叙述了系统功能分析以及详细设计,最后总结了系统的开发心得。

关键词:java技术;时间管理系统;mysql;

1 绪 论

1.1课题背景与意义

在Internet高速发展的今天,计算机的应用几乎完全覆盖我们生活的各个领域,互联网在经济,生活等方面有着举足轻重的地位,成为人们资源共享,信息快速传递的重要渠道。在中国,网上管理的兴起也同时飞速发展着。为了适应现代人类强烈的时间观念,对于时间管理传统管理方式的缺点,互联网的出现打破了这种局限性,给了广大用户更大的选择空间,促进了时间管理系统,有效的避免了时间管理缭乱的局面,方便用户。本系统中,管理员可以以最方便的形式,在最短的时间内查找最多的时间管理信息。因此,系统无疑给人们的生活带来了极大的方便,网络的应用让时间和距离不再是局限。

通过时间管理系统的研究可以更好地理解系统开发的意义,而且也有利于发展更多的智能系统,解决了人才的供给和需求的平衡问题,时间管理系统的开发建设,由于其开发周期短,维护方便,所以它可以适应时间管理体系基本要求。

1.3 系统实现的功能

本次设计任务是要设计一个时间管理系统,通过这个系统能够满足时间管理的管理功能。系统的主要功能包括首页,个人中心,系统公告管理,用户管理,时间分类管理,事件数据管理,目标数据管理,用户日记管理等功能。

管理员可以根据系统给定的账号进行登录,登录后可以进入时间管理系统,对时间管理系统所有模块进行管理。包括查看和修改自己的个人信息以及登录密码。

该系统为每一个用户都分配了一个用户账号,用户通过账号的登录可以在系统中查看时间管理信息及对个人信息进行修改等功能。

1.4 课题研究现状

现今,越来越多的人乐于选择一项合适的管理方案,但是普通用户往往受到管理经验地限制,这时,时间管理系统作为新型产业崛起,大量时间管理制度进入人们生活,而时间管理系统制无疑是时间管理信息管理的最好制度,在这样成功的管理模式背景下,时间管理信息也越来越多。但是随着时间管理系统信息的增多,时间管理系统的管理成为了一个难题。高效便捷地管理时间管理成为了转变管理模式,与时代兼容的当务之急。

时间管理系统,为用户随时随地查看时间管理信息提供了便捷的方法,更重要的是大大的简化了管理员管理时间管理信息的方式方法,更提供了其他想要了解时间管理信息及运作情况以及挑选方便快捷的可靠渠道。相比于传统时间管理方法,这样的电子信息管理更为简洁方便,在时间管理系统维护信息反馈和处理时间管理信息意见方面也有得天独厚的优势。

时间管理系统能做到的不仅是大大简化管理员的信息管理工作,在提高时间管理效率的同时还能缩减开支,更能在数字化的平面网络上将时间管理系统最好的一面展示给客户和潜在客户,而这个系统在带给时间管理全新用户信息管理统计和分类的同时,还成为日后时间管理系统制定管理思路的重要数据参考。过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。这个系统成为时间管理者最不可或缺的内容。尽管目前大部分已经将时间管理系统投入使用,但是人们对于系统要求也变得越来越高,大部分系统已经能完美处理各类信息,但是为了更好地契合时间管理系统管理思路,不同时间管理有不同的要求,个性化也是管理系统十分重要的一点,所以都希望自己能有一个个性化定制的时间管理系统,但这又涉及到成本控制问题,目前定制一个系统价值不菲,但是如果有这样一个可以根据需求自己制定页面和内容的时间管理系统就可以大大缩减开支,但是凭借目前自身技术恐怕难以实现,不过让系统可二次设计却是有可能实现的。随着时间管理系统规模的不断扩大,用户信息共享也成一种趋势。时间管理系统的发展也证明了系统管理在不断发展进步,各种理念也越来越先进,对各方面的要求也变得越来越高。

2系统相关技术

2.1 Java技术

Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的优势和广阔的前景,它是面向对象的,分布式的,动态的,具有平台无关性、安全性、健壮性。Java语言的基本语句语法和C++一样,但是它面向对象的技术更加彻底,因为Java要求将所有的内容都必须封装成类,把类作为程序的基本单位。由于不允许类外有变量、方法。 Java语言的分布式体现在数据分布和操作分布,它是面向网络的语言,可以处理TCP/IP协议,它也支持客户机/服务器的计算模式。Java语言的动态性是指类在运行时是动态安装的,使得Java可以动态的维护程序。Java不支持指针,对内存访问的所有操作都是通过对象实例化实现的,这样就避免了指针操作中易产生的错误,同时也预防了病毒对系统的破坏和威胁。

2.2 B/S架构

B/S的系统是通过能上网的电脑就可以使用,它最大的优点是不需要安装专门的软件,首先浏览器向服务器发出请求,然后服务器处理请求把信息再返回给浏览器。不需要再次对数据进行存取与计算数据,只要负责显示数据来降低要求,如果说客户端像个“瘦子”,而服务器会越来越“胖”。B/S体系结构与C/S体系结构相比,最大的不同是:B/S体系的应用软件使用网络浏览器作为与用户交互的平台,而C/S则需要开发专用的应用程序。

图2-1 B/S结构图

2.3 MySQL 介绍

在软件项目,通过经营性数据的数据库,可以保证其安全,独立和数据一致,访问数据的系统来提供,所以有效减少时间程序员开发应用程序。

MySQL可以支持多线程,可以方便使用系统的资源,提高运行的速度。并提供odbc、jdbc和tcp/ ip,以各种形式连接到MySQL; 功能方面表现欠缺,规模小,但对于这个系统就足够了。

因为MySQL是源代码对外开放的,所以任何人都可以通过相应的方法下载,并根据个性化需求进行修改。 由于MySQL的速度,可靠性和适应性,MySQL受到重视。

MySQL虽然功能可能不是很强大,但由于其开源,广泛传播,导致很多人都意识到这个数据库。

2.4MySQL环境配置

本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。

修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:

cd C:\Program Files\MySQL\bin

MySQLadmin -u root -p password 123

回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。

2.5SpringBoot框架

SpringBoot是一个全新开源的轻量级框架。基于Spring4.0设计,其不仅继承了Spring框架原来有的优秀特性,而且还通过简化配置文件来进一步简化了Spring应用的整个搭建以及开发过程。另外在原本的Spring中由于随着项目的扩大导入的jar包数量越来越大,随之出现了jar包版本之间的兼容性问题,而此时SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性问题得到了很好的解决。

SpringBoot可以看做是Spring的加强版本,但实质上都是Spring的相关技术,有了这些优秀的开源框架,程序员在开发过程中将事半功倍。


3系统需求分析

3.1系统功能

通过前面的功能分析可以将时间管理系统的功能分为管理员,用户两个部门,系统的主要功能包括首页,个人中心,系统公告管理,用户管理,时间分类管理,事件数据管理,目标数据管理,用户日记管理等内容。

1、管理员的功能及权限

用户信息的添加和管理,事件数据管理详细信息添加和目标数据管理和时间分类管理添加和管理以及用户日记管理,这些都是管理员的功能。

2、系统功能结构图

系统功能结构图是系统设计阶段,系统功能结构图只是这个阶段一个基础,整个系统的架构决定了系统的整体模式,是系统的根据。时间管理系统的整个设计结构如图3-1所示。

【网站项目】基于springboot的个人时间管理系统_第8张图片

图3-1系统功能结构图

3.2可行性研究

通过对系统研究目标及内容的分析审察后,提出可行性方案,并对其进行论述。主要从技术可行性出发,再进一步分析经济可行性和操作可行性等方面。

3.2.1 经济可行性

开发系统所涉及到的资料,一般是在图书馆查阅,或是在网上进行查找收集。所需要的一些应用软件也都是在网上可以免费下载的,因此,开发成本是几乎为零。但是开发出来的系统,还是具有高效率,低成本,较高质量的。所以,从经济可行性的角度,该系统符合标准。

3.2.2 技术可行性

技术可行性是考虑在现有的技术条件下,能否顺利完成开发任务。以及判断现有的软硬件配置是否能满足开发的需求。而本系统采用的是java技术开发,并非十分困难,所以在技术上是绝对可行的。此外,计算机硬件配置是完全符合发展的需要。

3.2.3 运行可行性

当前计算机信息化的知识已经十分普及了,现在的操作人员也都是对系统环境有很强的适应性,各类操作人员大都是有过培训补充的,因此完全不影响组织结构,所以在运行上也是可行的。

3.2.4 时间可行性

从时间上看,在大四的最后一个学期,在实习工作与完成毕设两件大事相交叉的时间里,结合之前学习的相关知识,并开发系统,时间上是有点紧,但是也不是完全没可能实现,通过这段时间的努力功能基本实现。

3.3系统业务过程分析

时间管理系统是两种身份的用户,主要涉及管理员,用户。每个身份都是操作起来都是清楚方便的。

根据时间管理实际过程的分析,系统有以下几个部分,其中针对用户有首页,个人中心,系统公告管理,事件数据管理,目标数据管理,用户日记管理等功能;针对管理员有首页,个人中心,系统公告管理,用户管理,时间分类管理,事件数据管理,目标数据管理,用户日记管理。以上业务过程从角度可以分为两类使用本系统的角色,包括管理员,用户。以下针对各类用户说明相应的业务过程。

3.4系统用例图

系统用例图如下图3-2所示:

【网站项目】基于springboot的个人时间管理系统_第9张图片

图3-2 系统业务用例图

4系统设计

4.1数据库设计

信息管理系统的效率和实现的效果完全取决于数据库结构设计的好坏。为了保证数据的完整性,提高数据库存储的效率,那么统一合理地设计数据库结构是必要的。数据库设计一般包括如下几个步骤:

(1)根据用户需求,确定数据库信息进行保存

对用户的需求分析是数据库设计的第一阶段,用户的需求调研,熟悉时间管理运作流程,系统要求,这些都是以概念模型为基础的。

(2)设计数据的概念模型

概念模型与数据建模用户的观点一致,用于信息世界的建模工具。通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。

用户注册实体图如图4-1所示:

【网站项目】基于springboot的个人时间管理系统_第10张图片

图4-1用户注册实体图

用户管理实体图如图4-2所示:

【网站项目】基于springboot的个人时间管理系统_第11张图片

图4-2用户管理实体图

(3)数据库逻辑结构分析

数据库概念结构设计后,可以数据库概念转化实际的数据模型,这是一种数据库的逻辑结构,就是将概念结构与支持数据库管理系统的模型相符合。具体的表设计如下所示:

表4-1:系统公告

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

gonggaobiaoti

varchar

200

公告标题

gonggaoleixing

varchar

200

公告类型

gonggaotupian

varchar

200

公告图片

gonggaoneirong

longtext

4294967295

公告内容

faburiqi

date

发布日期

表4-2:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-3:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表4-4:事件数据

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shijianbiaoti

varchar

200

事件标题

shijianfenlei

varchar

200

时间分类

shijiantupian

varchar

200

事件图片

tijiaocishu

int

提交次数

shijianbiaoqian

varchar

200

事件标签

shijianneirong

longtext

4294967295

事件内容

shijianbeizhu

varchar

200

事件备注

shijianzhuangtai

varchar

200

事件状态

yonghuming

varchar

200

用户名

yongshi

varchar

200

用时

tianjiariqi

date

添加日期

表4-5:时间分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shijianfenlei

varchar

200

时间分类

表4-6:目标数据

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

mubiaomingcheng

varchar

200

目标名称

mubiaotupian

varchar

200

目标图片

shijianfenlei

varchar

200

时间分类

tijiaocishu

int

提交次数

mubiaoneirong

longtext

4294967295

目标内容

tianjiariqi

date

添加日期

shijianzhuangtai

varchar

200

事件状态

mubiaobeizhu

varchar

200

目标备注

yonghuming

varchar

200

用户名

yongshi

varchar

200

用时

表4-7:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表4-8:用户日记

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

rijimingcheng

varchar

200

日记名称

rijitupian

varchar

200

日记图片

rijibianqian

varchar

200

日记便签

rijineirong

longtext

4294967295

日记内容

rijiriqi

date

日记日期

yonghuming

varchar

200

用户名

表4-8:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuming

varchar

200

用户名

mima

varchar

200

密码

xingming

varchar

200

姓名

xingbie

varchar

200

性别

touxiang

varchar

200

头像

shouji

varchar

200

手机

youxiang

varchar

200

邮箱

4.2系统整体设计

4.2.1 系统设计思想

系统确定了各项需求,完成了系统的分析和数据库的设计,它就可以根据系统的特点决定系统的发展模式,才能实现代码。通过对系统的分析,这个系统是属于一个小项目,所完成的功能相对简单,就是对数据的基本操作。从而决定采用B/S开发模式。该模型的基本过程是:当用户访问系统的浏览器,或从用户向服务器发送请求时,通过接收请求,然后调用数据访问逻辑运算如比,将结果返回给将结果返回到用户通过浏览器。

使用开发的模型时,我们要把一些常用的,可以重复使用了java技术。当用户浏览网页,很多网页上的信息是从数据库动态删除,这就要求网页必须有数据库操作的能力,如连接数据库和数据表,更新。一个系统包含多个相同的网页,实现数据库操作功能的、代码就需要在不一样的网页中重复的被使用,这样不仅降低了工作的效率,一般也会给维护带来较大的麻烦。为了弥补这一缺陷,功能代码应该在java中完整的数据库操作,可以使用在每一个页面上。

4.2.2系统流程图

下图是用户进入这个时间管理系统后,基本的操作流程。一进入首页便可以进行各种时间管理信息的浏览,包括时间管理信息等,用户可以根据自身的需求来找适合自己的时间管理,如果有合适的时间管理时,就能进行相应的操作,但前提是必须是登录的用户,不然系统会提示需重新登录才可操作。用户也可通过公告的消息,了解实时的情况,这样有助于结合自身,更好的适应时间管理的管理需求,最后用户可以根据自己获得信息的满意程度来进行操作。

【网站项目】基于springboot的个人时间管理系统_第12张图片

图4-3系统操作流程图

5系统详细设计

5.1管理员功能模块

管理员登录系统后,可以对首页,个人中心,系统公告管理,用户管理,时间分类管理,事件数据管理,目标数据管理,用户日记管理等功能模块进行相应操作,如图5-1所示。

【网站项目】基于springboot的个人时间管理系统_第13张图片

图5-1管理员功能界面图

系统管理,在系统管理页面可以对索引,公告信息,公告类型,公告图片,发布日期等信息进行详情,修改和删除等操作,如图5-2所示。

【网站项目】基于springboot的个人时间管理系统_第14张图片

图5-2系统管理界面图

用户管理,在用户管理页面可以对索引、工号、姓名、性别、头像、电话等内容进行详情,修改和删除等操作,如图5-3所示。

【网站项目】基于springboot的个人时间管理系统_第15张图片

图5-3用户管理界面图

时间分类管理,在时间分类管理页面可以对索引、时间分类等内容进行详情,修改,删除操作,如图5-4所示。

【网站项目】基于springboot的个人时间管理系统_第16张图片

图5-4时间分类管理界面图

事件数据管理,在事件数据管理页面可以对索引、事件标题,时间分类,事件图片,提交次数,事件标签,事件备注,事件状态,用户名,用时,添加日期等内容进行详情,修改或删除等操作,如图5-5所示。

【网站项目】基于springboot的个人时间管理系统_第17张图片

图5-5事件数据管理界面图

目标数据管理,在目标数据管理页面可以对索引、目标名称,目标图片,时间分类,提交次数,添加日期,事件状态,目标备注,用户名,用时等内容进行详情,修改和删除等操作,如图5-6所示。

【网站项目】基于springboot的个人时间管理系统_第18张图片

图5-6目标数据管理界面图

用户日记管理,在用户日记管理页面可以对索引、日记名称,日记照片,日记便签,日记日期,用户名等内容进行详情,修改和删除等操作,如图5-7所示。

【网站项目】基于springboot的个人时间管理系统_第19张图片

图5-7用户日记管理界面图

5.2用户功能模块

用户注册,在用户注册页面通过填写用户名,密码,确认密码,姓名,手机,邮箱等信息完成用户注册,如图5-8所示。

【网站项目】基于springboot的个人时间管理系统_第20张图片

图5-8用户注册界面图

用户登录进入时间管理系统,可以对首页,个人中心,系统公告管理,事件数据管理,目标数据管理,用户日记管理等功能进行相应操作,如图5-9所示。

【网站项目】基于springboot的个人时间管理系统_第21张图片

图5-9用户功能界面图

个人中心管理,在个人信息管理页面可以对用户名,姓名,性别,头像,手机,邮箱等信息进行修改操作,如图5-10所示。

【网站项目】基于springboot的个人时间管理系统_第22张图片

图5-10个人中心管理界面图

系统公告管理,在系统公告管理页面可以对索引、公告标题,公告类型,公告图片,发布时间等内容进行详情操作,如图5-11所示。

【网站项目】基于springboot的个人时间管理系统_第23张图片

图5-11系统公告管理界面图

事件数据管理,在事件数据管理页面可以对索引、事件标题,事件分类,事件图片,提交次数,事件标签,事件备注,事件状态,用户名,用时,添加日期等内容进行详情,修改和删除等操作,如图5-12所示。

【网站项目】基于springboot的个人时间管理系统_第24张图片

图5-12事件数据管理界面图

用户日记管理,在用户日记管理页面可以对索引、日记名称,日记照片,日记便签,日记日期,用户名等内容进行详情,修改和删除等操作,如图5-13所示。

【网站项目】基于springboot的个人时间管理系统_第25张图片

图5-13用户日记管理界面图

6系统测试

系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为用户提供一个良好的体验和安全可使用的产品服务。而通过发现错误或潜在的问题,将有助于提升产品的竞争力,这也是软件测试的其中的重要目的之一。

软件测试的方法有好几种,但目前主要采用的是包括以功能为主要测试方向的黑盒测试以及以逻辑为主要测试方向的白盒测试,这是两种不同的测试方法,针对的测试侧重点不同,本课题根据实际需求情况,选择以功能为主要的黑盒测试方法,同时测试是要遵循一定的规则来执行的,一个测试要执行其执行的依据一般是由测试用例来规定的,而测试用例一般是依据需求或说明书来综合制定的,测试在硬件出厂前是十分重要的一个过程,本课题由于时间和精力的关系,选择以实现的功能作为测试要点来进行测试。具体测试过程如下:

测试用例1及测试过程:

登录:录入登录信息,账号,密码,权限,点击登录按钮,会出现两种情况:登录成功进入用户具有权限的功能界面和提示登录失败。

测试用例2及测试过程:

管理员登录:录入登录信息,管理员账号,密码,权限,点击登录按钮,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。

7总结心得体会

7.1 总结

通过完成该时间管理系统和本论文的撰写让我更加明白了软件开发过程中软件工程思想的重要性。在项目的前期由于对需求分析做的不够谨慎和明确,导致了后面在设计甚至编码时候造成了许多不必要的麻烦。由此在今后的学习和工作开发之中必须要牢牢把握住软件工程的设计思想和方法,这样可以进一步保证项目开发的健壮性和准确性。

本系统所实现的是一个时间管理系统,该系统严格按照需求分析制作相关模块,并利用所学知识尽力完成,但是本人由于学识浅薄,无法真正做到让该程序可以投入市场使用,仅仅简单实现部分功能,希望日后还能改善。

本系统具有以下优点:

该系统具有较高的适用性,选用B/S结构,可以在绝大部分个人平台上使用该系统。

系统将用户权限进行划分,管理员,用户能看到及操作的信息不一样,两者具备不同的操作权限。

该系统操作界面简单明了,大部分人都可以正常使用。

但也存在以下问题需要改进:

系统的执行效率的考虑实属不够,比如数据库的存储过程、页面的设计及美化程度以及页面调用方式等。

运行时窗口不能被刷新,可以改进。

系统过于简单,显示的信息有限。。

不能添加多个管理员账号,如果可以则将利于发展时间管理系统规模,便于时间管理信息集中管理。

这些问题可以再进一步的修改和完善以及进行后期的维护。

本系统使用了java开发技术与mysql数据库共同完成设计。在系统最后测试运行的时候,调试程序时,总是出现多处报错,通过查看错误提示,发现是数据库连接有问题,总是不正确。后来经过不断的查找才发现登录数据库的密码错误,随后修改数据库密码,这才正常调试了出来。解决问题还是在于查阅了有关java和mysql方面的图书、上了各种时间管理吸取成熟的经验。由于自己在之前的课程设计等学科上并没有很好的掌握知识,没有进一步的去自学系统的设计,对于一些框架技术基本都已不记得,更不会灵活的使用。所以这次的毕业设计,为了较好的完成,自己重新去图书馆借书研究,弥补之前丢失的知识。

7.2 心得体会

由于经验和能力不足,导致在开发、设计该系统的时候,出现了比较多的问题,例如需要用到的技术不熟悉、程序报错等,后来我积极地向同学当中的大牛询问自己出现的问题同时也会找一些相关的书进行学习,慢慢的一点点将自己遇到的问题逐渐解决。所以不管以后在任何时候合作都会让自己事半功倍。通过本系统的完整的开发,可以遇到自己平时写一些简单的小程序遇不到的问题,不仅仅局限与技术与业务方面的,同时也使得自己更加深入的了解软件过程的开发设计思想,对于即将踏入社会工作而言,这些心得都十分重要。在以后的研究生学习生涯也必须加深这方面的理解,将最好的开发技术和最新的科学原理运用到自己以后的开发工作和学习研究中去。

参考文献

[1] 李兴华. JavaWeb开发实战经典基础篇(第1版)[M].北京:清华大学出版社,2010.8

[2] 程志艳, 张亮. JSP实用简明教程[M].北京:清华大学出版社,2005.12

[3] 陈刚. Eclipse从入门到精通[M].北京:清华大学出版社,2005.6

[4] 李勇平.JSP应用开发详解[M].电子工业出版社,2005.10

[5] 郑自国,邹丰义.Java案例开发集锦[M].北京:电子工业出版社,2005.2

[6] 张孝祥. 深入Java Web开发内幕——核心基础[M]. 北京:电子工业出版社.  2006

[7] 李安渝. Web Services技术与实现[M]. 北京:国防工业出版社,2003 

[8] 孙卫琴,李洪成.Tomcat 与 Java Web 开发技术详解[M].电子工业出版社,2003.6:1-205 

[9] 曹广鑫 编著.JSP数据库项目开发宝典[M].北京:电子工业出版社,2006

[10] 王剑,邓武.基于Web服务面向服务的动态电子商务应用框架研究[J].科学技术与工程,2008,2(3):65-90

[11] 周旌恒.JSP应用开发详解(第三版)[M].北京:电子工业出版社,2004

[12] Shanliang Xue;Qing Yan Wei;Guang Ming Jiao;Dun Wen Zuo. Research Code Management System Based on J2EE[J]. Key Engineering Material.2010,Vol.431-432(188-191)

[13] Yan Ming Li;Li Feng Wan. Design On Framework Structure of College English Learning Management System Based on Struts2[J].Advanced Materials Research.2013,Vol.846-847(1558-1561)

[14]Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA:  Prentice Hall, 2006

[15] Joshua Bloch. Effective Java[M]. Piscataway, N.J:  IEEE Press, 2009

[16] Juan Lipson Vuong.A semantics-based routing scheme for grid resource discovery[M].E-Science: First

    International Conference on E-Science and GridComputing,2005:58-70,90

致谢

我要向我的指导老师,表示衷心的感谢,感谢他的帮助与指导。

他对我非常的关心,每个星期都会对我进行指导,时时关心我的毕业设计的进度,经常以各种短信,QQ等形式来与我进行联系,时刻督促我的论文进度。如果说毕业设计的完成是很辛苦的一件事,那么其中最辛苦的莫过于我的指导老师,因为我都是只要完成自己的就好,而他每每都是多份的论文需要反复的检查,反复的指导,而他从未有任何的抱怨。几乎每次的论文要求都会提前准备,按时交至系统的,这跟老师的时刻督促是离不开的。他让我明白,完成毕设,合理的时间安排是多么的重要。他对于我每次提交的不够成熟的论文,都是细心修改,几乎是没有批评的,当拿到修改意见的时候,就能看出老师的耐心及责任心。对于我的论文,他都能如此的一丝不苟,我们有何理由不认真对待自己的作品。在整个过程中,因为老师的不断提点,耐心教导,才有我不断的进步。在系统开发过程中总是能引导我,开发我的思路,一些及时的意见使我能及时的改正不足,原本系统很多功能不齐全,在他的指导下,我才能及时的完成任务,在这里我再次表示深深的感谢。通过本次毕业设计,我才真正明白什么是设计,什么是开发,系统开发才算是真正的实践,所以当自己真正花心思去研究,去开发的时候,看到系统成形的那刻是很有成就感的。我想,这最后的实践经历,对我尤为重要,尤为可贵,这些对我以后的工作和学习都将会是一种帮助。

还有不得不感谢身边的小伙伴,毕竟个人的知识力量是很有限,遇到问题的时候,还是多亏同学的帮助,通过同学介绍,看到更多有利于系统开发的书籍,也通过不同同学的各种意见,才能更好的改进系统。

核心代码展示

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map params,UserEntity user){
        EntityWrapper ew = new EntityWrapper();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper ew = new EntityWrapper();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

项目推荐

【计算机毕业设计】各项技术选题汇总

【计算机毕业设计】基于Springboot的网上购物商城销售系统

【计算机毕业设计】开题报告模板2

【计算机毕业设计】任务书案例2

【网站项目】基于springboot的在线考试系统

【网站项目】基于springboot的4S店车辆管理系统

【软件设计】基于python的高校资产管理系统

【网站项目】python009基于推荐算法的电影推荐系统

【网站项目】基于Springcloud的分布式架构网上商城

⬇️文章末尾可以获取联系方式,需要源码可以联系(源码不开源)⬇️

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡

你可能感兴趣的:(计算机毕业设计,java,spring,boot,后端)