ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:27.64KB ,
资源ID:8525816      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8525816.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版手机聊天室设计与开发说明书毕业设计论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整版手机聊天室设计与开发说明书毕业设计论文.docx

1、完整版手机聊天室设计与开发说明书毕业设计论文优秀论文 审核通过未经允许 切勿外传毕业设计说明书手机聊天室设计与开发学生姓名: 学号: 学 院: 专 业: 指导教师: 2011年 6 月手机聊天室设计与开发摘 要网络聊天室是一种应用广泛网络聊天方式,操作简单,功能丰富,是教学和学习面向对象的编程思想的理想项目。可以使用多种编程语言设计和开发出功能完善的网络聊天室。本毕业设计论文介绍用JAVA语言设计和实现一个手机网络聊天室的过程,本系统采用CS架构设计,整个项目分为服务器端和客户端。使用了最新的Java 2标准Swing组件,开发出简洁美观和布局合理的用户和服务器界面;利用Socket网络开发技

2、术实现客户端和服务器端的连接访问,实现网络功能;通过对数据流操作的合理设计,实现信息传递、接受和数据保存。同时,采用多线程、多任务的设计思想,开发出性能稳定,功能全面的服务器。完整的实现系统的功能。通过本次毕业设计可以学到如何应用和实现面向对象的各种方法,如何使用Eclipse集成开发环境来创建和开发项目,从而完成系统的完整开发。关键词:聊天室;Java;应用程序;Swing组件;Socket技术Design and development of mobile chat roomsAbstractThe network chat room is a kind of applied extens

3、ive network chat method, operate in ease and the function is abundant, It can be used as a good case for learning of java design language and the Object-Oriented Programming language, There is many programming language of design to develop a network chat room with perfect function.This graduation th

4、esis of design introduction and carry out network chat room, The system adoption the C S structure design, the whole system is divided into the server and client .Used standard modules of Swing of latest Java2, develop a simple and direct beauty user interface ,We make use of the Socket technology t

5、o interconnect the server and client by net-work ;organize the data by good design of data stream to sent or accept the message between users and to record the message for ever; we also use the multi-thread multi-action to make the program with many function.I ;swing component;socket目 录1 引言 52 需求分析

6、521 编写目的 522 研究背景 523 定义 624 任务概述 62.4.1 开发目标 62.4.2 应用目标 625 功能需求 72.5.1 功能描述 726 相关需求 72.6.1 硬件接口 72.6.2 软件接口 827 质量性能需求 82.7.1 容错性需求 82.7.2 稳定性需求 82.7.3软件设计可靠性 82.7.4安全性 92.7.5 扩展性 92.7.6 易用性 93 概要设计 93.1 编写目的 93.2 定义 93.3 总体设计 103.4主要模块描述及流程图 103.4.1模块描述 103.4.2主流程图 124 详细设计 124.1 编写目的 124.2 聊天室

7、服务器端设置 134.2.1 ServerSocketConnection接口的使用 134.3 聊天室客户端设置 144.3.1 SocketConnection接口的使用 145 编码打包 156 系统测试 156.1 测试举例 156.1.1 测试程序登陆界面 156.1.2 测试程序主界面 156.1.3 测试程序退出 166.2 测试项目 166.2.1 单元测试 166.2.2 组合测试 176.2.3 确认测试 176.2.4 系统测试 176.2.5 用户验收测试 176.3 测试方法 187 缺陷与完善 187.1 软件存在的问题 187.2 界面变得更加美观 188 结 论

8、 19参 考 文 献 20致 谢 211 引言手机及其他无线设备在给人们带来便利的同时,自身的一些缺陷也影响了其发展:出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。Sun 公司倡导的J2ME 技术,在通信、娱乐等应用上产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。随着J2ME 技术的不断发展,它获得了手机制造商越来越广泛的支持。利用J2ME 平台可以为手机提供很好的扩展选择。J2ME 为Java 技术的一部分,是专门为移动设备设计的Java 平台,其应用程序可以运行在不同制造商的不同设备

