团队作业2-《需求规格说明书》

一、作业要求

这个作业属于哪个课程 计科22级34班
这个作业要求在哪里 作业要求
这个作业的目标 <完成需求规格说明书>

二、需求规格说明书

目录

第一章 引言

  1. 编写目的
  2. 软件需求分析理论
  3. 软件需求分析目标
  4. 参考文献
    第二章 需求概述
  5. 项目背景
  6. 需求概述
  7. 真实性
  8. 可用性
  9. 价值所在
    第三章 系统功能需求
  10. 用户角色定义
  11. 功能模块
    2.1用户管理
    2.2物品登记与交流
    2.3定位与认领功能
    2.4客服与存放
    2.5系统安全与维护
  12. 性能要求
  13. 兼容性要求
  14. 用户界面要求
    第四章 技术需求
  15. 编程语言与开发环境
  16. 数据库管理
  17. 网络协议与数据传输
    第五章 软硬件或其他外部系统接口需求
  18. 用户界面
  19. 硬件需求
  20. 外部系统集成
    第六章 其他非功能需求
  21. 安全性
  22. 性能需求
  23. 法律与合规性

需求概述

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,数据库等后端知识。

posted @ 2024-10-27 21:27  去码头整点薯条778  阅读(67)  评论(0编辑  收藏  举报