思维导图
准备工作
需求分析
所完成的项目是一个用户信息反馈系统。里面的需求很简单易懂,类似以下。
- 用户可以查看自己的反馈
- 用户可以根据模糊搜索搜索其他类似人的反馈
- 用户可以对别人的反馈进行投票
- 客服只可以对用户的反馈进行操作
- 管理员可以拥有一切权限。
上面只简述了其中几个需求,其中的需求也是类似的。其中对需要使用的技术就涉及到了三方面
- 前后端分离(开发的时候隐性需求)
- 前后端分离之Ajax技术
- 用户权限控制
- 模糊搜索功能。
很明显,以上三种我都不会。所需要的各项技能都是不会的,之前接触过类似的,但是,都是做不到。但是项目需要继续,首先确定的一个问题,就是对需求的分析和提取,从而完善自己的数据库内容。
数据库建库
此次对系统数据库建库的初步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分记
以后再更新