9、上,充分体现了Sun 公司倡导的“一次编写,随处运行”的理念。它以其不断发展的技术优势获得了手机制造商越来越广泛的支持。J2ME 平台被认为是当前移动开发领域中最杰出的手机程序开发平台之一,它已被开发者、设备制造商、网络通信公司和消费者广泛接受。针对现有手机短信业务存在的无法提供多人之间交流的不足,本文利用J2ME 提供的聊天通信功能,开发一套简单的手机网络聊天系统,实现多人聊天功能。2 需求分析21 编写目的明确用户对手机聊天室的功能需求和性能需求,并将这些需求用规范化的语言和规范化的结构完整、准确地表达清楚,以此统一软件开发者和用户对该软件的理解和认识,并使用户了解工作流程。需求分析是整个

10、软件开发的依据,它对以后阶段的工作起指导作用。本章也是项目完成后系统验收的依据。22 研究背景随着手机的日益普及,短信业务的一些缺点也日益显现:(1)不能实现一条短信发送到多个不同号码(一些手机上的群发功能只是将短信反复发送,实际仍需反复计费)。(2)短信长度限制(一般为70 个汉字或140 个字母)限制了用户的使用。本文针对上述短信业务的不足,利用手机能够方便接入无线网络的优势,设计了一套手机聊天系统。这套系统通过GPRS 网络发送信息(信息无长度限制),然后由服务器对消息进行转发(不再对发送方产生费用),实现了多人之间较为便捷的交流。23 定义需求:用户解决问题或达到目标所需的条件或功能;

11、系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。24 任务概述2.4.1 开发目标手机网络聊天室是一项应用广泛,并且实用性强的一个应用,虽然其功能简单,但是在其开发技术和过程中,能够充分学习和使用J2ME的技术,要求实现一个手机收发消息的应用软件,该软件采用J2ME技术实现软件的流程控制、逻辑处理和记录存储等功能。基本功能包括:服务器端开发,客户端开发,尽量添加一些辅助性的功能以使功能更完美。使用 Swing组件技术,实现网络的功能使用 SocketServer Socket 技术,实现数据的保存使用JDBC数据库连接和操作技术,并且在开发过程当中,能充分的使用和体

12、会面向对象技术的原理和方法。 所以该项目可以使自己在JAVA技术方面得到全面应用,使自己项目开发能力的一个很好体现。2.4.2 应用目标应用目标:实现一个手机收发消息的应用软件,该软件采用J2ME技术实现软件的流程控制、逻辑处理和记录存储等功能。25 功能需求2.5.1 功能描述基于J2ME 的手机客户端程序支持建立网络连接、传送请求和远程访问服务器,是直接与用户交互的平台。而服务器端用于接收客户端的请求,执行与数据库的通信,并完成后台逻辑的运算,最后将处理结果返回给手机客户端。本系统是java基于cs模式的聊天室程序。聊天室共分为服务器端和客户端两个部分,服务器端程序主要负责侦听客户端发来的

13、消息,客户端需要登录到服务器端才能实现正常的聊天功能。(1)服务器端的主要功能有:a.在特定端口上进行侦听,等待客户端连接。b.用户可以配置服务器的侦听端口,默认是8888。c.可以向已经连接的客户端发送体统消息。d.统计在线人数。e.停止服务时,断开所有的用户连接。(2)客户端的主要功能有:a.连接到已经开启聊天服务的服务端。b.用户可以配置要连接的服务器IP地址和端口号。c.用户可以配置连接后的用户名。d.服务器开启时,用户可以随时登录与注消。c.用户可以想所有的人或者指定的个人发送消息。26 相关需求2.6.1 硬件接口不需要特定的硬件或硬件接口进行支撑。2.6.2 软件接口开发环境:w

