团队作业3--需求改进&系统设计
这个作业属于哪个课程 | 计科22级12班 |
---|---|
这个作业要求在哪里 | 作业要求地址 |
这个作业的目标 | 更改需求,完成系统设计,制定Alpha任务分配计划、测试计划 |
一、团队展示
队名:TPG NO 队
队员 | 学号 |
---|---|
董雯霖(队长) | 3122004780 |
李嘉远 | 3122004784 |
陈金星 | 3122004774 |
詹洛熙 | 3122004800 |
邱列圻 | 3122004787 |
二、需求&原型改进
1. 针对课堂讨论环节老师和其他组的问题及建议,对修改选题及需求进行修改
1.1 问题与修改
问题一:组织者发布的任务要给指定的志愿者查看,而不是全部都能发放
修改:我们希望所有志愿者都能参加各项活动,所以把组织者和管理者的功能任务合并到一块,由管理者统一管理志愿者,删除了组织者这个角色,简化了各项功能。
1.2 给目标用户展现原型,与目标用户进一步沟通理解需求。他们的痛是什么?场景是什么?
(1) 目标用户的痛点
志愿者的痛点
-
信息管理不便:志愿者常常需要在多个渠道之间切换来获取活动信息、报名和查看状态,繁琐且易出错。
-
活动报名复杂:现有的报名流程繁琐,信息填写多、审核过程不清晰,且经常缺乏实时状态反馈,导致志愿者对报名结果不明确。
管理员的痛点
-
数据管理复杂:管理员需要手动整理和跟踪志愿者的信息、活动记录、反馈等,数据分散且难以高效管理。
-
沟通成本高:活动变动或通知无法通过系统及时通知志愿者,往往需要依赖群发邮件或社交媒体,容易遗漏或出错。
(2)使用前的场景
志愿者的场景:
参加某个活动时,志愿者需要在邮件、微信群、Excel表格等不同渠道获取活动信息。报名时,志愿者填写多个表单,且没有反馈是否报名成功的明确提示,容易错过或无法确认。
管理员的场景:
管理员手动记录每个志愿者的报名信息,使用Excel表格管理活动内容和参与情况,容易出错且难以高效统计。活动变动或志愿者状态变更时,管理员需要逐个通知志愿者,耗时费力。
(3)使用后的场景
志愿者的场景:
- 志愿者通过系统直接查看活动详情,报名过程简单,只需填写少量信息,且报名后可立刻看到确认状态。
管理员的场景:
- 管理员可以通过后台系统快速查看所有志愿者的信息和活动情况,数据自动同步,避免手动错误。
- 活动信息、报名状态和志愿者通知通过系统自动处理,减少沟通成本。
2. 修改完善需求规格说明书
在修改后的需求规划中,将原本的“组织者”和“管理者”角色合并为一个统一的“管理员”角色。以下是更新后的内容:
原有的“组织者”和“管理者”角色功能进行了合并。新的角色定义如下:
管理员:
负责创建、管理活动。
管理志愿者报名信息。
查看志愿者的活动反馈与评分。
管理系统用户(包括志愿者的注册、删除、角色变更等)。
配置系统设置,如活动类型、参与人数等。
志愿者:
浏览系统中的活动。
报名参与感兴趣的活动。
提供活动反馈,包括评分和评论。
查看自己的活动历史记录和反馈情况。
3.功能分析的四个象限
外围功能 | 杀手功能 | |
---|---|---|
必要需求 | 用户注册与登录 | 提供活动报名及管理功能,活动创建与更新 |
辅助需求 | 个人信息管理 | 活动报名、取消报名和查看报名记录 |
4.任务分解 WBS 及相应的项目进度计划
任务分解 WBS
项目进度计划
周次 | 任务内容 |
---|---|
第九周 | - 完成系统设计文档初稿(已完成) |
- 确定数据库架构和数据模型(已完成) | |
- 分配前后端开发人员的任务(已完成) | |
第十周 | - 完成系统结构设计(已完成) |
- 制定需求规划说明书,包含功能需求和非功能需求(已完成) | |
第十一周 | - 开始前端界面的原型设计(已完成) |
- 后端搭建基础框架,设置开发环境(已完成) | |
- 开发用户注册和登录模块 | |
- 完成前端用户管理模块开发 | |
第十二周 | - 开发志愿者审核功能 |
- 完成基本的 API 接口文档 | |
- 开始活动管理模块的开发 | |
- 完善活动发布、报名功能 | |
- 前端与后端进行初步集成 | |
第十三周 | - 开发反馈与评价功能 |
- 完善统计数据模块 | |
- 开展系统整体测试(功能测试、集成测试) | |
第十四周 | - 进行用户测试 |
- 收集用户反馈,整理改进建议 | |
第十五周 | - 准备系统使用材料,包括用户手册和技术文档 |
- 开展最终的系统评审会议 |
三、系统设计
1. 系统架构设计
组件 | 功能 |
---|---|
前端层 | 负责与用户交互,提供用户界面,接收用户输入,展示系统信息,调用后端API。 |
服务接口层(API层) | 负责处理来自客户端(或其他外部系统)的请求,并将这些请求路由到相应的后端服务进行处理 |
业务逻辑层(服务层) | 负责核心业务逻辑的处理,接收来自前端的数据请求,进行业务处理,并与数据存储层交互。 |
数据访问层(数据库层) | 负责与数据库交互,存储系统数据并支持数据查询、更新等操作。 |
2. 数据库设计
表名:User
字段名 | 数据类型 | 说明 | 约束 |
---|---|---|---|
user_id | INT | 用户ID,主键 | 主键,自增 |
username | VARCHAR(50) | 用户名 | 唯一,不为空 |
password | VARCHAR(255) | 密码 | 不为空 |
VARCHAR(100) | 用户邮箱 | 唯一,不为空 | |
phone_number | VARCHAR(15) | 联系电话 | 可为空 |
role | ENUM('0', '1') | 用户角色(管理员或志愿者) | 默认值为 '1' |
表名:Activity
字段名 | 数据类型 | 说明 | 约束 |
---|---|---|---|
activity_id | INT | 活动ID,主键 | 主键,自增 |
title | VARCHAR(100) | 活动标题 | 不为空 |
description | TEXT | 活动描述 | 可为空 |
location | VARCHAR(100) | 活动地点 | 不为空 |
created_by | INT | 创建者用户ID | 外键,引用 User.user_id |
max_participant | INT | 最大参与人数 | 不为空,默认为0 |
表名:Feedback
字段名 | 数据类型 | 说明 | 约束 |
---|---|---|---|
feedback_id | INT | 反馈ID,主键 | 主键,自增 |
activity_id | INT | 活动ID | 外键,引用 Activity.activity_id |
user_id | INT | 用户ID | 外键,引用 User.user_id |
rating | TINYINT | 活动评分(1-5星) | 不为空,1到5之间 |
comment | TEXT | 活动评论 | 可为空 |
ER图
四、Alpha任务分配计划
甘特图
五、测试计划
1.产品说明
志愿者管理系统旨在为志愿者和管理者提供便捷的活动报名、管理、反馈功能。系统主要分为两类用户:管理员和志愿者。管理员可以创建、管理活动、查看报名信息、管理用户、查看活动反馈等;志愿者可以浏览、报名活动、提供反馈等。
2.测试范围
2.1 功能测试
- 用户管理功能:用户注册、登录、注销;用户权限管理(管理员和普通志愿者角色区分);修改密码功能。
- 活动管理功能:创建、查看、更新和删除活动;活动时间、地点的设置和验证;活动报名、取消报名和报名人数限制。
- 报名管理功能:用户报名参加活动;查看报名状态、取消报名;通过后台管理员管理报名列表。
- 反馈管理功能:用户对活动进行反馈(评分和评论);查看活动反馈。
2.2 性能测试
- 系统负载测试:测试系统在高并发用户下的响应时间和稳定性。
- 数据库性能测试:在大量活动数据和用户数据情况下,测试数据库查询和操作的性能。
2.3 安全性测试
- 用户认证和授权:测试不同角色(管理员、志愿者)是否可以访问授权的功能。
- SQL注入测试:测试系统是否存在SQL注入漏洞,确保输入的数据不影响数据库的安全。
- 数据加密:确保敏感信息(如密码)在数据库中的存储是加密的。
2.4 兼容性测试
- 浏览器兼容性:测试系统在主流浏览器上的兼容性。
2.5 用户体验测试
- UI/UX测试:检查界面设计的合理性、易用性和一致性;测试页面加载时间、响应速度和交互设计的友好性。
3.测试时间表
工作内容 | 人员安排 | 测试时间 |
---|---|---|
测试用户注册及登录功能 | 董雯霖 | 开发全程 |
测试活动管理功能 | 陈金星 | 开发全程 |
测试报名管理功能 | 李嘉远 | 开发全程 |
测试反馈管理 | 詹洛熙 | 开发全程 |
测试数据库数据 | 邱列圻 | 开发全程 |
测试整体功能 | 全员 | 最后一周 |
进行各项剩余测试 | 全员 | 最后一周 |
4.测试资源
硬件资源:
- 客户端设备:笔记本电脑
测试环境:
- 操作系统:Windows 10、Windows 11
- 数据库:MySQL