菜购——项目系统设计与数据库设计
这个作业属于哪个课程 | 2021春软件工程实践|W班(福州大学) |
---|---|
这个作业要求在哪里 | 团队作业四——数据库设计和系统设计 |
这个作业的目标 | 数据库设计和系统设计 |
团队名称 | 菜购 |
目录
一、团队项目的预期开发计划时间安排
日期 | 预计产出 |
---|---|
第一周(4.25-5.1) | 初步完成移动端,web端界面设计,模块实现基本逻辑功能,后台完成 接口编程。 |
第二周(5.2-5.8) | 前后端数据对接,实现基本功能 |
第三周(5.9-5.15) | 提高web端,移动端的模块设计功能完善度。 |
第四周(5.16-5.22) | 完善移动端,web端可能出现的问题与修复出现的bug |
第五周(5.23-5.29) | 测试,小范围推广,修复出现的bug |
第六周(5.30-6.5) | 测试,小范围推广,修复出现的bug |
第七周(6.6-6.12) | 优化界面与用户体验 |
第八周(6.13-6.19) | 维护 |
二、团队项目的预期开发计划分工安排
学号 | 工作内容 |
---|---|
041802224 | 统筹前后端的协作,负责app端查看订单模块的编写 |
221801408 | 负责网页端超市管理员界面的编写 |
221801413 | 负责后端订单模块的编写和后端API文件的编写 |
221801422 | 负责前后端功能模块的测试,负责app端查看菜谱模块的编写 |
221801404 | 负责后端菜谱模块的编写和后端API文件的编写 |
221801421 | 负责app端购物车管理模块的编写 |
081800306 | 负责网页端App管理员界面的编写 |
221801224 | 负责后端登陆注册模块的编写和后端API文件的编写 |
111801206 | 负责app端个人信息模块和登陆注册模块的编写 |
051805124 | 负责app端模块查询菜谱模块和登陆注册模块的编写 |
三、设计图与设计思路
3.1 体系结构设计
项目的网页端采用B/S架构,分为表现层、逻辑层、数据层三层。
第一层表现层:使用vue.js完成前端页面开发
第二层逻辑层:使用springboot 完成后端开发
第三层数据层:使用mysql数据库
项目的移动端采用MVC架构,使用java语言开发
3.2 功能模块层次图
3.3 类图
3.4 数据库ER图
3.5 数据库表结构设计
数据库拓扑图
用户表
超市管理员表
App管理员表
标签表
地址表
菜谱表
菜谱状态表
菜品(食材)表
菜谱菜品关联表
自定义菜谱表
自定义菜谱菜品关联表
订单表
订单状态表
购物车表
超市表
四、系统安全与权限设计
-
系统安全
- 4.1 Android端
在用户账户安全方面,统一采用MD5对用户密码进行加密。另外将数据存储在内部存储目录(MODE_PRIVATE模式)或采用MD5加密对在外部储存的数据进行加密。
在接口请求方面,会设计一个请求响应拦截,根据不同的情况返回响应的http状态码,例如401状态码,表示用户必须先登录授权认证后才可以访问。
- 4.2 网页端
在用户账户安全方面,统一采用MD5对用户密码进行加密。采用token(不储存于浏览器)认证,有效防御CSRF跨站请求伪造。
在接口请求方面,同样会做一次拦截,一是避免sql注入,脚本攻击等,二是权限管理。
- 4.3 后端
采用JWT认证机制,对于前端传过来的token,首先要判断token是否合法,再来判断是否过期,这些信息都会通知用户。通过token凭证返回指定的状态码。采用云服务提供商DDoS的防御方案抵御可能来自客户端的非法大量请求。
- 4.1 Android端
-
权限设计
- 网页端包括两种用户角色——超市管理员和店铺管理员,超市管理员负责订单管理和分拣,店铺管理员负责菜谱管理。
五、上次答辩中提出的问题与改进
Q:购物车ID与用户ID重复。
- A:经过小组讨论后,去除了购物车ID,改用用户ID来标识。
Q:菜谱item类的命名问题。
- A:将菜谱item类改为用户自定义菜谱类用来记录用户下单时的菜谱购买情况。
Q:评审表设计不够合理,部分未涉及。
- A:本次的评审表已经根据ppt的内容进行全面的覆盖。
Q:类图的类是否支持所有的功能实现
- A:在小组讨论分析后,修改并完善了部分类,和功能模块联系起来,能基本实现所有功能。
六、本次作业分工
学号 | 工作内容 | 贡献度 |
---|---|---|
041802224 | 统筹安排任务,编写功能模块设计,体系结构设计 | 15% |
221801408 | 完成答辩ppt设计和答辩评审表设计 | 10% |
221801413 | 编写接口设计 | 12% |
221801422 | 完成答辩ppt设计 | 7% |
221801404 | 编写数据库说明设计书 | 10% |
221801421 | 编写数据库说明设计书 | 10% |
081800306 | 补充系统设计说明书中安全性和健壮性的编写,文件整合 | 7% |
221801224 | 编写功能模块设计,体系结构设计 | 12% |
111801206 | 编写团队博客 | 7% |
051805124 | 编写项目系统设计说明书中安全性和健壮性,答辩 | 10% |