团队作业2-《需求规格说明书》
班级 | 19网络工程4班 |
---|---|
要求 | 点击查看 |
目标 | 完成需求规格说明书 |
需求规格说明书
一、团队信息
队名:冲
队员信息:
- 队长 郑耿松 3119005396
- 潘伟钲 3119005392
- 蔡君福 3119005362
- 郑耿桐 3119005397
- 陈松坤 3119005366
二、需求规格说明书
项目名称:EasyChat
设计思想:
整个通信系统以Tomcat作为核心服务器运行,其下另开一个线程运行Netty WebSocket服务器,Tomcat服务器主要处理客户登录、个人信息管理等的HTTP类型请求(通常的业务类型)。
用户通过浏览器登录后,浏览器会维持一个Session对象(有效时间30分钟)来保持登录状态,Tomcat服务器会返回用户的个人信息,同时记录在线用户,根据用户id建立一条WebSocket连接并保存在后端以便进行实时通信。
当一个用户向另一用户发起通信,服务器会根据消息内容中的对话方用户id,找到保存的WebSocket连接,通过该连接发送消息,对方就能够收到即时收到消息。当用户注销或退出时,释放WebSocket连接,清空Session对象中的登录状态。
系统功能模块:
包括登录模块和聊天管理模块。
- 登录模块:使用Session方式维持登录状态,有对应的注销功能,但这里的注销除了清空Session对象,还要释放WebSocket连接,否则造成内存泄露。
- 聊天管理模块:核心模块,使用Netty框架实现,功能包括信息、文件的单条和多条发送,也支持表情发送。
- 其他模块:如好友管理模块、聊天记录管理、注册模块等(看具体情况选择实现)
开发环境:
IDE:idea2021 JDK版本:1.8.0_121
浏览器:谷歌浏览器、360浏览器(极速模式)(涉及网页前端设计,后端开发表示很苦闷)
后端:Spring MVC + Spring
前端:JQuery + Bootstrap 3 + Bootstrap-fileinput
其中涉及技术:Netty 4 WebSocket + HTTP
系统结构:
系统采用B/S(Browser/Server),即浏览器/服务器的结构,主要事务逻辑在服务器端(Server)实现。
借鉴MVC模式的思想,从上至下具体又分为视图层(View)、控制层(Controller)、业务层(Service)、模型层(Model)、数据访问层(Data Access)
其他:
* 预期用户量:500
* 真实性:面向各类聊天人群,真实有效
* 可用性:简单易用
三、项目地址:GitHub地址
四、团队计划
时间 | 任务 |
---|---|
第8周 | 1.团队组队、团队博客 |
2.团队介绍、成员展示、角色分配、选题确定 | |
3.制定团队计划安排,团队贡献分的规定 | |
第9周 | 1.需求规格说明书 |
2.原型设计,队员估计任务难度并学习必要的技术 | |
3.编码规范完成、平台环境搭建完成、初步架构搭建 | |
第10周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) |
2.架构设计,WBS, 团队成员估计各自任务所需时间 | |
3.测试计划 | |
第11、12周 | 1. 团队项目Alpha任务分配计划 |
2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
第13周 | 1.用户反馈+测试计划改进 |
2. 团队Alpha阶段个人总结 | |
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
第14周 | 1. 团队项目Alpha博客:事后分析 |
五、团队分工
任务 | 成员 |
---|---|
系统设计 | 全体成员 |
前端开发 | 郑耿桐、郑耿松 |
后端开发 | 潘伟钲、蔡君福、陈松坤 |