团队作业3--需求改进&系统设计
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/CSGrade22-12 |
---|---|
这个作业的要求在哪里 | https://edu.cnblogs.com/campus/gdgy/CSGrade22-12/homework/13224 |
这个作业的目标 | 对需求进行改进,给出系统的架构设计,制定Alpha任务分配计划和测试计划 |
一、需求&原型改进
1.1 针对问题对需求进行修改
问题1:能否实现一个同学,他要什么东西,另一个同学刚好有,然后就可以通知有需要的同学。
修改1:我们会增加即时供需匹配通知功能:当用户A发布所需物品或服务的信息后,系统会自动匹配拥有该物品或服务的用户B,并实时通知用户A,从而实现快速、高效的供需对接。
用户痛点:
1.寻找困难:学生可能很难找到他们需要的二手教材、电子产品或其他物品。
2.信息不对称:买家和卖家之间缺乏有效的信息交流平台,导致交易效率低下。
3.交易不安全:线下交易存在安全风险,学生可能担心遇到诈骗或交易过程中的安全问题。
4.价格不透明:没有统一的标准,学生很难判断二手物品的合理价格。
5.物品状况不明确:买家很难在交易前了解二手物品的真实状况。
1.2完善需求规格说明书
使用场景:
使用产品之前:
1.学生A需要一本特定的教科书,但不知道谁在出售。
2.学生B有一本不再需要的教科书,但不知道如何找到买家。
3.学生C尝试在社交媒体或论坛上发布买卖信息,但响应率低且交易过程繁琐。
使用产品之后:
1.学生A在平台上发布所需教科书的信息,系统自动匹配到学生B的出售信息。
2.学生B收到平台的匹配通知,并与学生A取得联系。
3.双方通过平台的安全交易系统完成交易,平台提供物流或自提选项。
4.平台还提供评价系统,让双方都能对交易过程进行评价,增加了交易的可信度。
用户调查过程:
调查准备:产品团队准备调查问卷。
访谈:记录与目标用户(学生)进行一对一访谈的过程,询问他们的需求和痛点。
反馈收集:根据用户在给出的反馈,进行需求改进,直到满足用户需求。
《需求规格书》具体改进
1.不足之处:缺少对用户反馈和评价机制的具体描述;文档中对用户使用流程的描述较为简略,没有具体的使用场景;缺乏对安全性措施的详细说明,如用户隐私保护、交易安全等。
2.改进内容:
●订单评论机制:增加订单评论功能,允许买卖双方互相评价,并且他人评价在交易时可以查看以供参考。
●用户反馈机制:用户可对平台功能提出反馈,帮助开发者了解产品不足并改进
●用户隐私保护机制:
1.数据加密:使用SSL/TLS加密所有的数据传输,确保用户数据在互联网上传输时的安全。对存储在数据库中的敏感信息(如密码、个人信息等)进行加密处理。
2.数据最小化原则:只收集实现平台功能所必需的用户信息。避免存储不必要的个人信息。
用户故事示例:
场景:小明是一名大学生,需要购买一本二手专业书籍。
故事:
●小明在平台的商品界面上找到了所需书籍。
●他利用根据书籍的新旧程度、价格等因素进行商品选择。
●小明找到合适的书籍后,通过平台的安全交易系统进行购买。
●交易完成后,小明在平台上对书籍的质量和卖家服务进行了评价。
●平台还提供了反馈渠道,小明通过这个渠道提出了改进购物车功能的建议。
1.3 功能分析的四个象限
1.必须有的(Must have)
用户管理、购买商品、发布商品
2.应该有的(Should have)
购物车管理、商品信息管理、订单管理
3.可以有的(Could have)
通知和评价和反馈机制
4.这次没有(Won’t have)
商品筛选功能、交易纠纷处理方法
二、系统设计
2.1系统的架构设计
前端:采用HTML、CSS、JavaScript等技术,实现用户界面及交互,使网页具有更好的可读性和视觉效果。
后端:采用Java、springboot、mybatisplus、springMVC等技术,搭建服务器端程序。
数据库:采用MySQL、MongoDB等数据库用于存储和管理二手交易平台的数据,如用户信息、商品信息、交易记录等。
模块 | 功能 |
---|---|
注册 | 让用户拥有可以登录的账号,以此进行购买操作。用户输入用户验证信息创建账号并进行个人信息的修改。 |
登录 | 用户通过输入合法的信息,进入系统的过程。用户输入用户名与密码,输出登录结果。 |
分类 | 通过选取分类信息显示用户所要分类的商品 |
商品查询 | 针对系统中存在的每个商品进行商品查询。通过用户输入的商品信息进行筛选输出对应商品资料。 |
购物车 | 加入购物车:用户将所选商品加入要结算购物车,输入商品信息,输出添加结果。修改购物车,用户可以对购物车中所选商品进行修改,输入新的商品信息,输出修改结果 |
订单 | 用户通过订单模块查询订单信息,用户确定要购买后,填写详细地址和详细的商品信息然后发出订单。用户可以在发出付款前取消之前所下的订单 |
2.2数据库设计
2.2.1表名解释
user 用户表
admin 管理员表
category 类别表
order 订单表
orderItem 订单项表
product 商品表
shoppingcar 购物车表
shoppingitem 购物项表
2.2.2表结构
用户表user
列名 | 数据类型 | 说明 |
---|---|---|
uid | int | 主键,用户id |
username | varchar(32) | 用户名 |
nickname | varchar(32) | 昵称 |
password | varchar(32) | 密码 |
varchar(32) | 邮箱 | |
birthday | datetime | 出生日期 |
updatetime | datetime | 注册时间 |
管理员表admin
列名 | 数据类型 | 说明 |
---|---|---|
aid | int | 主键,管理员id |
username | Varchar(32) | 管理员名称 |
password | varchar(32) | 密码 |
类别表category
列名 | 数据类型 | 说明 |
---|---|---|
cid | int | 主键,类别id |
cname | varchar(32) | 类别名称 |
订单表order
列名 | 数据类型 | 说明 |
---|---|---|
oid | varchar(32) | 主键,订单id |
money | double(10,2) | 订单金额 |
recipients | varchar(32) | 收件人 |
tel | varchar(16) | 电话 |
address | varchar(255) | 地址 |
state | int | 订单状态 |
ordertime | datetime | 下单时间 |
uid | int | 外键,用户id |
订单项表OrderItem
列名 | 数据类型 | 说明 |
---|---|---|
itemid | int | 主键,订单项id |
oid | varchar(32) | 外键,订单id |
pid | varchar(32) | 外键,商品id |
buynum | int | 购买数量 |
商品表Product
列名 | 数据类型 | 说明 |
---|---|---|
pid | varchar(100) | 主键,商品id |
pname | varchar(200) | 商品名称 |
estoreprice | double(10,2) | 商城价格 |
markprice | double(10,2) | 市场价格 |
pnum | int | 库存 |
cid | int | 外键,类别id |
imgurl | varchar(255) | 商品图片 |
desc | varchar(255) | 商品描述 |
购物车表shoppingcar
列名 | 数据类型 | 说明 |
---|---|---|
sid | int | 主键,购物车id |
uid | int | 外键,用户id |
购物项表shoppingitem
列名 | 数据类型 | 说明 |
---|---|---|
itemid | int | 主键,购物项id |
sid | int | 外键,购物车id |
pid | varchar(32) | 外键,商品id |
2.2.3E-R图
三、Alpha任务分配计划
Product Backlog
Sprint Backlog
甘特图
四、测试计划
4.1 引言
4.1.1 项目背景
本项目旨在开发一款校园二手交易软件,用户可以通过该软件发布、浏览和交易二手商品。软件将支持用户管理、发表商品、购买商品、消息通知和管理员管理等功能。
4.1.2 参考资料
软件需求规格说明书https://www.cnblogs.com/Anazha/p/18508748
如何编写测试计划https://www.cnblogs.com/itest/archive/2008/06/24/1229151.html
4.1.3测试术语
单元测试:针对软件中最小可测试部分的测试。
集成测试:多个单元组合在一起的测试。
系统测试:完整的、集成的软件系统进行的测试。
4.2 任务概述
4.2.1 测试范围
测试将覆盖软件的所有功能模块,包括用户管理、发闲置、买闲置和管理员等功能。
●用户管理
登录:已注册用户直接登录。
注册:未注册用户可以进行注册操作。
●发闲置
闲置物品信息及分类:获取数据库中的限制物品的商品信息,并进行分类。
浏览商品:用户可以查看页面显示的闲置物品的商品信息,可查看商品详情。
购物车管理:用户添加商品进入购物车,对商品添加、修改、删除。
订单管理:对订单信息进行查看,确认收货,删除。
●买闲置
商品信息管理:对商品信息的上架和下架,修改商品信息。
分类管理:对商品的分类进行添加、删除、修改和查询操作。
订单管理:对订单进行添加、修改和查询操作。
●管理员
管理员管理:为后台管理员添加系统用户账户。
4.2.2 测试目标
确保软件在发布前满足所有功能需求,性能稳定,用户界面友好,且无重大缺陷。
4.3 测试策略
4.3.1 测试人员
余李烨、江玲
4.3.2 测试方法
手动测试:用于功能测试和界面测试。
自动化测试:用于回归测试和性能测试。
黑盒测试:不关心内部逻辑,只关注功能输出。
白盒测试:关注代码逻辑和路径。
4.3.3 工具引用及测试培训
使用Jira进行缺陷跟踪。
使用Selenium进行自动化测试。
对测试团队进行软件测试工具的培训。
4.3.4 测试阶段计划
单元测试:开发周期内并行进行。
集成测试:开发完成后的第一周。
系统测试:集成测试完成后的第二周。
性能测试:系统测试完成后的第三周。
4.3.5 测试停止及恢复条件
遇到严重阻塞性缺陷时停止测试。
缺陷修复后恢复测试。
4.3.6 测试文档及缺陷提交管理
所有测试文档和缺陷报告将通过Jira进行管理。
4.3.7 测试环境
搭建与生产环境相似的测试环境。