团队作业2-《需求规格说明书》
| 这个作业属于哪个课程 | 计科23级12班 |
|---|---|
| 这个作业要求在哪里 | 团队作业2-《需求规格说明书》 |
| 这个作业的目标 | 编写需求规格说明书 |
一、系统概述
云档集成管理平台是一款基于前后端分离架构的数字化传输与管理系统。后端采用Spring Boot + Spring + Spring MVC + MyBatis技术栈,前端基于Vue 3 + Element Plus构建,实现文件选择、上传状态反馈及后续文件预览、下载、删除、文件夹管理、分享链接生成等一体化功能,为用户提供完整的云存储解决方案。
二、面向用户分析
- 个人用户:需要安全存储个人文档、图片、视频等文件,注重数据隐私与便捷管理的个人用户,如学生、自由职业者等。
- 小型团队用户:10-50人规模的中小企业或项目团队,需要内部文件共享、协作管理的团队,如创业团队、部门小组等。
- 开发者用户:需要集成文件管理模块到自有系统的开发人员,可通过本系统提供的API接口快速实现文件管理功能。
三、功能性需求
3.1 核心文件上传功能
-
基础上传:支持单文件、多文件同时上传,支持拖拽选择文件方式。
-
高级上传
:
- 断点续传:网络中断或上传暂停后,可从断点处继续上传,无需重新开始。
- 文件秒传:通过文件MD5校验,对已上传文件直接完成上传流程,节省带宽与时间。
- 大文件分片上传:自动将超过设定大小(默认500MB)的文件分片,并发上传后在服务器端合并。
3.2 文件管理功能
-
文件夹管理:支持创建、重命名、删除、移动文件夹,实现文件的层级化组织。
-
文件操作
:
- 预览:支持常见格式文件(文档、图片、视频等)在线预览。
- 下载:支持单个文件下载及文件夹打包下载。
- 删除:支持文件/文件夹删除及回收站功能。
- 重命名:允许修改文件/文件夹名称。
- 移动:支持文件在不同文件夹间转移。
3.3 分享功能
- 生成文件/文件夹的临时分享链接,可设置有效期与访问密码。
- 支持分享链接的权限管理(仅查看、允许下载等)。
- 记录分享链接的访问日志。
3.4 用户管理功能
- 基础用户注册、登录、密码修改功能。
- 个人信息管理(昵称、头像等)。
四、技术需求
4.1 后端技术栈
- 框架:Spring Boot 2.0.3.RELEASE、Spring、Spring MVC、MyBatis
- 数据库:MySQL(主数据存储)、H2数据库(可选嵌入式部署)
- 构建工具:Maven
- 文档工具:Swagger(API文档生成)
- 存储支持:本地文件系统(基础)、可扩展至云存储(如阿里云OSS)
4.2 前端技术栈
- 框架:Vue 3、Vue Router、Pinia
- UI组件库:Element Plus
- 文件处理:plupload(上传组件)、pdf.js(文档预览)
- 构建工具:Vite
4.3 开发与运行环境
- 开发环境:JDK 1.8、Node.js 16+、IntelliJ IDEA/Vscode
- 运行环境:支持Java 8+的服务器(Linux/Windows),建议内存2GB以上
五、预期用户数量
- 初期(课程设计阶段):10-20人(团队成员及目标测试用户)
- 中期扩展:支持100人级别的中小规模用户群体使用
- 架构设计预留扩展空间,可通过集群部署支持更大用户量
六、系统的真实性、可用性及价值所在
6.1 真实性
文件存储、管理与分享是个人及团队的高频需求,尤其在数据隐私日益受重视的背景下,私有化部署的云存储方案具有真实且迫切的市场需求。本系统针对实际场景中的文件管理痛点(如大文件传输、断点续传、层级管理等)设计功能,贴合用户真实使用习惯。
6.2 可用性
- 部署便捷:提供本地化部署包,用户通过简单配置即可快速搭建系统。
- 操作直观:界面设计遵循用户习惯,上传、管理、分享等操作流程简洁明了。
- 兼容性强:支持主流浏览器(Chrome、Firefox、Edge等),适配不同设备屏幕尺寸。
6.3 价值所在
- 对用户:提供私有化部署的云存储方案,保障数据隐私安全,满足文件管理全链路需求。
- 对团队:通过项目实践深化前后端分离开发、数据库设计、高级功能实现等企业级开发能力,积累团队协作经验。
- 扩展性价值:系统模块化设计使其可作为独立模块集成到其他系统,降低同类功能的开发成本。
七、团队项目码云链接
八、团队计划
8.1 码云团队项目issues
已将团队任务计划录入GitHub Issues,包括需求分析、原型设计、开发任务、测试任务等,每个任务明确负责人、截止时间及优先级。
GitHub Issues截图:

