托码头小队——项目系统设计与数据库设计

托码头小队 团队 2024-04-23 13:05:50
这个作业属于哪个课程2302软件工程社区
这个作业要求在哪里概要设计和数据库设计
这个作业的目标完善用况图和类图,并且设计好系统和数据库、制定好计划和分工
其他参考文献《构建之法》

目录

  • 一、GitCode团队仓库链接
  • 二、文档的GitCode链接
  • 2.1 托码头小队_系统设计说明书.pdf
  • 2.2 托码头小队_数据库设计说明书.pdf
  • 2.3 托码头小队_系统设计和数据库设计答辩PPT.pdf
  • 三、系统和数据库设计
  • 3.1 体系结构设计
  • 3.2 功能模块层次图
  • 3.3 ER分析
  • 3.4 表结构设计
  • 四、类图、系统安全和权限设计
  • 4.1 设计类图
  • 4.2 系统安全和权限设计
  • 4.2.1 防sql注入保护措施
  • 4.2.2 数据库备份
  • 4.2.3 微信登录保护措施
  • 4.2.4 密码加密
  • 4.2.5 权限分配
  • 五、改进分析
  • 5.1 改进部分和改进过程
  • 六、团队绩效
  • 6.1 工作流程
  • 6.2 组员分工
  • 6.3 组员贡献度比例
  • 七、开发计划安排

一、GitCode团队仓库链接

团队仓库

二、文档的GitCode链接

2.1 托码头小队_系统设计说明书.pdf

托码头小队_系统设计说明书

2.2 托码头小队_数据库设计说明书.pdf

托码头小队_数据库设计说明书

2.3 托码头小队_系统设计和数据库设计答辩PPT.pdf

系统设计和数据库设计答辩PPT

三、系统和数据库设计

3.1 体系结构设计

  • 为了能够清晰地了解软件项目结构,方便对项目进行开发,我们对软件项目进行体系结构划分,
    不再是单一地分为前后端,而是清晰地分为前端、接口层、业务层、应用层、基础服务层,每个层次实现不同的功能。

img

3.2 功能模块层次图

  • 我们将项目功能分成五大模块,分别为待办模块、专注模块、个人模块、社交模块、论坛模块。
    这五个模块各自实现不同的功能,分割成模块有助于实现同时开发,方便项目管理。

img

3.3 ER分析

  • 对ER进行分析,得出ER图

用户与待办

img

用户与奖杯

img

文章与评论

img

用户与文章

img

用户与用户

img

评论与评论

img

3.4 表结构设计

数据库中需要对用户、评论、文章等数据及进行存储,我们设计了管理员表、文章表、评论表、评论关系表、朋友表、待办事务表、奖杯表、用户表、评论点赞表、文章点赞表。

img

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

4.1 设计类图

  • 首先是数据库数据的类图,这些类需要用来存储与数据库交互后得到的数据库数据,将它们包装成一个类能够方便我们使用这些数据。

img

  • 然后是前端的操作类,前端使用中介者模式,相对于采用单纯的交互关系,使用中介者模式能够简化系统结构且降低耦合度,
    提高可扩展性和灵活性。

img

4.2 系统安全和权限设计

4.2.1 防sql注入保护措施

MyBatis 通过预编译 SQL 语句的方式来防止 SQL 注入攻击。在 MyBatis 中,SQL 语句中的参数会被转义并作为预编译参数传递给数据库,而不是直接拼接到 SQL 语句中。这样可以有效地防止恶意用户通过参数传递恶意 SQL 语句来进行注入攻击。

4.2.2 数据库备份

用GitCode对数据库数据进行备份。

4.2.3 微信登录保护措施

加密传输:微信登录过程中,用户的账号密码等敏感信息会通过 HTTPS 协议进行加密传输,确保数据在传输过程中不被窃取或篡改。
OAuth 授权:微信登录采用 OAuth 授权机制,用户在登录时会被重定向到微信的授权页面,用户需要输入微信账号密码进行授权,授权成功后会生成一个授权码,通过授权码可以获取用户的基本信息,避免了直接传输用户密码的风险。

4.2.4 密码加密

管理员密码使用md5加密设置后存入数据库,保证数据安全。

4.2.5 权限分配

根据角色的职责和权限级别,为每个角色分配相应的权限。