14、indows(XPvistawin7)+Eclipse+EclipseMe+WTK开发语言:javaCLDC: 1.0MIDP: 1.0应用程序类型:jar打包文件27 质量性能需求2.7.1 容错性需求当出现代码异常时,出现正确的提示,不会影响整个系统的运行。用户之间信息传输不会因为数据封装问题出现丢失或乱码。因用户的误操作产生的异常应做出及时的处理或信息提示。2.7.2 稳定性需求软件应正常完成所有功能需求。服务器端应长时间运行无故障,故障修复时间一般控制在3小时内,除非出现恶性攻击、病毒破坏、系统资源不足、硬件故障、操作系统或数据库系统崩溃网络中断等情况,要求系统连续运行一周,不允许出现

15、内存泄露。要求系统可以承受告警风暴和大数据量的冲击,不出现内存溢出等现象。2.7.3软件设计可靠性要确定合适的模块粒度,各模块之间要求松耦合,高内聚;从而使整个系统的可靠性和稳定性得到提高,并且便于系统维护,和新模块的添加。2.7.4安全性安全性是防止网络方面的攻击。2.7.5 扩展性系统建成后,应在现行系统上不需要做大的改动或不影响整个系统结构,就可以增加功能模块,这就必须在系统设计时留有接口,使其具有可扩展性和维护性。2.7.6 易用性系统操作的界面必须简洁、操作方便易用、设计合理。3 概要设计3.1 编写目的从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据

16、结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描述出软件的概貌。本概要设计说明书的目的就是进一步细化软件阶段得出的软件的总体概貌,把它加工成灾程序细节上非常接近源程序的软件表示。该阶段目的在于明确网络聊天室系统的数据结构和软件总体结构,各个软件模块的功能说明,数据结构的细节,系统运行配置与应用方式以及使用的关键技术。3.2 定义概要设计:是把需求分析得到的DFD转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、

17、以及数据库的设计。3.3 总体设计Socket通信是网络通信的基本方式之一,通常由服务器端和客户端两部分组成。服务器端Socket首先要处于等待连接的监听状态,实时监控指定端口,等待客户端Socket连接服务器端的Socket,连接时需要指定服务器的地址和连接端口。当服务器端Socket监听到或者接收到客户端Socket的连接请求时,就对客户端Socket的请求进行响应,建立一个新的线程,并把服务器端Socket的描述发给客户端,这样就建立了一个Socket连接。连接建立后,通过输入或者输出流发送或接收数据,而服务器端的Socket继续处于监听状态,等待其他客户端的连接。在数据传输完毕后,客户

18、端会断开连接,这样一个完整的数据传输过程就完成了。基本Socket的数据传输的基本步骤:1. 服务器端打开并监听接口;2. 客户端进行连接;3. 连接确认并打开输入输出流;4. 传输数据;5. 关闭连接。MIDP中提供了SocketConnection和ServerSocketConnection接口用来实现对Socket通信的支持,其中SocketConnection用于实现客户端的Socket连接,ServerSocketConnection用于服务器端的Socket连接。3.4主要模块描述及流程图3.4.1模块描述本手机聊天室系统分为服务端和聊天室客户端,服务端与客户端之间通过套接口So

19、cket(TCP)连接。在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类.Socket.,使得编写网络应用程序相对容易服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并通过创建一个ServerSocket对象来监听来自客户的连接请求,默认IP地址为:127.0.0.1默认端口为8888。(1)聊天室服务端模块图:端口服务:输入要侦听的端口,默认为8888;启动服务:启动服务器,并开始在设置的端口中侦听,客户端用户可以登录并开始聊天;停止服务:关闭服务器,侦听结束。客户端用户不能再聊天;发送系统消息:服务器端给所有人或者个别用户发送消息。消息显示:

