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

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

需求&原型改进

需求修改

  • 问题一:如何让平台显示内容更加真实可信

    • 修改:增加用户身份区分,校内学生使用校内同一身份登录,对于校外用户,尤其是商家用户,对其发表内容进行额外标注与甄别,使得内容更加可靠
  • 问题二:如何让校内的学生更倾向使用本平台

  • 修改:简化系统平台界面,突出实用功能,发动可直接与校内用户沟通交流的优势,更有针对性的设计平台

需求规格书改进

  1. 校园身份验证系统:通过学校邮箱验证用户身份,确保点评真实性
  2. 校外用户甄别:对非校内用户发表的内容进行表明,尤其是商家的言论
  3. 评论机制:简化评论机制,将点评制作成选项,让用户可在更短的时间完成点评
  • 场景参考(User Story)

    桂恭子同学在平时的定评网站使用时,会有商家刷评论的现象,同时,在进行点评的时候,常因为点评程序繁琐而感到厌烦,结合这一现象,我们通过学校邮箱验证用户身份,确保点评真实性,对非校内用户发表的内容进行表明,尤其是商家的言论,同时我们还简化评论机制,将点评制作成选项,让用户可在更短的时间完成点评

功能分析的四个象限

根据《构建之法》第5节“功能的定位和优先级”,我们可以将功能分为四个象限,基于用户需求的重要性和技术实现的难易程度进行划分:

象限 高重要性,低难度 高重要性,高难度
功能描述 核心功能,易实现,需优先开发 核心功能,技术复杂,需重点投入
功能 1. 用户注册/登录(学校邮箱验证) 1. 课程时间表整合推荐功能
2. 商户信息展示 2. 个性化推荐(基于用户历史行为)
3. 点评系统(评分、文字、图片) 3. 数据统计分析模块
开发优先级 第一优先级 第二优先级
象限 低重要性,低难度 低重要性,高难度
功能描述 辅助功能,易实现,可后续开发 辅助功能,技术复杂,可延后或简化
功能 1. 收藏夹功能 1. 校园活动联动推荐功能
2. 点评点赞/举报功能 2. 敏感信息脱敏处理
3. 商户分类筛选 3. 防XSS攻击
开发优先级 第三优先级 第四优先级

开发的任务分解以及项目进度计划

模块 任务
第1周 1. 用户模块 1.1 用户注册/登录(学校邮箱验证)
1.2 个人信息管理
6. 安全与性能 6.1 用户密码加密存储
第2周 2. 商户模块 2.1 商户信息展示
2.2 商户分类(餐饮、娱乐、生活服务等)
3. 点评模块 3.1 评分系统(1-5星)
第3周 3. 点评模块 3.2 文字评价
4. 搜索与推荐模块 4.1 基于位置的搜索
4.2 评分排序
第4周 5. 管理模块 5.1 用户管理
5.2 商户信息审核

系统架构设计

  1. 表现层(Presentation Layer)
    • 负责与用户交互,展示数据,并接收用户的输入。
    • 使用前端技术(如HTML, CSS, JavaScript, React/Vue.js)构建用户界面。
    • 通过HTTP请求与后端服务进行通信。
  2. 应用层(Application Layer)
    • 处理业务逻辑,执行用户请求。
    • 包括用户管理、商铺管理、博客管理等模块。
    • 使用RESTful API提供服务,如用户登录、发送验证码、查询商铺等。
  3. 业务逻辑层(Business Logic Layer)
    • 包含核心业务规则和逻辑处理。
    • 例如,处理用户认证、商铺信息的验证、博客的点赞逻辑等。
  4. 数据访问层(Data Access Layer)
    • 负责数据的持久化和检索。
    • 使用ORM(如Hibernate, Sequalae)与数据库交互。
    • 执行CRUD操作,如新增商铺、查询博客等。
  5. 数据库层(Database Layer)
    • 存储所有数据,包括用户信息、商铺信息、博客内容等。
    • 使用关系型数据库(如MySQL, PostgreSQL)或NoSQL数据库(如MongoDB)。

数据库设计

ER图(实体关系图)

  • 用户表(User):存储用户信息,如用户ID、手机号、密码等。
  • 商铺表(Shop):存储商铺信息,如商铺ID、名称、类型、地址、评分等。
  • 博客表(Blog):存储博客内容,如博客ID、用户ID、内容、点赞数等。
  • 点赞表(Like):记录用户对博客的点赞,包括用户ID和博客ID。

接口框架

src
├── main
│   ├── java
│   │   ├── com.nanting.point
│   │   │   ├── controller                  // 控制器层
│   │   │   │   ├── ShopController.java      // 商铺相关接口
│   │   │   │   ├── VoucherController.java   // 优惠券相关接口
│   │   │   ├── service                     // 服务层
│   │   │   │   ├── ShopService.java         // 商铺业务逻辑
│   │   │   │   ├── VoucherService.java      // 优惠券业务逻辑
│   │   │   ├── dao                         // 数据访问层
│   │   │   │   ├── ShopDao.java             // 商铺数据访问
│   │   │   │   ├── VoucherDao.java          // 优惠券数据访问
│   │   │   ├── entity                      // 实体层
│   │   │   │   ├── Shop.java                // 商铺实体
│   │   │   │   ├── Voucher.java             // 优惠券实体
│   │   │   │   ├── Result.java              // 统一返回结果实体
│   │   │   │   ├── LoginFormDTO.java        // 登录表单DTO
│   │   │   │   ├── UserDTO.java             // 用户DTO
│   ├── resources
│   │   ├── application.yml                  // 配置文件
│   │   ├── mapper                           // MyBatis映射文件
│   │   │   ├── ShopMapper.xml                // 商铺SQL映射
│   │   │   ├── VoucherMapper.xml             // 优惠券SQL映射
├── test
│   ├── java
│   │   ├── com.nanting.point
│   │   │   ├── controller                  // 控制器测试
│   │   │   ├── service                     // 服务层测试
│   │   │   ├── dao                         // 数据访问层测试