五、改进分析

老师助教和其他队伍在评审中给项目提出的问题:你们和第五组的区别是什么

首先,第五组的软件项目是自习室,用户可以建立自习室互相督促学习、记录时间等,主要面对的使用对象为学生和其他学习用户。
但我们开发的是时间管理类的微信小程序,主要面对的使用对象为所有不依靠手机工作学习,但手机成瘾的人群或者是学生、职场人士和想要提高效率的人群,
不仅仅局限于学习用户。并且我们的小程序项目实现的功能更多,不仅能够专注学习、设置待办事件,还能添加好友使用论坛模块,丰富使用场景。

5.1 改进部分和改进过程

为了不与第五组的软件项目过于相似,展现不同的风格,提高我们的竞争力,我们采取了以下的改进:

1.丰富小程序功能: 我们不仅实现了用户模块、专注学习和添加待办事件的功能,我们还增加了好友管理功能,用户可以添加好友督促学习还可以使用我们的论坛功能,
用户使用论坛功能可以发表文章和评论,交流学习、生活经验,这样能够扩大我们项目的使用场景。

2.优化逻辑结构: 我们还对项目的逻辑结构进行不断地优化,这样能够提高小程序的响应速度,提高用户使用体验。

六、团队绩效

6.1 工作流程

首先对项目功能模块进行梳理,对体系结构进行设计,画出功能模块层次图,进行ER分析,设计类图和数据库表结构,
然后进行系统安全和权限设计,对这以上分析进行多次的研究、修改,最终确定好后,编写博客和ppt。

6.2 组员分工

学号岗位职责
222100224林然鹏后端开发组长1、负责后端接口分配2、完成待办事务、用户有关接口编写3、负责最后与前端对接任务
222100225林璞后端开发1完成社交、鉴权有关接口编写
222100226欧景天前端开发组长1负责前端页面分配,完成专注时间、待办事务页面2、负责最后与后端对接任务
222100232黄烨琳后端开发完成论坛、管理员、评论有关接口编写
222100235熊铃锋项目经理1、参与项目过程中各个关键环节的活动,关注产品开发的进度2、对项目过程进行监控,对项目的进度、质量负责
222100327赵振廷前端开发1、完成个人页面、社交页面
222100329衷进之前端开发1、完成论坛页面、文章发布页面
052106112林黄骁运维+前端指导1、负责程序上线服务器2、指导前端开发,给予前端开发组帮助

6.3 组员贡献度比例

学号工作内容贡献度
222100224林然鹏数据库设计、接口设计、系统设计文档接口设计部分18
222100225林璞数据库设计、系统设计文档和数据库文档整理15
222100226欧景天功能模块梳理、系统设计文档功能模块部分12
222100232黄烨琳数据库设计、类图设计、系统设计文档类图设计部分12
222100235熊铃锋博客编写、ppt制作12
222100327赵振廷功能模块梳理、系统设计文档功能模块部分10
222100329衷进之功能模块梳理、系统设计文档功能模块部分10
052106112林黄骁数据库设计、接口设计11

七、开发计划安排

里程碑产出时间
概要设计和数据库设计1、进行数据库和系统设计2、类图设计3、项目时间安排及分工4.18-4.23
Alpha冲刺准备自学相关技术4.25-4.30
Alpha冲刺第一周1、制定代码规范、项目整体架构2、专注页面制作3、个人主页页面制作4、待办事务页面制作5、后台管理的部分功能5.1-5.7
Alpha冲刺第二周1、完成社交模块2、完善冲刺第一周的内容,是机动时间5.8-5.14
冲刺缓冲期自学技术不足部分,团队总结,解决Alpha冲刺遗留问题部分5.15-6.1
Beta冲刺第一周1、实现论坛功能2、整合论坛和社交功能,完成对应跳转3、完成后台管理功能6.2-6.8
Beta冲刺第二周对第一周进行反思,继续完善项目功能6.9-6.16
Beta冲刺第三周基本完成功能,测试各个功能,上线项目6.16-6.22
...全文
159 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

122

社区成员

发帖
与我相关
我的任务
社区描述
FZU-SE
软件工程 高校
社区管理员
  • LinQF39
  • 助教-吴可仪
  • 一杯时间
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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