当前位置:文档之家› 即时通讯系统的设计与实现毕业设计论文

即时通讯系统的设计与实现毕业设计论文

即时通讯系统的设计与实现毕业设计论文
即时通讯系统的设计与实现毕业设计论文

毕业论文声明

本人郑重声明:

1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。

2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。

3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。

4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。

学位论文作者(签名):

年月

关于毕业论文使用授权的声明

本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据

库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。

论文作者签名:日期:

指导教师签名:日期:

毕业论文

论文题目:即时通讯系统的设计与实现

开题报告

论文题目:

姓名:_____________ 学号:________________ 学院:___________________ 开题报告正文应包含以下几方面的内容:

1.1 论文选题的目的和意义

近年来,随着Internet的飞速发展,计算机网络得到了越来越广泛的应用,并且已经逐步走进千家万户。自迈入信息时代以来,距离已经不再是人们之间联络沟通的障碍,也正因为如此,人们对沟通交流的需求和依赖也越来越强烈,各行各业对信息交流的要求也越来越高。如今,通过各种即时通信软件,人们已经可以在足不出户的情况下,与远距离甚至世界各地的人进行实时的聊天交流,这样的交流不仅满足了人们对交流沟通的需求,同时也给人与人之间的交流带来了极大的便捷和大量的经济节省。因此,即时通信(Instant Messaging)在人们的生活工作和学习中得到了更广泛的应用。

目前,已经有不少即时通信软件在社会公众中流行,像MSN,腾讯QQ,新浪UC等,都是国内人们所熟知的知名流行即时通信软件,其技术方面也都处于国际领先水平。同时,由于即时通信软件的便利,其应用已经由最初的简单的聊天交友得到了巨大的拓展。适应各种场合的各式即时通信软件也开始出现在软件市场上,这就包括了一些与企业管理相关的即时通信软件,一个具有企业自己特色的集信息管理和即时通信为一体的内部应用软件,能够使一个企业或者团队更像一个整体,同时也能够给企业的管理和信息交流带来极大的便利,在一定程度上提高工作效率。

同样的,对于软件设计与开发的行业来说,过去的那种仅适用于PC机上的应用程序的开发已经远远不能满足市场的多样化的需求,网络程序的广泛应用和广大需求使学习与掌握与网络相关的编程技术显得尤为重要。

本论文将结合一个具体的局域网即时通信系统的开发编写,以现有的各种技术,介绍讲解网络IM软件开发中的重要知识,并讨论其中关键环节的技术问题和各种解决方案和设计策略

1.2 相关技术知识简介

1.2.1 基于SOCKET的网络编程

SOCKET在英文中的意思是插座,在网络编程中,其实际意义可以理解为网络通信连接的插座,通常称之为套接字。如果将网络连接的各终端类比为电话,则SOCKET即相当于电话线插座,为各终端提供或者创建与其他终端通信连接的桥梁或通道。所有的终端都必须接通此“插座”来完成与其他终端的连接或通信,否则,它将独立于网络之外。

由此可以知道知道,SOCKET是终端间建立连接的核心对象。那么,对于一个SOCKET对象,它到底具备什么样的功能呢?

通常,用WINSOCK库来创建和使用SOCKET,运用WINSOCK库的基本API,就可以实现简单的数据输入和输出(即发送数据和接受数据)。在创建一个SOCKET对象后,通过指定IP地址来确定该SOCKET与哪台机器发生交流,通过指定机器端口号(一般为1024以上)确定与该机器上哪个应用程序进行交流。在确定了交流对象后,便可以使用SOCKET与对象机器上的应用程序进行数据的传输和信息的交流。在面向连接的网络通信中,还必须使用SOCKET进行连接的监听和创建,只有创建了稳定的连接后,才开始进行数据的传输。

由于交互方式的不同,SOCKET也分为两种,一种是无连接的数据报形式的,一种则是面向连接的流式套接字,这也是接下来两小节要阐述的内容。

1.2.2 UDP协议与TCP协议的简单介绍

UDP协议是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系。UDP不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地,其过程可以比做投递信件,它只关心信件确实投放到信箱,至于对方是否正确、按时收到信件,UDP并不关心。

尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP 完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁并与之开始对话。

1.2.3 WINSOCK 套接字API 调用的简单流程

本论文所要讨论的即时通信系统则是通过WINSOCK 库的应用来设计和实现基于TCP 的C/S 结构的网络即时通信程序。这里,用图的方式简单的表示出对WINSOCK 库提供的API 函数调用过程。

面向连接的流方式调用过程如图1-1所示。

图1-1 面向连接的流式通信过程

面向无连接的数据报方式的调用过程如图1-2所示

图1-2 面向无连接的数据报过程

从图中可以看出,面向连接的流方式更能适应C/S 结构系统的非对称结构的实现。

SERVER 端

1.3 论文的主要工作与章节安排

本论文旨在设计一个面向企业内部的功能实用、性能良好的即时通信系统,并对其中关键模块做详细的分析和实现的说明。在系统的设计和实现中,要突出系统的模块化,各模块间相对独立,通过模块间的接口交互工作,使整个系统层次、模块清晰。在数据传输方面,要注意数据的封装,使数据尽可能结构化,保持良好的一致性。

根据上述要求,论文中详细阐述了系统的设计方案和关键模块的的实现方法,主要工作如下:

(1)在确定系统结构后,根据系统相关需求妄称对系统功能的设计和分析,并对应系统功能做出用户信息数据的设计,详细说明数据库表项的设计。

(2)对CLIENT与SERVER端的通信协议做详细的设计,并对协议数据包的结构的定义做出详细的阐释。

(3)对系统中网络传输模块的设计做详细的说明,阐述网络传输模块在系统中的工作流程以及该模块的实现方案。

(4)结合系统整体结构,说明系统在功能实现上的逻辑处理过程(选择最主要的功能如登陆认证和聊天消息收发),并展示系统部分功能实现后的运行结果。

按照上述的工作内容叙述,本论文共分5章来分别阐述有关问题,各章节安排如下:

第一章介绍论文背景、项目的意义、项目相关技术知识以及论文主要工作。

第二章对系统结构的分析做简单的介绍,针对系统的定性对其功能做详细的设计和分析,并设计出与系统功能相关的数据信息内容。

第三章详细介绍C/S系统中CLIENT与SERVER端之间的通信协议,并说明在系统实现过程中,该数据包结构以及部分协议内容定义。

第四章设计并分析系统中的核心模块——网络传输管理模块,对模块中重点对象的设计做详细的说明,并介绍该模块的实现策略,以及其在系统中的工作流程。

第五章介绍系统整体的结构模型,包含系统中各个模块中的对象,说明系统实现关键功能即登陆认证、聊天消息收发等的逻辑处理流程。并展示系统运行过程中的部分截图。

2 系统的结构与功能设计

2.1 系统结构的选择和设计

2.1.1 系统通讯模式的选择

在前面,已经分别介绍了基于UDP和TCP的两种即时通信系统的基本模式。在两者相比之下,由于TCP协议能够很好的提供数据传输的可靠性,并在面向连接的环境下提供更丰富的网络通信服务。而且,在面向连接的环境下,更有利于对网络应用终端的实时管理,为使用客户提供更加便捷可靠的网络服务。所以,在网络通信模式上,倾向于基于TCP的面向连接的流式通讯模式。

2.1.2 集中式与分布式系统概述

在目前的网络通信系统中,对于连接节点的管理有集中式和分布式两种管理模式。

