多功能聊天室 第一次迭代总结与第二次迭代计划

多功能聊天室@TOC

第一次迭代总结

团队成员

成员身份 姓名 分工
组长 王筱琦 协调成员分工,编写聊天功能demo
组员 魏镜浩 产品定位,完善功能
组员 高迪 需求分析,人脸识别
组员 徐德叙 ui构建,集成测试

开发进度

Mon 18 Mon 25 Mon 02 Mon 09 Mon 16 Mon 23 已完成 已完成 已完成 进行中 计划一 计划二 计划三 需求分析 story划分 人员划分 方案设计 开发 接口测试 集成测试 多功能聊天室开发进度Gantt图

1.引言

1.1编写目的

人是一切社会关系的总和,人类对社交的渴望源于人类的情感需求,往往胜于物质需求。随着互联网的普及和信息化的到来,人们对于通过互联网社交的需求也越来越大。
于是本多人聊天室应运而生,试图解决当下人们愈发孤独,无人倾诉的社会痛点。

1.2背景

本软件名称:多人聊天室
与其他相关软件关系:在功能上类似于QQ,但是具有着其没有的一些特性,如:人脸识别等

1.3定义

多人聊天室是一款基于互联网,支持一对一、一对多广播、多人群聊模式的在线聊天平台。

1.4参考资料

Fiora
[Fiora](https://fiora.suisuijiang.com/)

2.任务概述

2.1目标

  • 一对一聊天,多人群聊、管理员,一对多广播消息
  • 查看消息记录
  • 人脸识别登陆
  • 表情包管理
  • 发送语音消息、文件

2.2用户特点

目标群体:有聊天需求的网民
主要功能:一对一、多人群聊

2.3假定和限制

人员限制:4人
时间限制:结课前
财力限制:〇圆
设备限制:4台PC

2.4开发平台

windows
visual studio2017

3.功能需求

3.1功能划分

作为多功能聊天室,实现多客户端聊天是其最基本的功能。在此基础上,参照市面上现有的一些功能成熟的聊天软件,不断尝试扩展其功能,实现软件的用户友好性、功能完整性等目的。
暂将其功能划分为以下几部分:

  1. 基础的多客户端聊天
  2. 个性化聊天
  3. 用户自定义设置
  4. 文件传输
  5. 信息存储和查找

3.2功能描述

3.2.1基础聊天功能

实现一对一聊天和多人聊天,客户端发送信息,服务器端检测信息来源,并定向传输到目的客户端。通过服务器的收取转发来实现客户端之间的聊天功能。

3.2.2用户登录与注册(含人脸登陆)

确保信息的安全性和用户的私密性,为每个使用改聊天室的用户创建ID、由用户自定义的密码以及人脸信息注册。在进入聊天室之前首先进行登陆,对于首次使用的用户建议其注册账户。服务器端将存储账户、密码、人脸信息等信息,以便每次登录时的信息验证。

3.2.3表情包管理

单纯的文字聊天方式在如今现代化的聊天方式中,显得枯燥和单薄。为增加用户聊天时的乐趣和体验感,聊天室将为用户提供可选的系统emoji以及用户自行收藏的表情包。

3.2.4头像设置与修改

头像是现有各种聊天室较基本的个性化设置,体现出用户的品味,展示用户的喜好,不可或缺。

3.2.5自定义个性签名

每个人在不同的时刻会有不一样的心情,为显示用户的个性和风格,聊天室提供用户自定义个性签名的功能,个性签名将展示给其他用户。

3.2.6文件、语音传输

传真时代已经很遥远,文件、语音传输是用户办公必备。

3.2.7消息记录存储与查看

聊天记录就像日志一样,每天记录着自己与好友之间发生的趣事。如果回忆不起来过去的某年某月某日发生的事情,那么请翻阅一下聊天记录吧。聊天室贴心的为用户提供聊天消息记录存储与查看功能,让你随时回忆每一天。

3.2.8群聊管理

在多人聊天时,设置群聊管理员,设置群聊的基本信息并管理其形式和秩序等。

4数据要求

4.1数据库设计

1.用户表(User-List)

列名 类型 大小 约束 描述
userid int 11 主键 用户ID
nickname char 20 非空 用户昵称
password int 18 非空 用户密码

2.一对一聊天记录表

列名 数据类型 大小 约束 描述
logid int 主键 记录id
senderid int 外键 发送人ID
receiverid int 外键 接收人id
sendtime int 20 非空 发送时间
sendcontent varchar 200 非空 发送内容

3.群聊信息表

列名 数据类型 大小 约束 描述
logid int 11 主键 聊天群号
managerid int 11 外键 管理员id
memberid int 11 外键 成员id

4.群聊消息记录表

列名 数据类型 大小 约束 描述
logid int 11 主键 聊天群号
senderid int 11 主键 发送消息的成员id
sendtime int 20 主键 消息发送时间

4.2 ER图

多功能聊天室 第一次迭代总结与第二次迭代计划_第1张图片

5运行需求

5.1用户界面

1.目标效果图
多功能聊天室 第一次迭代总结与第二次迭代计划_第2张图片

2.当前ui框架实现图

多功能聊天室 第一次迭代总结与第二次迭代计划_第3张图片多功能聊天室 第一次迭代总结与第二次迭代计划_第4张图片

5.2硬件接口

暂无

5.3软件接口

1.MFC构建的ui界面与消息收发等信息处理脚本之间的接口。

多功能聊天室 第一次迭代总结与第二次迭代计划_第5张图片

2.聊天室基础功能实现脚本与Mysql数据库之间的接口。
多功能聊天室 第一次迭代总结与第二次迭代计划_第6张图片
3.c++的基于openCV的人脸识别脚本分别与Mysql数据库和聊天室登陆功能时间脚本之间的接口。
多功能聊天室 第一次迭代总结与第二次迭代计划_第7张图片
多功能聊天室 第一次迭代总结与第二次迭代计划_第8张图片

5.4故障处理

暂无

第二次迭代计划

人员分工

人员 任务
王筱琦 聊天功能完善,服务器搭建
高迪 人脸识别,数据库设计
魏镜浩 用户登陆与注册
徐德叙 界面优化,头像设置

1.服务器数据库搭建

购买阿里云服务器,并搭建Mysql数据库,根据第一次迭代计划中的数据字典初步设计数据库表。

2.人脸识别功能

配置openCv2。利用openCv中训练好的模型、函数等,调用摄像头,采集人脸信息,并进行识别人脸。

3.用户注册

1.基本注册功能,利用数据表的自动递增约束,为新注册用户自动生成账号,并将用户设置的密码和昵称写入服务器数据库。
2.人脸采集注册功能,调用摄像头,采集人脸信息,存入到数据库。

4.用户登陆

1.账号密码登陆,搜索数据库进行信息匹配
2.人脸识别登陆,调用已测试好的人脸识别功能模块,获取人脸识别登陆成功与否的信息。

5.优化用户界面

在每轮迭代过程中,聊天室的功能逐渐完善,所以需要用户界面不断根据增长的功能进行优化设计。

6.头像设置

从用户本地获取图片,上传至服务器,保存。
在用户后续启动聊天室,成功登录之后,自动下载头像,显示到界面左上角。

你可能感兴趣的:(多功能聊天室 第一次迭代总结与第二次迭代计划)