毕业设计_即时通讯系统设计说明书(编辑修改稿)内容摘要:

节、展示了测试的结果以及系统的发布。 第 七 章:系统的不足与展望,主要陈述了本系统存在哪些不足的地方以及对系统的展望。 第二章 需求分析和可行性分析 3 第二章 需求分析和可行性分析 需求分析 此次开发的网络聊天工具可作为企业局域网的交流工具使用,通信的安全性不是很高,但要求信息的响应速度要较快,让用户充分享受到网络即时消息的方便和快捷。 本聊天工具由服务器端程序和客户端程序两部分组成,整体采用 .NET 平台开发,采用 UDP 通信协议,使用 Socket 技术。 服 务器是可以进行监听,记录客户端请求和验证客户端身份的合法性,客户端程序面向实际用户,它有必要的界面的按钮,向用户提供网络即时消息的功能。 系统包含的功能 本聊天系统需包含如下基本功能: (1) 客户端的主要功能 :  用户注册  用户登录  添加好友  获取好友列表  与好友聊天  发送表情功能  文件传输 (2) 服务器端的主要功能:  启动服务  建立连接  监听客户请求 功能模块 聊天工具由服务器端和客户端组成,要分析清楚两方面所要完成的任务,对设计来说,等于完成了一半。 根据聊天的通信步骤,系统的功 能模块如图 21 所示。 (1) 服务器端 服务器端完成 3 大功能:建立连接、 断开连接、 监听客户请求。 这 3 大功能的具体含义如下:  建立连接:系统启动时建立连接,绑定本地计算机的一个端口,不断地监听是否有客户端请求连接或者断开连接。  断开连接:停止监听,系统断开连接。  监听客户请求:服务器端是个信息枢纽,所有向服务器端请求的客户端的信息都要传到服务器端,再由服务器根据客户端的请求按要求分发出去,华南理工大学广州学院本科毕业设计(论文)说明书 4 客户端再向服务器端发送各种请求,如:登录, 发送消息 ,获取 好友列表等。 图 21 系统功能模块图 (2) 客户端 客户端完成以下几大功能 :用户注册、 用户登录、添加好友、聊天功能、 发送表情、 文件传输功能。  用户注册: 客户端与服务器建立通信通道, 服务就收客户端的注册请求。 通过系统的 注册 界面,输入账号和密码, 完成注册。  用户登录:客户端与服务器建立通信通道, 随时 接收来自服务器的监听。 通过系统的登录界面,输入账号和密码,然后发送到服务器进行验证。 如果验证通过, 服务器则返回用户的好友信息。  添加好友:用户在登录系统之后可以添加好友。  聊天功能:客户在与好友建立通信连接后,便可以 与好友进行聊天,聊天时发送的是文本信息。  发送表情功能:与好友聊天时,可在文本信息中插入表情。  文件传输:用户之间可以相互传送文件以实现文件共享。 即时通讯系统 客户端 服务器 用户注册 用户登录 添加好友 获取好友列表 与好友聊天 发送表情功能 文件传输 启动服务 停止服务 监听客 户请求 第二章 需求分析和可行性分析 5 系统可行性分析 可行性分析( Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的发开是否具备必要性和可能性,对新系统的开发从 各 方面进行分析和研究,以避免投资失误,保证新系统的开发成功。 可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 经济 可行性分析 基于局域网、 C/S 架构的即时 通讯系统在很多资料上都能找到,包括书本和网络上都有很多类似的系统,开发这样一个系统所需要的花费不是很大,需要的开发工具、需要的软件等都可以在网上找到试用版,不需要购买,所以不需要花费太多金钱,在经济上完全 能够完成本系统的设计。 人力 可行性分析 完成本系统不需要太多的人力资源,有老师和同学的帮助,也可以在网上找到与本系统相关的很多资源, 在人力资源上 能够完成本系统的设计。 技术 可行性分析 基于 .NET 的即时通讯软件,实现一般通讯软件的基本功能(登录,聊天,退出),没有十分复杂的其他功能 , 如:登录、添加好友、与好友聊天、传输文件等基本的功能,这些都能够运用所学的知识实现。 本系统使用的编程语言是 C语言,所使用的平台是 .NET 平台,对于 VS2020 的使用还是比较熟悉。 在校已 学习过 C编程。 完成这个通讯软件的基础知识大都已经具备,同时, 在网上也可以找到许多资料 ,如 CSDN、看雪论坛等 能够查到许多开源源代码,自己能够充分运用这些网络资源,完成这个毕业设计。 开发环境和相关技术介绍 开发环境 本设计是一个局域网即时通讯软件,要在短时间内开发出来并且满足客户要求,无论是硬件还是 软件都要选择合适,要求如下:开发设备完善 ; 开发机器的性能必须稳定;操作系统的选择应该适当;开发出的程序可以在尽可能多的平台上运行;要求运行机配置尽可能 低档。 对此,我选择的硬件环境和软件环境如下:  硬件环境 (1) 处理器: Intel Pentium PIII 或者更高的处理器 (2) 内存: 256MB 或更高 (3) 网络 : 局域网  软件环境 华南理工大学广州学院本科毕业设计(论文)说明书 6 (1) 操作系统 : Windows XP/Windows 7 (2) 开发平台: Microsoft Visual Studio 2020 (3) 开发语言: C (4) 数据库: SQL Server 2020 Microsoft Visual Studio 2020 介绍 Visual Studio 是微软公司推出的开发环境。 Visual Studio 2020 同时带来 .NET Framework 、 Microsoft Visual Studio 2020 CTP( Community Technology PreviewCTP),并且支持开发面向 Windows 的应用程序。 .NET 平台 .NET 就是微软的用来实现 XML, Web Services, SOA(面向服务的体系结构serviceoriented architecture)和敏捷性的技术。 .NET 是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。 .NET 是基于 Windows 操作系统运行的操作平台,应用于互联网的分布式。 C 语言简介 C是微软公司发布的一种面向对象的、运行于 .NET Framework 之上的高级程序设计语言。 C是微软公司研究员 Anders Hejlsberg 的最新成果。 C看起来与 Java 有着惊人的相似;它包括了诸如单一继承、接口、与 Java 几乎同 样的语法和编译成中间代码再运行的过程。 它是微软公司 .NET windows 网络框架的主角。 Socket 技术 所谓 Socket 通常也称作 “套接字 ”,应用程序通常通过 “套接字 ”向网络发出请求或者应答网络请求。 根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。 服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。 客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套 接字。 为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。 连接确认:是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。 而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。 第二章 需求分析和可行性分析 7 TCP/IP 协议 TCP/IP 是国际互联网所采用进行网际互连的通信协议 [7] , 实际所称的 TCP/IP 协议包括了在国际互联网络应用的一组协议,互联网协议族是此协议族的另一个名字[8]。 (1) TCP 协议 在因特网协议族( Inter protocol suite)四层协议中, TCP 层是位于 IP 层之上,应用层之下的传输层。 不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是 IP 层不提供这样的流机制,而是提供不可靠的包交换。 TCP 服务提供了可靠性、有效流控制、数据流传输、多路复用技术和全双工操作等。 (2) UDP 协议 UDP 是 User Datagram Protocol 的简称, 中文名是 用户数据报协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务, IETF RFC 768 是 UDP 的正式规范。 在选择使用协议的时候,选择 UDP 必须要谨慎。 在网络质量令人不十分满意的环境下, UDP 协议数据包丢失会比较严重。 但是由于 UDP 的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用 UDP 较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。 比如我们聊天用的 ICQ 和 就是使用的 UDP 协议。 Client/Server 结构 (客户端 /服务器模式 ) Client/Server 或客户 /服务器模式: Client 和 Server 常常分别处在相距很远的两台计算机上, Client 程序的任务是将用户的要求提交给 Server 程序,再将 Server 程序返回的结果以特定的形式显示给用户; Server 程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。 本章小结 本章主要对本系统的相关技术进行介绍,对基于 C/S 即时通讯的原理有一定 的 了解,对数据信息在网络中传输的原理都有进一步的认 识,从需求分析和可行性分析出发讲述系统的系统设计架构、需求分析、技术可行性分析以及对系统的开发环境和相关技术进行了详细的介绍。 为设计本系统构建了一定的理论体系。 华南理工大学广州学院本科毕业设计(论文)说明书 8 第三章 数据库设计 SQL Server 数据库介绍 SQL Server 是一个关系数据库管理系统。 它最初是由 Microsoft、 Sybase 和AshtonTate 三家公司共同开发的,于 1988 年推出了第一个 OS/2 版本。 在 Windows NT 推出后, Microsoft 与 Sybase 在 SQL Server 的开发上就分道扬镳了, Microsoft 将 SQL Server 移植到 Windows NT 系统上,专注于开发推广 SQL Server 的 Windows NT 版本。 Sybase 则较专注于 SQL Server 在 UNⅨ 操作系统上的应用。 SQL是英文 Structured Query Language 的缩写,意思为 结构化查询语言。 SQL语言的主要功能就是同各种数据库建立联系,进行沟通。 按照 ANSI(美国国家标准协会 )的规定, SQL被作为 关系型数据库管理系统 的标准语言。 SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。 目前,绝大多数流行的关系型数据库管理系统,如 Oracle, Sybase, Microsoft SQL Server, Access 等都采用了 SQL语言标准。 理论基础 设计关系数据库时,遵循不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小[9]。 (1) 第一范式 (1NF)就是无重复的域。 在任何一个关系数据库中,第一范式是对关系模式的设计基本要求,一般设计中都必须满足第一范式。 不过有些关系模型中突破了 1NF 的限制,这种称为非 1NF 的关系模型。 换句话说,是否必须满足 1NF 的最低要求,主要依赖于所使用的关系模型。 (2) 第二范式 (2NF)要求实体的属性完全依赖于主关键字。 (3) 第三范式 (3NF)要求一个关系中不包含已在其它关系已包含的非主键子信息。 数据库设计是进行系统开发的基础性工作,设计方案的好坏是影响开发的重要因素。 数据库设计要遵循以下原则 [10]: (1) 数据的完整性:保证数据库中的数据准确。 (2) 数据的结构化:数据库设计必须层次分明,分布合理。 数据库必须高度结构化,保证数据的结构化、规范化和标准化。 (3) 减少数据冗余:数据库系统应该尽量减少数据冗余,节省存储空间,提高数据质量。 消除数据库表中 非主属性对主关键词的非完全依赖性和非主属性对主关键词的传递依赖性,将二维表转化为第三范式,是降低数据冗余的有效方式。 第三章 数据库设计 9 数据库 ER 图 用户和好友关系之间是多对多的关系,一个用户可以对应多个好友关系、一种好友关系 只能对应一个用户。 数据库 ER 图如图 31 所示。 图 31 数据库 ER。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。