收藏 分享(赏)

第8章-基于ccla的案例----实时聊天室系统项目设计.ppt

上传人:天天快乐 文档编号:1156035 上传时间:2018-06-15 格式:PPT 页数:20 大小:225.50KB
下载 相关 举报
第8章-基于ccla的案例----实时聊天室系统项目设计.ppt_第1页
第1页 / 共20页
第8章-基于ccla的案例----实时聊天室系统项目设计.ppt_第2页
第2页 / 共20页
第8章-基于ccla的案例----实时聊天室系统项目设计.ppt_第3页
第3页 / 共20页
第8章-基于ccla的案例----实时聊天室系统项目设计.ppt_第4页
第4页 / 共20页
第8章-基于ccla的案例----实时聊天室系统项目设计.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、1,第八章 基于CCLA的案例 -实时聊天室系统项目设计,主讲: 赵 欢 教授,2,第五章Java异常,系统可行性分析系统需求分析系统概要设计系统数据库的设计系统详细设计系统测试,3,8.1 系统可行性,由于Java也是一种可用于进行网络编程的语言,它提供了两种功能强大的网络支持机制:URL访问网络资源的类和用Socket通讯的类,来满足不同的要求。 一是URL用于访问Internet网上资源的应用;另一种是针对client /server(客户端/服务器)模式的应用以及实现某些特殊的协议的应用,它的通讯过程是基于TCP/IP协议中传输层接口socket实现的。,4,8.2 需求分析,8.2.

2、1 服务器模块功能1.在服务器端能查看使用该系统的所有用户的状态、IP以及其他信息,并统计用户总人数与在线人数。2.能显示聊天信息,以便对不正当聊天信息的监控,对发起不正当聊天信息的帐号的处理。3.对客户端发过来的身份验证信息进行判断,若正确还要发送其好友的基本信息和滞留信息给客户端。4.当有用户上线或下线时,系统获取其信息后,要能发送相应的上线或下线信息给他的好友。5.为能够对不健康聊天内容进行监控,抑制不正当言语和危害社会秩序的观点的传播,服务器必须对聊天信息进行检验,即对聊天信息进行转发,并存入服务器数据库和显示在服务器端。,5,8.2 需求分析,6.当一用户要添加好友时做出处理,好友在

3、线则发送请求,好友不在线这作为滞留信息存入数据库,同时若收到好友的同意或拒绝信息,则发送成功信息、相互的基本信息或拒绝信息给双方并修改数据库。若请求者不在线则作为直溜信息存入服务器数据库。7.当一用户递交了删除好友信息,服务器应对这信息做出相应的处理,包括给该用户在线的好友好友发送下线信息,以便在聊天当中出现信息丢失的现象,引起用户对软件的信任度下降,若这些好友都不在线则服务器只须直接修改数据库,设该用户为不在线状态。8.若客户端发来修改密码的信息,首先对起旧密码进行检验,不符合则发送失败反馈信息,合格则修改数据库并发送成功反馈信息。9.用户对自己的网名不满意时,需要对自己的网名进行修改,所以

4、若客户端发来修改网名的信息,服务端必须能接受其请求,修改数据库中该用户的基本资料信息。10.由于聊天内容是在不停的转发,所以在服务器端的数据库中的滞留信息和聊天信息都会随着时间的增长而增多,过多的数据库信息会影响服务器的速度,所以在一段时间后,要进入数据库对过期的滞留信息和聊天信息进行删除,减轻数据库的负担。其基本依据是这些信息存入数据库的时间,对某个时间以前的数据进行人为的删除。,6,8.2 需求分析,8.2.2 客户端模块功能1. 系统登录与退出模块:(1)客户端系统获取用户登录的帐号与密码,将其与信息头组合,发送到服务器进行验证,服务器根据数据库的数据判断输入是否正确,再发送反馈信息,客

5、户端根据反馈的信息做出相应的提示和处理,当输入正确是,还要接受其他系统必要的信息。(2)下线时为了让自己的好友知道自己下了线,使发送的消息不发生丢失的现象,必须向服务器发出下线信息,使得服务器根据该信息做出处理。在下线时还必须清除当地数据库的临时信息,以免在下次上线时,多次调用过去的历史信息,导致不正确的结果出现。(3)聊天软件能与好友聊天,所以在登录成功后必须从服务器端下载自己所有好友的信息,因此客户端接受服务器发过来的好友列表信息与滞留信息并做出处理,包括存入数据库。,7,8.2 需求分析,2. 帐户的设置与修改模块:(1)获取用户输入的旧密码和新密码,组合本地IP,加上对应的消息头,发送

6、给服务端进行判断、修改。(2)服务器根据客户端发过来的信息,会做出处理,并发回反馈信息,所以客户端必须能够根据修改密码的反馈信息做出对应的提示。 (3)获取用户输入新网名发送给服务端进行处理。(4)同样,类似密码的修改,客户端也必须根据服务器发回的修改网名的反馈信息做出对应的提示。,8,8.2 需求分析,3. 好友的添加模块:(1)当用户要与另一用户进行信息交流是,就必须与他建立好友关系,所以,添加好友是非常重要的一块,在客户端必须实现,系统获取要添加好友的帐号,发送给服务端,服务端将两个号码存入好友对表中。(2)根据服务器的反馈信息,若成功则接受服务器发过来的好友基本信息并显示,若失败则做出

