多功能聊天室@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图

5运行需求

5.1用户界面

1.目标效果图

2.当前ui框架实现图

5.2硬件接口

暂无

5.3软件接口

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

2.聊天室基础功能实现脚本与Mysql数据库之间的接口。

3.c++的基于openCV的人脸识别脚本分别与Mysql数据库和聊天室登陆功能时间脚本之间的接口。

5.4故障处理

暂无

第二次迭代计划

人员分工

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

1.服务器数据库搭建

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

2.人脸识别功能

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

3.用户注册

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

4.用户登陆

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

5.优化用户界面

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

6.头像设置

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

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

  1. Anlin-chat多功能聊天室php源码下载,极速安装

    一.名称:Anlin-chat多功能聊天室php源码 二.简介(作用): 可修改成 网站客服系校园站 统 可盈利,利用打赏.VIP.内容付费.广告盈利.资源付费等方法盈利. 三.下载地址: 聊天室zi ...

  2. python多台电脑聊天室_python的多人多功能聊天室

    从Beginning Python: From Novice to Professional, Second Edition 中的一个chatroom项目中拿出来的.那里的聊天室,只有一个单间聊天室功 ...

  3. 基于 python 和 UDP 协议实现简易聊天室(多人群聊)----详细解析带字幕

    聊天室项目 功能介绍: 1.进入聊天室:输入姓名,用户名(不能重复) 2.某个成员进入聊天室后给其他所有所有成员发送消息 3.任何一个人发消息,其他人都会收到 4.某人退出聊天室,其他成员也会收到通知 ...

  4. 【直播聊天室】特点、构成及解决方案简介

    为方便开发者了解和接入融云直播聊天室,本文将介绍融云直播聊天室功能特点.主要构成及常见功能的解决方案. 一.产品介绍 融云直播聊天室,是专门为视频直播业务提供的一个产品.主要特点是: 丰富的聊天室消息 ...

  5. 【干货】直播聊天室详细分解,让你一眼学会快速搭建!

    直播聊天室 为方便开发者了解和接入融云直播聊天室,本文将介绍融云直播聊天室功能特点.主要构成及常见功能的解决方案. 产品介绍 融云直播聊天室,是专门为视频直播业务提供的一个产品.主要特点是: 丰富的聊 ...

  6. 聊天室平台搭建【免费下载 无需积分/C币】java、Android、php多平台聊天室源码打包下载

    关键词:多款聊天平台源码合集免费下载 #聊天源码,#聊天工具,#源码下载,#仿QQ,#聊天室源码 聊天室平台搭建 搭建自己的聊天交流平台 [点击此处]下载源码 原网址:https://download ...

  7. 聊天室技术内幕ABC.

    写聊天室的话,有很多技术可以使用,但是除了技术以外,该实现哪些功能也是要事先考虑好的,具体哪些功能更贴近用户.更实用,可以去问一些经常聊天的网友,他们一般会给你一个较满意的答复.至于技术方面,如Per ...

  8. 【运筹学】线性规划数学模型 ( 单纯形法 | 第二次迭代 | 方程组同解变换 | 生成新单纯形表 | 计算检验数 | 最优解判定 | 线性规划解个数分析 )

    文章目录 一.第二次迭代 二.方程组同解变换 三.生成新的单纯形表 四.计算检验数.最优解判定 五.最优解个数说明 1.唯一最优解 2.无穷最优解 3.无界解 4.总结 六.出基变量选择说明 上一篇博 ...

  9. 【运筹学】线性规划 单纯形法 案例二 ( 第二次迭代 | 矩阵变换 | 检验数计算 | 最优解判定 )

    文章目录 一.第二次迭代 : 进行矩阵变换 二.第二次迭代 : 计算检验数 三.第二次迭代 : 最优解判定 [运筹学]线性规划数学模型 ( 单纯形法 | 第二次迭代 | 方程组同解变换 | 生成新单纯 ...

最新文章

  1. LINQ中判断日期时间段
  2. 分类与回归树(CART)相关知识
  3. UVa 11346 - Probability
  4. 经典面试题(39):以下代码将输出的结果是什么?
  5. Adobe Acrobat 高亮工具使用后无法显示文字Bug解决办法
  6. 遍历界面控件 android,Android 判断所有字段是否已经输入的实例
  7. 【面试题7】用两个栈实现队列
  8. 42.验证和授权(2)
  9. Java内部类(摘自Java就业培训教程)
  10. 【学习笔记】流畅的Python第二版【第一章】
  11. IDEA 错误 找不到或无法加载主类(完美解决)
  12. ubuntu清理vscode缓存
  13. vue如何制作自定义表单校验样式
  14. C++继承——以应用抽象类,求圆、圆内接正方形、圆外切正方形的面积和周长为例
  15. 春节入境澳门旅客料增1成 景点拥挤须提高警惕
  16. layui fixbar 返回顶部_普洱顶部排水板价格,屋面疏水板,本周热搜_程源排水工程材料...
  17. 聚类算法:K-means算法
  18. javaweb程序设计入门
  19. MongoDB安装(新版本保姆级教程)
  20. 哈尔滨工业大学软件构造课程笔记第三章第四节

热门文章

  1. 深度学习模型部署学习一
  2. 计算机远程桌面连接实验报告,实验二 常见网络测试命令使用实验
  3. 必看五大安全趋势 Fortinet全球威胁态势报告发布
  4. 2018.4.3晚_京东实习_后端开发面试记录
  5. 【Lesson 4】 和弦的大小增减属
  6. C++第一话---->初识C++及命名空间
  7. Unity3d学习记录之回合制游戏
  8. Grammar-based construction 语法驱动的构造
  9. JAVA常见面试题及解答
  10. 红芯宣布获得2.5亿元C轮系列融资,要做1亿人的安全工作入口