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

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-12
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-12/homework/13220
这个作业的目标 需求&原型改进、系统设计、Alpha任务分配计划、测试计划
队员 学号
王展锐 3122004665
李卓荣 3122004440
吴健民 3122004667
达仁·江布尔 3122004420
林诗淇 3122004657

一、需求&原型改进

1.针对课堂讨论环节老师和其他组的问题及建议,对修改选题及需求进行修改

1.1问题与修改

  • 问题:在课堂讨论中,老师和其他组提出系统的用户界面不够简洁直观,可能会影响用户体验。
  • 修改:组织团队成员对用户界面进行重新设计,采用简洁明了的布局和清晰的图标,提高用户操作的便捷性。同时,增加一些操作提示和引导,帮助用户更快地熟悉系统功能。

1.2给目标用户展现原型,与目标用户进一步沟通理解需求。他们的痛是什么?场景是什么?(用产品之前/之后,有照片或视频显示用户调查的过程,使用了各种调查手段的)

用户痛点:

  • 教师方面:在使用产品之前,教师管理学生信息、成绩和课程内容较为繁琐,需要手动录入和整理大量数据,容易出现错误。使用产品之后,教师可以通过系统方便地进行学生信息管理和成绩录入,提高了教学管理效率。
  • 学生方面:在使用产品之前,学生查看成绩、课程信息和个人资料需要分别登录不同的系统或查询纸质记录,非常不方便。使用产品之后,学生可以在一个平台上轻松查看自己的学习情况,及时了解课程安排和成绩变化。
    用户场景:
  • 教师场景:教师在办公室准备课程时,使用系统创建和更新课程信息,录入学生成绩,并查看学生的学习情况。在课堂上,教师可以通过系统快速了解学生的出勤情况和作业完成情况,以便更好地进行教学管理。
  • 学生场景:学生在宿舍或图书馆使用系统查看自己的课程安排和成绩,了解自己的学习进度。在选课期间,学生可以通过系统查看课程评价和教师信息,选择适合自己的课程。

2.修改完善上周提交的需求规格说明书

2.1上周的《需求规格说明书》初稿有哪些不足?特别是:功能考虑不全或需求文档描述缺少的地方

不足之处:

  • 初稿中对系统的安全性考虑不足,没有明确说明如何保护用户数据的安全。
  • 对系统的性能要求描述不够详细,没有给出系统的响应时间和并发用户数等指标。
  • 功能描述部分不够具体,例如学生信息管理功能中,没有明确说明学生可以修改哪些个人信息。

具体改进内容(功能性需求):

  • 安全性需求:增加用户身份验证和授权机制,确保只有合法用户可以访问系统。对用户数据进行加密存储,防止数据泄露。
  • 性能需求:明确系统的响应时间不得超过 3 秒,并发用户数不少于 100 人。
  • 功能描述细化:在学生信息管理功能中,明确学生可以修改自己的联系方式、密码等个人信息,但不能修改成绩等敏感信息。

2.2用一个场景,像讲故事那样,描述用户怎么使用几个相联系的功能,解决了用户的问题

场景故事:小明是一名大学生,他在新学期开始时需要选择课程。他登录教育系统,首先查看了课程安排,了解了各个课程的时间、地点和授课教师。然后,他查看了课程评价,了解了其他同学对这些课程的评价和建议。根据这些信息,小明选择了自己感兴趣的课程。在课程学习过程中,小明可以通过系统查看自己的成绩和作业情况,及时了解自己的学习进度。如果他有问题,可以通过系统向教师提问,教师会及时回复他的问题。通过使用教育系统,小明轻松地完成了课程选择和学习,提高了自己的学习效率。

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

  • 重要且紧急:用户管理、学生信息管理、课程管理等核心功能,这些功能直接影响系统的可用性和用户体验,必须优先实现。
  • 重要不紧急:系统的安全性、性能优化等功能,这些功能虽然重要,但可以在系统上线后逐步完善。
  • 紧急不重要:一些临时的需求或问题,需要及时处理,但不会对系统的整体功能产生重大影响。
  • 不紧急不重要:一些可有可无的功能或优化,可以在有时间和资源的情况下进行考虑。

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

  • 需求分析与设计:包括用户需求调研、功能设计、数据库设计等任务。 - 开发与测试:包括前端开发、后端开发、数据库开发、功能测试、性能测试等任务。
  • 部署与维护:包括系统部署、用户培训、系统维护等任务。
  • 项目进度计划:

二、系统设计

