能跑就行队——概要设计和数据库设计

能跑就行队 2024-10-22 21:58:04
这个作业属于哪个课程2024软件工程实践
这个作业要求在哪里团队作业--概要设计和数据库设计
团队名称能跑就行队
这个作业的目标系统设计与数据库设计
其他参考文献《构建之法》、数据库设计说明书、UML类图详解

目录

  • 1.华为云仓库链接
  • 2.系统和数据库设计
  • 2.1体系结构设计
  • 2.2功能模块层次图
  • 2.2.1图片展示
  • 2.3ER图
  • 2.4表结构设计
  • 2.4.1表结构展示
  • 2.4.2表结构设计思路
  • 3.类图、系统安全和权限设计
  • 3.1 类图
  • 3.1.1类图展示
  • 3.1.2思路
  • 3.2 系统安全与权限设计部分
  • 3.2.1密码处理
  • 3.2.2 密码验证
  • 3.2.3思路
  • 4.改进分析
  • 1.Q:类图过于宽泛,缺少针对性
  • 2.Q:user和其他类关联有些简单,这种表示能否支撑你的需求和关联
  • 修改后的类图
  • 5.团队绩效
  • 5.1工作流程
  • 5.2 组员分工及贡献度表
  • 6.开发计划安排
  • 6.1里程碑
  • 6.2人员分工

1.华为云仓库链接

系统设计说明书
数据库设计说明书
系统设计和数据库设计答辩PPT

2.系统和数据库设计

2.1体系结构设计

img

2.2功能模块层次图

2.2.1图片展示

img


主要包括登录,任务,讨论,笔记,项目,模板,文件夹,模板管理模块,账号管理模块九大模块

2.3ER图

img

2.4表结构设计

2.4.1表结构展示

表 user 的结构

img

表 task 的结构

img

表 note 的结构

img

表 message 的结构

img

表 friend 的结构

img

表 file 的结构

img

表 chat 的结构

img

2.4.2表结构设计思路

主要设计了6个表结构,其中用户表用于记录用户的个人信息和密码等,待办事项表用于记录待办的详细内容和起始日期,笔记表用于记录用户创建的笔记的标题、内容等,聊天记录表用于记录用户的聊天记录和相关信息,好友表用于记录用户的好友,文件表用于记录用户上传的文件和相关信息,会话表记录用户发起的所有会话和参与用户

3.类图、系统安全和权限设计

3.1 类图

3.1.1类图展示

img

3.1.2思路

因为笔记和文件可以关联到一个待办事项,因此为一对多的关联关系完善了笔记、待办和文件之间的关系增加了聊天协作功能相关的类,增加了聊天记录相关的类新增了拉黑功能相关的类

3.2 系统安全与权限设计部分

3.2.1密码处理

随机数生成:在用户注册时生成一个安全的随机数,使用如 SecureRandom 的算法确保其不可预测性。
拼接处理:将生成的随机数与用户输入的密码进行拼接(如用户密码+随机数),生成一个新的字符串。
哈希处理:对新字符串应用强哈希算法(如 bcrypt、argon2),生成安全的新密码。哈希算法具有不可逆性,确保原始密码无法恢复。
数据存储:将用户ID、新密码和随机数安全地存储到数据库中,确保数据库连接是安全的,并使用参数化查询防止SQL注入。

3.2.2 密码验证

信息获取:用户输入ID和密码后,服务端从数据库中获取该用户的新密码和随机数。
拼接处理:将用户输入的密码与数据库中的随机数拼接,生成新的字符串。
哈希处理:对新的字符串使用相同的哈希算法处理,得到处理结果。
验证结果:比较处理后的结果与数据库中存储的新密码。如果相同,则登录成功;否则,登录失败。

3.2.3思路

