团队作业2-《需求规格说明书》
一、作业要求
这个作业属于哪个课程 | 计科22级34班 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | <完成需求规格说明书> |
二、需求规格说明书
目录
第一章 引言
- 编写目的
- 软件需求分析理论
- 软件需求分析目标
- 参考文献
第二章 需求概述 - 项目背景
- 需求概述
- 真实性
- 可用性
- 价值所在
第三章 系统功能需求 - 用户角色定义
- 功能模块
2.1用户管理
2.2物品登记与交流
2.3定位与认领功能
2.4客服与存放
2.5系统安全与维护 - 性能要求
- 兼容性要求
- 用户界面要求
第四章 技术需求 - 编程语言与开发环境
- 数据库管理
- 网络协议与数据传输
第五章 软硬件或其他外部系统接口需求 - 用户界面
- 硬件需求
- 外部系统集成
第六章 其他非功能需求 - 安全性
- 性能需求
- 法律与合规性
需求概述
1.项目背景
大学校园里师生人数众多,常常发生物品丢失的问题。当发生失物或拾物时,张贴启事或通过微信朋友圈、贴吧、校园百事通等社交平台发布相关消息是人们的常用方式。事实证明,采用这些方式信息传播性不高、效率低下,失主不易找回失物,给师生造成了较大经济损失和不便。尤其是这些方法还存在着没有展现出失物的核心信息、页面设计不美观、用户操作不便捷、功能不完善等问题,当前高校中还缺少较完备的网上失物招领系统。因此,急需一种快捷、有效的方法,在校园里发布寻物启事及失物招领等信息。本项目基于Windows平台开发了一个交流平台,一方面为校园里丢失物品地找回提供方便的服务,另一方面也为校园物品的交换提供交流的途径。
2.需求概述
为完善校园内的丢失物品处理问题,本团队开发一款失物招领系统,将面向全校师生进行推广,助力同学与同学之间、师生之间互帮互助,减少在校人员的财产损失。
预计月活跃量:700-1000人。
主要功能:
- (1)个人用户拾到贵重物品时发布招领帖子。
- (2)个人用户遗失物品时发布求助帖子。
- (3)用户之间可以交流物品细节,确定失主。
特色功能(特色功能开发不做硬性要求):
- (1)增加客服功能,可将拾取物品存放至特定地点,以增加归还时间与地点的灵活性。
- (2)增加认领确认功能,若遗失者在系统中看到有可能是自己的物品时,可发起确认认领功能,系统将发送信息至拾取者的邮箱或短信,提醒拾取者线上交流。
- (3)增加虚拟电话功能,可有效保护拾取者的个人隐私
- (4)系统添加定位功能,标记发现物品地点。
真实性
该系统将确保信息的真实性和可靠性。用户在发布失物或拾物信息时,需提供详细描述和照片,并经过系统审核。通过用户身份验证和物品信息比对,减少虚假信息的发布,确保失主能够快速找到真实的失物。
可用性
系统将具备直观友好的用户界面,确保各类用户(如失主和拾得者)能够轻松上手。提供简单的搜索和筛选功能,使用户能够迅速找到相关信息。此外,系统将具备良好的移动端适配,支持多种设备访问,保证用户在校园内的随时随地使用。[ 产品网页端上线后再逐步部署移动端相关应用]
价值所在
该系统的核心价值在于提升校园物品找回的效率,减少经济损失和不便。通过集中管理失物和拾物信息,促进师生之间的交流与合作,增强校园社区的信任感,提升学生与老师的幸福感。同时,该平台还将为物品挂失提供便利,推动资源的合理利用,增强校园生活的便利性与互动性。
第三章 系统功能需求
1.用户角色定义
(一)管理员:负责系统的整体管理,包括用户审核、内容审核、统计报表的生等。
(二)学生用户:学生可以注册账户,发布或寻找失物招领信息,进行物品交流。
(三)教职工用户:与学生用户功能类似,但涉及更多关于教职工特定物品管理。
2.功能模块
2.1用户管理
(一)用户注册与登录:允许师生创建账户,输入基本信息如姓名、学号或工号、联系方式,并设置登录凭证。
(二)密码找回:提供忘记密码的用户通过邮箱或短信重置密码。
(三)用户信息编辑:用户可以更新自己的个人资料。
2.2物品登记与交流
(一)发布招领帖子:用户拾到物品后可以发布招领帖子,包括物品照片、详细描述、拾获地点和时间。
(二)发布求助帖子:用户遗失物品时可以发布求助帖子,详述物品信息及丢失地点和时间。
(三)交流功能:用户之间可以在平台上直接交流物品细节,通过系统的消息功能或虚拟电话进行沟通。
2.3定位与认领功能
(一)定位功能:用户发布帖子时,可以使用系统的地图标记具体的物品发现地点。
(二)认领确认功能:失主看到可能属于自己的物品后,可以发起确认认领,系统将自动通知拾取者进行确认。
(三)虚拟电话:通过系统提供的虚拟电话号码,保护用户隐私,避免直接暴露个人联系信息。
2.4客服与存放
(一)客服功能:系统提供客服支持,帮助解决用户在使用过程中遇到的问题与财产纠纷。
(二)物品存放服务:用户可选择将拾得的物品存放在学校指定的安全地点,增加归还的灵活性。
2.5系统安全与维护
(一)数据安全:加强数据保护措施,确保所有用户数据和交流信息的安全。
(二)系统日志与监控:维护系统操作日志,监控系统运行状态,确保高效稳定运行。
3.性能要求
(一)响应时间:用户操作的响应时间应在2秒内。
(二)系统容量:能够处理至少5,000条物品记录和700至1,000个月活跃用户。
4.兼容性要求
(一)设备兼容性:支持多种设备访问,包括但不限于智能手机、平板、笔记本和桌面电脑[ 产品初期以实现电脑端与微信小程序为主]。
(二)浏览器兼容性:支持主流浏览器,包括Chrome、Firefox、Safari和Edge。
5.用户界面要求
(一)易用性:界面简洁,用户易于操作,特别是对于师生用户的日常使用。
(二)访问性:界面符合无障碍标准,确保所有用户都能有效访问和使用系统。
第四章 技术需求
1.编程语言与开发环境
在本项目中,我们选择使用Java作为后端的核心编程语言,结合Java Web技术栈来实现动态Web应用,同时配合现代前端框架,实现高效的前后端联动。
(一)Java版本:采用Java 17(LTS),利用其最新的语言特性和性能优化,确保系统的稳定性和高效性。
(二)Web框架:使用Java Web技术(如Servlet、JSP)在Tomcat或Jetty等服务器上运行,处理复杂的业务逻辑和HTTP请求。
(三)前端框架:使用Vue.js构建用户界面,这是一种基于渐进式JavaScript框架,提供了高效的组件化开发方式和双向数据绑定特性,提升开发效率和用户体验。
(四)静态页面技术:使用HTML5和CSS3进行页面结构和样式设计,结合响应式Web设计原则,确保在各种设备和屏幕尺寸上良好的适配性。
(五)开发环境:后端使用IntelliJ IDEA,提供完善的Java开发工具;前端开发结合使用Visual Studio Code与Vue Devtools进行调试和开发。
2.数据库管理
系统使用MySQL数据库作为数据存储后端,提供结构化数据的管理和查询支持。
(一)MySQL版本:选择MySQL 8.0,借助其多项优化和功能增强,确保数据存取的高效性和安全性。
(二)数据库设计与优化:运用数据库范式进行规范设计,并在关键查询点上进行去规范化处理以提高性能,利用索引优化复杂查询。
(三)数据连接管理:使用HikariCP提供高效的数据库连接池管理,通过最大化资源利用来提升系统响应能力。
(四)持久化技术:使用Spring Data JPA进行数据持久化操作,简化数据库操作复杂度并增强数据操作的可维护性。
3.网络协议与数据传输
(一)网络协议:采纳HTTP/2协议,提高数据传输的效率和资源利用率,减少网络延迟。
(二)数据传输格式:JSON被用作主要的数据传输格式,利用轻量级、易解析和广泛兼容的特点;在需要的场景中也兼容XML格式。
(三)安全传输:采用HTTPS协议,结合SSL/TLS提供的加密和认证功能,保证数据传输的机密性和完整性。
(四)API设计:遵从RESTful架构原则设计接口,确保API的一致性、易用性与扩展性,使用Swagger进行自动化文档生成和接口管理。
由于文件内容过多,需求规格说明书可下载查看
团队码云链接
https://github.com/GDUT-LostAndFound
三、团队计划
团队项目issues截图
项目时间安排表
原有安排表
第9周 | 1.团队组队、团队博客 |
---|---|
2.团队介绍、成员展示、角色分配、选题确定 | |
第10周 | 1.需求规格说明书 |
2.原型设计,队员估计任务难度并学习必要的技术 | |
3.编码规范完成、平台环境搭建完成、初步架构搭建 | |
第11周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) |
2.架构设计,WBS, 团队成员估计各自任务所需时间 | |
3.测试计划 | |
第12、13周 | 1. 团队项目Alpha任务分配计划 |
2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
第14周 | 1.用户反馈+测试计划改进 |
2. 团队Alpha阶段个人总结 | |
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
第15周 | 1. 团队项目Alpha博客:事后分析 |
校正后安排表
第8周 | 1.团队组队、团队博客 |
---|---|
2.团队介绍、成员展示、角色分配、选题确定 | |
第9周 | 1.需求规格说明书 |
2.原型设计,队员估计任务难度并学习必要的技术 | |
第10周 | 1.编码规范完成、平台环境搭建完成、初步架构搭建 |
2.原型改进(给目标用户展现原型,并进一步理解需求) | |
3.架构设计,WBS, 团队成员估计各自任务所需时间 | |
第11、12周 | 1.测试计划 |
2. 团队项目Alpha任务分配计划 | |
3. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
第13周 | 1.用户反馈+测试计划改进 |
2. 团队Alpha阶段个人总结 | |
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
第14周 | 1. 团队项目Alpha博客:事后分析 |
矫正计算方法
针对于上周表格的时间错误进行修改,总体时间提前一周,技术相关内容如框架构建与改进内容延后一周,延长同学的学习时间以便提高各位同学的编码能力,更好的完成软件的开发。
四、其他补充
团队分工
成员 | 任务描述 |
---|---|
欧可贵 | 编写需求规格说明书、监督汇报任务进度、产品测试 |
吴灿豪 | 前端框架搭建 |
李梓灏 | 前端美化、性能优化、博客审核 |
方伟城 | 后端基础框架构建开发 |
陈东阳 | 后端基础框架构建开发 |
龙杜冰 | 后端特色功能开发 |
李建龙 | 后端测试 |
个人完成情况
姓名 | 是否完成当周任务 |
---|---|
欧可贵 | √ |
陈东阳 | √ |
李梓灏 | √ |
吴灿豪 | √ |
李建龙 | √ |
龙杜冰 | √ |
方伟城 | √ |
每个人的感想
欧可贵:在本周,我编写了需求规格说明书,完成了本周我的基本任务,同时通过腾讯会议制定了该项目大概的框架,定制了基本需求与特色需求。我第一次担任项目经理的身份,在开发过程中我会主动督促项目成员完成任务,同时我也要主动学习开发相关的各种技能,以便能够对成员提交的代码进行审核优化,我希望能够带领团队展现出属于我们的特色。
陈东阳:本周我重温了Java的一些基础语法以及开发的流程,同时复习数据库的一些增删改查的指令,然后针对本项目的功能分析其难易程度以及实现过程,为之后的具体功能实现做好准备。
李梓灏:在这一次的团队开发中,我体会到沟通是最为重要的一件事,只有和队员进行充分的沟通,才能更好的实现我们的项目。同时在这一个星期,我还更加深入的学习了Vue2框架,为接下来的开发打好基础。
吴灿豪:通过这周对于任务的大致了解有了一个基本的脑子上的框架,例如要从哪里开始写哪里开始构建这种,对于技术学习基本上完成了三大基本语言的基础学习。
李建龙:在这次项目中,我主要负责后端开发,虽然目前的知识还有所欠缺,但在过程中我学到了很多关于后端的知识,在完成项目过程中跟团队互相沟通,遇到问题即使解决,让我感受到团队的魅力。
龙杜冰:在第一周开始的环节,开始对于JAVA语言进行进一步的学习,保证可以进入正常的软件构造以及功能的实现。
方伟城:学习了Java,数据库等后端知识。