摘 要
随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,猫咖管理当然也不能排除在外。猫咖管理是以实际运用为开发背景,运用软件工程原理和开发方法,采用 SSM技术构建的一个管理平台。整个开发过程首先对软件平台进行需求分析,得出平台的主要功能。接着对平台进行总体设计和详细设计。总体设计主要包括平台功能设计、平台总体结构设计、平台数据结构设计和平台安全设计等;详细设计主要包括平台数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对平台进行功能测试,并对测试结果进行分析总结,得出平台中存在的不足及需要改进的地方,为以后的平台维护提供了方便,同时也为今后开发类似平台提供了借鉴和帮助。这种个性化的网上平台管理特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对网上猫咖管理而言非常有利。
本猫咖管理采用的数据库是Mysql,使用 SSM技术开发。在设计过程中,充分保证了平台代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
关键词:猫咖管理; SSM框架;Mysql 数据库;
ABSTRACT
With the rapid development of science and technology, all aspects of society and all walks of life are striving to integrate with modern advanced technology and improve their advantages through scientific and technological means. Of course, cat and coffee management cannot be excluded. Cat Cafe Management is a management platform built with practical application as the development background, using software engineering principles and development methods, and using SSM technology. The entire development process begins with a requirement analysis of the software platform to obtain the main functions of the platform. Then, the overall design and detailed design of the platform are carried out. The overall design mainly includes platform functional design, platform overall structure design, platform data structure design, and platform security design; The detailed design mainly includes the implementation of platform database access, the specific implementation of main functional modules, and the key code for module implementation. Finally, a functional test of the platform was conducted, and the test results were analyzed and summarized to identify the shortcomings and areas for improvement in the platform, which provided convenience for future platform maintenance and also provided reference and assistance for future development of similar platforms. This personalized online platform management pays special attention to the interaction and coordination of management, stimulating the creativity and initiative of management personnel, which is very beneficial for online cat coffee management.
The database used for this cat coffee management is MySQL, developed using SSM technology. During the design process, the platform code has been fully guaranteed to have good readability, practicality, scalability, versatility, ease of later maintenance, easy operation, and concise pages.
Keywords:Cat coffee management; SSM framework; MySQL database;
目录
第1章 绪论
1.1背景及意义
随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对猫咖管理方面的要求也在不断提高,猫咖管理的数量更是不断增加,使得猫咖管理的开发成为必需而且紧迫的事情。猫咖管理主要是借助计算机,通过对猫咖管理所需的信息管理,增加顾客的选择,同时也方便对广大顾客信息的及时查询、修改以及对顾客信息的及时了解。猫咖管理对顾客带来了更多的便利,该平台通过和数据库管理平台软件协作来满足顾客的需求。计算机技术在现代管理中的应用,使计算机成为人们应用现代技术的重要工具。能够有效的解决获取信息便捷化、全面化的问题,提高效率。
本猫咖管理主要牵扯到程序,数据库与计算机技术等。覆盖知识面大,可以大大的提高平台人员工作效率。
1.2 国内外研究概况
随着国内经济形势的不断发展,中国互联网进入了一个难得的高峰发展时期,这使得中外资本家纷纷转向互联网市场。然而,许多管理领域的不合理结构,人员不足以及管理需求的增加使得更多的人具备了互联网管理的意识。
在当今高度发达的信息中,信息管理改革已成为一种更加广泛和全面的趋势。“猫咖管理”是基于Mysql数据库,在 SSM程序设计的基础上实现的。为确保中国经济的持续发展,信息时代日益更新,猫咖管理更是蓬勃发展。同时,随着信息社会的快速发展,猫咖管理面临着越来越多的信息,因此很难获得他们对高效信息的需求,如何使用方便快捷的方式使查询者在广阔的猫咖管理信息中查询,存储,管理和共享信息方面有效,对我们的学习,工作和生活具有重要的现实意义。因此,国内外学术界对此进行了深入而广泛的研究,一个新的研究领域——SSM 猫咖管理诞生了。
1.3 研究的内容
目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的猫咖管理的信息管理软件仍没有得到大多数人的了解或认可。本选题则旨在通过标签分类管理等方式,实现后台首页、轮播图(轮播图管理)、公告管理(公告)、资源管理(猫咪资讯、资讯分类)、交流管理(留言板、留言分类)、系统用户(管理员、顾客用户)、模块管理(套餐信息、购买套餐、猫咪信息、猫咪预订、咖啡信息、咖啡购买、猫粮信息、猫粮购买、寄养服务、订单费用)、个人中心等信息管理功能,从而达到对猫咖管理信息的高效管理。
第2章 相关技术
2.1开发技术说明
本系统前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于Java的ssm框架进行开发。
前端部分:前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型,项目前端通过栅格布局实现响应式,可适应PC端、平板端、手机端等不同屏幕大小尺寸的完美布局展示。
后端部分:采用ssm作为开发框架,同时集成MyBatis、Redis等相关技术。
2.2 SSM框架介绍
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
1.6.1 Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
1.6.2 SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
1.6.3 mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
2.3 MySQL数据库
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),关系数据库将数据保存在不同的表中,提高了灵活性,它使用最常用的结构化查询语言(SQL)进行数据库管理。MySQL因其具有速度快、体积小、总体拥有成本低和开放源码的优点而备受关注[7]。特点:
(1)支持多种操作系统。
(2)为多种编程语言提供了API。
(3)支持多线程,充分利用CPU资源。
(4)MySQL性能卓越、服务稳定,很少出现异常宕机。
(5)原生JSON支持。
(6)优化SQL查询算法,有效地提高查询速度[8]。
2.4 java简介
Java语言是在二十世纪末由Sun公司发布的,而且公开源代码,这一优点吸引了许多世界各地优秀的编程爱好者,也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言之一,从发布初期到现今,可以说有将近20多年的历史,已发展成为人类计算机编程语言发展史上的一个深远影响。
Java语言具有非常多种的特性:(1)跨平台的无关性;(2)面向对象; (3)安全性得以保障;(4)支持多个任务;(5)多种编写方式,代码编写简单。对比其他的低级语言、高级语言,Java语言具有明显的显著优势以及未来开阔的前景,可以广泛的应用在个人笔记本电脑、大数据、大型游戏等等。
首先,Java语言具有面向对象的特性,并且易于理解。关于对象,其实可以理解成每一种事物都是一种对象,包括我们人类自身都是一种对象。利用面向对象语言的基本特征来解决软件开发中的实际问题,为有效软件开发提供了技术支持。
其次,Java 语言具有很好的跨平台无关性。所编写出来的应用程序是Java语言编写的,那么就无需再使用编译器来修改程序代码,可以直接在任何计算机系统中运行,Windows系统可以运行,在Linux系统中也可以,也就是经过一次编译,可以到处运行,所以Java语言具有卓越的可移植性,可以很好的跨平台实现。
2.5 B/S结构
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在用户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的用户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。
![](https://i-blog.csdnimg.cn/blog_migrate/e63a635945344416d0c225f637cd63cd.png)
2.6 MVVM模式介绍
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
第3章 平台分析
3.1 需求分析
猫咖管理主要是为了提高工作人员的工作效率和更方便快捷的满足顾客,更好存储所有数据信息及快速方便的检索功能,对平台的各个模块是通过许多今天的发达平台做出合理的分析来确定考虑顾客的可操作性,遵循开发的平台优化的原则,经过全面的调查和研究。
平台所要实现的功能分析,对于现在网络方便的管理,平台要实现顾客可以直接在平台上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改猫咖管理信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足顾客的各种需求。所以猫咖管理的开发不仅仅是能满足顾客的需求,还能提高管理员的工作效率,减少原有不必要的工作量。
3.2 平台可行性分析
3.2.1技术可行性:技术背景
本企业网站在Windows操作平台中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。平台开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
平台的开发环境和配置都是可以自行安装的,平台使用 SSM开发工具,使用比较成熟的Mysql数据库进行对平台前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。
(1)硬件可行性分析
猫咖管理及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。
(2)软件可行性分析
开发整个平台使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障平台的安全及数据信息的及时备份。
因此,我们从两个方面进行了可行性研究,可以看出平台的开发没有问题。
3.2.2经济可行性
在猫咖管理开发之前所做的市场调研及其他的物流公司相关的管理平台,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于猫咖管理的开发在经济上是完全可行的,没有任何费用支出的。
使用比较成熟的技术,平台是基于 SSM的开发,采用Mysql数据库。所以平台在开发人力、财力要求不高,具有经济可行性。
3.2.3操作可行性:
可操作性主要是对猫咖管理设计完成后,顾客的使用体验度,以及管理员可以通过平台随时管理相关的数据信息,并且对于管理员、顾客两个顾客角色,都可以简单明了的进入到自己的平台界面,通过界面导航菜单可以简单明了地操作功能模块,方便顾客信息的操作需求和管理员管理数据信息,对于平台的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在平台的可操作性是完全可以的。本平台的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
3.3 项目设计目标与原则
(1)功能要求:可以管理后台首页、轮播图(轮播图管理)、公告管理(公告)、资源管理(猫咪资讯、资讯分类)、交流管理(留言板、留言分类)、系统用户(管理员、顾客用户)、模块管理(套餐信息、购买套餐、猫咪信息、猫咪预订、咖啡信息、咖啡购买、猫粮信息、猫粮购买、寄养服务、订单费用)、个人中心等功能模块。
(2)性能:在不同操作平台上均能无差错实现在不同类型的顾客登入相应界面后能不出差错、方便地进行预期操作。
(3)安全与保密要求:顾客都必须通过身份验证才能进入平台,并且顾客的权限也需要根据顾客的类型进行限定。
(4)环境要求:支持多种平台,可在Windows系列、Vista平台等多种操作平台下使用。
猫咖管理的主要开发目标如下:
(1)实现管理平台信息关系的平台化、规范化和自动化;
(2)减少维护人员的工作量以及实现顾客对信息的控制和管理。
(3)方便查询信息及管理信息等;
(4)通过网络操作,改善处理问题的效率,提高操作人员利用率;
(5)考虑到顾客多样性特点,要求界面简单,操作简便。
本猫咖管理采用 SSM技术,Mysql数据库开发,充分保证了平台稳定性、完整性。
猫咖管理的设计与实现的设计思想如下:
- 操作简单方便、平台界面安全良、简单明了的页面布局、方便查询猫咖管理相关信息。
2、即时可见:对猫咖管理信息的处理将立马在对应地点可以查询到,从而实现“即时发布、即时见效”的平台功能。
3、功能的完善性:可以管理首页、个人中心、顾客管理、视频分类管理、学习视频管理、平台管理模块的修改维护操作。
3.4平台流程分析
3.4.1操作流程
![](https://i-blog.csdnimg.cn/blog_migrate/e1a53b103fd67dfc0acd440043370d37.png)
图3-1登录流程图
3.4.2添加信息流程
添加信息流程图,如图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/16c9ac578c267759895fe73228532eca.png)
图3-2添加信息流程图
3.4.3删除信息流程
删除信息流程图,如图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/7685db06dc90dd62e90d4e7312335520.png)
图3-3删除信息流程图
第4章 平台设计
4.1 平台体系结构
猫咖管理的结构图4-1所示:
![](https://i-blog.csdnimg.cn/blog_migrate/38aa69fdba075feb85f6c23b5fbffe32.png)
图4-1 平台结构
登录平台结构图,如图4-2所示:
![](https://i-blog.csdnimg.cn/blog_migrate/7939bd5f9f84564e4d90c1a58e3a41da.png)
图4-2 登录结构图
管理员结构图,如图4-3所示。
![](https://i-blog.csdnimg.cn/blog_migrate/84689ea493f5746b3ce4bad5fb2a6799.png)
图4-3 管理员结构图
4.2开发流程设计
平台流程的分析是通过调查平台所涉及问题的识别、可行性、可操作性、平台分析处理能力等具体环节来调节、整理平台的设计方案以确保平台能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控平台所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。
猫咖管理的开发对管理模块和平台使用的数据库进行分析,编写代码,平台测试,如图4-4所示。
![](https://i-blog.csdnimg.cn/blog_migrate/cbf0a7aafe4110450b112c373fab379f.png)
图4-4开发平台流程图
4.3 数据库设计原则
学习编程,我们都知道数据库设计是基于需要设计的平台功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高平台的效率。数据库存储了很多信息,可以说是信息管理平台的核心和基础,数据库还提供了添加、删除、修改和检查,使平台能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。
通过猫咖管理的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本平台的主要实体图如下:
管理员信息属性图如图4-5所示。
![](https://i-blog.csdnimg.cn/blog_migrate/4d374add85bee1b3beee4bb75a6b3da2.png)
图4-5 管理员信息实体属性图
猫咪预订管理实体属性图如图4-6所示。
![](https://i-blog.csdnimg.cn/blog_migrate/24cbfc629270d8ac475d3e92ee734df6.png)
图4-6猫咪预订管理属性图
顾客信息管理实体属性图如图4-7所示。
![](https://i-blog.csdnimg.cn/blog_migrate/6e71c43ac858bf62f7fe27d49c9357bb.png)
图4-7顾客信息管理实体属性图
4.4 数据表
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
表access_token (登陆访问时长)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
token_id |
int |
10 |
0 |
N |
Y |
临时访问牌ID |
|
2 |
token |
varchar |
64 |
0 |
Y |
N |
临时访问牌 |
|
3 |
info |
text |
65535 |
0 |
Y |
N |
||
4 |
maxage |
int |
10 |
0 |
N |
N |
2 |
最大寿命:默认2小时 |
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户编号: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
auth_id |
int |
10 |
0 |
N |
Y |
授权ID: |
|
2 |
user_group |
varchar |
64 |
0 |
Y |
N |
用户组: |
|
3 |
mod_name |
varchar |
64 |
0 |
Y |
N |
模块名: |
|
4 |
table_name |
varchar |
64 |
0 |
Y |
N |
表名: |
|
5 |
page_title |
varchar |
255 |
0 |
Y |
N |
页面标题: |
|
6 |
path |
varchar |
255 |
0 |
Y |
N |
路由路径: |
|
7 |
position |
varchar |
32 |
0 |
Y |
N |
位置: |
|
8 |
mode |
varchar |
32 |
0 |
N |
N |
_blank |
跳转方式: |
9 |
add |
tinyint |
3 |
0 |
N |
N |
1 |
是否可增加: |
10 |
del |
tinyint |
3 |
0 |
N |
N |
1 |
是否可删除: |
11 |
set |
tinyint |
3 |
0 |
N |
N |
1 |
是否可修改: |
12 |
get |
tinyint |
3 |
0 |
N |
N |
1 |
是否可查看: |
13 |
field_add |
text |
65535 |
0 |
Y |
N |
添加字段: |
|
14 |
field_set |
text |
65535 |
0 |
Y |
N |
修改字段: |
|
15 |
field_get |
text |
65535 |
0 |
Y |
N |
查询字段: |
|
16 |
table_nav_name |
varchar |
500 |
0 |
Y |
N |
跨表导航名称: |
|
17 |
table_nav |
varchar |
500 |
0 |
Y |
N |
跨表导航: |
|
18 |
option |
text |
65535 |
0 |
Y |
N |
配置: |
|
19 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
20 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
cat_food_information_id |
int |
10 |
0 |
N |
Y |
猫粮信息ID |
|
2 |
cat_food_number |
varchar |
64 |
0 |
Y |
N |
猫粮编号 |
|
3 |
cat_food_name |
varchar |
64 |
0 |
Y |
N |
猫粮名称 |
|
4 |
cat_food_price |
varchar |
64 |
0 |
Y |
N |
猫粮价格 |
|
5 |
cat_food_pictures |
varchar |
255 |
0 |
Y |
N |
猫粮图片 |
|
6 |
date_of_manufacture |
date |
10 |
0 |
Y |
N |
生产日期 |
|
7 |
warranty_period |
varchar |
64 |
0 |
Y |
N |
质保期 |
|
8 |
cat_food_ingredients |
text |
65535 |
0 |
Y |
N |
猫粮成分 |
|
9 |
cat_food_details |
longtext |
2147483647 |
0 |
Y |
N |
猫粮详情 |
|
10 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
11 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
12 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
13 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
14 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |