第二章 系统的需求分析
第二章 系统的需求分析
2.1 项目设计的需求描述
设计一个基于JAVA的网络即时通信系统,在通用计算机网络
上实现信息传递,包括基本的文本消息传递,实时获取联系人状态,对常用联系人进行管理等。主要考虑以下基本功能,注册并登录服务器,验证用户,获得用户列表,用户运行客户端程序后,服务器端程序在局域网上运行,与其他用户进行点对点的实时消息通信服务。
2.2 服务器端需求
处理用户登录,当用户到达登陆界面时,用户发送账号、密码等信息进行分装,服务器接受到用户发送的登陆账号、密码;验证用户登录,服务器将用户登陆发送的账号和密码,与数据库中已有的用户进行匹配,如果能能找到,那么就验证成功,找不到该用户,验证失败;处理用户发送信息和处理用户得到信息,用户可以通过对话框和自己的好友进行文字类的交流,可以发送消息,同时也可以接受好友消息;处理用户退出,关闭服务器等。
2.3客户端需求
用户注册界面及结果,可以将用户的姓名、性别、年龄等信息分装,添加到用户数据表中,然后用户可以根据注册的账号、密码进行登录;用户登录界面及结果,用户进入登陆界面,填写自己的账号、密码,然后将其提交给服务器;用户验证界面及结果,根据服务器验证的结果,验证成功,用户可以进入登陆成功界面,验证失败,用户会得到一个登陆失败界面;用户发送信息界面及结果,用户可以双击自己的好友,然后弹出一个对话框,可以和自己的好友进行交流;用户得到信息界面及结果,当好友给自己发送消息时,用户自己的好友界面端,好友头像闪动,然后点击好友头像上,就可以接受到好友的消息。
2.4 对于发送的消息的一些协议需求
发送的消息必须至少使用一种消息格式,格式必须包含一个让接收者可以回消息的地址、发信者和即时收件箱的标识,以及允许对信息有效负载的编码和鉴别(非ASCII内容),而且即时消息格式必须提供扩展和注册即时消息格式的模式机制。这种模式机制,可
5
安康学院本科生毕业论文(设计)
以保证即时消息成功投递或者投递失败的时候,发信者获得足够的信息。即时通讯协议,是指参与的双方或者多方通讯时所达到的共识。协议必须是双方或者多方参与的,一方单独完成的就不算协议。这样在协议动作的过程中,双方必须交换信息,包括控制信息、状态信息等等。这些信息的格式必须是协议参与方同意并且遵循的。好的协议要求清楚、完整,每一步都必须有明确的定义,并且不会引起误解;对每种可能的情况必须规定具体的动作。本文的即时通讯协议必须提供方法保证即时消息的置信度,让即时信息未被监听、破坏、重排序或者回放,同时还必须保证即时消息被正确的实体阅读。
6
第三章 系统设计
第三章 系统设计
3.1 软件设计流程
因为该系统其需求是十分明确的,所以该系统的开发流程采用瀑布模型进行设计,分为几大步骤:先进行需求分析,再是系统设计,然后是详细设计与编码,其次是软件的测试,最后是软件的运行和维护。在实际过程中这些步骤经常是重叠和彼此间有信息交换,它不是一个简单线性过程,而是包括开发步骤的多个反复。如图1所示。
需求分析 系统设计 详细设计与编码 软件测试 软件运行与维护
图1 即时通讯系统开发瀑布图
3.2 即时聊天系统的实施原理 3.2.1 工作方式和技术原理
第一步,用户输入自己的用户名和密码登录服务器,服务器通过读取用户数据库来验证用户身份,如果验证通过,登记用户的IP地址、客户的姓名及时间,然后返回用户登录成功的标志。
第二步,根据用户存储在服务器上的好友列表,服务器将用户在线的相关信息发送给也同时在线的好友的PC机,这些信息包括在线状态、IP地址等,好友的客户端收到此信息后将其显示在客户端界面上。
7
安康学院本科生毕业论文(设计)
第三步是服务器把用户存储在服务器上的好友列表及相关信息回送到他的客户端机,这些信息包括也在线状态、IP地址等信息。用户应用流程图如图2所示。
新用户注注册验证 成功 用户登陆 成功 身份验证 失败 失败 注册失败 登陆成功 登陆失败 与好友聊天 关闭聊天窗口
图2 用户体验流程图
关闭客户端 3.2.2 通讯方式 (1)在线直接通讯
如果用户想与他的在线好友用户聊天,他将直接通过服务器发送过来的用户好友的IP地址、TCP端口号等信息,直接向用户好友的PC机发出聊天信息,用户好友的客户端软件收到后,头像闪动,双击弹出对话框,显示在屏幕上,然后用户好友再直接回复到用户的PC机,这样双方的即时文字消息就不在服务器中转,而是直接通过网络进行点对点的通讯。
(2)在线代理通讯
用户与用户好友的点对点通讯由于防火墙、网络速度等原因难以建立或者速度很慢,服务器将会主动提供消息中转服务,即用户
8
第三章 系统设计
和用户好友的即时消息全部先发送到服务器,再由服务器转发给对方。
3.3 功能模块划分 3.3.1 服务器端
服务器端完成至少3大功能:建立连接、存储数据和监听客户。这3大功能的具体含义如下:
(1)建立一个ServerSocket连接,不断侦听是否有客户端连接或者断开连接。
(2)服务器端是一个信息发送中心,所有客户端的信息都传到服务器端,再由服务器根据要求分发出去。
(3)数据库数据操作包括将用户信息存储到数据库等。 服务器端功能结构如图3。
服务器存储数据 建立连接 监听客户 图3 服务器端功能结构图
3.3.2 客户端
客户端要完:用户登录、读取用户、通信交流这些功能。这些功能的含义如下:
(1)用户登录:客户端与服务器端建立通信信道,向服务器端发送信息,完成用户登录。
(2)通信交流:客户端可完成的信息的编辑、发送和接收等功能。该即时聊天工具按如下过程完成通信,客户向服务器登陆,告知服务器该客户监听某主题;客户登陆之后,向服务器发送消息;服务器再把消息发送给所有监听此主题的客户。
客户端功能模块结构如图4
9
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究毕业论文终稿1-09级-电子信息程(2)班-李毅113 (3)全文阅读和word下载服务。
相关推荐: