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

这个作业属于哪个课程软件工程
作业要求 团队作业2-《需求规格说明书》
作业目标 撰写需求规格说明书

 

一、需求规格说明书

 

1.1 引言

1.1.1 编写的目的

此需求规格说明书的编写目的是明确本项目的详细需求,供开发人员确认项目的功能和性能,作为进一步详细设计软件的基础。

本文档仅供本次开发项目的开发人员进行参考。

1.1.2 背景

  • 项目名称:简版预约占座app

  • 项目开发团队:捕鱼达人

  • 面向用户:广东工业大学全体学生

1.1.3 项目范围

随着学校的扩招以及学生之间的内卷,越来越多的同学选择去图书馆或者空教室自习。但由于个人素质参差不齐,占座现象频频发生,导致诺大的图书馆/空教室经常无位可坐。

本次简版预约占座app的开发,旨在解决以上痛点。极简主义的预约系统,省去了一切繁琐花哨的设计,远离喧嚣,专注于纯粹的文字表达,给同学们提供预约座位的平台的同时,还给计广工大的学子们营造了一个良好的学习氛围。

1.1.4 项目开发意义

  • 真实性: 本项目立足于广工学子真实遭遇,切身之痛万分真实。

  • 可用性: IGDUT及GDUT课表+等项目的成功,都让我们认识到广工学子对新生事物的接受度是非常高的。而且大家确实经常饱受占座的困扰,本次项目更是旨在解决学子们无位可坐的问题,只要我们自身质量过硬,不愁用户量的问题。

  • 价值所在: 本项目给同学们提供订位的平台的同时,还给广工的学子们营造了一个良好学习氛围。有价值有情怀,可谓是用心良苦。

 

1.2 用户需求分析

1.2.1 目标

预期用户数量:20+

1.2.2 用户的特点

面向用户:广东工业大学全体学生

  • 本科学生:有较强的自学能力和适应新事物的能力

  • 广工学子:因为向往安静的学习环境及良好的学习氛围而去图书馆/空教室学习

1.2.3 用户场景分析

我们的系统主要面向以下几类用户:

  • 新生群体,给该类用户提供一个了解图书馆/空教室座位分布的平台

  • 老生群体,给该类用户一个预定座位的窗口

 

1.3 功能需求分析

1.3.1 功能结构图

 

1.3.2 具体功能列表

功能具体描述
登陆注册 用户使用邮箱或用户名+密码登录 用户注册一个账号
查询 用户查询教室/座位略缩图
预定 用户预定座位
取消预定 用户取消预定
座位设定 图书馆-2楼-a区、教一-2楼-217等结构
创建教室 创建空座位略缩图

 

1.4 技术需求分析

1.4.1 安卓技术选型

技术选型原因
简易版MVVM框架 优化程序结构,使各个模块分工明确

1.4.2 后台技术选型

技术说明官网
SpringBoot MVC框架 https://spring.io/projects/spring-boot
SpringSecurity 认证和授权框架 https://spring.io/projects/spring-security
MyBatis ORM框架 https://mybatis.org/mybatis-3/
Redis 缓存 https://redis.io/
Druid 数据库连接池 https://github.com/alibaba/druid
JWT JWT登录支持 https://github.com/jwtk/jjwt
Lombok 简化对象封装工具 https://github.com/rzwitserloot/lombok
fastjson json转换工具 https://github.com/alibaba/fastjson
Nginx HTTP和反向代理web服务器 http://nginx.org/
Hutool Java工具包类库 https://hutool.cn/docs/#/

 


 

二、团队计划

 

2.1 团队GitHub仓库

2.1.1 地址

捕鱼达人https://github.com/YizheYang/Book

2.1.2 团队项目issues截图

 

 

2.2 具体分工

职责人员
PM、安卓 杨伊辙
开发 刘栋濠、肖丽萍
测试 all
数据 容海量

 

2.3 团队计划

2.3.1 修正前的团队计划

第 9 周 
  1.团队组队、团队博客
  2.团队介绍、成员展示、角色分配、选题确定
  3.制定团队计划安排,团队贡献分的规定
第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博客:事后分析

2.3.2 修正后的团队计划

时间完成模块
第9周 项目搭建,分好模块,利用easymock和eolinker完成好模拟数据
第10、11周 1.团队项目 Alpha 任务分配计划
  2.连续7天的 Alpha 敏捷冲刺,7篇每日 Scrum Meeting 博客+代码提交
  3.开始各模块并行开发
第12周 对接接口
第13周 1.打包测试
  2.用户反馈+测试计划改进
  3.团队 Alpha 阶段个人总结
  4.团队项目 Alpha 博客:发布说明、测试报告、展示博客、项目管理、事后分析

2.3.3 修正算法

  • 实际情况 考虑到大家的学习进度,适当延长了学习时间、缩短了开发时间。

  • 效率优化 为了提高效率,采取了假数据开发方法。后台先完成接口设计,安卓根据后台提供的数据进行app开发,避免了app在后台开发过程中无事可做的情况。两条线同步进行,大大提高了效率。

 


 

三、当前完成情况

个人感想及完成情况

成员感想完成情况
杨伊辙 很有意思也很有意义的项目 理清思路,初步设计好界面
刘栋濠 学习了一些java后台技术,还得继续努力 1.学习java后台技术 2.完成了接口设计
肖丽萍 任务艰巨,要加快自己的学习进度以及积极与队友的沟通 1.跟进开发语言的学习 2.管理仓库和添加issue
容海量 跟着同学一起学习非常棒 很好!
杨健鹏 戴上幸福面具,徜徉在学习的海洋中 完成的是有点慢,但是慢工出细活嘛!
posted @ 2021-11-08 18:54  HeathenX  阅读(78)  评论(0编辑  收藏  举报