思维导图

客服反馈系统项目总结

准备工作

需求分析

所完成的项目是一个用户信息反馈系统。里面的需求很简单易懂,类似以下。

  • 用户可以查看自己的反馈
  • 用户可以根据模糊搜索搜索其他类似人的反馈
  • 用户可以对别人的反馈进行投票
  • 客服只可以对用户的反馈进行操作
  • 管理员可以拥有一切权限。

上面只简述了其中几个需求,其中的需求也是类似的。其中对需要使用的技术就涉及到了三方面

  • 前后端分离(开发的时候隐性需求)
  • 前后端分离之Ajax技术
  • 用户权限控制
  • 模糊搜索功能。

很明显,以上三种我都不会。所需要的各项技能都是不会的,之前接触过类似的,但是,都是做不到。但是项目需要继续,首先确定的一个问题,就是对需求的分析和提取,从而完善自己的数据库内容。

数据库建库

此次对系统数据库建库的初步E-R图。这E-R图在后面也成为建立数据库中表的内容参考,但与成熟的现目的不同,这个E-R图只有少量的内容,先看图。

客户信息反馈总系统--E-R图

对这种活生生的例子E-R图,核心点不是所列出的实体的属性,实体与实体之间的联系,以及联系中的具体内容。所犯的错误

  • 需求分析完全由自己个人所为,没有与小组其他人员一起讨论
  • 在分析过程中,分析不出详细的实体与实体之间的关系
  • 其他错误,能力不够,无法看出

在本应该对照E-R图进行的数据库设计也进行了比较大规模的改动,看内容

这是用户表user

用户名 类型 长度 小数点 是否为空 主键
userId int 11 0 TRUE BM?
userName varchar 255 0 -1 0
userEmail varchar 255 0 -1 0

这是管理人员表 employee

类型 长度 小数点 是否为空 主键
employeeId int 11 0 TRUE BM?
employeeName varchar 255 0 -1 0
employeeEmail varchar 255 0 -1 0
employeePhone varchar 255 0 -1 0
employeeNickname varchar 255 0 -1 0
employeeLabel varchar 255 0 -1 0

这是反馈单表 feedback

类型 长度 小数 为NULL 为主键
feedbackId int 11 0 0 -1
feedbackTitle varchar 255 0 -1 0
feedbackContent varchar 255 0 -1 0
feedbackUser varchar 255 0 -1 0
feedbackStatus varchar 255 0 -1 0
feedbackTime varchar 255 0 -1 0
feedbackKeywords varchar 255 0 -1 0
feedbackStar varchar 255 0 -1 0
feedbackReply varchar 255 0 -1 0

消息通知表 message

类型 长度 小数点 是否为空 主键
messageId int 11 0 0 -1
messageTitle varchar 255 0 -1 0
messageContent varchar 255 0 -1 0
messageStatus varchar 255 0 -1 0
messageTime varchar 255 0 -1 0
status int 11 0 -1 0

其中三种表对应E-R图中的实体。却同样发现了很多问题

  • 数据库如何建立表,也就是SQL语句不熟悉
  • 是否应该添加外键,数据类型如何选择

这些问题,急待我去解决,还有更为重要的是,需求分析中与数据库中如何实现一一对应的问题。

中期操作

选用何种方式

小组分工后,我选择了后端的内容。之前学过一点后端的知识点,但是对于此次项目的构建却没有任何头绪,因为此次采用前后端分离的方式,之前所学过的Jsp内容在前后端的耦合程度上比较高,需要团队成员间比较默契的配合,而刘迪迪不具备这样的配合与相应的能力。

在后端知识点的学习上,刘迪迪一直处于看到了知识点的招牌而没有进去观看过。在很多视频教学中现在普遍采用前后端分离的操作,刘迪迪在次之前不懂何为前后端分离,充其量只知道是前端和后端同时并行开发,加快开发效率。这项技术同样依赖于Ajax。对于小白来说,前后端分离操作的入门方式之一便是通过视频案例学习,可以最快的得到输入和输出了。

视频实例学习

在阿里云上搜索Ajax的解释后,在B站上学习一个4小时快速入门Springboot Vue 前后端分离的框架。

2020/7/20 10点19分记

以后再更新