8.2 时间安排表
原有安排(3分)
| 阶段 | 时间区间(周次) | 任务内容 |
|---|---|---|
| 需求分析与设计 | 第9-10周 | 完成需求规格说明书,原型设计,技术预研 |
| 架构设计与环境搭建 | 第11周 | 数据库设计,API接口设计,项目骨架搭建 |
| Alpha开发 | 第12-13周 | 核心功能开发,每日Scrum会议 |
| Alpha测试与反馈 | 第14周 | 内部测试,用户反馈收集,Bug修复 |
| 总结与优化 | 第15周 | 文档整理,版本优化,事后分析 |
校正后的安排(3分)
| 阶段 | 时间区间(周次) | 任务内容 |
|---|---|---|
| 需求分析与设计 | 第9-10周 | 完成需求规格说明书,原型设计,技术预研 |
| 架构设计与环境搭建 | 第11周 | 数据库设计,API接口设计,项目骨架搭建 |
| Alpha开发 | 第12-13周 | 核心功能开发,每日Scrum会议(增加1天用于文件预览功能开发) |
| 功能测试与优化 | 第14周 | 内部测试,用户反馈收集,Bug修复(增加2天用于性能优化) |
| 文档整理与验收 | 第15周 | 文档整理,版本优化,事后分析,验收准备 |
矫正计算方法(2分)
基于团队成员技术评估及功能复杂度分析,采用PERT公式((乐观时间+4×可能时间+悲观时间)/6)重新估算:
- 文件预览功能涉及多格式兼容,原计划时间不足,增加1天开发时间。
- 大文件上传性能测试及优化需额外时间,延长测试阶段2天。
- 调整验收准备环节,确保与课程时间节点匹配,整体保持阶段周期框架不变。
九、其他
9.1 排版
本文档采用层级标题(一、二、三级)、表格、列表等形式组织内容,确保结构清晰,关键信息突出。
9.2 团队分工
- 杨梓城(组长):项目管理,需求分析,后端架构设计,核心功能开发
- 邹泓昊:后端开发,数据库设计,API接口实现
- 朱一凡:后端开发,分片上传、秒传等高级功能实现
- 曾添伟:前端开发,上传组件与文件管理界面实现
- 黄炳城:前端开发,UI设计与响应式布局实现
- 王彤德:测试,测试用例设计,功能测试与Bug跟踪
9.3 每个人完成的情况
目前处于需求分析阶段,团队成员已完成:
- 杨梓城:完成需求规格说明书初稿,搭建GitHub仓库
- 邹泓昊:整理技术选型文档,初步设计数据库表结构
- 朱一凡:研究大文件上传优化方案,编写技术预研报告
- 曾添伟:绘制前端页面原型草图,确定UI组件库
- 黄炳城:收集同类产品设计参考,整理交互设计规范
- 王彤德:制定测试计划框架,设计核心功能测试点
9.4 每个人的感想
- 杨梓城:作为组长,深刻体会到明确需求对项目的重要性。本次需求分析让团队统一了目标,接下来将聚焦任务拆解,确保开发有序推进。MSF的"共同远景"理念让我们更清楚团队协作的意义。
- 邹泓昊:数据库设计需要兼顾功能需求与性能优化,这对我来说是个挑战。团队成员的积极沟通让我对整体架构有了更清晰的认识,期待在开发中实践"各司其职"的原则。
- 朱一凡:分片上传和秒传功能的技术细节比想象中复杂,但解决这些难题正是提升能力的好机会。开放的沟通氛围让我们能快速分享思路,相信团队协作能攻克所有技术难关。
- 曾添伟:前端不仅要美观,更要注重用户体验。参考了很多优秀产品后,我对交互设计有了新想法。"保持敏捷"的理念提醒我要预留调整空间,以应对需求变化。
- 黄炳城:响应式设计需要考虑多场景适配,细节处理很关键。我会践行"质量设计"原则,从一开始就注重界面的一致性和可用性,减少后续修改成本。
- 王彤德:测试不是最后环节,而是贯穿全程的保障。提前规划测试点让我对系统质量更有信心,我的目标是通过严格测试,确保交付"有价值"的产品给用户。
浙公网安备 33010602011771号