这个作业属于哪个课程

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 类图

菜购——项目系统设计与数据库设计_数据库_02

3.4 数据库ER图

菜购——项目系统设计与数据库设计_数据库_03

3.5 数据库表结构设计

数据库拓扑图

菜购——项目系统设计与数据库设计_数据库_04


用户表

菜购——项目系统设计与数据库设计_数据库_05


超市管理员表

菜购——项目系统设计与数据库设计_数据库_06


App管理员表

菜购——项目系统设计与数据库设计_数据库_07


标签表

菜购——项目系统设计与数据库设计_数据库_08


地址表

菜购——项目系统设计与数据库设计_数据库_09


菜谱表

菜购——项目系统设计与数据库设计_数据库_10


菜谱状态表

菜购——项目系统设计与数据库设计_数据库_11


菜品(食材)表

菜购——项目系统设计与数据库设计_数据库_12


菜谱菜品关联表

菜购——项目系统设计与数据库设计_数据库_13


自定义菜谱表

菜购——项目系统设计与数据库设计_数据库_14


自定义菜谱菜品关联表

菜购——项目系统设计与数据库设计_数据库_15


订单表

菜购——项目系统设计与数据库设计_数据库_16


订单状态表

菜购——项目系统设计与数据库设计_数据库_17


购物车表

菜购——项目系统设计与数据库设计_数据库_18


超市表

菜购——项目系统设计与数据库设计_数据库_19

四、系统安全与权限设计

  • 系统安全
  • 4.1 Android端
    在用户账户安全方面,统一采用MD5对用户密码进行加密。另外将数据存储在内部存储目录(MODE_PRIVATE模式)或采用MD5加密对在外部储存的数据进行加密。
    在接口请求方面,会设计一个请求响应拦截,根据不同的情况返回响应的http状态码,例如401状态码,表示用户必须先登录授权认证后才可以访问。
  • 4.2 网页端
    在用户账户安全方面,统一采用MD5对用户密码进行加密。采用token(不储存于浏览器)认证,有效防御CSRF跨站请求伪造。
    在接口请求方面,同样会做一次拦截,一是避免sql注入,脚本攻击等,二是权限管理。
  • 4.3 后端
    采用JWT认证机制,对于前端传过来的token,首先要判断token是否合法,再来判断是否过期,这些信息都会通知用户。通过token凭证返回指定的状态码。采用云服务提供商DDoS的防御方案抵御可能来自客户端的非法大量请求。
  • 权限设计
  • 网页端包括两种用户角色——超市管理员和店铺管理员,超市管理员负责订单管理和分拣,店铺管理员负责菜谱管理。

五、上次答辩中提出的问题与改进

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%

七、附件链接