团队作业3--需求改进&系统设计

团队作业3-需求改进&系统设计

这个作业属于哪个课 计科22级1班
这个作业要求在哪里 团队作业3--需求改进&系统设计
这个作业的目标 对需求进行改进,给出系统的架构设计,制定Alpha任务分配计划和测试计划

一、团队展示

  • 队名:FJFC
  • 队员:
队员 学号 擅长技术 分工
韩其锟 3122004348 后台测试,JAVA 后端测试
范志杰(队长) 3122004345 前端开发,JS,CSS,HTML 前端测试
余海鸿 3119006813 C,JAVA 复审测试
杨文聪 3122004372 C,JAVA 文档测试

二、需求&原型改进

1.需求改进:

  • 问题一:项目里面有涉及到扩展功能:实现AI智能回答
    解答:老师建议我们可以把主要精力放在AI这块功能上,因为这块功能可扩张的东西很多,而且实现后对用户的帮助是非常大的。
  • 问题二:博客论坛
    解答:在博客论坛中的话,他的主要功能就是让用户能够讨论他们所遇到的问题,也能让他们获取到相应的知识,你可以将上面的AI智能回答功能集成到这个论坛中,让用户能够提问,然后AI智能回答,这样用户就能获取到他们想要的知识了。

2.完善需求规格说明书

《需求规格说明书》初稿的不足:
用户反馈机制不明确:虽然提到了用户反馈,但没有具体说明如何收集和处理用户反馈,以及如何将反馈整合到产品迭代中。
改进内容

  • 制定详细的用户反馈收集计划,包括调查问卷、用户访谈、在线反馈表单等。
  • 设立专门的角色负责用户反馈的收集、整理和分析,并确保反馈能够及时反映到产品改进中。

3.参考《构建之法》5节功能的定位和优先级,给出功能分析的四个象限

外围功能 杀手功能
必须要求 发布文章 文章搜索
辅助要求 私信聊天 点赞关注

4.根据修改后的需求,调整任务分解WBS及相应的项目进度计划

三、系统设计

后端架构设计

后端系统使用经典的三层架构,总体分为控制层、服务层、存储层三层大,除此之外,在控制层之上还有权限管理层、Servlet层等。

  • 顶层服务:前端发送的HTTP请求会首先到达SpringBoot自带的Tomcat服务器,使用线程池中的一个线程处理请求,请求经过Servlet层转化为Java后端的HttpServlet请求,接着由权限管理层验证用户是否登录、请求资源是否合法等,系统在用户登录后会生成Token并存储在Redis数据库中,然后使用Cookie注入的方式将Token注入到请求头中,之后的请求都会携带Cookie,可被权限管理层识别,这个过程由Java权限认证框架Sa-Token完成。
  • 控制层:控制层用于编写系统接口,定义请求类型、响应类型等,收到合法请求后会请求服务层,处理完成数据后返回,使用SpringMVC框架编写。
  • 服务层:服务层用于处理核心的业务流程,会根据业务类型划分多个服务,对应多个Java接口和实现类,处理业务包括数据解析、数据处理、数据查询、数据聚合、数据转化等,同时服务处也会调用OSS对象存储API将图片文件等对象数据存储于远程服务器。
  • 存储层:存储层负责直接与数据库交互,服务层不需要关心数据库增删改查的实现,只需要调用存储层方法即可得到想要的数据或完成数据库操作,使用MyBatisPlus框架实现无SQL编写的ORM操作,这一层也包括了数据库表对应的Java实体类。

数据库表设计

文章表 (article)

列名 数据类型 是否非空 默认值 备注
id int 主键,自增
user_id int NULL 用户id
title varchar(255) NULL 标题
type varchar(255) NULL 类型
content varchar(1024) NULL 内容
summary varchar(512) NULL 概述
images varchar(1024) NULL 图片
status int 0 状态
create_time datetime CURRENT_TIMESTAMP 创建时间
update_time datetime CURRENT_TIMESTAMP 修改时间

文章类型表 (article_type)

列名 数据类型 是否非空 默认值 备注
id int 主键,自增
name varchar(64) NULL 名称

收藏表 (collected)

列名 数据类型 是否非空 默认值 备注
id int 主键,自增
user_id int NULL 用户id
article_id int NULL 文章id
time datetime CURRENT_TIMESTAMP 时间

评论表 (comment)

列名 数据类型 是否非空 默认值 备注
id int 主键,自增
article_id int NULL 文章id
user_id int NULL 用户id
parent_id int NULL 父评论id
content varchar(255) NULL 内容
status int 0 状态
create_time datetime CURRENT_TIMESTAMP 创建时间
update_time datetime CURRENT_TIMESTAMP 更新时间

关注表 (follows)

列名 数据类型 是否非空 默认值 备注
id int 主键,自增
user_id int NULL 用户id
follows_id int NULL 关注用户id
time datetime CURRENT_TIMESTAMP 创建时间

点赞表 (liked)

列名 数据类型 是否非空 默认值 备注
id int 主键,自增
user_id int NULL 用户id
article_id int NULL 文章id
time datetime CURRENT_TIMESTAMP 时间

通知表 (notice)

列名 数据类型 是否非空 默认值 备注
id int 主键,自增
user_id int 用户id
content varchar(100) 内容
type int 0 类型
status int 0 状态
read tinyint(1) 0 是否已读
create_time datetime CURRENT_TIMESTAMP 创建时间

用户表 (user)

列名 数据类型 是否非空 默认值 备注
id int 主键,自增
username varchar(255) 用户名
password varchar(255) 密码
avatar varchar(255) NULL 头像
intro varchar(255) NULL 介绍
email varchar(255) NULL 邮箱
status int 1 状态
create_time datetime CURRENT_TIMESTAMP 创建时间
update_time datetime CURRENT_TIMESTAMP 更新时间

用户详情表 (user_details)

列名 数据类型 是否非空 默认值 备注
id int 主键,自增
user_id int 用户id
gender tinyint(1) NULL 性别
birthday date NULL 生日
org_name varchar(255) NULL 机构名称
org_type int NULL 机构类型
org_number varchar(255) NULL 机构编号
org_identity_status int 0 机构身份状态
extra_info varchar(2048) NULL 额外信息
create_time datetime CURRENT_TIMESTAMP 创建时间
update_time datetime CURRENT_TIMESTAMP 更新时间

四、Alpha任务分配计划

1.Product Backlog和Sprint Backlog

五、测试计划

1、产品描述

本项目是一个类似CSDN或稀土掘金的技术博客社区,主要用于个人分享技术文章、传播技术知识。社区提供发表文章、评论回复、点赞关注等基础功能,同时还提文章搜索、私信聊天、系统通知等高级功能。

2、测试方案

用户界面测试:检查前端界面的显示效果和所有标签元素的正确性。
数据库连接测试:确保系统能够顺利连接数据库并进行数据交互。
工具类测试:对后端支持数据库操作和前端交互的工具类进行测试,以保证系统功能正常。
安全测试:对代码执行环境进行综合安全测试,包括时间限制、内存管理、网络隔离和权限控制等方面。

3、测试时间安排

测试将与开发阶段并行进行,每个功能模块开发完成后立即开展测试工作。

4、测试团队

测试任务主要由项目组中的两名测试专员负责执行,其他团队成员将根据测试需求提供必要的协助。

posted @ 2024-11-07 19:12  余海鸿  阅读(13)  评论(0编辑  收藏  举报