对于集中式的管理模式,系统的数据存储和管理以及各功能在网络连接上的对应操作,都集中在网络管理节点上进行处理和实现,即由单一服务器来完成网络数据的集中管理。集中式网络管理模式最大的优点就是便于集中管理各端连接,易于实现,维护工作较为简单。但是,由于管理信息全部集中汇总到管理节点上,这就使得在通信高峰期会造成信息流拥挤,这对管理节点处的机器处理效率有很高的要求。另外,由于所有的信息管理都依靠于一台服务器,当管理节点发生故障时,整个网络系统都将停止工作。

分布式管理模式,则是将网络管理客户机与一组服务器进行交互作用,由多个服务终端来共同协作完成对网络信息的管理。由于有多个服务端协同工作,集中式容易造成信息流拥挤、服务器负荷太大的问题可以得到很好的解决。同时,在多服务器的环境下,服务端之间的分工设计可以由设计人员灵活设计,系统的可伸缩性,扩展性也较为良好。一般来说,采用的较多的则是多层管理或者服务器集群等技术方式。

2.1.3 系统的结构设计

本论文所要讨论的系统是一个供中小型企业内部使用的带有简单人事管理功能的局域网即时通信系统,由于要存储并管理用户相关信息的数据,同时要限制普通用户对数据信息的管理权限,比较合适的设计是采用C/S模式的系统架构,数据由数据库进行存储,由服务器对数据库进行直接操作,而客户端则通过

对服务器发出请求得到相应的数据或者告知服务器对数据库进行何种操作。为了确保数据正确可靠地传输,系统采用面向连接的TCP协议作为数据传输模式。

通过上一小节对集中式网络管理和分布式网络管理的简单介绍,已经对两种管理模式有了初步的了解,可以看出,在对于功能繁琐多样,客户终端数量庞大的系统,分布式系统能够很好的减轻单个服务器的负载,以提高服务器管理网络连接的效率,为用户提供稳定而流畅的网络服务。而对于本系统,由于定性为面向中小型企业,且是基于局域网内部的小型即时通信服务系统,其同时连接的客户终端本身极其有限,另外,本系统的功能也是集中针对于用户信息的管理和简单的实时通信交流,在这样的情况下,选择分布式系统则显得有些大材小用,并可能会造成开发成本上的浪费,而选择集中式管理模式则更有利于集中管理和系统的简化,同时,单一服务器的结构也相对于多服务器的结构更容易进行维护工作。

综上所述,本论文要论述的系统系统将使用基于TCP的集中式管理的C/S 结构模型。在这个结构中,所有的数据信息都将由一个服务器程序进行统一的管理,对数据信息内容的各种相关操作也只能由服务器程序直接进行完成。客户端要获得数据信息或完成某操作,必须通过服务器的验证,正确建立连接后,向服务器发送请求,服务器则根据客户端的请求代劳完成对数据信息的相应操作并向客户端回馈数据信息。图2-1表示了系统大大体层次和结构模型。

图2-1 基于TCP的集中式C/S系统结构

2.2 系统功能设计

本系统的使用对象为中小型企业,拟订要完成的主要功能为实时聊天会话功能,以及与之伴随的用户信息管理,并包括网络即时通信的相关通行功能。在扩

展方面还应当加入固定群组会话与临时会话组等功能,进阶功能还包括文件传输,语音、视频对话等高阶功能。

2.2.1 系统网络连接功能设计

对于一个网络即时通信系统而言,由于本系统采用基于TCP的集中式C/S 结构,必须具备一些与网络连接相关的通用功能,无论系统的最终用途是什么,这些功能都是必不可少的,其中包括:

(1)客户端登陆验证功能

此功能用于用户使用客户端于服务器建立稳定连接,成功登陆是用户使用系统的先行条件。客户端在连接上服务器后最先要做的就是将用户输入的ID和密码发送给服务器,服务器将收到的ID和密码与数据库中内容进行对比,符合则通过验证继续维持该连接,否则将返回错误信息并断开此连接。

(2)心跳功能

客户端应该在一定时间间隔内向服务器发送心跳信息,以告知服务器该客户端连接的活动状态,以便于服务器管理客户连接,如果超过时间间隔,服务器未收到某连接上的客户端的心跳信息,则自动认为该客户端网络异常或已经掉线,断开与其之间的连接。

(3)客户登出

与登陆功能对应,客户可以主动断开与服务器之间的连接。这里需要注意的是,直接关闭客户端并不一定能够保证连接安全断开,未断开连接直接关闭可能会造成网络异常。

2.2.2 用户信息相关功能设计

由于在该系统中,包含着很多于用户相关的数据信息,这些信息存放在服务器数据库中,并且用户会经常对这些信息进行即时查看或者修改更新,所以,与此相关的功能也是本系统中必须具备的基本功能,主要分为以下几个功能:(1)部门信息查看和管理

在当今很多分工管理的中小型企业中,一个部门就是一个整体,部门之间往往都有着明确的分工,部门人员配置、职能也都各不相同,系统提供用户这样的功能能够使用户更便捷管理和了解企业中各个部门。

(2)员工信息查看和管理

与部门信息相比,作为一个即时通信系统,用户信息的查看和管理自然是必不可少的,用户可以通过此功能来查看自己或他人的详细信息,对自己的信息也可以做任意修改,我相信,任何一个即时通信系统都不会缺少这个功能。

(3)人事调动管理功能

这个功能可以说是本系统相对于其他即时通信软件来说所特有的。由于有了此功能的设计,本系统中规定所有用户的注册工作全部由具有人事管理权限的用户通过此功能加入,同时,除个人详细信息外,所有用户与客户企业相关的信息也全部由有一定权限的用户来通过此功能设定或者修改。这样一来,此功能的加入使得该系统更具有针对性、专业性,为客户企业提供一个完善的管理交流平台,与平时常见的个人聊天软件有着本质上的区别。

2.2.3 传输交流相关功能设计

作为一款即时通信系统,正常的聊天交流功能当然是重中之重,在本系统中,此方面的功能基本上也都是传承了当今流行的即时通信软件的一些流行功能,简要介绍如下:

(1)文字消息传输功能

本功能是即时通信中最简单的传输功能,也是最主要最常用的功能之一。同时,本系统中,此功能除了包含通常的个人聊天外,还包含临时会话即会议聊天,以及固定群组聊天信息,甚至邮件消息等。传输的主要内容也都是文字、字符信息。这个功能也是开发第一阶段里所用功能中最先进行开发和使用的。

(2)表情功能

此功能是模仿当今社会上所流行的多种即时通信软件,在文字消息的基础上添加默认表情的功能,而且通过字符转义来完成,这样就可以直接在文本消息的传输的基础上同时做到表情的显示。

(3)文件传输功能

由于现在不少企业单位都开始用计算机做为必备的办公工具,各种各样的文件大多数都是以电子文档的形式存放在工作计算机里,此功能的加入无疑给使用客户提供了便捷的文件传阅途径。在该功能的支持下,各个客户终端间可以向对方发送本地机器中的任何格式的文件。为企业中电子文件的传阅省时省力,提高工作效率。

(4)高级功能即扩展功能

该部分主要包括了邮件收发,文件上传,以及多媒体实时传输(其中包括实时语音或视频聊天等)。由于此功能对技术要求稍高,同时需要扩展服务器数据库容量,在中小型企业中需求也并不是那么明显,将作为第二期项目功能扩展进行实现,本论文中将不会提到这部分的设计和实现。

2.3 数据信息及数据库设计

在该系统中,需要在服务器中存储的数据信息主要包括员工信息和部门信息两个方面,在员工信息方面,又包含个人信息和工作相关信息两个方面,其中,个人信息是用户可以在获得登陆帐号后自行修改的,而工作相关信息只能由具有人事管理权限的用户通过人事管理功能来进行修改。下面将结合本系统的数据库设计,介绍系统中包含的主要用户信息数据。

图2-2 系统数据库E-R关系图