(1)前后端分离
前后端分离架构允许独立开发与部署,提升系统的灵活性和可维护性。前端负责用户界面,后端处理业务逻辑与数据管理。
(2)Token 鉴权
在用户登录成功后,生成一个token,返回给前端。后续请求需携带该 token 进行身份验证,减少对数据库的频繁访问。
(3)密码安全存储
使用加盐和强哈希算法,确保用户密码在数据库中存储的安全性。加盐能够有效防止彩虹表攻击,提高破解难度。
(4)防护措施
登录尝试限制:实现登录失败次数限制,避免暴力破解攻击,例如,超过一定次数后锁定账户或启用验证码。
(5)用户教育与提示:
提供密码强度提示,鼓励用户设置复杂密码。
在敏感操作(如密码重置)中,增加多因素认证,提升安全性。

4.改进分析

1.Q:类图过于宽泛,缺少针对性

A:我们对目前的项目的需求分析只确定了大概的方向,所以类图做的可能会比较简单,后续还会讨论添加新类,删除部分多余类

2.Q:user和其他类关联有些简单,这种表示能否支撑你的需求和关联

A:就目前的user类与其他类图可以实现一些简单的需求,我们的类图类确实有些少,要实现其他一些需求后续还是要增加一些类,并且改变user类与其他类的关联方式

修改后的类图

因为笔记和文件可以关联到一个待办事项,因此为一对多的关联关系完善了笔记、待办和文件之间的关系增加了聊天协作功能相关的类,增加了聊天记录相关的类,新增了拉黑功能相关的类

img

5.团队绩效

5.1工作流程

1.仔细阅读博客,根据作业要求梳理工作任务,并进行分工
2.拟定《系统设计说明书》和《数据库设计说明书》的大纲
3.针对上周评审中老师、助教和其他队伍对项目的需求分析阶段提出的问题,对项目的类图及其他现有内容进行优化
4.按分工进行《系统设计说明书》和《数据库设计说明书》的撰写
5.制作答辩PPT
6.撰写博客
以下是部分沟通交流图,主要以qq群形式,由于各组员宿舍较近也会线下宿舍串门交流

img

img

img

img

img

img

5.2 组员分工及贡献度表

成员工作内容贡献度
222200211李成功数据库设计说明书部分,组织团队工作14%
162204204郭丰华数据库设计说明书部分14.5%
222200204邓志豪系统设计说明书部分15.5%
222200213肖祖鑫ppt制作,答辩记录,博客撰写14.5%
222200202王子豪系统设计说明书部分14%
222200118张宇城系统设计说明书部分及ppt部分13.5%
222200120陈潇涵ppt美化,答辩演讲14%

6.开发计划安排

6.1里程碑

里程碑时间具体事项
开发初步阶段10.23-10.30对之前的数据库设计和系统安全,权限设计进一步完善,成员间进行任务分配,进行技术栈的学习
Alpha冲刺10.31-11.5完成小程序和web端部分界面的开发,后端完成数据库编写,数据库部分接口设计,并做好基础的交互功能
Alpha冲刺11.6-11.15进行前后端整合测试,完成小程序和web端文件模块和通讯录功能的开发
Alpha冲刺11.16-11.17完善功能,修复已知bug, 反思Alpha版本存在的问题
Beta冲刺11.18-11.25对Alpha版本出现的问题进行解决,进一步完善功能 ,进一步进行开发学习
Beta冲刺11.25-12.2进一步完善小程序和web端的功能,进行外部测试,根据反馈适当调整完善功能,准备 Beta版本的发布

6.2人员分工

成员分工具体内容
222200211李成功前端web端项目模块,笔记模块,讨论模块,任务模块
162204204郭丰华后端/测试模板管理模块,账号管理模块,笔记模块,讨论模块,编制测试计划、设计测试用例
222200204邓志豪前端web端登录,模板,通讯录,文件模块
222200120陈潇涵后端登录模块,模板模块,文件夹模块
222200202王子豪前端小程序端项目模块,笔记模块,讨论模块 ,任务模块
222200118张宇城前端小程序端登录,模板,通讯录,文件模块
222200213肖祖鑫后端笔记模块,项目模块,任务模块
...全文
94 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

241

社区成员

发帖
与我相关
我的任务
社区管理员
  • FZU_SE_teacherW
  • 助教赖晋松
  • D's Honey
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