1. 系统架构设计

  • 各层次功能设计
    1.1前端层(表示层)
    技术:使用 Vue.js 和 Vue Router 实现动态、响应式的单页应用(SPA)。
    功能:
    -用户界面:提供教师和学生不同角色的用户界面。
    -路由管理:根据用户角色显示不同的页面,利用 Vue Router 管理前端路由。
    -状态管理:可以采用 Vuex 进行前端状态管理,以方便在不同页面间共享数据。
    与后端交互:通过 Axios 等 HTTP 库调用后端 RESTful API,与服务层进行数据交互。
    1.2服务层(后端业务逻辑层)
    技术:使用 Spring Boot 框架实现。
    功能:
    -RESTful API 提供:对外暴露 RESTful API,供前端调用,实现前后端分离。
    -业务逻辑处理:
  • 用户管理模块:包括用户的注册、登录、权限管理。通过基于角色的访问控制 (RBAC) 进行权限分配。
  • 成绩管理模块:教师管理学生成绩的 CRUD 操作,学生查看自己的成绩。
  • 学生信息管理模块:教师管理学生基本信息,学生查看个人信息。
  • 课程管理模块:教师管理课程信息,学生查看课程安排。
    -安全管理:包含认证(JWT 或 OAuth2)、授权、数据加密等措施,保护用户数据。
    -异常处理:统一处理后端服务层的异常,确保系统稳定性和容错性。
    1.3数据访问层
    技术:Mybatis-Plus 用于简化数据库访问。
    功能:
    -数据持久化:与数据库层交互,负责对数据库的 CRUD 操作。
    -数据访问对象(DAO):封装数据访问逻辑,提供统一的接口与服务层交互。
    -数据查询优化:针对成绩、用户信息等较复杂的数据查询,可以使用缓存(如 Redis)提高查询速度,减轻数据库压力。
    1.4数据库层
    技术:使用关系型数据库 MySQL
    功能:
    -数据存储:存储用户信息、成绩、课程数据等。
    -数据库设计:根据需求进行数据库表设计,例如用户表、课程表、成绩表。
    -数据一致性管理:设置外键约束,防止数据不一致情况发生。
    1.5系统交互流程
  • 用户登录:前端发送登录请求至后端服务层,服务层验证用户信息并返回 JWT Token,前端存储 Token。
  • 数据访问:前端通过携带 Token 访问 RESTful API,服务层验证 Token 并根据用户角色提供相应的数据。
  • 成绩和课程管理:教师用户可以发送 CRUD 请求,服务层处理后更新数据库。
  • 学生查看数据:学生用户请求查看成绩、课程信息,服务层根据学生身份返回对应数据。
    1.6部署与扩展
  • 分布式部署:可以将前端与后端分开部署,前端托管于 CDN,后端服务托管于云服务器。
  • 服务扩展:未来若需增加其他模块,可根据业务功能划分微服务,实现横向扩展。

2.数据库

2.1数据库表概览

数据库主要包含以下几张表:

  • 用户表(Users)
  • 角色表(Roles)
  • 用户-角色关系表(UserRoles)
  • 学生信息表(StudentInfo)
  • 课程表(Courses)
  • 成绩表(Grades)

2.2各表设计

  1. 用户表(Users)
    存储系统中的用户基本信息,包括教师和学生用户。
  2. 角色表(Roles)
    存储用户的角色信息,用于区分教师和学生的不同权限。
  3. 用户-角色关系表(UserRoles)
    用于存储用户和角色的多对多关系(可选,若设计用户可以拥有多个角色)。
  4. 学生信息表(StudentInfo)
    存储学生的详细个人信息,由教师用户管理。
  5. 课程表(Courses)
    存储课程的基本信息。
  6. 成绩表(Grades)
    存储学生的成绩信息,由教师录入。

2.3关系设计

用户与角色:用户表与角色表之间是多对多关系,可通过 UserRoles 中间表实现(如果允许用户有多个角色)。
学生与课程:通过 StudentInfo 和 Courses 表的关系,学生可以参加多门课程,一门课程也可以有多个学生,因此 Grades 表记录了学生与课程的多对多关系以及对应的成绩。
教师与课程:Courses 表的 teacher_id 字段建立了课程与教师之间的一对多关系,一个教师可以管理多门课程。

2.4索引设计与优化

主键索引:每张表的主键字段默认会建立主键索引。
外键索引:在外键字段上建立索引,以加速查询和外键关联。
联合索引:在 Grades 表中创建联合索引,以提高成绩查询效率。

三、Alpha任务分配计划

1. 根据项目组能提供的总时间,评估可完成的工作量。根据功能模块的优先级以及模块之间的依赖关系,从Product Backlog中选取待实现的功能项。选择与Alpha阶段目标紧密相关的功能项,确保所选功能项可以支持项目目标,并满足用户需求

1.1 项目组能提供的总时间