上面图2-2所示即为系统中用户信息数据的E-R关系图,接下来将以此E-R 图来进行数据表的设计,按照数据表来创建系统服务器数据库数据。以下便是针对上述E-R建立的数据表(表中属性名后带*表示该项为外键):(1)员工信息表如表2-1所示

表2-1 员工信息表

(2)权限查询表如表2-2所示

表2-2 权限查询表

(3)部门信息表如表2-3所示

表2-3 部门信息表

(4)员工—部门关系表如表2-4所示

表2-4 员工-部门关系表

(5)群组信息表如表2-5所示

表2-5 群组信息表

(6)员工—群组关系表如表2-6所示

表2-6 员工-群组关系表

2.4 本章小结

在本章中,介绍了系统整体结构的大致模型,并结合系统所针对的用户做了功能上的分析。通过对当今较为流行的系统模型的比较,在结构上,采用了基于TCP协议的集中式C/S模式,并对其进行了较为详细的描述。同时,根据系统的使用用户以及需求,设计出了一与寻常的IM系统相比更具有特色具有针对性、专业化的功能。在功能设计的同时,依据实现功能所需要的信息,构造了系统的数据库模型以及用户的数据库信息。为整个系统的性质和功能做了整体的概括和描述。在接下来的章节中,将围绕如何实现这些系统功能进行系统的设计和实现方案的描述。

3 IM Client与IM Server之间的通讯协议

3.1 数据收发方式与数据结构的设计和定义

3.1.1 数据收发方式的设计

在IM中,所有功能的实现必须依靠客户端与服务端之间的数据通信来完成。在此,需要定义一个协议,让客户端与服务端之间按照定义的协议来进行数据通信,而不是杂乱无章的任意的数据收发。

首先,按照一般惯例,将要发送的数据做成数据包的形式来进行传输,并且分为请求包和应答包。所有的操作都首先由客户终端发送请求包给server端,server对终端的请求进行相应的处理(可能访问数据库)后将结果作为应答包的一部分返回给客户终端,终端通过解析应答包来得到IM server的回应并继续执行相应操作。在进行通讯及运行任何其他的command之前需要进行连接认证。

所有的操作都有“请求——应答”的模式来进行,其过程如图3-1所示。

图3-1 请求应答顺序图

3.1.2 通信协议数据包结构定义

由于需要进行传输的数据以及客户端与服务端之间的通信数据的类型是多样化的,必须将种类繁多的数据,以尽可能相同或者相似的结构进行封装,否则,多样化的信息交互和数据传输将给实现功能和代码的编写带来巨大的麻烦和极其烦琐复杂的工作。同时,数据的多样化使得各个数据包的长度将不相一致,甚

至某些数据包的长度大小将是动态可变的,而在SOCKET 网络编程中,每一次数据的接收和发送都是需要确定长度的。为此,设计出这样一种方案:将端与端之间一次要发送的数据包分离为两个部分,称为包头和包体,包头中包含有该数据包的相关属性信息,由于只是包含数据包属性而非真正的数据,所以,包头的长度可以是固定不变的。而包体中,则是真正传输的数据所在,数据接收方根据包头中提供的信息得知包体中数据内容的类型,从而针对不同类型的包体做相应的接收和解析工作。图3-2表示出了数据包的大致结构特征。

图3-2 C/S 通信协议数据包结构示意图

3.2 通信协议数据包在实现过程中的定义

3.2.1 数据包包头定义

如图3-2所示,数据包的包头如同人的大脑一般重要,其中包含着该数据包所有的相关属性,能否正确接收变长的包体,解读包中的数据,将其转化为有用的信息,都取决于包体内容的正确解析。在此,将请求包和应答包的包头统一起来,设计出一个一致可行的结构,其实现代码如下:

typedef struct data_packet { char m_nMajorType; char m_strServiceCode; char m_strOperationCode; char m_nReturnCode;

int32

m_nUseless;

数据包

内容包括:包类型(请求、应答),操作码,

返回码,发送方ID ,接收方ID ,包体长度等等

其中为相应类型的数据,请求的内容,回应的数据等等,根据数据包的作用和类型不同而不同,长度可变

int32 m_nSendID;

int32 m_nRecvID;

int32 m_nPacketLength;

}

其中,每个字段的说明如下表,表后有请求包和返回包的具体说明,如表3-1所示。

表3-1 字段说明表

每个终端请求包中:

m_MajorType字段用来区分不同的服务类型,现阶段只使用0x01作为IM的类型,将来可能会增加0x02作为:PushMail的类型。

m_strServiceCode用于区分不同的服务,如认证服务,命令服务等。

m_strOperationCode用于区分同一服务类型中不同的操作,如认证服务中包括登陆请求,断开连接两个操作。设计服务和操作有助于今后的扩展。

m_nReturnCode由应答包使用,请求包将不使用。

m_nPacketLength表示数据包体的长度,以便收取方缺定整个包的长度。

每个服务器应答包中:

m_MajorType,m_nFunctionCode,m_nSourceCode,以及m_strOperationCode

将不使用,只是将请求包的对应值复制到应答包。

m_nReturnCode,供终端判断请求是否执行成功,具体定义见下:

#define RT000 0 //operate sucessful

#define RT001 1 //deal moudle not found

#define RT002 2 //invalid terminal type

#define RT003 3 //invalid signal name

#define RT004 4 //no data

#define RT099 99 // socket error

#define RT100 100 // general error

m_nPacketLength同请求包。

服务器每次收到客户请求后,将更新用户当前状态,便于服务器判断用户在线情况。

3.2.2 数据包包体定义

包体的定义实际上则为各类通信的通信数据的定义,由于通信数据种类繁多,在本论文无法将全部定义写出,这里仅通过登陆验证和用户信息获取两个用例的协议数据包定义来阐释数据包具体的定义方式,其他操作相关的数据包包体定义与之类似。

1)用户登陆认证服务

Socket在connect后,发送认证包:m_MajorType为0x01,m_strServiceCode 为0x01,包体中存放32字节的认证码,前20字节为用户ID,后32字节为MD5后的密码,如果通过校验,则用户可以继续进行接下来的工作;否则,服务器将close掉socket。如果连接后没有发送校验包,超时也将断掉连接。下面将分别介绍在代码实现中如何定义请求包和应答包:

(1)请求包定义

其包头中的属性设置为:

m_MajorType = 0x01;

m_nServiceCode = 0x01;

m_nOperationCode = 0x01;

m_nPacketLength = 52;

包体结构的定义如下:

typedef struct data_login

{

char m_nUserName [20]; //用户名(20bytes)

char m_nPassword[32]; //密码md5值(32bytes)} DATA_LOGIN;

(2)应答包定义

应答包的包头中,除了PacketLength包体长度和ReturnCode返回码以外,其他的都与请求包相同。在应答包中,m_nPacketLength = 4,ReturnCode则用来标识认证是否通过,具体返回码可以参见2.1中的内容。

包体中则是认证后返回给客户端的对应用户的ID码,如果认证失败,返回的ID码为0,程序将关闭其SOCKET其结构定义如下:

m_nPacketLength = 4;

typedef struct data_back_login

{

uint32 m_nStaffID;

} DATA_BACK_LOGIN;

2)获取用户详细信息

客户端通过发送请求包,告知服务器要进行获取信息的操作以及需要获取何用户的信息,以ID号标识用户。此操作的MajorType为0x01,ServiceCode为0x02,OperationCode为0x28,包体长度为4,仅包含要请求的用户信息对应的ID。以下为该协议请求包和应答包结构定义的关键实现代码:

(1)请求包定义

其中,包头中关键属性设置为:

m_nMajorType = 0x01;

m_nServiceCode = 0x02;

m_nOperation = 0x28;

m_nPacketLength = 4;

包体的结构定义如下:

typedef struct data_getInfo