20、可以显示所有用户的聊天记录,和上线、下线信息。退出服务器:退出程序,并停止服务;(2)聊天室客户端模块图:用户设置:用户可以设置自己的用户名进行聊天;连接设置:用户可以设置自己的服务器的IP地址和端口号,默认的连接地址为:127.0.0.1:8888;用户登录:只能在聊天室服务端已开启的情况下,用户才能登录,用户登录之后才能开始聊天,登录后不能再修改用户设置和连接设置;用户注销:退出聊天,可以继续修改用户设置和连接设置;发送和接收聊天信息:用户可以给所有人或者个别用户发送信息,并能看到其他用户发送给自己或所有人的消息;退出:关闭所有聊天并退出客户端。3.4.2主流程图 设置侦听端口 默认端口:

21、8888 设置用户名 默认连接地址或用户名 设置IP地址和端口4 详细设计4.1 编写目的详细设计说明书是对系统架构进行详细直观描述,从而完成详细设计,是软件实现的基础。此文档主要是说明手机电话薄的功能范围,各个层次中的每个程序(每个模块或子程序)的设计考虑,为程序员编写程序提供依据,可以有针对性的进行系统开发、测试、验收等各方面的工作。4.2 聊天室服务器端设置4.2.1 ServerSocketConnection接口的使用ServerSocketConnection接口实现了对服务器端Socket连接的支持,客户端的Socket可以连接由ServerSocketConnection创建的

22、服务器Socket连接。使用Connector类的open(String url)方法返回一个ServerSocketConnection,其中参数与创建ServerSocketConnection时的参数基本一样,只是不需要指定主机地址。获取IP地址和端口号的方法:getLocalAddress()返回本地的IP号;getLocalPort9()返回本地的端口号.服务器端程序处于等待状态,一直到接收到客户端的Socket连接请求,然后创建Socket连接并返回表示该连接的SocketConnection实例。建立服务器端Socket的代码基本结构如下:获取服务器端的SocketServerS

23、ocketConnectionServer=( ServerSocketConnection)Connector.open(“socket:1080”)等待连接SocketConnection sc=(SocketConnection)server.acceptAndOpen();设置服务器端Socket属性Server.setSocketOption(SocketConnection.RCVBUF,128);Server.setSocketOption(SocketConnection.SNDBUF,128);得到Socket对象的输入流,用于读取数据InputStream is=serve

24、r.openInputStream();得到Socket对象的输出流,用于发送数据OutputStream os=server.openOutputStream();4.3 聊天室客户端设置4.3.1 SocketConnection接口的使用SocketConnection接口实现了对客户端Socket连接的支持,是使用Connector类的open(String url)方法,但返回的是SocketConnection,其中参数url的基本格式为:socket:()方法设置连接选项:public void setSocketOption(byte option,int value)建立客户

25、端Socket的代码基本结构如下:获得客户端的SocketSocketConnectionsc=( SocketConnection)Connector.open(“socket:localhost:1080”);设置客户端Socket属性sc.setSocketOption(SocketConnection.LINGER,6);得到Socket对象的输入流,用于读取数据InputStream is=server.openInputStream();得到Socket对象的输出流,用于发送数据OutputStream os=server.openOutputStream();5 编码打包先设置.

26、jad文件夹里面的参数,Required中的参数一般都设计为最低,以配合真机更好的运用,在Midlets中添加上游戏的名字以及对应主函数名。然后在工程右键J2MECreate Package就可以完成打包了,打完的包会存在工程目录下的deployed中。然后发到支持Java的手机就可以了。6 系统测试为了确保本系统能够正常运行,需要在发布之后做一次较全面的测试。现将具体操作及过程举例说明如下:6.1 测试举例6.1.1 测试程序登陆界面打开程序后,首先出现的是登录页面,在设置好网络IP和端口号之后,输入用户名和密码,如果连接服务器成功则提示用户输入的用户名和密码是否正确,否则提示连接不到服务器

