团队作业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博客:事后分析 | 
五、团队分工
| 任务 | 成员 | 
|---|---|
| 系统设计 | 全体成员 | 
| 前端开发 | 郑耿桐、郑耿松 | 
| 后端开发 | 潘伟钲、蔡君福、陈松坤 | 
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号