团队作业2——需求规格说明书
团队作业2——需求规格说明书
这个作业属于哪个课程 | 班级链接 |
---|---|
这个作业要求在哪里 | 作业链接 |
这个作业的目标 | 需求分析+详细计划+团队合作 |
一、需求规格说明书
1.1 引言
1.1.1 编写目的
为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。
1.1.2 适用范围
- 产品名称:安全可靠的微信学院版
- 适用环境:网页端
- 界面语言:中文(简体)
- 适用年龄:广东工业大学适龄学生
- 产品功能:提供一个社交平台,希望提供给同学们一个用户体验更好的微信
1.2 项目阐述
1.2.1 产品功能
用户可以在我们的平台结交社群,通过朋友圈让好友了解自己丰富的生活,享受社交带来的快乐
1.2.2 预期用户量
初步系统预期的用户量为500
1.2.3 使用成本
平台上手需要的学习成本极低,只要用户曾经有使用微信的经验,应该都能快速玩转本平台提供的功能
1.2.4 面向群体
本产品主要面向广大的年轻用户群体而开发,这一用户群体数量庞大,对新事物接受程度高,同时也是在随着互联网发展而成长起来的一代人,早已熟悉QQ,微信,微博等各类社交应用,因此这些用户对本产品的学习成本很低,对于这种新鲜的游戏化社交应用,也具有很大的好奇心和使用需求。
1.3 功能需求分析
1.3.1 功能结构图
1.3.2 具体功能列表
功能 | 详细描述 |
---|---|
登录注册 | 使用账号密码登录 用户根据系统要求地信息格式注册一个账号 |
用户信息管理 | 用户修改密码 用户修改头像 用户修改昵称 用户修改邮箱 用户修改签名 |
朋友圈管理 | 用户可以发布朋友圈、在他人的朋友圈下面发表评论、点赞等操作 |
管理系统背景图 | 用户可以在系统选择使用自带的背景图的其中之一,或者上传属于自己的背景图 |
注销 | 用户可以注销登录,退回到登录页 |
反馈 | 用户可以向我们反馈自己的使用意见,对未来平台开发的方向提出建议,帮助系统稳定有序地发展 |
添加好友 | 用户可以使用对方的用户名添加还有,等待对方同意后双方成为好友 |
私聊 | 用户可以在通讯录中选择一个好友来进行聊天 |
群聊 | 用户可以建立自己的群聊并把通讯录的好友拉进群聊,并且选择一个群聊进行聊天 |
1.4 技术需求分析
1.4.1 开发技术选型
前端技术选型:
技术项 | 具体技术 |
---|---|
编程语言 | JavaScript,HTML,CSS,JSP |
测试环境 | nodeJs + chorme浏览器 |
实际运行环境 | 网页端 |
css预编译语言 | eless |
后端服务器技术选型:
技术项 | 具体技术 |
---|---|
编程语言 | Java |
通信协议 | HTTP |
JDK | 1.8.0_202 |
数据库 | MySQL 8.0 |
Web服务器 | Nginx 1.17.8 |
代码版本控制 | Git |
技术选型 | JavaWeb |
1.4.2 性能需求
- 系统的响应时间RT应该在200ms以内
- 系统的平均吞吐量应该达到300TPS以上
- 系统应该至少能够承载五千以上的总用户量
- 系统应该支持200以上的并发用户数
1.5 项目开发的意义
1.5.1 真实性
项目灵感来源于我们团队对于微信一些功能的用户体验不良的吐槽,以及对我们日常生活中的广告、侵犯用户隐私的行为的不满,所以都是源于我们对日常生活思考,以及对改善互联网应用生态大环境的美好愿望,真实可信。
1.5.2 可用性
用户只需使用手机或电脑的浏览器即访问我们已经部署在远程服务器的项目,经过多次改良后的系统架构设计使得系统有一定的用户承载量和访问安全性,在一定范围内能保证用户的体验和使用的可用性。
1.5.3 产品价值
在这个充斥着网络广告、用户隐私侵犯的时代,我们使用的很多产品的设计其实是为了最大化运行商的利益而不是充分考虑用户的体验,而在这个不以盈利为目的的平台,我们希望把用户体验做到最佳,让用户沉浸式地享受社交
二、团队计划
2.1 团队github仓库
2.1.1 地址:
2.1.2 项目issues截图
2.2 团队时间安排表
2.2.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.2.2 修正后的团队计划
第 9 周 | 1.团队组队、团队博客√ |
---|---|
2.团队介绍、成员展示、角色分配、选题确定√ | |
3.制定团队计划安排,团队贡献分的规定√ | |
第10周 | 1.需求规格说明书√ |
2.原型设计,队员估计任务难度并学习必要的技术 | |
3.编码规范完成、平台环境搭建完成、初步架构搭建,架构设计 | |
第11周 | 1.开始推广项目 |
2.测试计划 | |
3.从用户反馈来完善系统 | |
第12、13周 | 1. 团队项目Alpha任务分配计划 |
2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
3. 第二次推广用户反馈+测试计划改进,第三次推广 | |
第14周 | 1. 团队Alpha阶段个人总结 |
2. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
3. 团队项目Alpha博客:事后分析 |
2.2.3 修正算法
-
将系统的设计和代码实现集中在第十周和第十一周,后续马上推广使用,按照用户的使用情况来进行项目的改进,从而更好地完善我们得系统。
-
根据实际情况,将计划缩短一周,因为本学期很多实验课,并且考试周提前,所以缩短了开发时间。
三、其他
3.1 团队分工
队员 | 编程兴趣 | 分工 |
---|---|---|
张孟聪 | C++ Java | 后端开发 |
郭炜彬 | java开发 | PM |
黎梓洋 | Java | 测试 |
刘霖笙 | golang & html | 市场推广 |
叶臻强 | JavaWeb | 前端 |
杨析睿 | python | 后端开发 |
3.2 每个人的完成情况
- 张孟聪:已完成项目后端整体框架的搭建和数据库表的初步设计构想,准备进一步开展数据库表 的设计。
- 郭炜彬:查看原型,了解项目需求和项目所需技术,撰写博客
- 黎梓洋:了解项目后端整体框架结构,进行一些代码健壮性测试
- 刘霖笙:参与完成《项目需求规格说明书》 学习软工团队作业必要知识
- 叶臻强:重拾生疏的技术,与后台开发同学讨论项目整体需要,进行针对性技术学习;设计方面仍在积极沟通
- 杨析睿:和组长探讨了数据库的初步设计,下一步是对表设计的落实。
3.3 每个人的感想
- 张孟聪:做一个比较完整的项目还是没有自己想象中那么简单的,会涉及到很多沟通、协调上的 事情,还要保证进度推进项目开展,但是收获也很大!
- 郭炜彬:项目要顺利进展离不开团队的良好协作,每周都得开例会,落实任务,才能顺利的完成任务。
- 黎梓洋:沟通与交流很重要
- 刘霖笙:目前我的工作还不是很多,下周我会继续努力,推广我们团队的项目。
- 叶臻强:太久没摸都不会打码了,按需学习(弱小无助),团队之间的沟通与交流很重要,很重要,很重要(说三遍!)
- 杨析睿:一个完整的项目涉及前后端和算法等方向,而非单一的,因此分配到个人的任务也得考虑整体和对接。由于自己后端开发经验很浅,会多多听从组长的建议,加以配合。