7、提示。(3)能接受其他好友发过来的好友添加请求信息,给出选择,发送给服务端你的选择信息。,9,8.2 需求分析,4. 好友的删除模块:(1)当一用户与其中一好友不需他们的 好友关系是,就必须要删除好友关系,客户端获取被删除者帐号,发送服务断进行删除处理。(2)能接受其他好友发送过来的好友删除信息,做出提示。5. 帐号之间的聊天模块:(1)聊天是该软件的重要功能,为了对不健康内容传播的抑制,客户端系统必须获取聊天信息和发送对象给服务器转发。(2)得到服务器转发过来的聊天信息,即其他好友发送过来的消息,显示并存入数据库。,10,8.3概要设计,8.3.1 系统层次概况,11,8.3概要设计,8.3

8、.2 系统的数据流图,12,8.3概要设计,8.3.2 系统的数据流图,13,8.4 数据库的设计,8.4.1 数据库的E-R图服务器端E-R图,14,8.4 数据库的设计,客户端E-R图,15,8.4 数据库的设计,8.4.2 数据库的结构在数据处理中用数据模型描述客观世界中的事物及其联系,把描述每一实体的数据称为记录,把描述属性的数据叫做数据项或字段。把这些记录放在一起就构成一张二维表,表中每一行叫做一个记录或元组,而每一个纵列叫做一个属性。不同的数据有不同的属性。数据库存储该系统正常运行所需要的信息,根据所要达到的数据库要求和概要设计中设计出的E-R图的结构,得出服务器端和客户端的所有数

9、据表的结构 8.4.3 项目类的结构声明,16,8.5 详细设计,8.5.1 服务器模块设计思想:在服务器端用一线程接受所有从客户端发过来的信息,并对这些信息进行分解,分解成消息头和消息体,系统根据消息头判断消息属于何种消息,在根据消息的类型做不同的处理。处理之后,又将处理结果加上相应的消息头,通过DatagramSocket 发送对应的IP.功能描述:服务器主要用来响应客户端的要求,和对用户的使用情况进行统计观察,所以它必须在后台能处理用户发过来的请求,包括密码校验,好友添加、删除申请,密码、网名修改,聊天信息转发等,前台则能显示用户的使用情况,并对这情况进行统计,还必须有对聊天信息进行监控

10、的窗口。,17,8.5 详细设计,8.5.2 客户登录模块设计思想:两个文本框用来接受用户输入的帐号和密码,系统屏蔽掉一些错误输入后,将获取的登录信息和本地IP地址加上对应的消息头,封装后发送给服务器进行校验,并建立一线程,用无限循环来获取服务器发过来的数据,在根据数据的体来判断登录是否成功,或者是帐号密码错误,或者是已经在别出登录。提出相应提示。功能描述:在此登陆模块中,系统要获取用户输入的帐号密码信息,将其发送到服务端进行校验,并接受服务器发回的验证结果进行分析,根据不同类型的反馈信息做出不同的处理。包括显示帐号密码输入错误,帐号已经在线和调出聊天的主窗口等。,18,8.5 详细设计,3.

11、4.6 客户端聊天模块设计思想:本模块是该系统中最重要的一块,在大的文本框中显示与该好友聊天的聊天记录,所以在窗体生成是要从数据库中读取数据。按一定的格式显示在这JTextArea中。发送消息的窗口也是Java中的控件JTextArea,点击按钮发送之后,系统读取发送消息的窗口里面的信息,组合后发送给服务端,让服务段对这信息进行转发。而在本地则存入数据库,并显示在消息列表中。 功能描述:在这个窗体里面,即能发送聊天信息,也能显示聊天记录,并将聊天内容存入临时数据库。在两文本框之间的标签中显示的是聊天的对象,是用户单击主窗体上的列表框,根据单击内容得出并传过来的。,19,8.6 系统测试,软件测

12、试就是在软件投入运行前,对软件需求分析、设计规格说明书和编码的最终复审,是软件质量保证的关键步骤。测试的目的在于寻找错误,尽量找出系统中所有隐藏的错误。程序的开发者应避免检测自己的程序,如果由别人来测试程序员编写的程序,会更客观,更有效,并更容易取得成功。软件测试并不等于程序测试,软件检测是应贯穿于软件定义与开发的整个器件。因此,需求分析、概要设计、详细设计以及程序编码等各个阶段所得到的文档,包括需求分析、概要设计说明、详细设计规格说明以及源程序都应成为软件检测的对象。,20,8.5 详细设计,8.6 系统测试软件测试就是在软件投入运行前,对软件需求分析、设计规格说明书和编码的最终复审,是软件质量保证的关键步骤。测试的目的在于寻找错误,尽量找出系统中所有隐藏的错误。程序的开发者应避免检测自己的程序,如果由别人来测试程序员编写的程序,会更客观,更有效,并更容易取得成功。软件测试并不等于程序测试,软件检测是应贯穿于软件定义与开发的整个器件。因此,需求分析、概要设计、详细设计以及程序编码等各个阶段所得到的文档,包括需求分析、概要设计说明、详细设计规格说明以及源程序都应成为软件检测的对象。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 社科论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报