冬天的冰淇淋不会化——项目系统设计与数据库设计

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2020
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2020/homework/11447
团队名称 冬天的冰淇淋不会化
这个作业的目标 将项目设计落地,完善设计类图,设计好系统和数据库、制定好计划和分工

团队项目的预期开发计划时间安排

周数 日期 任务 成果
10 11.02-11.08 数据库设计、系统架构设计学习、微信小程序的开发 数据库系统说明书、系统设计说明书
11 11.09-11.15 细化接口文档、搭建项目基础架构、实现基础功能(例如登录注册) 接口文档、具备基本功能的软件
12 11.16-11.22 填充项目功能、进行集成测试 测试报告、实现主要功能的软件
13 11.23-11.29 实现非主要功能、邀请同学进行测试 用户使用反馈、软件的最终版本

团队项目的预期开发计划分工安排

学号 预计内容
031802219 后端:基础架构设计
031802214 前端:业务逻辑编写
031802223 后端:算法模块
031802225 产品:迭代需求,优化原型
031802233 前端:UI设计,界面编写
031802235 前端:UI设计,界面编写
051803216 产品:迭代需求,用户体验收集
181800404 测试,后端测试,集成测试
031802607 测试,前端测试,集成测试
031802439 后端:分享帖模块
031802644 前端:业务逻辑编写

体系结构设计图


功能模块层次图

设计类图

ER分析

表结构设计

用户表,用于存储用于登录所需要的相关信息

角色表,RBAC 权限模型中的角色,用于鉴权

用户-角色关联表,用于标识用户具有的角色

用户信息表,用于存储用户的个人资料和信息

关注表,用于存储用户的关注列表

通知表,用于存储系统对用户下发的通知

分享帖表,用于存储分享帖的信息

评论表,用于存储用户对分享帖的评论

私信表,用于存储用户之间的私信

偏好表,存储用户偏好以用于推荐

表格详见系统设计说明书

系统安全和权限设计

  1. 后端启用https加密连接,保证数据在传输过程中的安全性

  2. 登录校验采用 jwt的形式,有效避免csrf攻击

  3. 前端和后端对数据进行双重校验,保证数据的合法性

  4. 后端操作数据库使用预编译SQL语句,防止SQL注入攻击

  5. 权限模型采用简化版的 RBAC 权限管理模型,设计简单,易于扩展,每名用户拥有角色,用户和角色之间为多对多,目前角色暂时分为登录用户和管理员两类。

设计思路

  1. 首先是后端的架构设计。因为团队后端人员对 Java 更为熟悉,所以后端采用 Java进行开发。后端每个模块的都分为三层,Controller,Service,Mapper,这样的三层架构利于扩展和解耦,是目前的主流设计之一。此外,考虑到项目的性能问题,因此使用了Redis作为缓存,提高服务器的并发量。因为项目需要调用外部的接口,而这些接口的返回值并不需要及时返回给用户,所以对于外部接口的调用,采用了RabbitMq作为消息中间件,将消息传递给专门的调用模块进行调用。

  2. 数据库的设计采用无外键的形式,因为外键会在一定程度上影响性能(例如在更新时需要扫描外键对应的表并锁定),不使用外键,而依靠程序员在业务层处理数据的一致性可以提高性能。此外,对于分享帖和评论引入了逻辑删除这一字段,这也是目前比较主流的一种做法,因为这样更有利于对数据的分析。

  3. 在安全和权限设计部分,使用了较为常见的jwt进行登录的校验,因为jwt的无状态性,可以减小服务器的负载,权限管理则使用了RBAC权限模型,这也是目前最主流的一种权限管理模型。

问题回复

如何确保用户分享好物的动力:

1.获得高点赞数的用户可以收到由系统送出的小礼品。

2.用户分享好物得到赞赏的时候,积累点赞数可以兑换奖品。

3.在运营成熟后,可以与部分专门针对学生党的品牌供应商达成合作关系,高点赞数用户将会成为校园大使,校园大使可以与供应商达成合作,对供应商产品进行推销,而校园大使相应也会获得供应商提供的赞助。

可行性不大,无法确保用户基数:

1.初始时可通过新生班导、院团委学生会以及在学校和学校的各个社团进行宣传。

2.可通过品牌商的赞助支持社团活动,从而举办一场关于生活的活动,参与活动的可以获得综测或者奖品的奖励。

