团队作业2-《需求规格说明书》
团队作业2-《需求规格说明书》
| 这个作业属于哪个课程 | 软件工程 |
|---|---|
| 这个作业要求在哪里 | 作业要求 |
| 这个作业的目标 | 确定选题 |
一、需求规格说明书
1、项目背景和目标
(1)项目背景:
- 为学生,教师提供平台支持教学管理
(2)项目目标:
- 提供一个用户友好的界面,方便辅助学生,教师开展教学工作。
2、面向用户分析
(1)用户群体概述
教务系统是一款面向学校教务管理的一站式数字化解决方案,集学生信息管理、成绩录入等功能于一体。系统采用模块化设计,支持多角色协作(学生、教师、教务管理员等),辅助教学决策。通过自动化流程和可视化操作界面,大幅提升教务管理效率,减少人工错误,为学校教育教学管理提供高效、安全、智能的技术支持。
(2)用户需求分析
a.用户管理模块
- 角色权限系统:学生、教师、教务管理员、系统管理员
- 账号注册与密码找回
- 个人信息维护
b. 学生管理模块
- 学生档案管理
- 学籍异动处理
- 成绩查询与统计
- 奖惩记录
c. 教师管理模块
- 教师档案管理
- 教学工作量统计
- 科研工作管理
- 考核评价
d. 课程管理模块
- 专业培养方案
- 课程库管理
- 开课计划
- 教材选用
e. 教室资源管理
- 教室使用调度
- 教室设备维护
- 借用审批流程
2、性能需求
-
平台应具备良好的响应速度,确保用户在使用过程中的流畅体验。
-
平台应支持高并发访问,确保在高峰时段能够稳定运行。
-
数据存储应安全可靠,确保用户信息不被泄露或损坏。
3、技术需求
(1)项目概述
本项目旨在构建一个基于Web的应用系统,涉及前端和后端的技术栈。前端将采用Vue.js框架,结合Vite构建工具和Axios进行网络请求,并使用ElementPlus组件库提升开发效率与用户体验。后端则使用Java语言,依托JavaWeb技术栈,包括SSM(Spring+SpringMVC+MyBatis)和Spring Boot框架,数据库选择MySQL,同时引入Redis作为缓存层。
(2)前端技术需求分析
-
Vue.js
Vue.js是一个构建用户界面的JavaScript框架,具有轻量级、组件化和响应式的特点。本项目将利用Vue.js进行前端页面的开发,实现数据的动态绑定、组件化开发和交互功能。 -
Vite
Vite是一个面向现代浏览器和Node.js的原生ES模块构建工具和开发服务器。它将极大地提升项目的开发体验,减少冷启动时间,提供快速的HMR(热模块替换)能力。 -
Axios
Axios是一个基于Promise的HTTP客户端,用于浏览器和Node.js。项目将使用Axios进行前后端之间的数据交互,实现API请求与响应处理。 -
ElementPlus
ElementPlus是一套为开发者、设计师和产品经理准备的基于Vue 3.0的桌面端组件库。它将帮助项目快速构建出风格统一、功能丰富的Web界面,减少重复性的开发工作。
(3)后端技术需求分析
-
Java
Java是一种广泛使用的编程语言,具有跨平台、面向对象和安全性高等特点。本项目将使用Java作为后端开发的主要语言,实现业务逻辑处理和数据处理功能。 -
JavaWeb
JavaWeb是指使用Java技术栈开发的Web应用。项目将依托JavaWeb技术栈,构建稳定、可扩展的Web服务。 -
SSM(Spring+SpringMVC+MyBatis)
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
SpringMVC是一个基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。
MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。
项目将整合SSM框架,实现业务逻辑、数据访问和Web请求的分离,提高代码的可维护性和可扩展性。 -
Spring Boot
Spring Boot是一个开源的Java-based框架,用于创建独立的、生产级别的基于Spring的应用程序,具有简化配置、快速开发的特点。项目将使用Spring Boot简化后端开发流程,提高开发效率。 -
MySQL
MySQL是一个关系型数据库管理系统,具有高性能、稳定性和易用性。项目将使用MySQL作为数据存储解决方案,存储和管理项目所需的数据。 -
Redis
Redis是一个开源的使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。项目将引入Redis作为缓存层,提高数据访问速度,减轻数据库压力。
(4)总结
本项目技术需求分析主要围绕前端和后端的技术栈展开,前端采用Vue.js、Vite、Axios和ElementPlus,后端采用Java、JavaWeb、SSM、Spring Boot、MySQL和Redis。这些技术的选择旨在提高项目的开发效率、性能和可维护性,确保项目能够按时、高质量地完成。
4、系统的真实性、可用性以及价值所在
- 真实:扎根实际需求和痛点,解决现实问题
- 如:专业类型多、实训课程复杂,常出现教室/设备分配冲突
- 可用:注重技术可行性与用户体验,确保有效落地
- 如:教务系统在升级时,针对教师反馈的“成绩录入易出错”问题,增加 成绩模板校验功能(如限制满分值、自动提醒缺考标记)、并允许教师分批次保存,大幅降低录入错误率。
- 有价值:提升管理效率与教育公平,传递人文关怀(情怀增值)
9、团队项目GitHub
github链接
二、团队计划
1、issues管理

2、项目时间安排表的修改及完成情况
原计划:
| 周次 | 主要任务 |
|---|---|
| 第 6 周 | 1.团队组队、团队博客 |
| 2.团队介绍、成员展示、角色分配、选题确定 | |
| 3.制定团队计划安排,团队贡献分的规定 | |
| 第7周 | 1.需求规格说明书 |
| 2.原型设计,队员估计任务难度并学习必要的技术 | |
| 3.编码规范完成、平台环境搭建完成、初步架构搭建 | |
| 第8周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) |
| 2.架构设计,WBS, 团队成员估计各自任务所需时间 | |
| 3.测试计划 | |
| 第9、10周 | 1. 团队项目Alpha任务分配计划 |
| 2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
| 第11周 | 1.用户反馈+测试计划改进 |
| 2. 团队Alpha阶段个人总结 | |
| 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
| 第12周 | 1. 团队项目Alpha博客:事后分析 |
现计划:
| 周次 | 主要任务 |
|---|---|
| 第 6 周 | 1.团队组队、团队博客 |
| 2.团队介绍、成员展示、角色分配、选题确定 | |
| 3.制定团队计划安排,团队贡献分的规定 | |
| 第7周 | 1.需求规格说明书 |
| 2.原型设计,队员估计任务难度并学习必要的技术 | |
| 3.编码规范完成、平台环境搭建完成、初步架构搭建 | |
| 第8周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) |
| 2.架构设计,WBS, 团队成员估计各自任务所需时间 | |
| 3.测试计划 | |
| 第9、10周 | 1. 团队项目Alpha任务分配计划 |
| 2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
| 3.每日代码审查 | |
| 第11周 | 1.用户反馈+测试计划改进 |
| 2. 团队Alpha阶段个人总结 | |
| 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
| 第12周 | 1. 团队项目Alpha博客:事后分析 |

浙公网安备 33010602011771号