团队作业3
团队作业3——需求改进&系统设计
1. 需求&原型设计
1.1 针对课堂讨论环节老师和其他组的问题及建议,对修改选题及需求进行修改
问题一:从多个方面考虑问题,如食堂人流过多时,学生的就餐问题。
解决方案:添加定位系统,获取用户的地址信息,就可以时刻关注到目前食堂的人流情况。
1.2 完善需求规格说明书
实现系统详细功能:
1)用户需要进行登录,否则只能查看食堂的星级
2)登录后的用户可以对食堂进行评价、打星
3)系统会根据用户评价星级取平均,并展示给其他用户
4)用户可以获取特定食堂的人流量,自主选择去哪个食堂
5)添加食堂失物招领功能,用户可以通过小程序查看并认领物品
2. 系统设计
2.1 架构设计
模块 | 实现功能 |
---|---|
用户登录和权限管理模块 | 用户通过小程序进行登录,登录后可以获取自己的权限 |
权限管理模块 | 确定用户是否有权限对食堂进行评价和打星 |
食堂评价模块 | 用户登录后可以对食堂进行评价和打星 |
评价和打星的数据将存储在数据库中,并与用户关联 | |
系统根据用户评价星级计算平均值,并将其展示给其他用户 | |
食堂人流量模块 | 系统可以获取特定食堂的人流量数据 |
用户可以通过小程序查看人流量数据,并根据这些数据自主选择去哪个食堂 | |
失物招领模块 | 用户可以通过小程序查看失物信息并认领物品 |
失物招领数据将存储在数据库中,并与用户关联 | |
数据库模块 | 系统需要一个数据库来存储用户信息、食堂评价数据和失物招领信息 |
使用MySQL数据库来存储数据 | |
小程序前端 | 用户通过小程序进行登录、评价食堂、查看人流量和失物招领信息等操作 |
后端服务器 | 小程序通过后端服务器与数据库进行交互 |
后端服务器处理用户请求,提供登录验证、评价计算、人流量查询和失物招领功能。 |
2.2 数据库设计
用户表(Users):
列名 | 数据类型 | 约束 |
---|---|---|
用户ID | INT | 主键 |
用户名 | VARCHAR | 唯一性,非空 |
密码 | VARCHAR | 非空 |
权限级别 | INT |
食堂表(canteens):
列名 | 数据类型 | 约束 |
---|---|---|
食堂ID | INT | 主键 |
食堂名称 | VARCHAR | 唯一性,非空 |
地址 | VARCHAR | 非空 |
评价表(reviews):
列名 | 数据类型 | 约束 |
---|---|---|
评价ID | INT | 主键 |
用户ID | INT | 外键,关联用户表 |
食堂ID | INT | 外键,关联食堂表 |
评价内容 | TEXT | 非空 |
星级 | INT | 非空 |
评价时间 | DATETIME | 非空,默认当前时间 |
失物招领表(lost_and_found):
列名 | 数据类型 | 约束 |
---|---|---|
失物ID | INT | 主键 |
用户ID | INT | 外键,关联用户表 |
失物描述 | TEXT | 非空 |
招领状态 | VARCHAR | 非空 |
招领人ID | INT | 外键,关联用户表 |
3. Alpha任务分配计划
3.1 任务分配
通过架构设计,我们把这个分成六个部分,分别是:用户认证和权限管理部分,食堂评价和打星部分,食堂人流量查询部分,失物招领功能部分,数据库部分,前端小程序和后端服务器部分
4. 测试计划
模块 | 如何测试 |
---|---|
1.用户认证和权限管理部分的测试 | 确保用户登录功能正常工作,能够正确验证用户身份 |
验证不同用户角色的权限管理是否生效,例如普通用户无法进行管理员操作 | |
检查用户信息管理功能是否正常,包括用户注册、修改密码等操作 | |
2.食堂评价和打星部分的测试 | 确保用户能够成功对食堂进行评价和打星 |
验证评价数据的计算和展示是否准确,例如对于多次评价是否正确计算平均值 | |
检查评价和打星功能的数据合法性,例如对于星级评价是否限制在合理的范围内 | |
3.食堂人流量查询部分的测试 | 验证用户能够成功查询特定食堂的人流量数据 |
检查查询结果的准确性,例如对于不同时间段的人流量是否正确显示 | |
测试边界情况,例如当食堂没有人流量数据时,系统是否能够正确处理 | |
4.失物招领功能部分的测试 | 确保用户能够成功查询失物招领信息和认领物品 |
验证失物信息的展示是否准确,包括失物状态和招领人信息是否显示正确 | |
检查认领物品功能的正确性,例如用户是否能够成功认领招领的物品 | |
5.数据库部分的测试 | 验证数据库的数据插入、更新、删除等操作是否正常工作 |
检查数据库的约束条件是否生效,例如唯一性约束、外键约束等 | |
进行性能测试,确保数据库的读写性能满足系统需求 | |
6.前端小程序和后端服务器部分的测试 | 验证前端小程序的界面展示和用户交互是否正常 |
检查后端服务器与数据库的数据交互是否正确,例如数据查询和更新是否准确无误 | |
进行集成测试,确保前端和后端的协同工作能够实现系统的整体功能 |