局域网即时通讯软件设计与实现_第1页
局域网即时通讯软件设计与实现_第2页
局域网即时通讯软件设计与实现_第3页
局域网即时通讯软件设计与实现_第4页
局域网即时通讯软件设计与实现_第5页
已阅读5页,还剩49页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

兰州交通大学毕业设计(论文) I 摘 要 即时通信在互联网领域的应用取得了巨大的成功,但在学校企业内部的应用仍远未普及。鉴于即时通讯作为一项有广泛应用价值的技术框架,在逐步适应企业网络教育网络的应用特点后,局域网即时通信必将取得和电子邮件一样的普及效果。该系统使用 Myeclipse 作为开发平台 MysqL 数据库存储用户信息和聊天记录,用套接字连接客户端和服务器,用数据包套接字发送消息。本系统采用 C/S 模式构建,由客户端和服务器组成。客户端只要填写服务器的 IP 地址和通信端口号,并通过所分配的账号,就可以登陆和使用。服务器与 MysqL 数 据库可部署在同一网段的任一节点上,通过接受客户端不同请求而对数据库进行增加删除、修改、查找的操作,这样就可以方便的进行维护并前保证了同一局域网信息的安全和网络资源的充分利用,并且最大程度的保证了数据库的安全性。使用该系统可进行一般的文字交流,添加好友等功能。 关键词 : Myeclipse; Socket;多线程; MysqL 数据库; TCP/IP 协议 兰州交通大学毕业设计(论文) II ABSTRACT Instant messaging applications on the Internet were a great success, but in schools, enterprises are still far from universal in application. In view of instant messaging applications as the value of a broad technical framework, and gradually adapt to the corporate network, the application of the characteristics of the education network, the LAN access to instant messaging and e-mail will be the same universal effect. The introduction of the system Myeclipse as a development platform, Mysql database storing user information and chat with a socket connection client and server, and send a message packet socket. The system uses C/S mode of construction, from the client and server-side component. Simply fill out the client server IP address and communications port number, and through the distribution of the account, you can log in and use. Mysql database server and can be deployed in the same network segment at any node, by receiving the request of the client defferent additions and deletions to the database search operation, This can be convenient for maintenance and to ensure that the same local area network information security and make full use of network resources and ensure maximum safety of the database. The system can be used for general exchang of text, add friend functions. Key words: Myeclipse; Socket; Thread; Mysql Databasse; TCP/IP 兰州交通大学毕业设计(论文) III 目 录 前言 . 1 第 1 章 绪 论 . 2 1.1 课题背景及意义 . 2 1.2 课题现状 . 2 1.3 课题目标与内容 . 3 第 2 章 系统开发环 境和关键技术 . 4 2.1 开发环境 . 4 2.2 关键技术 . 4 2.2.1Java . 4 2.2.2 Myeclipse 与 MysqL . 6 2.2.3Java Socket 网络编程接口 . 7 2.2.4 多线程开发技术 . 7 2.2.5 TCP/IP UDP 协议 . 8 2.2.6 Client/Server 结构(客户端 /服务器模式) . 9 第 3 章 系统分析与设计 . 10 3.1 可行性分析 . 10 3.1.1 经济可行性 . 10 3.1.2 技术可行性 . 10 3.1.3 法律可行性 . 11 3.2 系统分析 . 11 3.2.1 系统需求 . 11 3.2.2 需求分析 . 12 3.3 系统设计 . 21 3.3.1 设计原则及一般要求 . 21 3.3.2 概要设计 . 21 3.3.3 功能设计 . 21 3.3.4 工作流程 . 25 兰州交通大学毕业设计(论文) IV 3.3.5 数据库设计 . 25 第 4 章 系统实现 . 30 4.1 服务器端设计实现 . 30 4.1.1 服务器端模块 . 30 4.2 客户端设计实现 . 30 4.2.1 客户端登陆模块 . 30 4.2.2 注册模块 . 31 4.2.3 登陆主界面 . 33 4.2.4 文字传送 . 33 4.2.5 查找好友 . 34 4.2.6 添加好友 . 35 4.3 系统功能特点 . 35 第 5 章 难点及对策 . 36 总结与展望 . 37 致谢 . 39 参考文献 . 40 附录 程序源代码 . 41 兰州交通大学毕业设计(论文) 1 前 言 随着电脑和互联网的普及,网 络聊天已经成为人们工作生活中传递信息,交流感情的重要工具。网络 的聊天软件种类繁多,如 QQ MSN 等,实现了随时随地上网聊天,给人们带来了很大的方便。但是这些聊天软件也存在以下不足:用户必须连接 Internet;用户再工作时容易很沉迷于网络聊天。为了方便单位企业内部的信息交流,减少不必要的财力和人力资源浪费,开发一个局域网聊天软件是非常必要的。 现在,多渠道的信息源,网络化的数据分布,快键医用的交互操作,智能化的分析决策等特点越来越成为衡量聊天软件的关键,因此,本人开发一个局域网聊天软件, 此聊天软件是基于 Java 语言运行于 Windows 平台上,利用的技术主要是 Socket 通信和多线程技术,使用 MySqL 作为数据库管理。为实现和方便客户端间通信,在客户端进行了人性化的界面设计,用户可以注册号码,登陆界面可选择是否保存密码,具有 添加分组、添加好友 功能等 。 第 1 章 对本课题的背景及意义,课题现状,课题内容与目标进行了深入的阐述 第 2 章 介绍了系统的开发环境和关键技术,例如 Socket 编程技术,多线程开发技术等。 第 3 章是系统分析与设计。将对系统进行需求分析,对组成系统的功能模块进行划分,对每个模块将要实现的功能进行阐述和说明。对系统的结构进行设计,设计数据库。 第 4 章是系统实现 ,分别 介绍了服务器端和客户端每个功能的执行过程。 第 5 章介绍系统开发中遇到的难点及相应对策。 最后,将对本设计进行归纳总结,全面阐述本次设计中的体会。 兰州交通大学毕业设计(论文) 2 第 1 章 绪 论 1.1 课题 背景及意义 近年来,随着全球信息化进程的不断发展,网络也在飞速发展。出于高效,快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着企业规模的扩大,业务量的增加,企业内 部的信息越来越私密,企业只希望 员工通过内部局域网进行沟通与交流 ,避免企业内部机密通过 Internet 泄露到外部。为了解决上述矛盾,人们提出了开发局域网聊天软件 的构想,通过局域网聊天软件,企业员工可以随时的进行即时信息传递 召开网络会议等,有利于提高工作信息效率,同时又保护了企业内部信息的安全性。 本系统采用基于 Socket 的局域网通信工具的设计与实现的方法。基于 Socket 的局域网通信软件可以为企业原有的局域网提供一种良好安全 快速地通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降 低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。 基于 Socket 的局域网聊天工具很好地诠释了 Socket 通信的原理,并且在企业内部通信 教学 讨论等应用中都具有一定的使用价值。它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。 基于 Socket 的局域网通信软件应用范围广阔,不但可以处 理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育 数据影音传输等,拥有广泛的应用 前景 1.2 课题现状 基于局域网的即时通信工具, 实际上是互联网即时通讯工具的一个小规模版本,广域网上的即时通讯工具,如今一般采用 UDP 或者 TCP 协议体系来实现,开发技术已经比较成熟,比如较早的 ICQ MSN Messenger Yahoo。 除了这些国外开发的产品,还有国产的有名的 QQ,新浪 UC LAVA-LAVA 等,这些工具统统都实现了 广域网上的即时通信,实现了即时聊天,以及文件传输的主要功能, 尽管都是即时通信, 但是也各有各的特色。比如 ICQ 的巨大客户群, MSN 的个性化表情, YSHOO 通的易操作性等。而QQ 也具有一个相当方便的屏幕截图功能,另外就是,所有 上述软件都实现了网络即时的视频,语音聊天功能。这些软件,在使用方面各有特色,在实现方面也各有所长,但基于这产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是兰州交通大学毕业设计(论文) 3 它在大的方面无非就是利用各种平台上的网络通信接口,建构基于下层 TCP/IP,或者UDP 协议的软件产品。 1.3 课题目标与内容 本课题主要研究的是局域网即时聊天软件,此聊天软件分为服务器程序和客户端程序,本课题的目标是能实现用户在客户端与服务器端 客户端与客户端 传递文字信息 主要研究开发内容是:熟悉 Java 和 MySqL 服务器的配置, 搭配系统开发平台,探索在此开发平台下,利用 Socket 编程技术,多线程开发技术, TCP, UDP 协议等进行局域网聊天软件的实际开发。 主要功能有: 用户注册 用户登录 添加分组 删除分组 添加好友 删除好友 移动好友 即时通信文字传送 文件及文件夹发送 发送表情 字体设置 头像更改 查找好友 实现技术: Myeclipse 6.5 Mysq 数据库 兰州交通大学毕业设计(论文) 4 第 2 章 系统开发环境和关键技术 2.1 开发环境 通讯软件 是一款 聊天 软件, 采用目前国际上比较流行的 Myeclipse 开发模式开发,因此,该软件系统 具有极大的灵活性和可扩展性。 1 服务器端 硬件环境: CPU: 奔腾 Pentium 系列, 主频 1G 以上 硬盘: 20G 以上剩余空间 内存: 1G/2G 以上 2. 客户端 硬件环境: CPU: PIII 450/133MHz 以上 硬盘: 500M 以上剩余空间 内存: 512M 以上 3软件环境: Microsoft 视窗系列操作系统( Windows2000 以上) Myeclipse 6.5 JDK 1.5 后台数据库 MySqL 开发语言 Java 2.2 关键技术 2.2.1Java 1.Java 的定义: Java 是一种简单的、面向对象的、分布式的、解释的、 键壮的 、安全的、 结构的 、中立的 、 可移植的 、 性能很优异的 、多线程的、 动态的语言。 Java 的开发环境有不同的版本,如 sun 公司的 Java Developers Kit, 简称 JDK。后来微软公司推出了支持 Java 规范的 Microsoft Visual J+ Java 开发环境,简称 VJ+。 2.Java 的特点: . 平台无关性 平台无关性是指 Java 能运行于不同的平台。 Java 引进虚拟机原理,并运行于虚拟机,实现不同平台的 Java 接口之间。使用 Java 编写的程序能在世界范围内共享。 Java的数据类型与机器无关, Java 虚拟机( Java Virtual Machine)是建立在硬件和操作系统兰州交通大学毕业设计(论文) 5 之上,实现 Java 二进制代码的解释执行功能, 提供于不同平台的接口的。 . 安全性 Java 的编程类似 C+,学习过 C+的读者将很快掌握 Java 的精髓。 Java 舍弃了 C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。 Java 对程序提供了安全管理器, 防止程序的非法访问。 . 面向对象 Java 吸取了 C+面向对象的概念 ,将数据封装于类中 ,利用类 的优点 ,实现了程序的简洁性和便于维护性。类的封装性、 继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。 Java 提供了众多的一般对象的类,通过继承即可使用父类的方法。在 Java 中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。 Java 提供的 Object 类及其子 类的继承关系如同一棵倒立的树形,根类为 Object 类, Object 类功能强大,经常会使用到它及其它派生的子类。 . 分布式 Java 建立在扩展 TCP/IP 网络平台上。库函数提供了用 HTTP 和 FTP 协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。 . 健壮性 Java 致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。 Java 自己操纵内存减少了内存出错的可能性。 Java 还实现 了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发 Java 应用程序的周期。 Java 提供: Null指针检测、 数组边界检测、 异常出口、 Byte code 校验。 3. Java 与 C/C+语言 Java 提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。 C+安全性不好,但 C 和 C+被大家接受,所以 Java 设计成 C+形式,让大家很容易学习。 Java 去掉了 C+语言的许多功能,让 Java 的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。 Java 去掉了以下几个 C 和 C+功能: 指针运算 结构 typedefs #define 兰州交通大学毕业设计(论文) 6 需要释放内存 这将减少了平常出错的 50%。而且, Java 很小,整个解释器只需 215K 的 RAM。 面向对象: Java 实现了 C+的基本面向 对象技术并有一些增强,(为了语言简单,删除了一些功能)。 Java 处理数据方式和用对象接口处理对象数据方式一样。 2.2.2 Myeclipse 与 MysqL 1 Myeclipse MyEclipse 企业级工作平台( MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 J2EE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 在结构上, MyEclipse 的特征可以被分为 7 类: . J2EE 模型 . WEB 开发工具 . EJB 开发工具 . 应用程序服务器的连接器 . J2EE 项目部署服务 . 数据库服务 . MyEclipse 整合帮助 对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。 MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任 意 模块进行单独的扩展和升级。 简单而言, MyEclipse 是 Eclipse 的插件,也是一款功能强大的 J2EE 集成开发环境,支持代码编写、配置、测试以及除错。 2 MysqL MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQLAB 公司,在 2008年 1 月 16 号被 Sun 公司收购。 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。如雅虎、 Google 公司、诺基亚公司、百度等公司就采用了 MySQL 数据库。 MySQL 数据库可以称得上是目前运行速度最快的 SQL 语言数据库。除了具有许多其它数据库所不具备的功能和选择之兰州交通大学毕业设计(论文) 7 外 ,MySQL 数据库是一种完全免费的产品 。 MySQL 数据库主要有以下特点。 可移植性 可扩展性和灵活性 强大的数据保护功能 支持大型数据库 超强的稳定性 强大的查询功能 2.2.3Java Socket 网络 编程接口 所谓 socket 通常也称作 套接字 ,用于描述 IP 地址和端口,是一个通信链的句柄。应用 程序 通常通过 套接字 向网络发出请求或者应答网络请求。 以 J2SDK-1.3 为例, Socket 和 ServerSocket 类库 是 位于 包中。ServerSocket 用于服务器端, Socket 是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个 Socket 实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在 客户端而产生不同级别。不管是 Socket 还是 ServerSocket 它们的工作都是通过 SocketImpl类及其子类 来 完成的。 重要的 Socket API: .Socket 继承于 java.lang.Object,有八个构造器,其方法并不多,下面介绍使用最频繁的三个方法,其它方法大家可以见 JDK-1.3 文档。 . Accept 方法用于产生 阻塞 ,直到接受到一个连接,并且返回一个客户端的Socket 对象实例。 阻塞 是一个术语,它使程序运行暂时 停留 在这个地方,直到一个会话产生,然后程序继续;通常 阻 塞 是由循环产生的。 . getInputStream 方法获得网络连接输入,同时返回一个 InputStream 对象实例,。 . getOutputStream 方法连接的另一端将得到输入,同时返回一个 OutputStream 对象实例。 注意:其中 getInputStream 和 getOutputStream 方法均会产生一个 IOException,它必须被捕获,因为它们返回的流对象,通常都会被另一个流对象使用。 2.2.4 多线程开发技术 多线程在构建大型系统的时候是需要重点关注的一个重要方面,特别是在效 率(系兰州交通大学毕业设计(论文) 8 统跑的多块?)和性能(系统工作正常?)之间做一个权衡的时候。恰当的使用线程可以极大的提高系统性能。使用多线程的好处有以下几点: 1 使用线程可以把占据长时间的程序中的任务放到后台去处理; 2 用户界面可以更加吸引人,这样比如用户点击了一个按钮区触发某些事件的处理,可以弹出一个进度条来显示处理的进度; 3 程序的运行速度可能加快; 4 在一些等待的任务实现上如用户输入,文件读写和网络收发数据等线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。 2.2.5 TCP/IP UDP 协议 网际协议 IP 是 TCP/IP 的心脏,也是网络层中最重要的协议。 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。这些端口号是“广为人知”的,因为在建立于特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。 兰州交通大学毕业设计(论文) 9 2.2.6 Client/Server 结构(客户端 /服 务器模式) Client/Server 结构( C/S 结构)是大家熟知的客户机和服务器结构。通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是 Client/Server 形式的两层结构。 C/S 结构软件分为客户机和服务器两层,客户机不是毫无运算能力的输入输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据 通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。 C/S 结构的优点是能充分发挥客户端 PC 的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个: 只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。 兰州交通大学毕业设计(论文) 10 第 3 章 系统分析与设计 3.1 可行性分析 3.1.1 经济可行性 经济可行性主要进行成本效益分析,从经济 角度,确定系统是否值得开发 1.成本 人员开发软件花费大约两个月的时间 需购置一台电脑实现软件的开发 2.效益 经济效益 可节约人员的工作时间(如一个局域网文件的传输,节约了人员拷贝的时间) 可获的一定的经济收入 社会效益 提高了办事效率 使用户满意 3.货币的时间价值 4.投资回收期 1 年 5.纯收入 纯收入 =累计经济效益 -成本,经估算纯收入大于零 3.1.2 技术可行性 1.风险分析 成本估算不合理造 成的预算风险,这个风险比较小,我们可以通过认真、严谨的态度和合理的预算来控制风险 个人能力估算不当带来的项目不能按时交付风险,这个风险比较小,我们可以在一开始实事求是的评估个人能力,还有在后面项目开发中不断提高个人能力,来缓解风险 2.资源分析 开发人员比较熟悉 Eclipse 开发环境及 MySQL 数据库 开发人员对所处领域用一点了解 3.技术分析 兰州交通大学毕业设计(论文) 11 系统的功能、性能要求的技术有多线程、 Socket 及 java 图形界面设计,需一定时间学习,可能影响开发进程 3.1.3 法律可行性 不涉及法律 问题 3.2 系统分析 3.2.1 系统需求 聊天交流是目前互联网提供的主要内容。聊天系统有多种实现方式,类似 ICQ 属于一种点对点地聊天系统;还有一种是基于 Socket 的 聊天系统,这种聊天系统需要登录统一的聊天服务器。在基于 Socket 的聊天 系统中,主要有两种角色:服务器和客户端,不同的客户端登录 服务器,通过服务器将一个客户端发出的信息推送到其他所有客户端。 基于 Socket 的聊天系统最早实现是使用网页刷新方式,通过客户端不断地自动刷新,将服务器端 的 整个页面内容下载到客户端显示,这种方式的聊天速度慢,而且有 刷屏现象,很快被更新的聊天技术所替代。 聊天系统在客户端和服务器之间主要传送的是文字信息,服务器端只需要把最近的文字信息推送到客户端,这样减少了网络传输内容,节省了网络传输的时间,无疑提高了聊天速度。这种“推”技术是目前基于 Socket 聊天系统的主要实现技术。 在基于 Socket 的聊天系统,客户端和服务器必须保持随时随地的连接。这有别于普通 Web 浏览的连接方式。在使用浏览器访问服务器时,先由客户端发出 HTTP 协议,然后服务器响应处理这个客户端的响应,再返回处理结果;请求( Request)和响应( Response)是一种一对一的前后因果关系。而在基于 Socket 的聊天系统中,客户端发出聊天信息的同时,客户端也在接收服务器发送过来的其他人的聊天信息,因此,请求和响应不存在那种前后对应关系,是两种分别独立进行的进程。因为服务器任何时候都可能发送信息到客户端,因此,客户端和服务器一旦建立连接,必须能让服务器在以后发送中寻找定位到这个连接。 局域网聊天系统使该系统的用户能够通过客户端登入到该系统,然后直接与系统交互。首先,需启动服务器,进行服务器的配置,进行正确的服务器配置和数据库连接并测 试成功后,开启服务器。接下来,在客户端,该系统的用户能够通过登陆界面进入,然后直接与系统交互,进行文字传送。本系统支持的活动列表如下: 开启服务器 ( 2) 用户注册一个九位数的账号 兰州交通大学毕业设计(论文) 12 ( 3)用户登录系统 ( 4) 用户可与系统交互,进行文字传输 ( 5)用户登录后,可进行查找,添加,删除好友等。 3.2.2 需求分析 1.功能需求 用户管理 即时通讯系统拥有多个账户,允许多个用户注册;注册所使用的账号类型为字母数字的组合;注册新用户时必须填写符合要求的信息;注册后只有用户名和 密码验证成功才能正确登陆。用户管理如图 3-1所示。 用 户用 户 注 册用 户 登 录图 3-1 用户管理用例图 用户管理用例的详细描述如图 3-2 所示 图 3-2 用户管理用例详细描述 用例名称:用户管理 参与的 执行者: 用户 前置条件:一个合法的客户已经登录到这个系统 事件流: 1. 当用户准备登录时,用例开始 2. 当用户没有账号时,选择注册新账号;若有,跳到步骤 6 3. 用户填写用户信息 4. 用户选择提交 ,若用户信息填写有误或没填,跳到步骤 3;若无误,继续执行 5. 获得用户账号 6. 用户输入账号和密码 ,若忘记密码,点击找回密码;否则跳到 8 继续执行 7. 输入账号和你的老师姓名找回密码,然后跳到 6 执行 8. 用户点击确定,用例结束 兰州交通大学毕业设计(论文) 13 分组管理 分组管理部分要能够实现分组的添加、 删除 和分组重命名 ,所添加的分组名称可以是中文也可以是字母数字的组合,通过对分组的有效管理以便于更方便的管理好友。分组管理如图 3-3所示。 用 户添 加 分 组删 除 分 组分 组 重 命 名图 3-3 分组管理用例图 分组管理用例的详细描述如图 3-4 所示 图 3-4 分组管理用例的详细描述 好友管理 用户可以查找用户;选择是否加为好友;一个用户可以添加多个人为好友,一个用户也可以被多个人添加为好友;用户可以删除好友;用户只可以将好友放在一个组中;用户也可以查看好友信息 ,还可以移动好友到其他 组 。好友管理如图 3-5所示。 用例名称:分组管理 参与的执行者:用户 前置条件:一个合法的用户已经登录 到了这个系统 事件流: 1 用户右击弹出菜单,用例开始 2 若用户点击添加分组 或重命名,开始步骤 3;若点击删除分组,用例结束 3 弹出一个填写分组名或重命名的窗口 4 若填写的分组名或重命名已经存在,开始步骤 5,若不存在,用例结束 5 弹出提示窗口 6 点击确定,用例结束 兰州交通大学毕业设计(论文) 14 主 角 1添 加 好 友删 除 好 友移 动 好 友查 看 好 友 信 息查 找 好 友图 3-5 好友管理用例图 好友管理 用例 的详细描述如图 3-6 所示 图 3-6 好友管理 用例 的详细描述 头像管理 用户可以更改自己的头像,并且在界面上可以动态更新显示。头像管理如图 3-7所示。 用户1更改头像图 3-7 头像管理用例图 用例名称:好友管理 参与的执行者:用户 前置条件:一个合法的用户已经登录系统 事件流: 1. 用户点击查找好友或在好友名称上右击,用例开始 2. 若单击查找好友,显示查找好友窗口 ;若 是 右击,跳到步骤 7 3. 输入好友账号或昵称 4. 显示好友信息 5. 单击添加好友,弹出选择分组窗口 6. 单击 确定,用例结束 7. 若点击删除好友或移动好友,并在移动好友的子菜单选择一个分组,用例结束;若单击查看好友信息,继续步骤 8 8. 弹出好友信息窗口,点击确定,用例结束 兰州交通大学毕业设计(论文) 15 头像管理用例的详细描述如图 3-8 所示 图 3-8 头像管理用例的详细描述 即时通讯 即时通讯模块用户可以与在线的好友进行聊天,用户首先查看好友是否在线,如果在线即可进行即时通讯。即时通讯如图 3-9 所示。 图 3-9 即时通讯用例图 即时通讯的用例详细描述如图 3-10 所示 图 3-10 即时通讯用例的详细描述 2.系统活动分 析 用户注册和登陆活动图 一个用户从无账号到登陆系统,需要和系统进行

温馨提示

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

评论

0/150

提交评论