{

int32 m_nStaffID;

} DATA_GETINFO;

(2)应答包的定义

同其他应答请求包一样,包头中的m_nMajorType,m_nServiceCode,m_nOperation这三个标识操作类型的属性在请求包和应答包中是对应相等的。而

作为应答包,另一个重要的关键属性就是ReturnCode的值,以此来告知请求方服务端对其请求的响应结果。

此应答包包体包含内容为对应请求包包体中ID号的对应用户的全部详细信息。结构定义代码如下:

Typedef struct staff_info

{

Int32 m_nStaffID; //员工ID

Int8 m_nStaffNameLen;

Char m_nStaffName[MAX]; //员工姓名

Int8 m_nEmailLen;

Char m_nEmail[MAX]; //联系邮箱

Int8 m_nPhoneLen;

Char m_nPhone[MAX]; //手机号

Int8 m_nAddressLen;

Char m_nAddress[MAX]; //联系地址

Byte m_nSex; //性别(0男1女)

Byte m_nDateTime[8]; //加入时间(YYYYMMDD)

Byte m_nBirthday[8]; //出生年月(YYYYMMDD)

Byte m_nUserState; //用户在线状态,0表示在线1表示不在线} STAFF_INFO

3.3 本章小结

本章主要介绍了本系统在TCP模式下具体的数据传输办法,详细设计出了系统C/S结构下Client端与Server端之间进行网络传输的通信协议。并在通信协议数据包中,以三个常见的典型功能作为示例论述了协议包的设计和实现方案。

4 网络数据传输控制模块的设计与实现

4.1 异步套接字与多线程同步介绍

4.1.1 SOCKET的阻塞方式

在SOCKET网络编程中,WinSocket基本API的socket函数通常是以阻塞方式进行的,即在执行数据收发过程的时候,程序线程会在收发过程完成之前阻

毕业论文管理系统分析与设计说明

毕业论文管理系统分析与设计 班级:信息管理与信息系统 1102 指导教师:黄立明 学号: 0811110206 姓名:高萍

毕业论文管理系统 摘要 (3) 一.毕业论文管理系统的系统调研及规划 (3) 1.1 项目系统的背景分析 (3) 1.2毕业论文信息管理的基本需求 (3) 1.3 毕业论文管理信息系统的项目进程 (4) 1.4 毕业论文信息管理系统的系统分析 (4) 1.4.1系统规划任务 (4) 1.4.2系统规划原则 (4) 1.4.3采用企业系统规划法对毕业论文管理系统进行系统规划 (5) 1.4.3.1 准备工作 (5) 1.4.3.2定义企业过程 (5) 1.4.3.3定义数据类 (6) 1.4.3.4绘制UC矩阵图 (7) 二.毕业论文管理系统的可行性分析 (8) 2.1.学院毕业论文管理概况 (8) 2.1.1毕业论文管理的目标与战略 (8) 2.2拟建的信息系统 (8) 2.2.1简要说明 (8) 2.2.2对组织的意义和影响 (9) 2.3经济可行性 (9) 2.4技术可行性 (9) 2.5社会可行性分析 (9) 2.6可行性分析结果 (10) 三.毕业论文管理系统的结构化分析建模 (10) 3.1组织结构分析 (10) 3.2业务流程分析 (11) 3.3数据流程分析 (11) 四.毕业论文管理系统的系统设计 (13) 4.1毕业论文管理系统业务主要包括 (13) 4.2毕业论文管理系统功能结构图 (13) 4.3代码设计 (14) 4.4,输入输出界面设计 (15) 4.4.1输入设计 (15) 4.4.2输出设计 (15) 4.5 数据库设计 (15) 4.5.1需求分析 (15) 4.5.2数据库文件设计 (16) 4.5.2数据库概念结构设计 (17) 五.毕业论文管理系统的系统实施 (18) 5.1 开发环境 (18) 5.2 调试与测试过程 (19)

论文答辩最全问题

一、答辩委员会的老师们经常会提出的问题有: 1、你的毕业论文采用了哪些与本专业相关的研究方法? 2、论文中的核心概念是什么?用你自己的话高度概括 3、你选题的缘由是什么?研究具有何种现实指导意义? 4、论文中的核心概念怎样在你的文中体现? 5、从反面的角度去思考:如果不按照你说的那样去做 结果又会怎样? 6、论文的理论基础与主体框架存在何种关联?最主要的理论基础是什么? 7、质性研究与访谈法、定性研究、定量研究、调查研究、实证研究的区别? 8、经过你的研究 你认为结果会是怎样?有何正面或负面效果? 9、你的论文基础何种研究视角?是管理学、教育学、心理学还是社会学视角? 10、论文研究的对象是个体还是群体?是点的研究还是面的研究? 11、研究的应然、实然、使然分别是什么? 12、论文中的结论、建议或策略是否具有可行性和操作性? 13、研究对象是否具有可比性?研究框架是否符合论文规范(而不是写书的逻辑 14、自己为什么选择这个课题? 15、研究这个课题的意义和目的是什么? 16、全文的基本框架、基本结构是如何安排的? 17、全文的各部分之间逻辑关系如何? 18、在研究本课题的过程中 发现了那些不同见解?对这些不同的意见 自己是怎样逐步认识的?又是如何处理的? 19、论文虽未论及 但与其较密切相关的问题还有哪些? 20、还有哪些问题自己还没有搞清楚 在论文中论述得不够透彻? 21、写作论文时立论的主要依据是什么? 22、论文和系统有哪些不足之处? 23、论文有何创新之处? 二、答辩技巧学生首先要介绍一下论文的概要 这就是所谓"自述报告" 须强调一点的是"自述"而不是"自读" 这里重要的技巧是必须注意不能照本宣读 把报告变成了"读书" "照本宣读"是第一大忌 这一部分的内容可包括写作动机、缘由、研究方向、选题比较、研究范围、围绕这一论题的最新研究成果、自己在论文中的新见解、新的理解或新的突破 做到概括简要 言简意赅

即时通讯工具的异同

即时通讯工具的异同 不同点 腾讯QQ 腾讯是中国最早的互联网即时通信软件开发商,是中国的互联网服务及移动增值服务供应商,并一直致力于即时通信及相关增值业务的服务运营。腾讯QQ已形成为国内用户最多的个人即时通信工具,2004年腾讯QQ推出了2004Beta2新版本,在软件功能上作了较大的改进,它的发展引导着国内即时通讯软件的发展方向。 作为国内即时通讯软件的老大,QQ2004 II Beta2版本增加了多项耳目一新的功能,如魔法表情、影片截图(图14)、多人语音、网络记事本等等。 MSN MSN是微软公司开发的即时聊天工具,由于微软产品用户众多,MSN操作简单运行稳定,因此MSN的普及速度非常之快,现在已经是世界主流的聊天工具,并且功能越来越强大,最近推出了7.0版本。 喜欢写文字的朋友如果拥有MSN的.NET PassPort账号可以去申请MSN最新提供的MSN Spaces空间,让自己也成为网络博客。另外MSN7.0还增加了MSN Today的对话框,可以让用户即时看到MSN网站上提供的最新服务。 雅虎通 雅虎通(Yahoo! Messenger)是一种免费的消息服务,它允许用户与朋友、家人、同事及其他人进行即时的交流。使用即时消息可以与朋友交谈,并能发现他们何时在线。雅虎通内置了股票、新闻、和记分板等选项卡,这样不论用户在何处浏览因特网,都可以始终监视用户所有个性化信息。使用最新的雅虎通6.0版本,还可以获得1G大小的雅虎邮箱。 雅虎通推出了免费向使用6.0版本的用户提供1G邮箱的服务,并且全部免费发送手机短信,它在免费功能上打出了一张亮牌!而在功能上内置了一搜网的搜索引擎,便于用户即时查找网络资源。 TOM-Skype TOM-Skype是TOM在线和Skype Technologies- S.A.联合推出的互联网语音沟通工具。Tom-skype采用了最先进的P2P 技术,为您提供超清晰的语音通话效果,使用端对端的加密技术,保证通讯的安全可靠。您无需进行复杂的防火墙或者路由等设置,就可以顺利安装轻松上手。TOM-Skype可以免费的直接呼叫全世界的朋友的软件,服务提供商是互联网上免费的电话公司。用户只需要花几分钟时间下载软件、注册TOM-Skype账户,便可以插好耳机、麦克风、或者与TOM-Skype配套的USB电话,开始像打电话一样呼叫朋友了。TOM-Skype的功能和前面五款软件相比,聊天和多媒体功能没有那么丰富,而在它所特有的通话功能技术开发上独树一帜,具有领先的P2P技术、穿透防火墙、安全加密、跨平台使用的特点。 新浪UC 新浪UC是新一代开放式即时通讯娱乐平台,它采用自由变换场景、个性在线心情等人性化设计,配合视频电话、信息群发、文件互传、在线游戏等使用户在聊天的同时能边说、边看、边玩,从而带给用户前所未有的聊天新感觉。 新浪UC的用户则可以根据自己在线时间的长短获得免费的网络硬盘空间,最大支持120M,每天免费发送15条手机短信,并可直接用该账户享受新浪网的游戏、多媒体同学录、聊天室等服务。只要打开UC咨询通还可以即时获得最新的新闻信息,查看天气预报等。

即时通讯软件的设计与实现

即时通讯软件的设计与实现 1 系统实现模块 1.1 服务端模块 服务端主要包括三个模块: 1.网络模块,建立TCP服务器,负责监听端口,与客户端建立连接并接受和发送数据。 2.应用模块,负责处理从网络模块接收到的数据,予以分析处理,进行转发或对数据库进行操作,并返回相关信息。 3.数据层,数据层用来与数据库建立连接,应用模块必须通过数据层来进行数据库的操作。 日志记录 图4.1 系统模块图 1.2 客户端模块 用户端包块以下模块: 1.用户界面模块,此模块包括客户端的操作界面,由NetBeans编写的GUI,进行了较多的美化,采用偏向Vista的风格。 2.网络模块,此模块包括两个小模块,TCP模块用于和服务器端通讯,而UDP 模块则负责和客户端进行P2P通讯。 3.聊天模块,此模块负责在用户聊天时候,对聊天的数据进行封装,对聊天的图片也进行压缩,以适用网络传输。在接受到聊天数据之后,又会对聊天数据进行分解操作,最后生成聊天内容。 4.群组模块,此模块包括群组聊天、群组的创建、管理、更新等功能。 5.文件传输模块,此模块用于实现客户端之间的文件传输功能。 6.视频聊天模块,此模块用于实现客户端之间的视频聊天功能。 7.系统设置记录模块,此模块用于实现保存聊天记录,登录日志,以及保存系统设置信息的功能。 系统记录模块 图4.2 客户端模块图 2 数据库设计 2.1用户表设计 用户表是系统中的基础表,主要用来记录用户注册时的各种信息,此表还有一个从表userlogin表用来记录用户登录和状态信息。[12] Userinfo表

UserLogin表 用户关系表是用来保存用户之间的好友关系的数据表,查询好友列表的时候要从此表中查询与自己ID想关联的好友ID,type字段可以设置两者的关系,其中1为好友关系,0为黑名单。 其他表,如组群表,族群信息表就不在此一一列出。 3 系统模块的详细设计 此章节将叙述系统部分模块的设计方法和具体实现。 3.1 网络模块的设计实现 本系统采用TCP和UDP混合的网络通讯,客户端与服务器之间登录验证时采用TCP连接,登录之后,客户端与服务器采用UDP方式保持通讯,客户端和客户端之间采用UDP连接,如果无法直接连接,通过服务器申请UDP穿透NAT,如果失败,则消息通过服务器中转传递。

即时通讯系统的设计与实现

哈尔滨师范大学 学年论文 题目即时通讯系统的设计与实现 学生崔振伟 指导教师张飚 年级2010级 专业电子信息科学与技术 系别光电工程系 学院物理与电子工程学院 哈尔滨师范大学 2013年5月

论文提要 目前信息的准确、快速、安全的传递在社会中越来越重要。无论是国与国之间,企业与企业之间还是企业内部这间的信息交流都要变得非常重要。规模较大的企业,都会建立一套软,硬件结合的通信系统,从而保证企业信息能够及时,准确、安全地传递到目的地。 本系统为企业内部即时通讯系统,是鉴与员工之间所处地点不同,员工之间交流的重要性的情况下,针对公司不适合让员工连接外网的实际情况下设计构思出来的,该系统设计完成后可用于企业员工之间的即时通讯工作,同时本系统具有很强的可扩展性,加以适当扩充,可以适用于各个不同的公司。

即时通讯系统的设计与实现 崔振伟 摘要:伴随着社会进入信息化时代,信息的准确、快速、安全的传递在社会中越来越重要。无论是国与国之间,企业与企业之间还是企业内部这间的信息交流都要变得非常重要。建立一套软,硬件结合的通信系统,从而保证企业信息能够及时,准确、安全地传递到目的地,能有效的解决员工之通讯交流障碍的问题,并防止员工跟外部联系。 因此为了适应企业的这一需求,特开发了适应企业局部通信的局域网即时通讯系统。论文介绍了在Microsoft可视化集成开发环境Visual studio 2008下开发一个基于对话框的局域网即时通讯系统的整个过程,系统采用基于对话框的MFC应用程序框架开发前台的操作界面,采用多线程和网络技术来实现成员这间的互联。实现了局域网内用户信息的采集与显示,最小化托盘,文字聊天,语音聊天,窗口抖动,字体设置,保存聊天记录的功能。在开发过程中,严格按照软件工程的整个流程进行。经过可行性分析,需求分析,概要设计,详细设计,编码,单元测试,集成测试等阶段,最终开发出了可以在单机上运行的试用版局域网即时通讯系统。本系统的界面友好,操作简单方便加以适当的扩充完善就可正式的投入使用。 关键词:软件工程网络通信线程 一、即时通讯的意义与背景 随着二十世纪八十年代到九十年代PC机的普及与深入,互联网的到来,解决PC机之间即时通讯的需求越来越强烈,一些通讯软件也应运而生,具有代表性的如下:QQ:由深圳市腾讯计算机系统有限公司1999年2月开发的一款基于Internet的即时通信(IM)软件。由1999年的2人到现在已经发展到上亿用户了,在线人数超过一亿。是目前使用最广泛的聊天软件之一。 MSN:由微软开发的1999年7月开发的即时通讯工具,4大顶级个人即时通讯工具之一。 Google Talk:是由Google 开发的的即时通讯方式,简称Gtalk。并宣称该软件“可以让你与朋友随时随地,在世界的任何一个角落自由的通话,发送即时讯息。并于2008年7月发布了iPhone版的Google Talk和2011年4月在Android版本的Google Talk上启动语音和视频聊天功能。 AIM:是美国在线推出的即时通讯软件类似于MSN,等,在泛北美地区拥有最广泛用户数量(2009.07数据),超过排名第二和第三的Yahoo Messenger和MSN。支持iPhone,Android,iPad,MAC,Windows等平台。 国内的还有新浪UC,YY,百度hi,Lava快信等,国际上的Yahoo!Messenger等。这些软件有一个集中的特点是基于互联网并且需要服务器的支持。其工作方式如下:登陆即时通讯服务器,获取一个自动建立的以前的即时通讯对象列表,获取自已的在线状态,当好友列表的某个用户在任何时候登录上线并且想跟你进行联系时,即时系统会发一个消息提示你,然后你就可以与目标对象建立一个聊天对话通道进行各种消息如文字、语音、窗口等来

个人博客的设计与实现毕业设计(论文)任务书

毕业设计(论文)任务书 设计(论文)题目:个人博客的设计与实现 系部:计算机工程系专业:学号: 学生:指导教师(含职称):专业负责人: 1.设计(论文)的主要任务及目标 本课题的主要任务是: (1)数据库设计,经过系统分析,针对个人博客网站所要求的功能,进行数据建模。首先建立逻辑数据模型,然后建立物理数据模型。最后在数据库中建立了一系列的表。平台的实现也是围绕着数据库进行的。 (2)网站开发规范,确定了个人博客网站的框架,包括采用的页面风格和实现这个网站需要的页面。建立程序所在目录,针对要求的页面命名,(3)代码编写规范,首先确定出来系统的公共函数和公共变量等。写在公共文件中,比如数据库连接等功能模块。这样程序利于阅读和维护。 课题目标:能实现个模块的功能 1.访问者(学生)系统的主要功能: 用户的注册和登录,可实现动态拖放定制桌面等功能,可实现博客主题被搜索功能,转载,下载,评论,留言功能等(下载,转载,评论,留言需登录)。 2.博客主人(老师)系统的主要功能: 可以实现发表和删除博文,视频,图片等功能,可以上传文件,或课件。可以对访问者的留言进行回复或删除。博主还可以更改个人资料,更改密码。此外,博客主人可以对博客主页版面模块进行自由设计摆放,实现人机互动功能。博客主界面采用DIV+CSS布局使博客界面更加独具风格。 3.链接数据库设计: 可以实现用户名的注册,防止重名注册。 4.图片视频浏览功能: 此功能主要是教学视频的应用,学生可以在线观看或者下载自主学习。 5.展望功能: 实现师生在线沟通,问答,实时交流。实现访客和博主的互相关注功能。

2.设计(论文)的基本要求和内容 1.HTML语言的编写以及主要标签的使用。 2.CSS层叠样式表的语法规则,用来美化页面效果。 3.javascript脚本语言的语法规则,用来实现交互效果。 4.数据库的连接。 3.主要参考文献 [1] 马军. ASP网络编程从入门到精通[M].北京:清华大学出版社.2006. [2] 刘振岩.基于.NET的Web程序设计[M],电子工业出版社,2006. [3] 谭晶晶. 基于ASP的个人博客系统设计与实现[J].软件导刊,2013-05,第12卷第5期:82-84. [4] 李浩. PHP个人博客系统的设计与实现.科学之友[J],2012-11:143-144. [5] 徐吟晖. 基于WEB开发的视频博客的设计与实现[D/OL].复旦大学,2013-11-07. [6] 朱如龙. SQL Server数据库应用系统开发技术[M].北京机械工程出版社,2004-2-13. [7] 金雪云,汪文彬,陈文臣. https://www.doczj.com/doc/1813502034.html, 2.0简明教程[M],清华大学出版社,2009-3. [8] 金雯岚. Ajax技术在博客系统中的应用[D].大连:大连海事大学,2008-6. [9] 朱珊虹,石庆民.基于DIV+CSS的个人博客网页设计应用研究[J].新乡学院信息工程学院,2011(04). [10] 朱印宏,邓艳照,DIV+CSS网站布局从入门到精通[M],石油工业出版社.2011-1-1 [11] 吴晓艳, 陈明明.基于.NET的校园博客系统的设计与实现[J].教育技术的创新、发展与服务——第五 届教育技术国际论坛论文集(下册).2006-10-01 [12] 曾东,曾文权.Web开发技术-ASP[M].清华大学出版社,2007. 4.进度安排 注:一式4份,系部、指导教师各1份、学生2份:[毕业设计(论文)]及答辩评分表各一份

五款主流即时通讯软件分析

纵观近年来国内即时通讯软件市场,QQ在较长时间内一直因贴近国人需求而一枝独秀。与此同时,功能越来越强大的MSN Messenger其市场份额也在扩大,Yahoo Messenger也有一定的用户,而在语音通话和界面简洁方面各有特色的Google Talk和Skype,也牢牢抓住了一些网民的心。在接下来的部分中,我们将这5款IM软件进行横向评测。所有参评的软件均已更新到最新版。(Yahoo! Messenger 因8.0 beta 多次安装失败,采用了7.x系列的最新版) 图目前国内用户较常见到的五款主流即时通讯软件 ★联系人容量 Windows Live Messenger 联系人数目从75、150升级到300人,目前是600人,与QQ相当。而Yahoo Messenger在8.0中通过插件,已经可以达到1000人。Google Talk联系人数目和Gmail一样,超过5000,上限未知。Skype联系人上限未见报道,小编多方查询也未知道结果。 500-600的联系人容量对于日常使用来说已经够用,但这个数字经过长时间的积累,也会慢慢耗尽。当然,如果你是IM狂人当然另当别论了。 ★安装程序及安装后文件夹体积 对于功能,当然是强大的好;但是软件体积,还是精简些比较好。QQ和Google Talk在体积方面显然是两个极端:随着QQ功能的逐步增多,比如TM、QQ音乐、3D秀等,腾讯也想把所有的功能都打包进去,自然造成了安装程序和程序文件夹体积的增大。而Google Talk非常简洁,安装文件竟然只有1.3兆,安装后文件夹内居然只有主程序、卸载程序两个文件,可谓精简至极。 图五款IM软件的安装包及安装后体积(单位:兆) 尽管当今宽带普及,用户的硬盘空间也是越来越大,人们大可不必为这几十兆空间太伤头脑;但空间占用超过平均水平太多的IM软件无疑会令相当一批用户感到臃肿。 ★运行内存占用

即时通讯课程设计

《计算机应用系统(软件)》课程设计报告题目:即时通讯软件 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2014 年8月23 日

一、系统需求分析2 ?项目名称2 ?开发背景2 1、文档说明 3 2、实现功能3 3、功能说明3 二、系统的UML基本模型4 1、用例图4 三、数据库设计4 (1)E-R图4 (2)数据库逻辑结构5 1存储用户信息表Users详细信息 5 2存储QQ消息表Messages详细信息5 3存储QQ消息类型表MessageType详细信息5 4存储好友表Friends详细信息5 5存储好友策略表FriendshipPolicy 详细信息6 6存储血型表bloodType 详细信息6 7存储星座类型表star 详细信息6 8存储密码表SavePwd 详细信息6 三、系统运行结果(截图)6 1、登录界面:6 2、申请QQ界面6 3、忘记密码窗体7 4、主窗体:7 5、修改个人信息8 6、查找好友界面:9 7、聊天界面:9 8、设置字体10 9、有新消息提示12 10、退出 12 四、课程设计总结13 一、系统需求分析 ?项目名称 “MyQQ”聊天系统 ?开发背景 在当今信息化的时代,人们需要简捷快速的方式进行沟通。用手机交流存在费用高,

操作麻烦的问题。因此开发一个基于C/S 架构的QQ,可解决在局域网范围内与好友进行便利交流,无需任何费用。 1、文档说明 改文档描述了MyQQ的功能、数据库、以及ER图、等、让用户可以大体的了解该软件安的功能。 2、实现功能 01 注册QQ号 02 登录到主界面 03 登录后可以显示好友列表、QQ头像、未查看的消息 04 可以通过性别、年龄、QQ号查询好友,并添加好友 05 编辑个人的信息、修改密码、设置添加好友的模式 06 可以与好友进行实时聊天 07 头像列表、可以从100个头像里面选择自己喜欢的。 08、可以设置聊天字体,颜色。 3、功能说明 1、登录 显示登录界面。用户输入用户名称和口令后,提交页面。系统验证用户的登录: 若用户名称或口令不正确,系统显示登录失败消息,用户可再次登录;若用户名 称和口令正确,登录成功,系统显示一个登录后的页面,可供用户进行聊天。若 忘记密码,可找回密码。 2、注册、忘记密码 用户必须先申请QQ 号,才能登录MYQQ 系统。用户注册信息的妮称不能相同。 注册信息除包含基本资料外,还包含星座和血型,忘记密码可以找回。 3、登录后主窗体 显示好友信息,扫描未读聊天信息,同时来消息的好友头像闪烁。可添加和删除 好友,并将头像设置为小图标。 4、查找添加好友 查找好友的方法可有精确查找和模糊查找。也可通过年龄和性别进行查找。可将 查到的网友添加为好友。 个人信息管理 可以修改个人信息资料,如头像等。也可进行安全设置。如更改密码。更改完成 显示更改成功 6、聊天 可与好友进行聊天。信息即时更新。 7、头像列表 用列表的方式显示系统提供的头像。供用户选择。 8、系统消息

网上考试系统设计毕业论文

网上考试系统设计毕业论文 目录 1 前言 (1) 2 技术支持 (3) 2.1 B/S(Browser/Server)模式 (3) 2.2 https://www.doczj.com/doc/1813502034.html, (4) 2.3 IIS(Internet Information Services)简介 (9) 3 系统设计 (10) 3.1 需求分析 (10) 3.1.1 系统功能分析 (11) 3.1.2 系统性能分析 (12) 3.2 前台设计 (12) 3.2.1 界面设计目标 (12) 3.2.2 界面设计思路 (13) 3.3 后台设计 (13) 3.3.1 系统总体设计 (13) 3.3.2 子系统设计 (14) 3.3.3 公用模块设计 (23) 3.4 数据库设计 (24) 3.4.1 数据库概念设计 (24) 3.4.2 数据库物理结构设计 (27) 4 系统实现 (31) 4.1 系统网络实现 (31) 4.2 系统数据库实现 (33) 4.3 系统前台实现 (36) 4.3.1 学生子系统 (36) 4.3.2 教师子系统 (39) 4.3.3 管理员子系统 (40)

4.3.4 公共模块 (41) 4.4 系统功能实现 (46) 5 小结与展望 (51) 5.1 小结 (51) 5.2 展望 (51) 致谢 (53) 参考文献 (54)

1 前言 随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。 远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是网上考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行网上考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。 网上考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的网上考试系统可以使用户在网上学习过后及时检验自己的学习效果,以发现自己的不足,使得学习效率得到很大提高。网上考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来. 目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web 模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server ,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应

即时通讯系统的设计与实现毕业设计论文

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据 库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期:

即时通讯工具与人的自由

Vol.33No.1 Jan.2012 第33卷第1期2012年1月赤峰学院学报(汉文哲学社会科学版) Journal of Chifeng University (Soc.Sci )目前国内即时通讯工具竞争异常激烈,以腾讯、MSN 、飞信、阿里旺旺等为代表,它们拥有大批的使用者。随着使用者各种需求的增加,它们也在不断的更新各自的功能,令众多使用者对其更加信赖。 1.腾讯QQ 随着网络的发展QQ 不仅是一个即时通信工具,它已成一种文化现象,俨然也成为一种生活方式。近90%的QQ 使用者,打开电脑的第一时间就会登陆其QQ 查看每日新的留言及信息。它是国产即时通讯工具的先驱,用户量和技术水平均已相对稳定,集图文消息实时发送和接收功能为一体的IM ,还为使用者提供网络硬盘、离线文件存储、QQ 群、游戏社区、音乐中心等功能,均符合使用者的需求。 2.MSN 国外即时通讯市场中,MSN 则拥有大量的用户。而当 MSN 进入中国以后,凭借着自身的优势,以简约的界面、免 骚扰等优势很快在高端商务人群中占据了一席之地。微软技术力量的支持与服务体系是毋庸置疑的,从此方面看, MSN 应属于世界范围内最强势的即时通讯软件。 3.飞信 飞信除了具备聊天软件的基本功能以外,还实现PC 用户与手机用户之间的即时互通,在实质意义上为使用者创造了一个不受约束与限制、安全沟通与交流的通讯平台。 4.阿里旺旺 随着网络购物的兴起,阿里巴巴网同淘宝网推出了阿里旺旺商务软件,方便买卖双方的交流与沟通,其独特性是将注册用户与注册账户相互捆绑,从而保证了买卖双方最大的利益,使之成为安全、公平均有保证的交易平台。 一、即时通讯工具对人的自由的影响(一)中西方对自由观的概述 1.历史上西方的自由观 重视个性的观念是西方社会的特点,因此人们对于自由观念的追寻与探讨也从未间断。中世纪基督教文化中,自由观是同“原罪”、“救赎”这两个基本的神学教义紧密相连的。基督教的自由观摒弃了古希腊的自主性求善原则,因为 人固有的原罪,所以人不可能主动寻求善,自由应该建立在接受性的拯救概念之上,是一种受宗教信条限制的自由观。到了近代法制社会,自由被理解为自主性。既存在认识层面上意志的自由,又存在实践意义上行为的自由。霍布斯对自由的定义是在最广泛意义上不受阻碍,只要一个人能够不受外界的阻碍,按自己的意愿做自己力所能及的事,就是自由的。 在现代化技术飞速发展的今天,自由的内涵日益丰富,同时也被诸多的条例所限制,自由的行为也越加理性。伯林将自由划分为两种一是消极自由,是指一个人的行为不受外在的干预和制约,它是“免于什么”的自由;二是积极自由,是指要“成为什么”的自由。这一时期对于“自由”的探讨己不仅仅停留在理论层面,更多的是从自由行为的实际出发。 2.历史上我国的自由观念 在中国古代传统思想文化,“自由”并没有作为一个独立的问题被提出来。孔子说自己“七十而从心所欲,不逾矩”,他认为随心所欲是有要求的,自由是需要有条件限制的。从道家看来,现实生活中必然存在一定的制约,是不完全自由的,他们注重追求精神上的自由。 19世纪中叶,出现了西学东渐的局面。西方自由观念也 在此时逐渐传入中国,严复指出:“中文自由,常含放诞,态唯,无忌惮诸劣义。然此自是后起附属之话,与初义无涉。初义但云不为外物拘牵而已,无胜义亦无劣义也。”此后我国的自由观在经历了数几千年封建社会约束后,逐渐向注重个性的方向转变,追求个性自由的步伐也开始逐渐加快。 (二)即时通讯工具对人的自由的促进 即时通讯工具的核心是“沟通与交流”,如何为每位使用者提供更加完善、便捷的服务是众多研发者们最关心的问题。实际上,即时通讯工具是人类社会进步的象征,从创建到现在的迅猛发展都充分体现出人的自主和自由,当人类不断向自由世界迈进时,即时通讯工具为我们开辟了新的领域,犹如让我们在纷繁复杂的现实生活之外,寻求到一个世外桃源。它的多功能性可以让我们资源共享,对个人所 即时通讯工具与人的自由 李 旻,李东阳 (成都理工大学 文法学院,成都 610059) 摘要:即时通信,简称“IM ”是(Instant Messaging )的缩写,它是一种使人们能在网上识别在线用户并与他们进行实时交 换消息的技术。随着互联网络的飞速发展,即时通讯工具的功能也在日益丰富,它不再是一个单纯的对话工具,至今已经发展成为一个集各种功能于一体的综合信息平台,也成为生活中不可或缺的一部分。 关键词:即时通讯;人的自由;观念;阻碍中图分类号:G206.2 文献标识码:A 文章编号:1673-2596(2012)01-0116-02 116--

基于JavaWeb的在线考试系统的设计与实现毕业论文

毕业论文 题目:Java Web应用开发—— 在线模拟考试系统的设计与实现学院:计算机与信息工程学院 专业:软件工程

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。 作者签名:日期:

学位论文原创性声明 本人重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

图书管理系统的设计与实现

毕业论文 中文摘要 图书管理系统是智能办公系统(IOA)的重要组成部分,因此,图书管理系统也以方便、快捷的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工作人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。采用SQL Server2005数据库作为后台数据库、Visual C#编程语言作为前台开发工具,通过对数据库技术进行了较深入的学习和应用,主要完成书目检索、读者管理、借阅管理、图书管理、用户维护、系统维护等系统功能。系统运行结果证明,本文所设计的图书管理系统可以满足学生和教师借阅者、图书管理员、图书总管理员三方面的需要,达到了设计要求。 关键词图书管理系统设计信息https://www.doczj.com/doc/1813502034.html, SQLServer2005

目录 第1章导论 (2) 1.1 系统调研与可行性分析 (1) 1.1.1 现状调查 (1) 1.1.2 可行性分析 (1) 1.1.3 软件开发计划 (2) 1.1.4 https://www.doczj.com/doc/1813502034.html,2.0和SQL Server 2005 概述 (2) 第2章系统分析 (5) 2.1 系统功能模块 (5) 2.1.2 模块框架图 (6) 2.2 系统ER图 (7) 第3章系统详细设计 (8) 3.1 开发运行环境 (8) 3.2 数据库设计 (8) 3.3 实现数据库 (9) 第4章主要功能模块设计 (13) 4.1 程序主界面 (13) 4.2 书目检索模块 (13) 4.3 读者管理模块 (20) 4.4 图书管理模块 (24) 第5章系统测试 (34) 结论 (34) 致谢............................................. 错误!未定义书签。参考文献......................................... 错误!未定义书签。

基于BS方式的即时通讯软件的设计与实现

基于B/S方式的即时通讯软件的设计与实现 摘要 即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,而各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展,即时通讯的运用将日益广泛,即时通讯软件业方兴未艾。本文首先描述了即时通讯业的发展和现状,然后初步探讨了即时通讯所涉及到的一些技术,最后对现有的技术进行了对比和分析,提出了一些可能的改进方案,并且设计了一个名为web-msn的即时通讯系统。 web-msn是基于B/S的模式的即时通讯系统,通过IE等浏览器直接完成客户端的登录、数据传输,更加便捷了用户之间的通讯和交友;使用最新的Ajax 技术,使其非常快,无需等待页面的刷新,实现了即时通讯的功能。 在系统设计与建模过程中,使用了UML和面向对象的分析、设计方法,本系统基于.NET Framework 1.1,使用Visual Studio .NET 2003作为开发工具,将.NET中的一些新技术运用到了系统中;在开发过程中用到了时下流行的重构开发方法,优化了系统的设计。 关键词:Web-msn;即时通讯;B/S;Ajax

The Design and Implementation of Instant Message Based on B/S Abstract Instant message is currently the most popular way to communicate on the Internet,by the way various instant message software have been continuously appearing; service provider offers more and more communication services nowadays. As the development of the Internet, instant message will be more widely used than before. This article first describes the development and the current status of the instant message. Then it discusses the technologies of the instant message such as communication protocol, service mode and friend-making mode. It makes a comparison and analysis with respect to the current technology and also provides some possible solutions for improvement. At last it designs and develops an instant message system named web-msn. The web-msn system is an instant message system which bases on b/s mode. You can login and interact with it through IE. It makes communication and finding friends more conveniently. It is designed using Ajax, which doesn’t need to wait for refreshing page, so carry out communication instantly. This system is based on .NET Framework 1.1 and uses Visual Studio .NET 2003 as the development tool. It accumulated some new technology in .NET into our system. During the process of development, it used the popular reconstruction development method, which optimizes the system design. Key words:Web-msn; Instant Message; B/S; Ajax

毕业设计论文 学生成绩管理系统

学生成绩管理系统毕业设计论文 【摘要】 (3) 1.1问题的提出 (5) 1.2现有系统存在问题的分析 (6) 1.3系统开发目标与意义 (6) 1.3.1系统开发目标: (7) 1.3.2意义: (7) 1.4可行性分析 (7) 1.4.1 经济上可行性: (8) 1.4.2技术上可行性: (8) 1.4.3运行上可行性: (8) 第二章需求分析 (9) 2.1 教育系统学生管理现状分析 (9) 2.1.1 学校工作流程分析 (9) 2.1.2 学校具体需求分析 (10) 2.1.3 系统设计思想 (11) 2.1.4 系统设计分析 (11) 2.1.5 系统功能分析 (12) 2.1.6 学生学籍系统的目标 (12) 2.2 基于B/S结构技术的应用 (13) 2.2.1 B/S结构技术发展简述 (13) 2.2.2 动态网站开发技术比较 (14) 2.2.3 本系统的开发采用https://www.doczj.com/doc/1813502034.html,---- 一种全新的设计模式 (18) 2.2.4 面向对象的开发过程 (20) 2.2.5 开发工具的选择 (21) 2.2.6 数据库系统选择 (24) 2.2.7 开发方法的选择 (26) 2.2.8 开发本系统的意义 (27) 2.2.9 本文档编写目的 (28) 2.2.10 定义 (28) 第三章学生成绩管理系统概要设计 (29) 3.1系统设计图例说明 (29) 3.2 系统设计业务目标(业务逻辑层) (30) 3.2.1系统设计目标概述 (30) 3.2.2 用户(角色) (30) 3.2.3 假定 (31) 3.3 技术总体目标 (34) 3.3.1系统技术性能要求 (34)

让即时通讯工具不仅只是聊天

让即时通讯工具不仅只是聊天 十年前,我们的工作沟通方式主要是邮件,通过回复、转发、抄送以及不断的循环进行沟通,留下彼此的交流记录,同时传送重要文档。 后来,我们有了QQ,用上了MSN,SKYPY等聊天工具,可以快速实现点对点的沟通交流,高速传输文件,有些紧急的情况下似乎比邮件更方便更快捷。 再后来,我们有了微信,有了强大的智能手机,无时不刻都在交流都在互动,文件传输更加便捷,因为我们几乎都不用打开电脑就可以实现文档的查阅、修改、传送。 可是,每一个智能手机,也慢慢的成为了一个个的信息孤岛,如果彼此不添加对方,就无法沟通;大量工作文档,仅仅通过交换后保存在本地,没有版本控制,没有全文检索,更无法根据需要进行有效的知识管理;聊天记录只是一条条无生命力的文字,和工作相关的任务、计划、需求都无法转化为可跟踪的事件。。。。。。 那么,有没有更好的解决方案,既可以让员工之间愉快的聊天,又能实现更科学的日常工作管理,答案只有一个,那就是借助于泛微所提供的企业级即时聊天工具。 泛微协同管理即时聊天工具(企业内部微信)不仅可以实现市场上聊天工具几乎所有的功能,还能提供更丰富、更人性化、更有价值的各种帮助: 1. 不管企业人数是10人,100人、1000人,还是10000人,都不需要彼此添加好友,而通过与系统组织架构同步的多维通讯录,就可以实现与任何员工实时沟通; 2. 点击每一个你熟悉或陌生的同事名字,就可以实时发送短信、邮件、传文件,甚至安排会议、日程、流程等;

3. 即时聊天工具不仅支持手机移动端,平板电脑端,也支持PC电脑端,并保证所有客户端的信息完全同步,满足企业员工随时随地的沟通需要; 4. 在每个群聊中,都可以把重要事项置顶并成为群公告,重要信息再也不需要考古了;

相关主题
文本预览
相关文档 最新文档