3.可以与一些生活有关的活动、团立项等进行合作,我们的好物分享平台,不仅仅分好物,也会分享使用好物的经验。

4.在平台为用户提供良好的互动环境,建立起用户对平台的黏性。

没有很吸引用户,基础用户群体较大;用户是否愿意分享,分享的积极性:

1.通过问卷调查,我们了解到,若能够为用户间提供良好的互动功能,用户是乐意于存在一个平台去分享他们的购物经历。

2.平台本身是为大学生们提供一个互帮互助的地方,许多用户其实都有着分享的欲望,特别是购物经历在极好或极差的时候。

售后问题,如何防止恶意广告:

1.强调我们只是分享平台,不是电商平台,所以并不会存在售后问题。

2.除了点赞功能,我们还设有踩雷标签,如果分享的好物踩雷标签过多,我们会认为其为恶意广告,当分享过多踩雷好物时候,我们会对用户进行处罚!

3.用户若发现他人分享帖内容不实,可以向平台举报,平台会进行二次审核,并做出处理。

不愿意在熟悉的人面前分享:

我们在注册的时候会要求学生填写相关学号真实姓名的信息,以确保是本校学生,

但是在用户界面并不会展示这些信息,只要稍加注意,并不会被熟悉的人认出。

如何和小红书等类似的产品竞争:

现在市面上同类的产品更多的是面向于社会大众,无法为校园内的学生群体提供更具体、更适宜的推荐内容,而我们也正是从学生群体出发,致力于学生群体间的沟通与互助,为校园生活提供便利。

需求分析的改进

在本次现场展示中,我们项目暴露出来的问题是,在运营前期,由于缺少用户基数,平台内容缺乏,无法对新用户产生足够的吸引力。所以需要在运营前期提供一个有效的方法,获取足够数量的基础用户群体,并且需要用户分享一定数量的分享帖用来吸引后续用户。

在前期宣传方面,我们做出了详细的推广方案,来吸引第一批用户的加入:

1.通过海报+二维码模式,在食堂和宿舍楼门口张贴海报进行宣传,吸引同学们注意力。特别是在新生开学季和大型购物日,可以加大宣传的力度。

2.通过向学院或学校介绍我们的产品,获得在微信上发送推文的机会,介绍我们的产品,并在推文中附上app链接。

3.公众号与小程序结合:由于小程序即用即走的特点,所以小程序无法维持与用户的高粘性,所以容易造成用户流失,不过可以将公众号与小程序进行结合。通过公众号绑定小程序,底部菜单设置 微信小程序 入口,文章插入小程序卡片等方式可以达到锁住用户的目的。

4.发动身边同学的力量,通过群或朋友圈分享,介绍我们的小程序,并进行推广。

5.在小程序中加入邀请有礼选项,通过分享小程序,能够获得一定奖励,并且在好物帖上添加分享选项,用户可以将小程序连接分享给同学、朋友。

由于我们团队队员同时有担任学院社团的相关职位,以及班导等角色,在初期的宣传方面有一定的优势,能够做出较为有效的推广,这也是我们团队的一大优势之一。

工作流程

首先我们根据需求文档和原型对数据库进行了建模,确定了数据库的表结构,之后,我们分析了所需要的接口,并对系统的架构进行了分层设计,最终整合出《系统设计说明书》和《数据库设计说明书》两份文档。

组员分工与贡献度比例

学号 工作内容 贡献分
031802219 数据库设计,E-R图绘制 5.20
031802214 系统设计说明书制作 4.95
031802223 数据库设计,E-R图绘制 5.17
031802225 数据库设计,改进需求 5.07
031802233 系统设计说明书制作 4.95
031802235 系统设计说明书制作 4.95
051803216 改进需求 5.01
181800404 功能模块设计 4.95
031802607 博客撰写 4.90
031802439 功能模块设计 4.95
031802644 ppt制作 4.90

github团队仓库链接和文档的下载链接或在线预览链接

https://github.com/forestlinji/winter-icecream
文档下载链接:https://pan.baidu.com/s/1SZGggxIE7Y1pO0hwzrXPyQ 提取码:2333

posted @ 2020-11-09 20:56  冬天的冰淇淋不会化  阅读(247)  评论(4编辑  收藏  举报