27、,并提示正确设置服务器IP和服务端口。其中端口号只能设置1024之后的端口号,前面的地址为服务器作为保留地址用,否则程序会提示错误。6.1.2 测试程序主界面进入主界面后,主页面会显示在线用户列表区、信息显示区、功能设置区、信息发送区、功能按钮区。用户可以在用户列表中看到目前在线的其他用户,并在信息显示区内看到系统提示。用户可以在信息发送区内输入自己的发送内容,在主界面的显示区中可以不断的查看到其他用户发送过来的信息,并可以通过点击查看记录按钮查看保存的聊天记录。6.1.3 测试程序退出当单击退出按钮或窗体的关闭时,用户将发送退出信息,离开聊天室,其他用户可以得到系统提示用户下线并刷新用户列表

28、。当服务器出线异常或关闭时,客户端将提示服务中断并退出系统。6.2 测试项目由于实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,不经周密测试的系统投入运行,将会造成难以想象的后果,因此系统测试是软件开发过程中为保证软件质量必须进行的工作。大量统计资料表明,系统测试的工作量往往占软件开发总工作量的30%以上。因此,我们必须重视测试工作。由于程序中隐藏的缺陷只在特定的环境下才有可靠显露,系统缺陷通常是由于对某些特定情况考虑不周造成的。因此测试不是为了表明程序正确;成功的测试也不是没有发现错误的测试。有意义的软件测试应该是从“破坏”软件系统的角度出发,精心设计最有可以暴露程序

29、系统缺陷的测试方案。因此软件测试的目标应该是以尽可能少的代价和时间找出软件系统中潜在的错误和缺陷。从产品角度看,测试计划中的测试项目包括软件结构中的分系统层、子系统层、功能模块层、程序模块层中的各类模块,从测试本身看,分为单元测试,组合测试,确认测试等。测试对象是随不同阶段而异的,最基本、最初的测试是单元测试,后面的组合测试、确认测试都是以被测过的模块作为测试对象的。6.2.1 单元测试单元测试也称模块测试或程序测试,单元测试是对每个模块单独进行的,验证模块接口与设计说明书是否一致,对模块的所有主要处理路径进行测试且与预期的结构进行对照,还要对所有错误处理路径进行测试。对源码进行审查,对照设计

30、说明书,表态地检查源程序是否符合功能的逻辑要求,是进行单元测试前的重要工作工。单元测试一般是由程序员完成,也称程序调试。6.2.2 组合测试组合测试也称集成测试或子系统测试,通常采用自顶向下测试和自底向上测试两种测试方法。组合测试的对象是指已经通过单元测试的模块,不是对零散模块进行单个测试,而是用系统化的方法装配和测试软件系统,是一个严格的过程,必须认真地进行,其计划的产生和单元模块测试的完成日期要协调起来,这种测试应在系统目标机上进行,造成系统应用的环境条件,除了开发部分项目负责人参加以外,还应该有相应系统的用户参加,给评审员进行演示。6.2.3 确认测试确认测试是对通过组合测试的软件进行的

31、,这些软件已经存于系统目标设备的介质上,确认测试的目的是表明软件是可以工作的,并且符合“软件需求说明书”中规定的全部功能和性能要求。确认测试是按照这些要求定出的“确认测试计划”进行的。测试工作是由一个独立的组织进行,而且测试要从用户的角度出发。6.2.4 系统测试系统测试是对整体性能的测试,主要解决各子系统之间的数据通信和数据共享问题以及检测系统是否达到用户的实际要求,系统测试的依据是系统分析报告。系统测试应在系统的整个范围内进行,这种测试不只对软件进行,而是对构成系统的硬、软件一起进行。系统测试与建构同时进行或略慢。系统测试需要确认从头到尾的功能正常才算完成,应当尽量避免系统测试延到项目末尾进行。6.2.5 用户验收测试在系统测试完成后,进行用户的验收测试,它是用户在实际应用环境中所进行的真实数据测试。在具体的测试中,一般应遵循以下原则:由程序设计者之外的人进行测试;测试用例应由两部分组成:输入数据和预期输出结果;应选用不合理的输入数据与非法输入测试;不仅要检验程序是否实现预期功能,还应检查程序是否做了不应该做的工作;集中测试容易出

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1