团队作业2-《需求规格说明书》
课程 | 2024软件工程 |
---|---|
作业要求 | 团队作业2-《需求规格说明书》 |
作业目标 | 确认选题,形成策划 |
需求规格说明书
高校宿舍管理系统
1. 引言
1.1 目的
该文档详细说明高校宿舍管理系统的功能需求、性能需求和系统设计目标,为后续的开发和维护提供依据。
1.2 文档结构
文档包括项目背景与目标、功能需求、性能需求、数据需求及系统设计等内容,以便读者了解系统需求的全面信息。
1.3 预期读者
本需求文档的预期读者为开发人员、产品经理、测试人员及相关项目干系人。
2. 项目概述
2.1 背景
高校宿舍管理系统旨在提升高校宿舍管理的效率,优化学生居住体验,提供便捷的宿舍管理服务,适应数字化校园的发展需求。
2.2 项目范围
系统主要功能包括学生管理、宿舍管理和楼栋管理模块,不包含财务管理或维修管理等其他附属模块。
3. 需求分析
3.1 功能需求
- 学生管理:支持学生信息的增删改查,用户可以查询、修改、添加和删除学生信息。
- 宿舍管理:支持宿舍分配、信息管理等功能。
- 楼栋管理:实现楼栋基本信息的管理。
- 管理员权限:通过权限设置实现管理员对不同模块的访问权限管理。
3.2 性能需求
- 响应时间:系统响应时间应在2秒以内。
- 并发支持:系统需支持500名用户的并发访问。
3.3 安全性和完整性
- 用户权限控制:采用RBAC模型,提供超级管理员和普通管理员两级权限。
- 数据完整性:通过主键和外键约束保证数据的唯一性和关联性。
4. 系统设计
4.1 系统架构
采用Spring Boot框架和MyBatis持久化层,系统基于MVC架构,分为模型、视图和控制器三层结构。
4.2 数据库设计
- 学生表:记录学生的学号、姓名、性别、宿舍ID等信息。
- 宿舍表:记录宿舍的名称、容量、楼栋ID等信息。
- 楼栋表:记录楼栋的名称、类型和备注等信息。
4.3 功能模块设计
- 学生管理模块:实现对学生信息的查询、修改、删除、添加等操作。
- 宿舍管理模块:实现对宿舍的分配与信息管理。
- 楼栋管理模块:实现对楼栋信息的查看和管理。
5. 业务规则
- 数据存储规则:每个表格必须包含主键,学生表和宿舍表需要通过外键关联。
- 权限控制规则:管理员只能在权限范围内操作学生和宿舍数据。
6. 非功能需求
- 可扩展性:系统设计应具备易于维护和扩展的结构,方便后续模块的添加。
真实性·可用性·价值所在
真实性 | 确保系统中记录的学生信息、宿舍分配情况等数据的真实性和准确性,是系统有效运作的基础。 这不仅有助于管理人员进行日常管理,也是应对突发事件(如紧急疏散)的重要保障。 通过有效的身份验证机制,确保只有授权人员可以访问系统,保护学生个人信息安全的同时,也保证了系统数据的完整性和可靠性。 |
---|---|
可用性 | 设计简洁直观的操作界面,使得不论是管理员还是学生都能轻松上手使用,提高工作效率。 优化系统性能,确保在高并发访问下仍能保持良好的响应速度和稳定运行,避免因系统故障影响正常使用。 |
有价值性 | 自动化处理宿舍分配、费用结算等任务,减少人工操作带来的错误和延迟,提高整体管理效率和服务质量。 通过对宿舍资源的有效管理和调度,实现资源的最大化利用,同时也能更好地满足学生的个性化需求。 通过智能化监控和预警功能,及时发现并处理安全隐患,为学生提供更加安全舒适的居住环境。 |
仓库链接
Issue截图
时间安排表
阶段 | 任务 | 耗时 |
---|---|---|
第九周 | 1.团队组队、团队博客 | 1 |
2.团队介绍、成员展示、角色分配、选题确定 | 1 | |
3.制定团队计划安排,团队贡献分的规定 | 1 | |
第十周 | 1.需求规格说明书 | 1.5 |
2.原型设计,队员估计任务难度并学习必要的技术 | 3 | |
3.编码规范完成、平台环境搭建完成、初步架构搭建 | 2.5 | |
第十一周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) | 1 |
2.架构设计,WBS, 团队成员估计各自任务所需时间 | 3 | |
3.测试计划 | 3 | |
第十二,十三周 | 1. 团队项目Alpha任务分配计划 | 3 |
2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | 3 | |
第十四周 | 1.用户反馈+测试计划改进 | 3 |
2. 团队Alpha阶段个人总结 | 1 | |
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | 2 | |
第十五周 | 1. 团队项目Alpha博客:事后分析 | 1 |
团队分工
队员 | 职责 | 进度 | 感想 |
---|---|---|---|
洪吉潮 | 前端 | 未开始 | 在团队开发过程中,有效的沟通是成功的关键。无论是讨论技术方案的选择、任务的分配,还是解决遇到的问题, 都需要团队成员之间保持开放和透明的交流。良好的沟通能够减少误解,提高协作效率,使项目进展更加顺畅。 |
刘家辉 | 后端 | 未开始 | 行代码审查制度不仅可以帮助发现潜在的bug,提高代码质量,还能促进团队成员之间的知识共享和技术成长。 每个人都有机会从他人的代码中学到新的思路和技巧,同时也能够在指出他人问题的过程中加深对自己所掌握知识的理解。 |
柳浩 | QA | 未开始 | 使用如Git这样的版本控制工具对于团队开发至关重要。它不仅能够有效地管理代码版本,防止因为误操作而导致的数据丢失, 还支持多人并行开发,大大提高了开发效率。此外,通过提交记录,团队成员可以清晰地了解到项目的演化过程, 这对于后期维护和团队新人快速融入项目都非常有帮助。 |
关祖佳 | PM | 未开始 | 技术日新月异,团队成员需要保持持续学习的态度,不断更新自己的技能树。 面对新技术、新框架的出现,团队应该积极尝试并评估其适用性,适时调整开发策略以适应变化。 这种灵活应变的能力,有助于团队在激烈的市场竞争中保持优势。 |