接口与框架对应关系

接口功能 控制器 服务层 数据访问层 实体层
根据ID查询商铺 ShopController ShopService ShopDao Shop, Result
新增商铺 ShopController ShopService ShopDao Shop, Result
按类型查询商铺 ShopController ShopService ShopDao Shop, Result
按名称查询商铺 ShopController ShopService ShopDao Shop, Result
新增优惠券 VoucherController VoucherService VoucherDao Voucher, Result
查询店铺优惠券 VoucherController VoucherService VoucherDao Voucher, Result

Alpha任务分配

1. Product Backlog(选取待实现的功能项)

模块 任务 依赖关系
1. 用户模块 1.1 用户注册/登录(学校邮箱验证)
1.2 个人信息管理 依赖1.1
2. 商户模块 2.1 商户信息展示
2.2 商户分类(餐饮、娱乐、生活服务等) 依赖2.1
3. 点评模块 3.1 评分系统(1-5星) 依赖1.1, 2.1
3.2 文字评价 依赖3.1
4. 搜索与推荐模块 4.1 基于位置的搜索 依赖2.1, 2.2
4.2 评分排序 依赖3.1, 4.1
5. 管理模块 5.1 用户管理 依赖1.1
5.2 商户信息审核 依赖2.1
6. 安全与性能 6.1 用户密码加密存储 依赖1.1

2. Sprint Backlog(任务分解与认领)

队员编号:

陈天鹏(1)黄皓维(2)秦嘉胜(3)黄鹏翔(4)杜家楷(5)张伟聪(6)钟宝骏(7)

任务 子任务 预估时间 认领人
1.1 用户注册/登录(学校邮箱验证) 1.1.1 设计注册/登录页面 4小时 1
1.1.2 实现邮箱验证功能 6小时 2
1.1.3 集成登录接口 4小时 3
1.2 个人信息管理 1.2.1 设计个人信息页面 4小时 1
1.2.2 实现信息编辑功能 6小时 5
2.1 商户信息展示 2.1.1 设计商户信息页面 4小时 5
2.1.2 实现商户数据获取接口 6小时 4
2.2 商户分类 2.2.1 设计分类筛选功能 4小时 5
2.2.2 实现分类数据获取接口 6小时 2
3.1 评分系统 3.1.1 设计评分组件 4小时 1
3.1.2 实现评分数据存储接口 6小时 7
3.2 文字评价 3.2.1 设计评价输入框 4小时 5
3.2.2 实现评价数据存储接口 6小时 3
4.1 基于位置的搜索 4.1.1 集成地图API 6小时 2
4.1.2 实现位置搜索功能 6小时 6
4.2 评分排序 4.2.1 设计排序功能 4小时 5
4.2.2 实现排序算法 6小时 4
5.1 用户管理 5.1.1 设计用户管理页面 4小时 2
5.1.2 实现用户数据管理接口 6小时 2
5.2 商户信息审核 5.2.1 设计商户审核页面 4小时 4
5.2.2 实现审核功能接口 6小时 1
6.1 用户密码加密存储 6.1.1 集成加密库 4小时 7
6.1.2 实现密码加密存储逻辑 6小时 7

测试计划

模块 测试类型 测试内容 测试时间 测试负责人
用户模块 功能测试 验证注册、登录、个人信息管理功能是否正常 3小时 2
边界测试 测试无效邮箱、密码长度等边界情况 1小时 3
性能测试 测试大量用户同时操作时的响应速度 2小时 4
商户模块 功能测试 验证商户信息展示、分类功能是否正常 3小时 5
兼容性测试 测试不同设备(PC、手机)的显示效果 1小时 6
点评模块 功能测试 验证评分、文字评价功能是否正常 3小时 7
安全性测试 测试评价内容是否包含敏感词或非法字符 1小时 2
搜索与推荐模块 功能测试 验证位置搜索、评分排序功能是否正常 3小时 3
性能测试 测试大量商户数据时的搜索和排序响应速度 2小时 4
管理模块 功能测试 验证用户管理、商户信息审核功能是否正常 3小时 5
安全性测试 测试管理员权限是否正常 1小时 6
安全与性能 安全性测试 验证密码是否加密存储 2小时 7
性能测试 测试密码加密对系统性能的影响 1小时 1

组员(队名:EFBI)

姓名 学号
陈天鹏 3123004220
黄皓维 3123004228
秦嘉胜 3123004238
黄鹏翔 3123004229
杜家楷 3123004223
张伟聪 3123004247
钟宝骏 3123004249
posted @ 2025-04-19 16:42  R1-pp  阅读(62)  评论(0)    收藏  举报