基于C#+MySQL实现(WinForm)个人聊天室软件

♻️ 资源

大小: 15.5MB

➡️ 资源下载: https://download.csdn.net/download/s1t16/87484808https://download.csdn.net/download/s1t16/87484808

个人聊天室软件

需求分析与概要设计

1. 项目说明

1.1. 项目目标:

本项目目标完成一个可以实现多个不同主题的在线聊天室的桌面应用,用户可以在不同的聊天室中交流不同的话题。用户在登录后可以选择聊天室、查看聊天室人数以及选择用户私聊等。

1.2. 软硬件环境需求

软件是基于.net framework 4.7.2 开发,数据库为 Mysql8.0.24

1.3. 使用的关键技术:

软件基于 Socket 编程,C/S 架构风格开发。客户端通过发送指令得到服务器的返回信息。

2. 需求分析

2.1. 系统用例

图 1 系统用例图

(1) 登录

参与者:普通用户、管理员

基本事件流:用户或者管理员在登录的时候先选择登录身份。输入账号和密码后核验其账户是否存在以及密码是否匹配,若匹配则用户登录进入用户主界面,管理员登录进入管理主界面,否则提示用户不存在或者密码错误。

(2) 创建聊天室

参与者:普通用户、管理员

基本事件流:用户和管理员在创建聊天室的时候需要标明此聊天室的主题以便于有不同兴趣爱好的用户进行交流。

(3) 选择聊天室聊天

参与者:普通用户

基本事件流:用户登录后进入主界面可以浏览各个聊天室的主题以及在线人数,然后根据用户个人的兴趣爱好选择进入聊天室。进入聊天室用户可以在公共聊天室发消息也可以选择用户私聊。

(4) 禁言

参与者:管理员

基本事件流:管理员对个别发表引战、谩骂攻击、违法等言论的用户实施禁言以管理应用,具体禁言时间根据具体情况而定。

(2) 删除聊天室

参与者:管理员

基本事件流:部分公共聊天室的主题可能存在违法乱纪的行为以及可能存在聊天室成员公开讨论违禁话题,需要管理员对此类聊天室进行查封删除。

2.2. 业务流程

图 2 用户使用流程图

3. 概要设计

3.1. 功能模块设计

图 3 功能模块图

(1) 用户注册

功能概述:用户可以申请注册账号并设置密码,然后应用将其信息存入到数据库中。而管理者的账号和密码由开发者统一分配。二者存储在同一数据库中,并设置标志标记此账号信息是普通用户还是管理者账户。

(2) 用户登录

输入:账号和密码

输出:是否匹配

功能概述:用户或者管理者登录时输入账户和密码,然后和数据库中的信息作对比,如果对比成功就显示登录成功进入主界面,否则将提示账号不存在或者密码错误。

(3) 禁言违规用户

输入:用户登录的套接字

结果:被禁言用户在一定时间内无法发送信息

功能概述:由于存在发表引战言论、谩骂攻击以及其他违法乱纪行为的用户,管理员需要对该用户进行禁言。禁言的方式为根据违法言论者的套接字找到对应的用户,标记该用户为禁言。

(4) 创建聊天室

输入:聊天室主题、服务器套接字

结果:新建一个聊天室

功能概述:每一个聊天室需要一个服务器的端口进行监听信息,因此每次创建一个聊天室都需要查找并打开服务器中的空闲端口进行监听。此外,新建聊天室后,将聊天室的信息存储到数据库中。

(5) 删除违规聊天室

输入:违规聊天室的 id

结果:违规聊天室被删除

功能概述:在数据库中查找到违规聊天室 id 对应的聊天室信息,得到该聊天室的服务器端口后,将该聊天室信息移除出数据库,最后释放该聊天室的端口。

(6) 消息提醒

功能概述:客户端在监听捕获来自服务端的消息后,对用户进行提醒。

(7) 查看消息记录

输入:聊天室的 id

输出:该聊天室的消息记录

功能概述:客户端监听到的信息会被自动存储到本地数据库以方便用户查看,通过聊天室的 id 可以查询到信息的发送用户和发送时间。

3.2. 核心类图

图 4 核心类图

4. 界面设计

图 5 服务端界面

图 6 登录界面

图 7 客户端主界面

图 8 聊天界面

相关推荐
淡海水8 小时前
02-07-原理篇-GC暂停时间的本质
开发语言·unity·c#·gc·暂停时间
小羊没烦恼!10 小时前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式
Behavior11 小时前
Unity 7.0 Alpha 拆解:编辑器干掉 Mono 换 CoreCLR
c#·unity3d·游戏开发
淡海水12 小时前
02-06-原理篇-增量式GC与并发GC
算法·unity·c#·并发·gc·增量
Vertira12 小时前
C# 函数封装成 DLL,
开发语言·c#
浅尝辄止;13 小时前
设计模式在HIS/LIS医疗系统中的完整实践指南(C#版)
开发语言·设计模式·c#
kimloner1 天前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
阿松爱学习1 天前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#
半亩码田1 天前
C#转Python第4.8篇:正则表达式:Python re 模块 vs C# System.Text.RegularExpressions
python·正则表达式·c#
FPGA小徐1 天前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#