项目周期为7周,具体时间为第九周至第十五周。

1.2 功能模块的优先级

功能编号 功能描述 优先级
1 前端技术(Vue.js、Vue Router) 5
2 后端技术(Java、Spring Boot) 5
3 数据库(MySQL、PostgreSQL) 5
4 API设计(RESTful API) 5
5 用户管理 5
6 成绩管理 5
7 学生信息管理 5
8 课程管理 5
9 开发工具(Maven、Git) 4

1.3 模块之间的依赖关系

  • 前端技术提供动态和响应式的用户界面和实现前端路由管理
  • 后端技术开发后端服务和提高开发效率
  • 使用API设计进行前后端数据交互
  • 用户管理、成绩管理、学生信息管理、课程管理依赖于数据库存储信息
  • 使用开发工具进行项目管理和版本控制

1.4 选定功能项

  • 用户管理、成绩管理、学生信息管理、课程管理
  • 前端和后端技术
  • 数据库和API设计
  • 开发工具

2 对已选择的功能项进行进一步分解,分解为1-10小时左右的具体任务,确保每个任务都是具体的、可度量的、可实现的、相关的、时限的(SMART原则)。将分解后的任务构成Sprint Backlog。成员进行任务认领,确保任务分配平衡,避免个别成员工作量过大

Sprint Backlog

  • 前端技术和后端技术
    -预计时间:8+
    -包括代码的撰写、加载、训练和预测功能的实现
    -负责人员:李卓荣、林诗琪
  • 数据库、API设计
    -预计时间:8+
    -对于先前的代码进行进一步的完善和补充,测试环境的优化
    -负责人员:李卓荣、林诗琪
  • 项目经理
    -预计时间:7+
    -对于整个项目开发以及跟进步骤
    -负责人员:王展锐
  • 测试
    -预计时间:7+
    -数据的检录和项目运行后收集数据的分析、测试
    -负责人员:达仁·江布尔 吴健民

3.拟定迭代冲刺计划

使用甘特图的方式拟定迭代冲刺计划,明确每个任务的开始和结束时间,以及依赖关系。(本次迭代计划只关注Alpha阶段)使用leangoo作为敏捷项目协作工具,跟踪任务进度和团队协作。
Sprint计划示例(甘特图)

任务ID 任务描述 开始时间 结束时间 负责人
1 开发 第11周 第13周 李卓荣
2 PM 第11周 第16周 王展锐
3 开发 第13周 第15周 林诗琪
4 测试 第13周 第16周 达仁·江布尔
5 测试 第13周 第16周 吴健民

四、测试计划

1. 主要产品

本次测试的主要产品为面向教师和学生的教育管理系统,旨在提高教学管理效率,满足教师和学生在教学管理过程中的需求。

2. 测试范围

  • 功能测试:对系统的各项功能进行测试,包括用户管理、学生信息管理、课程管理、自动刷新课表功能以及优化后的 UI 交互等。
  • 性能测试:测试系统的响应时间、并发用户数、数据处理能力等性能指标。
  • 安全测试:检测系统的用户身份验证、授权机制、数据加密等安全措施是否有效。
  • 兼容性测试:测试系统在不同操作系统、浏览器和设备上的兼容性。

3. 测试时间表

3.1 测试准备阶段

时间:第十周至第十一周
任务:

  • 制定详细的测试计划,明确测试范围、测试方法和测试用例。
  • 搭建测试环境,准备测试数据。
  • 对测试人员进行培训,使其熟悉测试流程和测试工具。

3.2 测试执行阶段

时间:第十二周至第十四周
任务:

  • 按照测试计划执行功能测试、性能测试、安全测试和兼容性测试。
  • 记录测试过程中发现的问题,及时反馈给开发团队进行修复。
  • 对修复后的问题进行回归测试,确保问题得到彻底解决。

3.3 测试总结阶段

时间:第十五周
任务:

  • 对测试结果进行分析和总结,编写测试报告。
  • 评估系统的质量和稳定性,提出改进建议。
  • 整理测试文档,为系统上线做好准备。

4. 资源分配

人力资源:

  • 测试经理:李卓荣,负责测试计划的制定、测试过程的管理和测试结果的分析。
  • 测试工程师:吴健民,达仁,负责具体的测试执行工作,包括功能测试、性能测试、安全测试和兼容性测试。
    设备资源:
  • 测试服务器:1 台,用于搭建测试环境。
  • 测试设备:若干台,包括不同操作系统的电脑、手机和平板等,用于进行兼容性测试。
  • 时间资源:按照测试时间表合理分配测试时间,确保测试工作按时完成。
posted @ 2024-11-07 22:49  天建戈  阅读(19)  评论(0编辑  收藏  举报