毕业设计(论文)-基于 VC++的局域网聊天系统的设计与实现.doc_第1页
毕业设计(论文)-基于 VC++的局域网聊天系统的设计与实现.doc_第2页
毕业设计(论文)-基于 VC++的局域网聊天系统的设计与实现.doc_第3页
毕业设计(论文)-基于 VC++的局域网聊天系统的设计与实现.doc_第4页
毕业设计(论文)-基于 VC++的局域网聊天系统的设计与实现.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于VC+的局域网聊天系统的设计与实现 作 者 姓 名:张弘毅指 导 教 师:寇月 副教授单 位 名 称:信息科学与工程学院专 业 名 称:计算机科学与技术 东 北 大 学2012年6月Design and Implementation of LAN chat system based on VC + +by ZHANG hongyiSupervisor: Associate Professor KOU YueNortheastern UniversityJune 2012东北大学本科毕业设计(论文) 毕业设计(论文)任务书-I-东北大学本科毕业设计(论文) 毕业设计(论文)任务书毕业设计(论文)任务书毕业设计(论文)题目:基于VC+的局域网聊天系统的设计与实现设计(论文)的基本内容:局域网聊天系统是一种良好、安全、快速的通信机制,可以有效的提高局域网的使用效率,并能较好地满足局域网内的多种通信需求。论文的主要工作包括:1. 了解项目开发背景,分析系统功能需求,研究其设计及实现技术。2. 基于VC+设计并实现一个局域网聊天系统,实现以下功能:系统的客户端:用户注册、用户登录、用户信息查看、个人信息修改、查看在线人员、消息传送、文件传输以及窗口抖动发送等。系统的服务器端:服务启动停止、用户信息管理和消息传送。3. 总结归纳所完成的任务,弥补不足。毕业设计(论文)专题部分:题目:设计或论文专题的基本内容:学生接受毕业设计(论文)题目日期第1周指导教师签字:2012年3月4日东北大学本科毕业设计(论文) 摘要基于VC+的局域网聊天系统的设计与实现摘 要随着科学技术的迅速提高,计算机网络得到了飞速的发展,而各种基于网络的应用程序也随之诞生,比如基于互联网的信息发布、通信、数据共享等等。局域网的发展也同样迅速,局域网技术作为人们日常生活中必不可少的部分同样得到了广泛的应用。随着企业规模的扩大和业务量的增加,企业内部的信息越来越私密,企业只希望员工通过内部局域网进行沟通与交流,避免企业内部机密通过Internet泄露到外部。因此,开发一个局域网的即时通信工具是非常有必要的,本文基于VC+设计并实现一个局域网聊天系统。本文首先针对局域网聊天系统的功能需求进行了分析,然后按照系统的功能需求对系统的体系结构进行了设计,并针对各个功能模块的执行流程进行了详细的分析。系统采用功能强大的VC+作为开发平台,以C/S模式作为开发模式,客户端实现了用户注册、用户登录、用户信息查看、个人信息修改、查看在线人员、消息传送、文件传输以及窗口抖动发送等功能,服务器端实现了服务启动停止、用户信息管理和消息传送等功能。本文按照局域网聊天系统的网络层次结构实现了整个系统的源代码,并生成了可执行文件。在系统实现过程中,将客户端与服务器端功能分别实现,着重研究如何运用Socket编程技术来实现通讯交流,并采用多线程实现不同的并行任务。该系统最终将应用于局域网环境,应用数据库对通信用户及通信消息等进行管理。关键词:局域网聊天系统;VC+;C/S模式;Socket编程-II-东北大学本科毕业设计(论文) AbstractDesign and Implementation of LAN chat system based on VC + +AbstractWith the rapid increase of science and technology, computer network has been a rapid development of a variety of network-based application also will be born, such as Internet-based information publishing, communications, data sharing, and so on. The development of the LAN just as quickly, the same has been widely used LAN technology as an essential part of daily life. With the expansion of business scale and increase in business, information within the enterprise, more and more private, corporate staff through the intranet to communicate and exchange, to avoid internal secrets leaked to the outside via the Internet. Therefore, the development of a LAN instant messaging tool is very necessary, based on VC + + design and realization of a local area network chat system.Firstly, analysis of functional requirements for local area network chat system, and then follow the systems functional requirements, system architecture design, and carried out a detailed analysis of the implementation process for each functional module. System uses a powerful VC + + as a development platform, C / S model as a development model, the client achieve the user registration, user login, user information to view, personal information changes, messaging, file transfer and window jitter send and other functions, the server side to achieve the service start and stop the line to view the user information management and messaging functions.In accordance with the LAN chat network hierarchy of the entire system source code, and generate the executable file. The system implementation process, respectively, to achieve the client and server side functionality, focusing on how to use the Socket programming techniques to achieve the exchange of communications, and multi-threaded parallel tasks. The system will eventually be used in a LAN environment, the application database to manage communications users and communication messages.Keywords:LAN chat system; VC+; C/S mode; Socket Programming-VI-东北大学本科毕业设计(论文) 目录目 录毕业设计(论文)任务书I摘 要IIAbstractIII第1章 引 言11.1课题研究的背景和意义11.2发展现状21.3本文的主要工作21.4论文的组织结构3第2章 相关技术简介52.1 Windows Sockets简介52.2 VC+开发工具62.3 TCP/IP协议72.4基于MFC的多线程编程技术82.5 Access数据库102.6 C/S模式和B/S模式112.7本章小结12第3章 需求分析133.1 系统实现目标133.2 功能性需求描述143.2.1 用户注册143.2.2 用户登录153.2.3 消息传送(客户端)153.2.4 文件传输153.2.5 用户信息查看153.2.6 个人信息修改163.2.7 查看在线成员163.2.8 窗口抖动发送163.2.9 启动停止服务163.2.10 用户信息管理173.2.11 数据消息传送(服务器端)173.3 本章小结17第4章 系统总体设计194.1 系统体系结构设计194.2 系统功能模块介绍204.3 功能模块调用关系214.4 本章小结21第5章 系统详细设计235.1 用户注册模块的详细设计235.2 用户登录模块的详细设计245.3 消息传送模块(客户端)的详细设计255.4 文件传输模块的详细设计265.5 用户信息查询模块的详细设计275.6 个人信息修改模块的详细设计275.7 查看在线成员模块的详细设计285.8 服务启动停止模块的详细设计285.9 用户信息管理模块的详细设计295.10数据消息传送模块(服务器端)的详细设计305.11 数据库设计315.12 本章小结31第6章 系统实现336.1 系统运行环境336.2 系统开发环境336.3 系统主框架的实现336.4 服务端功能模块的实现356.4.1 启动停止服务模块的实现356.4.2 用户信息管理模块的实现366.4.3 消息传送模块的实现366.5 客户端功能模块的实现376.5.1 用户注册模块的实现376.5.2 用户登录模块的实现376.5.3 用户信息查看模块的实现386.5.4 个人信息修改模块的实现396.5.5 查看在线人员模块的实现396.5.6 消息传送模块的实现406.5.7 文件传输模块的实现406.5.8 窗口抖动发送模块的实现416.6 本章小结42第7章 系统测试437.1白盒测试437.1.1测试环境配置437.1.2正确性测试437.2黑盒测试447.2.1测试环境配置447.2.2功能性测试457.2.3容错性测试457.3 本章小结46第8章 结 论478.1本文工作总结478.2 进一步展望47参考文献49致 谢51东北大学本科毕业设计(论文) 第1章 引言第1章 引 言1.1课题研究的背景和意义近年来,随着全球信息化进程的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网进行工作1-3。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。随着企业规模的扩大,业务量的增加,企业内部的信息越来越私密,企业只希望员工通过内部局域网进行沟通与交流,避免企业内部机密通过Internet泄露到外部。为此,人们提出了开发局域网聊天软件的构想,通过局域网聊天软件,企业员工可以随时的进行即时消息传递,召开网络会议等,有利于提高工作消息效率,同时又保护了企业内部信息的安全性。然而,目前的大多数即时通信(Instant Messenger,简称IM)软件必须通过Internet,如果是企业内部网络没有连接到Internet,那就不能使用IM软件。因此鉴于这种现象有必要开发一种聊天工具,用来实现内部局域网之间的交流及通信。这种软件必须精简但强捍,能满足学校、企业、公司等等的内部交流。它最大的好处就是不需要连接Internet就可以运行。这有利于提高学校、公司等的效率,提高对用户的监控性。为此,本文基于VC+设计并实现一个局域网聊天系统,该系统由客户端和服务器端组成,客户端功能主要包括:用户注册、用户登录、用户信息查看、个人信息修改、在线人员查看、消息传送、文件传输以及窗口抖动发送等,服务器端功能主要包括:服务启动停止、用户信息管理和消息传送。服务器端可以即时监控各个客户端(即用户)之间的对话。基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好、安全、快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。基于Socket的局域网聊天工具很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。为此,本文选用网络编程接口Windows Socket来实现局域网聊天系统,着重研究在即时通讯软件的开发中如何运用Socket套接字编程技术来实现通讯交流。本系统按照软件工程的思想从需求分析着手,进行总体设计、详细设计、编码及调试等步骤。其中,采用C/S体系结构进行软件总体设计,通信部分的设计与开发是本设计的重点。本设计通过实际动手,用VC+4实现了一个简单的即时通信系统,达到熟悉即时通信软件的应用环境及背景,熟悉即时通信软件的常用开发技术的目的。1.2发展现状现在国内面向个人的即时通信产品主要有腾讯QQ、微软MSN、网易泡泡、ICQ、雅虎通以及飞秋feiq等。面向企业用户的即时通信产品比较多,但除了腾讯、微软等少数运营商的用户比较多以外,其他产品推出时间都很短,用户极少。基于局域网的即时通信工具,实际上是互联网即时通信工具的一个小规模版本,广域网上的即时通信工具,如今一般采用UDP或者TCP协议体系来实现,开发技术已经比较成熟。在局域网内,这些功能的实现跟广域网相比更加简单,因为局域网的网络结构本身比广域网要复杂,但是又可以借此理解网络协议,以及网络通信工具的实现原理,所以仍然极具研究价值。虽然即时通信业务已日益成熟,但目前各类即时通信软件及服务都存在不少缺陷需要改进,主要体现在以下几方面:(1)安全性问题。目前,大多数即时通信系统的安全性较差,极易受到病毒攻击。QQ、MSN就相继遭受过病毒的侵袭以及由网络故障带来的稳定性问题。即时通信要想进一步发展,首先要解决的就是安全性问题。(2)互联互通问题。受多种因素制约,各即时通信工具间的互联互通问题至今未解决。随着即时通信企业用户规模的进一步扩大,如何将不同的即时通信工具实现互联,以实现跨不同即时通信系统的即时通信就成了不可回避的话题。(3)差异化问题。市场上的几大即时通信工具,它们在服务功能、市场定位和目标市场选择上都基本雷同,缺乏特色。即时通信如果继续如此近乎无差异化地发展下去,最后唯一的结果就是竞争日益激烈,不利于即时通信的发展。本文基于VC+设计并实现一个局域网聊天系统,不需要连接Internet就可以运行。采用Socket通信的原理,具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。1.3本文的主要工作现在,多渠道的信息源、网络化的数据分布、快捷医用的交互操作、智能化的分析决策等特点越来越成为衡量聊天软件的关键,因此,本文开发一个局域网聊天软件,该聊天软件是基于C+语言运行于VC平台上,利用的技术主要是Socket通信,并使用配置文件来管理数据。为实现和方便客户端间通信,在客户端进行了人性化的界面设计,用户可以注册号码、登录界面,并具有发送离线消息功能。本文的主要工作包括如下几方面:(1)针对局域网聊天系统的功能需求进行了分析,将本系统划分为服务器端和客户端两部分。(2)按照系统的功能需求对系统的体系结构进行了设计,并针对各个功能模块的执行流程进行了详细的分析。(3)采用功能强大的VC+作为开发平台,以C/S模式作为开发模式,客户端实现了用户注册、用户登录、用户信息查看、个人信息修改、在线人员查看、消息传送、文件传输以及窗口抖动发送等功能,服务器端实现了服务启动停止、用户信息管理和消息传送等功能。1.4论文的组织结构第1章对课题的研究背景及意义、研究现状、本文主要工作与论文组织结构进行了较深入的阐述。第2章介绍相关技术,包括Socket编程技术、TCP/IP协议、多线程编程技术等。第3章对系统进行需求分析,对组成系统的功能模块进行划分,对每个模块将要实现的功能进行阐述和说明。第4章对系统进行总体设计,根据系统需求分析设计出适合的体系结构,并对系统的功能模块进行划分。第5章对系统进行详细设计,分别介绍了系统关键模块的实现流程和数据库设计。第6章对系统进行实现,分别介绍了服务器端和客户端的主要类及其成员函数的实现技术。第7章对系统进行测试,详细介绍了对系统进行白盒测试和黑盒测试的过程。第8章对本设计进行归纳总结,全面阐述本次设计中的体会。-53-东北大学本科毕业设计(论文) 第2章 相关技术简介第2章 相关技术简介本文工作的相关理论与技术包括Windows Sockets、VC+开发工具、TCP/IP协议、基于MFC的多线程编程技术、Access数据库以及C/S模式等。2.1 Windows Sockets简介Windows Sockets5是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。Windows Sockets规范定义并记录了如何使用API与Internet协议族(IPS,通常我们指的是TCP/IP)连接,尤其要指出的是所有的Windows Sockets实现都支持流套接口和数据报套接口.应用程序调用Windows Sockets的API实现相互之间的通讯。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。Socket控件可以供Microsoft Acess、Visual Basic,Visual C+或Visual Foxpro的开发人员使用。这里使用Visual Basic为例。Socket控件可以使用两种协议:TCP协议和UDP协议。Windows sockets无疑是我们进行网络编程的利器。所有的Windows Sockets实现都支持流套接口和数据报套接口。应用程序调用Windows Sockets的API实现相互之间的通讯。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。它们之间的关系如图2.1所示应用程序1应用程序2网络编程界面,例如windows sockets网络通讯协议服务界面,例如TCP/IP操作系统,例如Windows物理通讯介质图2.1 Windows Sockets实现通讯工作的各层关系图2.2 VC+开发工具Visual C+(简称VC+)是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,且功能强大可以与Windows专业开发工具SDK相媲美。在Visual c+环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。Visual C+可以说是现在最为通用的开发工具之一,它提供了相当齐备的类库和友好的编程界面,虽然在提起开发的时候,人们通常想到的会是Delphi, Visual C, PowerBuilder等,但Visual C+从4.0版本开始也对数据库开发提供了比较好的开发环境,随着版本的升高,Visual C+从数据库的访问技术更加成熟,功能更加强大。Visual C+提供了多种多样的数据库访问技术ODBC API、MFC ODBC、DAO、OLEDB、ADO等。这些技术各自己的特点,它们提供了简单、灵活、访问速度快、可扩展性强的开发技术,这些正是Visual C+开发和其它开发工具相比的优势所在。归纳起来可以概括为以下几个方面:(1)简单性首先,Visual C+提供的MFC类具有强大的功能,如果能够掌握会达到事半功倍的效果;一些开发向导简化应用程序的开发另外MFC ODBC和ADO数据库接口已经将一些底层的操作都封装在类中,用户可以方便地使用这些接口,而无需编写操作数据库地底层的代。(2)可扩展性Visual C+提供的OLE 技术和ActiveX技术可以让开发者利用Visual C+中提供的各种组件、控件以及第三方开发者的组件来创建自己的程序,从而实现应用程序的组件化,而组件化的应用程序则会具有良好的扩展性。(3)访问速度快Visual C+为了解决利用ODBC开发的数据库应用程序访问数据库速度慢的问题,提供了新的访问技术,即OLEDB和它的高层接口ADO,它们是基于COM接口的技术,因此使用这种技术右以直接到数据库的驱动程序进行访问,从而提高访问速度。(4)数据源友好传统的ODBC技术只能访问关系型数据库,而在Visual C+中通过OLEDB访问技术不仅可以访问关系数据库,还可以访问非关系数据库。本系统利用Visual C+作为前台开发工具编制了查询、检索模块。用户可以通过预先定义的任何关键字来查找所需要的图档信息,与搜索特征相匹配的所有信息都显示在定制的数据窗口列表中,并允许用户通过CAD浏览详图。系统利用视图及索引实现了数据库信息的快速、可靠的查询。系统能够根据其权限大小,决定其是否有权对查询结果进行浏览或编辑等处理,引导其进行相应的可能的操作。2.3 TCP/IP协议 网际协议IP是TCP/IP6的心脏,也是网络层中最重要的协议。IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层-TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向上传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。UDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询-应答的服务.TCP和UDP服务通常有一个客户/服务器的关系。两个系统间的多重连接是这样相互确认并协调一致的,TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:源IP地址:发送包的IP地址。目的IP地址:接收包的IP地址。源端口:源系统上的连接的端口。目的端口:目的系统上的连接的端口。端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用25。这些端口号是“广为人知”的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯,如图2.2所示。Server创建TCP套接字socket()绑定服务器端口bind()阻塞,等待客户机连接设置套接字为监听套接字listen()接收连接创建通讯套接字accept()处理用户数据接收数据recv()发送数据send()关闭套接字close()结束Client请求连接connect()关闭套接字close()结束发送数据send()接收数据recv()图2.2 TCP客户机/服务器模型2.4基于MFC的多线程编程技术MFC7是在1992年随微软的Microsoft C/C+ 7.0编译器发布的,是建立在Windows API之上的C+ 类库(C+ Class Library),意图是使Windows程序设计过程更有效率,更符合面向对象的精神。现在MFC已经成为了Windows环境上标准的C+ API。MFC使得开发Windows应用程序变得简单容易,将很多应用程序开发中常用的功能自动化,并且提供了文档框架视图结构和活动文档这样的便于自定义的应用程序框架。同时,在Visual C+内部也内建了很多对MFC的非常实用的东西,例如类向导这样的支持,减少软件开发的时间,使用类向导可以生成从hello world这样的简单程序到活动文档服务器这样的复杂程序。MFC的消息映射机制也避免了使用性能较低的庞大虚函数表。MFC在整个Windows家族中都是兼容的。MFC类库是一个很大的、扩展了的C+类层次结构,与传统上使用 C 语言直接访问 Windows API 相反,MFC已经包含和压缩了所有标准的“样板文件”代码,这些代码是所有用C编写的 Windows 程序所必需的,因此用 MFC 编写的程序要比用C 语言编写的程序小得多,当然MFC 所编写的程序的性能也毫无损失。必要时,也可以MFC可以用面向对象的方法来调用Windows API,因为 MFC 不修改也不隐藏 Windows 程序的基本结构。MFC 是很庞大的。例如,版本4.0 中包含了大约200个不同的类。事实上,你可能只需要使用其中的十多个不同的类,就可以建立一个非常漂亮的程序。Win32 SDK函数支持进行多线程的程序设计,并提供了操作系统原理中的各种同步、互斥和临界区等操作。Visual C+ 6.0中,使用MFC类库也实现了多线程的程序设计,使得多线程编程更加方便。CWinThread对象代表在一个应用程序内运行的线程。运行的主线程通常由CWinApp 的派生类提供;CWinApp由CWinThread派生。另外,CWinThread对象允许给定的应用程序拥有多个线程。CWinThread支持两种线程类型:工作者线程和用户界面线程。工作者线程没有收发消息的功能:例如,在电子表格应用程序中进行后台计算的线程。用户界面线程具有收发消息的功能,并处理从系统收到的消息。CWinApp及其派生类是用户界面线程的例子。其它用户界面线程也可由CWinThread 直接派生。CWinThread类的对象存在于线程的生存期。要使代码和MFC是完全线程安全的,CWinThread类是完全必要的。框架使用的用来维护与线程相关的信息的线程局部数据由CWinThread 对象管理。由于依赖CWinThread来处理线程局部数据,任何使用MFC 的线程必须由MFC创建。例如,由运行时函数_beginthreadex创建的线程不能使用任何MFC API。为了创建一个线程,调用AfxBeginThread函数。根据需要工作者线程还是用户界面线程,有两种调用AfxBeginThread 的格式。如果需要用户界面线程,则将指向CWinThread派生类的CRuntimeClass的指针传递给AfxBeginThread。如果需要创建工作者线程,则将指向控制函数的指针和控制函数的参数传递给AfxBeginThread。对于工作者线程和用户界面线程,可以指定可选的参数来修改优先级,堆栈大小,创建标志和安全属性。AfxBeginThread线程将返回指向新的CWinThread对象的指针。与调用AfxBeginThread相反,可以构造一个CWinThread派生类的对象,然后调用CreateThread。如果需要在连续创建和终止线程的执行之间重复使用CWinThread对象,这种两步构造方法非常有用。创建线程也可以使用API函数:CreateThread函数完成。其它还有挂起线程、结束线程等函数,将不再一一详解。2.5 Access数据库Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 Access是一种关系型数据库管理系统,其主要特点如下:(1)存储方式单一 : Access管理的对象有表、查询、窗体、报表、页。宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件中,便于用户的操作和管理。(2)面向对象: Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。 (3)界面友好、易操作 Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 (4)集成环境、处理多种数据信息 Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。 (5)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。2.6 C/S模式和B/S模式Client/Server结构(C/S结构)8是大家熟知的客户机和服务器结构(如图2.3所示)。通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构。C/S结构软件分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。C/S结构的优点是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。图2.3 C/S系统架构图B/S结构(Browser/Server结构)即浏览器和服务器结构,它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构(如图2.4所示)。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。在B/S结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理。这种结构更成为当今应用软件的首选体系结构。图2.4 B/S系统结构图由于本系统主要针对局域网使用,所以应该使用C/S结构作为开发的主体架构。C/S结构的优点是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。2.7本章小结本章主要对系统的相关技术进行了介绍。首先是Windows Sockets及VC+开发工具,是本系统得以设计开发的前提条件;接着介绍了TCP/IP协议;然后介绍了系统所使用的MFC框架和Access数据库;最后介绍了设计开发本系统的C/S(客户机/服务器)模式。东北大学本科毕业设计(论文) 第3章 需求分析第3章 需求分析需求分析是软件开发流程中重要的一个环节,需求分析的基本任务是根据用户的需求,准确定义要完成的系统的目标,回答系统必须“做什么”的问题。它的主要用途是明确系统需求,是用户和开发人员之间进行讨论的基础,并作为系统设计、实现以及测试的依据。只有准确全面的需求获取与分析才能保证系统设计、系统实现的顺利进行,为后期测试提供必要的支持。 3.1 系统实现目标(1)客户端程序启动之后就能看到当前哪些机器在线,哪些可以与之进行对等通信。(2)一旦有某个网内的机器上线了,要有即时通知,并能及时更新用户界面中的用户列表。(3)聊天界面要人性化,下面是发送框,上面有已有聊天记录,并借助滚动条看到当次所有的聊天记录。(4)服务器端可以对所有客户端进行监控。(5)实现文件传输的功能。(6)双击列表可以跳出对话框与在线成员进行聊天。首先,程序的稳定性要得到保证,能够应付各种突发状况,比如网络通信没有连接,用户下线等。对任何突发事件都要有相应的提示,尽量做到人性化。其次,程序要有良好的容错性,当用户进行非法操作时或者系统本身出现问题时要能以最好的方式退出程序,避免发生程序假死现象。再次,开发文档要有好的易理解性,如果系统又要交由别人接手开发,或者自己由于种种原因需要进行二次开发,那么要保证以后能够清晰的理解整个系统的设计思路以及实现细节。最后,要求程序对所运行之系统的硬件条件要求尽可能低,运行时内存占用尽可能小,响应速度要尽可能快。并且不发生内存泄漏之类影响系统运行的错误事件。并且要求易于维护及扩展。所以应该采用模块化开发,各个模块之间不要有太多的联系,以免维护困难。3.2 功能性需求描述客户端在连接服务端之后,用户可以根据需要进行不同操作,系统的客户端功能主要包括:用户注册、用户登录、用户信息查看、个人信息修改、查看在线人员、消息传送、文件传输以及窗口抖动发送等。系统的服务器端功能包括:服务启动停止、用户信息管理和数据消息传送。未注册用户可以进行用户注册。已注册用户登录后可以进行聊天、文件传输、查看用户信息以及修改个人信息等功能,如图3.1所示: 图3.1局域网聊天系统用例图3.2.1 用户注册用例1 参与者:系统用户简要说明:用户通过填写用户资料进行注册。基本事件流:(1) 用户输入注册信息,包括昵称、密码、年龄、性别、地区。(2) 系统检查注册信息是否有效。(3) 若注册信息有效,服务器才根据数据库中的信息提供新的用户一个用户号码,用户通过号码和个人密码进行后续的登陆操作。3.2.2 用户登录用例2参与者:系统用户简要说明:用户通过填写用户名和密码登录局域网聊天系统。基本事件流:(1) 用户输入登录信息,包括用户名、密码。(2) 系统检查登录信息是否有效 。(3) 若登录信息有效,进行信息的交流和其他操作。3.2.3 消息传送(客户端)用例3 参与者:系统用户简要说明:用户之间的通讯信息的传送。基本事件流:(1)用户A在列表中双击选择用户B。(2)在弹出的对话框中输入通讯内容,点击发送。(3)服务器将通讯内容转发到B。3.2.4 文件传输用例4 参与者:系统用户简要说明:用户之间的文件的传送。基本事件流:(1)用户A在列表中双击选择用户B。(2)在对话框中点击发送文件。(3)选择要传送的文件。(4)B用户对话框中提示接收,并保存。(5)服务器将文件转发到B。3.2.5 用户信息查看用例5 参与者:系统用户简要说明:提供查看好友信息的功能。基本事件流:(1)用户A选择要查看的用户B。(2)客户端向服务器发送查看该好友信息的请求。(3)服务器操作数据库提取相关信息然后传送给客户端。(4)客户端接收到好友信息后进行显示。3.2.6 个人信息修改用例6参与者:系统用户简要说明:提供个人信息的修改功能。基本事件流:(1)用户需要修改自己的某个资料。(2)户将修改好的信息传送给服务器。(3)服务器根据相关信息进行数据库的修改将该用户的资料更新。3.2.7 查看在线成员用例7参与者:系统用户简要说明:用户可以查看当前在线的所有用户昵称。基本事件流:(1)用户登录成功。(2)直接显示出在线成员列表。3.2.8 窗口抖动发送用例8参与者:系统用户简要说明:发送一个窗口抖动给正在聊天的用户。基本事件流:(1)用户在对话框中点击发送抖动按钮。(2)服务器发送命令到对方客户端。(3)对方客户端响应命令,对话框进行抖动。3.2.9 启动停止服务用例9参与者:系统用户简要说明:用于服务器端的服务开启或者停止。基本事件流:(1)用户在对话框中点击启动服务按钮。(2)服务器端各项功能启动,等待客户端连接。(3)在对话框中点击停止按钮。(4)服务器端停止服务并退出。3.2.10 用户信息管理用例10参与者:系统用户简要说明:对涉及用户信息的操作进行管理。基本事件流:(1)用户按需求选择用户注册、用户登录、用户信息查询、个人信息修改等功能。(2)服务器端收到请求,连接数据库。(3)完成对数据的操作。(4)保存并关闭。3.2.11 数据消息传送(服务器端)用例11参与者:系统用户简要说明:用于客户端之间的消息发送、文件的传输。基本事件流:(1)用户需要发送消息、传输文件。(2)通过服务器端将客户端之间连接。(3)客户端之间进行消息发送、文件传输。(4)服务器端断开客户端之间的连接。3.3 本章小结本章通过用例分析的方式获取和分析了系统的功能性需求,从而对系统的整体需求有了完整的了解。东北大学本科毕业设计(论文) 第4章 系统总体设计第4章 系统总体设计系统总体设计是对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。系统总体设计的主要任务是把需求分析得到的模型转换为软件结构和数据结构。本章将系统的设计思想和基本结构进行总体说明,对功能进行总体介绍,并对每个功能模块的使用和处理进行描述。4.1 系统体系结构设计客户端用户登录用户注册用户信息查询个人信息修改消息发送文件传输窗口抖动发送查看在线成员图4.1 客户端功能模块图启动停止服务用户信息管理数据消息传送服务端图4.2 服务端功能模块图本设计采用模块化原理9,10,可以使软件结构清晰,容易设计而且易于阅读和理解,并且模块化使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论