1. 研究目的与意义
即时通讯(instant messaging,简称im)是一个终端服务,允许两人或多人使用网路即时的传递文字讯息、档案、语音与视频交流。
即时通讯按使用用途分为企业即时通讯和网站即时通讯,根据装载的对象又可分为手机即时通讯和pc即时通讯,手机即时通讯代表是短信,网站、视频即时通讯如:米聊、yy语音、qq、msn、百度hi、新浪uc、阿里旺旺、网易泡泡、网易cc、盛大et、移动飞信、企业飞信等应用形式。
即时通讯除了能加强网络之间的信息沟通外,最主要的是可以将网站信息与聊天用户直接联紧在一起。
2. 国内外研究现状分析
国外即时通讯的发展史 即时通讯是一个终端连网一个即时通讯网路的服务。
即时通讯不同於e-mail在於它的交谈是即时的。
大部分的即时通讯服务提供了presence awareness的特性──显示联络人名单,联络人是否在缐上与能否与联络人交谈。
3. 研究的基本内容与计划
内容: (1)在MFC(vc )环境下实现基本聊天功能 本软件包括服务器软件和客户端软件,整个软件开发过程包括以下环节: 系统分析、通信协议设计、结构设计、套接字的设计过程、服务器及客户端软件设计。软件实现客户机与服务器相互通信功能。使用网络通信的经典模式c/s结构。 (2)关于c/s结构 1、C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合并分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。 2、采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。 3、C/S结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S结构的软件需要开发不同版本的客户端软件。4、C/S系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。 5、C/S 模式的优点: A、响应速度快。 B、软件功能设计个性化,具有直观、简单、方便的特点,可以满足客户个性化的功能要求。 C、C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。 6、C/S 模式的缺点:A、需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置 B、兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序 C、开发成本较高,需要具有一定专业水准的技术人员才能完成。 (3)通信信息在服务器和客户端是如何传送的FTP使用TCP可靠传输,按C/S模式工作。一个FTP服务器进程可同时为多个客户进程提供服务。服务器进程主要分为两大部分:一个主进程,负责接受新的客户请求并启动相应的从属进程;若干从属进程,负责处理 具体的客户请求。 工作过程: 1、在服务器端首先启动FTP主进程; 2、客户端在命令提示符下输入 ftp 服务器名 并按回车;准备接收其他客户的请求。 3、服务器主进程接收到客户请求,启动从属的控制进程与客户端建立控制连接,并将响应信息传送给客户端。 4、服务器主进程回到等待状态,继续 5、客户端输入账号、口令、及文件读取命令后,通过控制连接传送到服务器端的控制进程; 6、服务器控制进程创建数据传送进程,并通过端口20与客户端建立数据传输连接 ; 7、客户端通过建立的控制连接传送交互命令,通过数据连接接收服务器传来的文件数据; 8、传输结束,服务器端释放数据连接,数据传输进程自动终止; 9、客户端输入退出命令,释放控制连接 ; 10、服务器端控制进程自动终止。至此整个FTP会话过程结束(4)如何设计软件结构与软件结构图 1、软件结构问题 (1)软件结构是软件模块之间关系的表示,它决定了整个系统的结构,也确定了系统的质量。模块之间的关系可有多种,但都可以归结为层次关系。(软件结构表示软件系统的构成,是软件模块间关系的表示) (2)模块化是将系统划分为若干个模块,每个模块完成一个子功能。模块化的目的是将系统分而治之,因此能够降低问题的复杂性,使软件结构清晰,易阅读、易理解,易于测试和调试,因而也有助于提高软件的可靠性。(模块是程序对象有名字的集合,例如:过程、函数、子程序、宏等。模块是构成软件系统结构的基本元素。) (3)软件的层次结构:软件结构图表示软件的系统结构,它是软件模块间关系的表示,软件之间可以有各种关系。 (4)由模块连接而得到的软件结构最普通的形式有树状结构和网状结构 2、关于软件结构图 (1)软件结构图是总体设计阶段的主要描述工具,它描述了构成系统的基本元素 模块及模块之间的调用关系,模块之间的数据传递关系 (2)结构图的主要构成有: A、模块(Module):用矩形框表示,框中写有模块的名字,说明模块的功能。模块是程序对象有名字的集合。例如:过程、函数、子程序、宏等。模块及模块调用如图b: B、调用:从一个模块指向另一个模块的箭头表示前一模块对后一模块的调用,一般是上层调用下层。 C、数据:调用箭头边上的小箭头表示调用时从一个模块传送给另一模块的数据。通常在短箭头附近应注有信息的名字 3、模块的独立性问题:是影响软件系统质量的另一个关键问题 A、模块化方法已经为所有工程领域所接受。模块化的基本思想是分而治之,其主要优点是,模块化设计降低了软件系统的复杂性,使得系统容易修改,同时使得系统各个部分可以并行开发,从而提高了软件的生产率。 B、提高模块质量在于提高模块独立性。模块独立性的准则用耦合性和内聚性来衡量。 耦合性: 用于描述模块之间联系的紧密程度。 按照耦合性的高低,分为以下几种类型的模块:内容耦合,公共耦合,控制耦合,复合耦合,数据耦合(耦合性由高到低), 内聚性: 用于描述模块内部联系的紧密程度。块内联系的类型分为六类:偶然型,逻辑型,瞬时型,通讯型,顺序型,功能型(内聚性有弱至强) 4、信息隐蔽性问题 由Parnas 方法提倡的信息隐蔽是指,每个模块的实现细节对于其它模块来说是隐蔽的,也就是说,模块中所包含的信息(数据和过程)不允许其它不需要这些信息的模块使用。 该原则有利于提高模块的内聚性。由于一个软件系统在整个软件生存期内要经过多次修改,在划分模块时要采取措施,使得大多数过程和数据对软件的其它部分是隐蔽的,这样,在将来修改软件时,可将偶然引入的错误所造成的影响限制在一个局部范围之内,不致于波及到软件的其它部分。 5、类图问题 类图显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性信息。 类图由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。 每个类结构都应该有自己的类图。在画类图的时候应注意以下问题:A、最重要的类和其它类之间的关系 B、功能上相关或一致的类 C、属于同一个包的类 D、重要的聚合关系分层结构 E、实体对象的重要结构,包括具有关联关系、聚合关系和泛化关系的类结构 F、包和它们的依赖关系,也可能对它们的层次进行说明 G、参与特定用例实现的类 H、单个类、其属性、操作以及和其他类的关系。
完成计划安排:研究步骤如下: 一、第一阶段:网络通信开发以及通信协议的设计,熟悉VC 和MSDN使用,开题报告(第1~3周)。 (在此阶段主要是收集资料,熟悉网络通信方面的基础知识,熟悉计算机网络的通信协议;熟悉VC的环境,知道其一般的操作,特别是各个控件的使用,在本实验中特别要注意MFC应用框架的创建和编辑)二、第二阶段:开始系统的整体设计,结构规划(第4~6周)。 (在此阶段弄清楚软件的各种需求,较好的解决所开发的软件做什么的问题;对软件系统的结构、数据结构、用户界面等进行设计)三、第三阶段:实现代码,调试(第7~14周)。 (在此阶段主要是诊断程序的错误性质、出错位置并加以改正。对软件的各个模块进行调试,解决5个方面的问题:模块接口、局部数据结构、边界条件、重要路径和错误处理。最后对整体软件的功能进行测试)四、第四阶段:完成毕业论文(第15~16周) (掌握所做软件的各个模块的功能及整体功能,准备答辩) 关键技术 1、网络通信软件技术 2、基于网络的协作化设计思维工具的通讯模型的构建 3、网络通信软件的可视化表示与分析 4、网络通信模型的构建 5、网络通信反应信息的自动采集与处理
4. 研究创新点
1, 在完成即时通讯的基本功能后,会进一步考虑是否能不单单只通讯文本文字,还可以通过链接形式发送电脑本地自带的图片,音乐,视频等文件信息.2,即时的更新当天天气情况和一些有趣的新闻3,探求离线发送的方法,是的有一方不在线的情况的下也可是实时的将自己的信息发送出去
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。