# 个人聊天室软件
## 需求分析与概要设计
## 1. 项目说明
### 1.1. 项目目标:
本项目目标完成一个可以实现多个不同主题的在线聊天室的桌面应用,用户可以在不同的聊天室中交流不同的话题。用户在登录后可以选择聊天室、查看聊天室人数以及选择用户私聊等。
### 1.2. 软硬件环境需求
软件是基于.net framework 4.7.2 开发,数据库为 Mysql8.0.24
### 1.3. 使用的关键技术:
软件基于 Socket 编程,C/S 架构风格开发。客户端通过发送指令得到服务器的返回信息。
## 2. 需求分析
### 2.1. 系统用例
![](https://www.writebug.com/myres/static/uploads/2021/11/10/4c8455caf539a8d806eb25c9c92973bf.writebug)
图 1 系统用例图
(1) 登录
参与者:普通用户、管理员
基本事件流:用户或者管理员在登录的时候先选择登录身份。输入账号和密码后核验其账户是否存在以及密码是否匹配,若匹配则用户登录进入用户主界面,管理员登录进入管理主界面,否则提示用户不存在或者密码错误。
(2) 创建聊天室
参与者:普通用户、管理员
基本事件流:用户和管理员在创建聊天室的时候需要标明此聊天室的主题以便于有不同兴趣爱好的用户进行交流。
(3) 选择聊天室聊天
参与者:普通用户
基本事件流:用户登录后进入主界面可以浏览各个聊天室的主题以及在线人数,然后根据用户个人的兴趣爱好选择进入聊天室。进入聊天室用户可以在公共聊天室发消息也可以选择用户私聊。
(4) 禁言
参与者:管理员
基本事件流:管理员对个别发表引战、谩骂攻击、违法等言论的用户实施禁言以管理应用,具体禁言时间根据具体情况而定。
(2) 删除聊天室
参与者:管理员
基本事件流:部分公共聊天室的主题可能存在违法乱纪的行为以及可能存在聊天室成员公开讨论违禁话题,需要管理员对此类聊天室进行查封删除。
### 2.2. 业务流程
![](https://www.writebug.com/myres/static/uploads/2021/11/10/82ad2db2e884d4da252b78c7746d2d98.writebug)
图 2 用户使用流程图
## 3. 概要设计
### 3.1. 功能模块设计
![](https://www.writebug.com/myres/static/uploads/2021/11/10/224f2ad37b193c4fee074d7e1cadc498.writebug)
图 3 功能模块图
(1) 用户注册
功能概述:用户可以申请注册账号并设置密码,然后应用将其信息存入到数据库中。而管理者的账号和密码由开发者统一分配。二者存储在同一数据库中,并设置标志标记此账号信息是普通用户还是管理者账户。
(2) 用户登录
输入:账号和密码
输出:是否匹配
功能概述:用户或者管理者登录时输入账户和密码,然后和数据库中的信息作对比,如果对比成功就显示登录成功进入主界面,否则将提示账号不存在或者密码错误。
(3) 禁言违规用户
输入:用户登录的套接字
结果:被禁言用户在一定时间内无法发送信息
功能概述:由于存在发表引战言论、谩骂攻击以及其他违法乱纪行为的用户,管理员需要对该用户进行禁言。禁言的方式为根据违法言论者的套接字找到对应的用户,标记该用户为禁言。
(4) 创建聊天室
输入:聊天室主题、服务器套接字
结果:新建一个聊天室
功能概述:每一个聊天室需要一个服务器的端口进行监听信息,因此每次创建一个聊天室都需要查找并打开服务器中的空闲端口进行监听。此外,新建聊天室后,将聊天室的信息存储到数据库中。
(5) 删除违规聊天室
输入:违规聊天室的 id
结果:违规聊天室被删除
功能概述:在数据库中查找到违规聊天室 id 对应的聊天室信息,得到该聊天室的服务器端口后,将该聊天室信息移除出数据库,最后释放该聊天室的端口。
(6) 消息提醒
功能概述:客户端在监听捕获来自服务端的消息后,对用户进行提醒。
(7) 查看消息记录
输入:聊天室的 id
输出:该聊天室的消息记录
功能概述:客户端监听到的信息会被自动存储到本地数据库以方便用户查看,通过聊天室的 id 可以查询到信息的发送用户和发送时间。
### 3.2. 核心类图
![](https://www.writebug.com/myres/static/uploads/2021/11/10/cac97ad639ad3a1aeab190344689c29b.writebug)
图 4 核心类图
## 4. 界面设计
![](https://www.writebug.com/myres/static/uploads/2021/11/10/f14ad11c72df91e249d5fcce6e401a8b.writebug)
图 5 服务端界面
![](https://www.writebug.com/myres/static/uploads/2021/11/10/24b3b80e816021ffa01414aee3e96161.writebug)
图 6 登录界面
![](https://www.writebug.com/myres/static/uploads/2021/11/10/0772476ec1242be773cb4490571d227c.writebug)
图 7 客户端主界面
![](https://www.writebug.com/myres/static/uploads/2021/11/10/86ba9fde704a0ccab3bc72296995a180.writebug)
图 8 聊天界面
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
软件是基于.net framework 4.7.2 开发,数据库为 Mysql8.0.24 软件基于 Socket 编程,C/S 架构风格开发。客户端通过发送指令得到服务器的返回信息。 主要功能: (1) 用户注册:用户可以申请注册账号并设置密码,然后应用将其信息存入到数据库中。而管理者的账号和密码由开发者统一分配。二者存储在同一数据库中,并设置标志标记此账号信息是普通用户还是管理者账户。 (2) 用户登录:用户或者管理者登录时输入账户和密码,然后和数据库中的信息作对比,如果对比成功就显示登录成功进入主界面,否则将提示账号不存在或者密码错误。 (3) 禁言违规用户:由于存在发表引战言论、谩骂攻击以及其他违法乱纪行为的用户,管理员需要对该用户进行禁言。禁言的方式为根据违法言论者的套接字找到对应的用户,标记该用户为禁言。 (4) 创建聊天室:每一个聊天室需要一个服务器的端口进行监听信息,因此每次创建一个聊天室都需要查找并打开服务器中的空闲端口进行监听。此外,新建聊天室后,将聊天室的信息存储到数据库中。 (5) 删除违规聊天室:在数据库中查找到违规聊天室 id 对应的聊天室信息,得到该聊天室的服务器端口后,将该聊天室信息移除出数据库,最后释放该聊天室的端口。 (6) 消息提醒:客户端在监听捕获来自服务端的消息后,对用户进行提醒。 (7) 查看消息记录:客户端监听到的信息会被自动存储到本地数据库以方便用户查看,通过聊天室的 id 可以查询到信息的发送用户和发送时间。
资源推荐
资源详情
资源评论
收起资源包目录
基于C#+MySQL实现的(WinForm)个人聊天室软件【100013147】 (147个子文件)
DesignTimeResolveAssemblyReferences.cache 15KB
DesignTimeResolveAssemblyReferencesInput.cache 8KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
ChatClient.csproj.GenerateResource.cache 1KB
ChatServer.csproj.GenerateResource.cache 1KB
ChatServer.csprojAssemblyReference.cache 424B
DesignTimeResolveAssemblyReferences.cache 424B
ChatClient.csprojAssemblyReference.cache 424B
ChatWork.csprojAssemblyReference.cache 424B
ChatServer.csproj.CoreCompileInputs.cache 41B
ChatClient.csproj.CoreCompileInputs.cache 41B
ChatWork.exe.config 516B
ChatServer.exe.config 516B
ChatServer.exe.config 516B
ChatWork.exe.config 516B
ChatWork.exe.config 516B
packages.config 207B
App.config 184B
App.config 184B
ChatServer.csproj.CopyComplete 0B
ChatClient.csproj.CopyComplete 0B
ServerService.cs 23KB
Chat.Designer.cs 12KB
ClientService.cs 12KB
Manage.Designer.cs 12KB
Land.Designer.cs 8KB
Regist.Designer.cs 8KB
MainForm.Designer.cs 7KB
Manage_a_Room.Designer.cs 6KB
CreateRoom.Designer.cs 6KB
Chat.cs 6KB
Connect.Designer.cs 6KB
Resources.Designer.cs 3KB
Resources.Designer.cs 3KB
Manage.cs 2KB
Manage_a_Room.cs 2KB
MainForm.cs 2KB
Regist.cs 1KB
AssemblyInfo.cs 1KB
AssemblyInfo.cs 1KB
Settings.Designer.cs 1KB
Settings.Designer.cs 1KB
Land.cs 988B
Connect.cs 782B
CreateRoom.cs 749B
Program.cs 664B
Program.cs 574B
MyUserList.cs 523B
MyList.cs 499B
MyMsgList.cs 496B
Message.cs 492B
User.cs 470B
User.cs 468B
ChatRoom.cs 434B
Message.cs 341B
ChatRoom.cs 321B
File.cs 232B
.NETFramework,Version=v4.7.2.AssemblyAttributes.cs 210B
.NETFramework,Version=v4.7.2.AssemblyAttributes.cs 210B
ChatClient.csproj 6KB
ChatServer.csproj 5KB
BouncyCastle.Crypto.dll 2.41MB
BouncyCastle.Crypto.dll 2.41MB
SunnyUI.dll 2.1MB
SunnyUI.dll 2.07MB
SunnyUI.dll 2.07MB
SunnyUI.dll 2.07MB
SunnyUI.dll 2.07MB
SunnyUI.dll 2.04MB
MySql.Data.dll 1.67MB
MySql.Data.dll 1.67MB
Google.Protobuf.dll 380KB
Google.Protobuf.dll 380KB
SunnyUI.Common.dll 209KB
SunnyUI.Common.dll 209KB
SunnyUI.Common.dll 209KB
SunnyUI.Common.dll 208KB
SunnyUI.Common.dll 208KB
SunnyUI.Common.dll 208KB
SunnyUI.Common.dll 208KB
System.Memory.dll 145KB
System.Memory.dll 145KB
Ubiety.Dns.Core.dll 55KB
Ubiety.Dns.Core.dll 55KB
K4os.Compression.LZ4.dll 40KB
K4os.Compression.LZ4.dll 40KB
System.Runtime.CompilerServices.Unsafe.dll 23KB
System.Runtime.CompilerServices.Unsafe.dll 23KB
System.Buffers.dll 20KB
System.Buffers.dll 20KB
K4os.Compression.LZ4.Streams.dll 17KB
K4os.Compression.LZ4.Streams.dll 17KB
Zstandard.Net.dll 15KB
Zstandard.Net.dll 15KB
K4os.Hash.xxHash.dll 12KB
K4os.Hash.xxHash.dll 12KB
需求与设计文档.docx 434KB
ChatWork.exe 61KB
ChatWork.exe 61KB
ChatWork.exe 61KB
共 147 条
- 1
- 2
资源评论
神仙别闹
- 粉丝: 3709
- 资源: 7461
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- js基础但是这个烂怂东西要求标题不能少于10个字才能上传然后我其实还没有写完之后再修订吧.md
- electron-tabs-master
- Unity3D 布朗运动算法插件 Brownian Motion
- 鼎微R16中控升级包R16-4.5.10-20170221及强制升级方法
- 鼎微R16中控升级包公版UI 2015及强制升级方法,救砖包
- 基于CSS与JavaScript的积分系统设计源码
- 生物化学作业_1_生物化学作业资料.pdf
- 基于libgdx引擎的Java开发连连看游戏设计源码
- 基于MobileNetV3的SSD目标检测算法PyTorch实现设计源码
- 基于Java JDK的全面框架设计源码学习项目
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功