基于J2ME移动终端的软件设计.doc_第1页
基于J2ME移动终端的软件设计.doc_第2页
基于J2ME移动终端的软件设计.doc_第3页
基于J2ME移动终端的软件设计.doc_第4页
基于J2ME移动终端的软件设计.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

编号:( )字 号本科生毕业设计(论文)基于J2ME的移动终端开发张溧溧 08083500计算机科学与技术2008-6班题目: 姓名: 学号: 班级: 二一二年六月中 国 矿 业 大 学本科生毕业设计姓 名: 张溧溧 学 号: 08083500 学 院: 计算机科学与技术学院 专 业: 计算机科学与技术专业 设计题目: 基于J2ME的移动终端软件开发 专 题: 指导教师: 张艳群 职 称: 副教授 2012 年 6 月 徐州中国矿业大学毕业设计任务书学院 计算机科学与技术学院 专业年级 计算机科学与技术2008-6班 学生姓名 张溧溧 任务下达日期:2012 年 1 月 25日毕业设计日期: 2012 年 3月 1日 至 2012 年 6 月 15 日毕业设计题目: 基于J2ME的移动终端软件开发毕业设计专题题目:毕业设计主要内容和要求:本系统的主要任务是设计开发一个基于J2ME的移动终端软件,具体的就是实现一个基于J2ME的聊天室移动终端软件。其主要内容包括:掌握基于J2ME开发所需要的各项技术,包括开发环境的搭建,软件界面的设计,事件的响应,服务器端的合理设计知识等。应提交的具体成果要求:设计并实现一个基于J2ME平台的正常运行的聊天室终端软件,该软件具有昵称登录,查看联系人具体信息,私聊,信息提醒,查看在线联系人和聊天时的休闲小游戏功能。一个正常实现具体功能的响应客户端请求的服务器端软件,该软件具有正常响应客户端请求包括查看在线联系人,对在线的联系人信息存储,多线程处理客户端发送的消息等功能。院长签字: 指导教师签字:中国矿业大学毕业设计指导教师评阅书指导教师评语(基础理论及基本技能的掌握;独立解决实际问题的能力;研究内容的理论依据和技术方法;取得的主要成果及创新点;工作态度及工作量;总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 指导教师签字: 年 月 日中国矿业大学毕业设计评阅教师评阅书评阅教师评语(选题的意义;基础理论及基本技能的掌握;综合运用所学知识解决实际问题的能力;工作量的大小;取得的主要成果及创新点;写作的规范程度;总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 评阅教师签字:年 月 日中国矿业大学毕业设计答辩及综合成绩答 辩 情 况提 出 问 题回 答 问 题正 确基本正确有一般性错误有原则性错误没有回答答辩委员会评语及建议成绩:答辩委员会主任签字: 年 月 日学院领导小组综合评定成绩:学院领导小组负责人: 年 月 日摘 要本毕业设计论文介绍用JAVA语言设计和实现一个网络聊天室的过程,本系统采用C/S架构设计,整个项目分为服务器端和客户端。使用了最新的Java 2标准Swing组件,开发出简洁美观和布局合理的用户和服务器界面;利用Socket网络开发技术实现客户端和服务器端的连接访问,实现网络功能;通过对数据流操作的合理设计,实现信息传递、接受和数据保存。同时,采用多线程、多任务的设计思想,开发出性能稳定,功能全面的服务器。完整的实现系统的功能。整个系统实现了简单登录公共聊天室,以及聊天室在线用户的简单聊天,信息的即时送达和信息的提醒,并且可以在等待消息的间歇玩休闲小游戏等功能。在开发环境上使用了Eclipse,EclipseME和Java语言进行软件的开发。 通过本次毕业设计可以学到如何应用和实现面向对象的各种方法,如何使用Eclipse集成开发环境来创建和开发项目,从而完成系统的完整开发。关键词:聊天室;Java;J2ME应用程序;Socket技术AbstractThis graduation project paper introduces JAVA language design and process of an Internet chat room, the system uses C / S architecture, the entire project is divided into server and client. Using the latest Java 2 Standard Swing components to develop a simple and beautiful and the layout of the user and server interfaces; Socket web development technology to achieve the client and server-side connection to access network functions; rational design through operation of the data stream information delivery, acceptance and data retention. At the same time, the use of multi-threaded, multi-task design ideas to develop a stable performance, full-featured server. Complete function of the system.The entire system to achieve a simple log on public chat rooms, chat rooms, online users a simple chat, instant delivery of information and information reminders, and waiting for news of intermittent play casual games. Eclipse, EclipseME, the Java language development environment for software development. The graduation project can learn how to apply object-oriented method, and how to use the Eclipse integrated development environment for creating and developing the project, thus completing the full development of the system.Keyword: chat;Java;application;socket目 录1 绪论11.1基于J2ME移动终端软件的开发现状及研究意义11.2开发工具介绍21.3本文内容和安排42 可行性研究62.1解决该问题的方法和途径62.2系统可行性研究63 需求分析83.1功能模块化83.2数据流图94 系统概要设计124.1目的124.2运行环境124.3系统功能概述124.4 功能设计135 详细设计165.1客户端注册登录165.2私聊185.3拼图小游戏225.4功能逻辑实现24结 论26参考文献27翻译部分28英文原文28中文译文39致 谢42 中国矿业大学2012届本科生毕业设计(论文) 第41页1 绪论1.1基于J2ME移动终端软件的开发现状及研究意义基于J2ME移动终端的开发现状,目前移动设备越来越先进,手机及其他无线设备在给人们带来便利的同时,自身的一些缺陷也影响了其发展:出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。Sun 公司倡导的 J2ME 技术,在通信、娱乐等应用上产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。随着 J2ME 技术的不断发展,它获得了手机制造商越来越广泛的支持。利用 J2ME 平台可以为手机提供很好的扩展选择。 J2ME 为 Java 技术的一部分,是专门为移动设备设计的Java 平台, 其应用程序可以运行在不同制造商的不同设备上,充分体现了 Sun 公司倡导的“一次编写,随处运行”的理念。它以其不断发展的技术优势获得了手机制造商越来越广泛的支持。J2ME 平台被认为是当前移动开发领域中最杰出的手机程序开发平台之一,它已被开发者、设备制造商、网络通信公司和消费者广泛接受。 针对现有手机短信业务存在的无法免费交流的不足,本文利用 J2ME 提供的网络通信功能(GPRS),开发一套多人手机聊天系统,实现多人聊天功能。随着科技的不断发展,手机成了人们的必备设备,在通信,聊天中占据了很大的地位,虽然说短信也是通信常用的,但是花费很多的钱,因为短信发送并不是免费的,而手机QQ虽然说也很便利,要以花费流量为代价,并且现在QQ功能比较强大,许多人喜欢隐身根本就不知道对方是不是在线,基于J2ME的聊天室是一个只要登录就可以看到对方的聊天工具,虽然说现在功能还不是很强大,但是对于人们及时聊天是一个很好的工具。我们对于电脑软件已经熟知,所以如果以这个标准来衡量手机游戏,那么手机在某种程度上可以看作是小型的计算机,它的处理能力与台式电脑的标准处理能力相比虽然很有限,但是已经能够运行一些小型的游戏。现在全世界手机用户很多,甚至已经超过电脑的普及率,并且手机更新换代的速度绝不比电脑差多少。所以手机游戏已经具有了它成长的基础,这个基础要比当年的电脑游戏稳固得多。最早的手机软件只能看作是一种增值服务,并不具备形成一种产业的规模。这也是一般手机用户对于手机游戏的印象,所以很多人在买手机时,并不是很看重手机的游戏功能。例如:诺基亚手机的贪吃蛇就是在手机出厂前固化在芯片中,而且用户不能再自己安装新的游戏,所以手机游戏被看成某款手机的特殊功能也就不足为奇了。随着技术对软件经验的促进,软件市场持续增长。商业IT革命为我们节省了时间和金钱,从而提高了我们的工作水平,我们因此花费更多的时间和金钱在手机软件上,来改善生活的整体质量。甚至在当今困难的经济时代,手机软件仍保持快速增长,它仍然是盈利行业的组成部分。Java开发者应该注意到这里蕴藏着的巨大的商机。在全球数字娱乐的快速发展浪潮中,中国的手机软件产业正以其惊人的井喷式发展速度前进,牢牢吸引住了世界目光。当前移动终端研究中存在一些关键性问题,移动终端的软件开发研究就是其中之一。移动终端这种通讯方式要求移动信息设备必须能够有效地呈现聊天内容,并提供聊天者之间的双向交流。这就需要给移动设备设计出界面友好人性化的通讯终端应用软件,为移动聊天提供有效的交流平台。然而,移动信息设备多种多样,日新月异。不同的设备性能不同,不同生产厂家所涉及的技术、开发平台不同,这给移动信息设备的程序开发带来很大困难。Sun公司推出的J2ME(java 2 Micro Edition)跨平台技术正好为这种情况提供了一种较好的解决方案。J2ME技术在无线应用中具有自己独特的优势,“编写一次,到处运行”的跨平台性特点,使得它可以在任何地点、任何时间、任何设备上运行,这是任何其他技术无法比拟的。本研究的重点放在基于J2ME技术的移动学习终端软件的设计及其实现这个问题上,克服了基于短信息和wAP技术的移动学习系统缺乏交互性、信息表现方式单调、响应方式不灵活等缺陷,给用户提供友好人性化的界面、灵活的交互方式。这款软件可以及时的供人们和想聊天的人聊天,不用担心对方是否隐身,因为它没有设置隐身这个功能,虽然说和别的聊天工具有一些差距,但是还是能满足人们对于聊天这个需求。随着人们信息沟通方式的改变,各种信息的传送方式已经不能够满足现代人要求的快速,准确,私密的通讯要求,人们之间的传统沟通方式仍旧是成本过高,联系不够及时;而在现在互联网技术快速发展的现在社会,急需要一种可以简单实现的低成本的即时聊天软件以便于现代社会人们的即时沟通同时这种的聊天软件又必须要求极低的硬件成本以使大多数的人可以参与进来。为了解决上述的这些问题,开发了这款基于J2ME的具有针对性、实际意义的聊天室即时聊天软件,在实际上满足了人们急需要快速,便捷,低成本沟通的需求。1.2开发工具介绍该系统采用的是Eclipse的开发环境,WTK模拟器,EclipseME插件。1.2.1Eclipse简介Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于 Eclipse 的应用程序的一个突出例子是 IBM Rational Software Architect,它构成了 IBM Java 开发工具系列的基础。从2006年起,Eclipse基金会每年都会安排同步发布(simultaneous release)。至今,同步发布主要在6月进行,并且会在接下来的9月及2月释放出SR1及SR2版本。1.2.2 J2ME简介随着移动通信的突飞猛进,移动开发这个新鲜的字眼慢慢成为开发者关注的热点。在CSDN的最近一份调查显示,有24.34%的受访者涉足嵌入式/移动设备应用开发,这个数字可能略高于实际的比例,但也足可说明嵌入式/移动设备应用开发是一块诱人的新鲜奶酪。J2ME(Java 2 Micro Edition)是嵌入式/移动应用平台的王者,Linux和WinCE分列二、三位。Nokia等厂商力推的Symbian平台目前开发者占有率尚未达到满意水平,考虑到调查项合并了嵌入式设备(例如PDA)和移动设备(例如智能手机),Symbian、WinCE系列在移动平台上会是竞争的主要两方。如果厂商能在标准实现上做得更加规范,则J2ME的跨平台特性会发挥得更加淋漓尽致,继续保有王者地位。J2ME是SUN公司针对嵌入式、消费类电子产品推出的开发平台,与J2SE和J2EE共同组成Java技术的三个重要的分支。J2ME实际上是一系列规范的集合,由JCP组织制定相关的Java Specification Request(JSR)并发布,各个厂商会按照规范在自己的产品上进行实现,但是必须要通过TCK测试,这样确保兼容性。比如MIDP2.0规范就是在JSR118中制定的。可能接触过J2ME的开发者会觉得说J2ME是一系列的规范不准确吧。因为我们在开发中用到了很多例如CLDC(Connected Limited Devices Configuration)和MIDP(Mobile Information Devices Profile)等内容。J2ME平台是由配置(Configuration)和简表(Profile)构成的。配置是提供给最大范围设备使用的最小类库集合,在配置中同时包含Java虚拟机。简表是针对一系列设备提供的开发包集合。在J2ME中还有一个重要的概念是可选包(Optional Package),它是针对特定设备提供的类库,比如某些设备是支持蓝牙的,针对此功能J2ME中制定了JSR82(Bluetooth API)提供了对蓝牙的支持。J2ME中有两个最主要的配置,分别是Connected Limited Devices Configuration(CLDC)和Connected Devices Configuration(CDC)。他们是根据设备的硬件性能进行区分的,例如处理器、内存容量等。由于这个标准是在2001年的时候指定的,而现在移动终端的处理能力和内存容量发展很快,如果还按照这个标准来评判可能就不准确了。 因此我们只是列出标准,供读者参考。本教程将主要讲解基于 CLDC的J2ME平台的相关内容。随着技术和硬件设备的不断发展,J2ME开发网将逐步推出基于CDC的J2ME平台介绍。J2ME(Java Platform,Micro Edition),是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API。它和Java SE、Java EE一起构成Java技术的三大版本,并且同样是通过JCP(Java Community Process)制订的。Java ME(Java 2 Micro Edition)是Java 2的一个组成部分,它与J2SE、J2EE并称。根据Sun的定义:Java ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。JAVA ME技术在1999年的JavaOne Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。JAVA ME 先将所有的嵌入式装置大体上区分为两种 :一种是运算功能有限、电力供应也有限的嵌入式装置(比方说PDA 、手机);另外一种则是运算能力相对较佳、并且在电力供应上相对比较充足的嵌入式装置 (比方说冷气机、电冰箱、电视机顶盒 (set-top box)。因为这两种型态的嵌入式装置,所以Java 引入了一个叫做Configuration 的概念,然后把上述运算功能有限、电力有限的嵌入式装置定义在Connected Limited Device Configuration(CLDC)规格之中;而另外一种装置则规范为 Connected Device Configuration(CDC)规格。也就是说, JAVA ME 先把所有的嵌入式装置利用Configuration 的概念区隔成两种抽象的型态。与J2SE和J2EE相比,JAVA ME总体的的运行环境和目标更加多样化,但其中每一种产品的用途却更为单一,而且资源限制也更加严格。为了在达到标准化和兼容性的同时尽量满足不同方面的需求,JAVA ME的架构分为Configuration、Profile和Optional Packages(可选包)。它们的组合取舍形成了具体的运行环境。1.2.3 WTK简介WTK 的全称是Sun J2ME Wireless Toolkit Sun的无线开发工具包。这一工具包的设计目的是为了帮助开发人员简化j2me的开发过程。使用其中的工具可以开发与 Java Technology for the Wireless Industry (JTWI, JSR 185) 规范兼容的设备上运行的j2me 应用程序。该工具箱包含了完整的生成工具、实用程序以及设备仿真器。到本文写作时为止可以获取有四个版本,分别是1.0.4, 2.0, 2.1和2.2。每个版本都包括英语,日语,简体中文,繁体中文4个语种包。WTK是Sun提供的一个开发工具包。目前各大手机厂商往往把WTK经过自身的简化与改装,推出适合自身产品,如SonyEricsson,Nokia Developers suit等,都属于此种类型;而通过JBuilder, Eclipse等IDE,J2ME开发包工具可以被绑定在这些集成开发环境中,进一步提高开发效率。1.3本文内容和安排本文内容主要是介绍软件开发的一整个过程中软件开发的具体流程以及每个中间环节的具体实现是如何进行的,在具体实现软件目标可能存在多种方式的情况下进行如何的技术选取才更加有效率的实现软件系统的基本功能。本文主要讨论了进行实际的软件开发所必须的几个主要的环节以及其具体的实现以及相关专业技术进行了必要的描述和介绍,例如J2ME的介绍,Eclipse IDE的相关背景介绍,J2ME平台的发展介绍,WTK的相关介绍以及在具体实现软件的具体功能的时候调用或者是自定义的主要方法的功能和实现,具体的创造的类中实例域在这个类中的作用以及这个类中的实例域的访问属性的选取等,最后本文描述的是本篇论文所参考的国内外的文献以及相关技术的国外论文的翻译以便可以换一个视角来理解此次的毕业设计。本论文的主要安排:第一章是绪论,主要介绍一些关键性的概念问题,J2ME的介绍,发展背景,发展前途,以及J2ME平台在移动软件开发上与其他技术相比存在哪些的优势等,最后是关于Eclipse集成开发环境的介绍以及其背景和WTK的介绍。第二章是可行性研究,从社会可行性、经济可行性、技术可行性以及操作可行性方面进行阐述,主要是技术可行性的分析,如何选取自己比较熟悉的技术使软件系统得以实现同时最好保证比较好的软件的性能,同时不可忽略的是社会可行性,经济可行性,注意此次软件的开发不要与相关的法律相违背同时也不能把该软件系统停留在理论层面使其具有一定的实用性。第三章是需求分析,包括功能模块化和数据流图两方面,在软件的开发实现的过程中功能的模块化是必不可少的,模块化的软件开发思想不仅仅可以减轻软件开发人员在后期的软件维护的过程中的负担同时可以更加有效的模块重用,使软件的开发更加的具有灵活性,使软件的维护和开发的目标的更加的明确,也使软件开发的团队化得以实现,是的团队内部的沟通更加的有效。第四章是系统概要设计,包括运行环境以及功能的实现,解释了此次的软件开发过程中所需要的运行环境Java RuntimeEnvironment,WTK模拟器等,同时也描述了各个模块的所需要实现的具体功能体现了软件开发过程中的模块化设计的思想,在本章没有写出实现软件功能的所需要的具体类以及方法。第五章是详细设计和系统实现,主要介绍实现软件功能所需要的具体的方法并且对这个方法的参数和实现做简要的描述,并且对使用到的类做说明同时在软件的实现的过程中需要着重解释的代码进行了简短的必要的说明以此使别人可以更加清晰的理解代码和软件功能实现的具体原理。2 可行性研究2.1解决该问题的方法和途径热衷于互联网的用户是该软件的主要使用人员,作为J2ME聊天室软件,主要目的在于即时信息传达的准确度和及时性,增加学生工作的积极性;增进人们之间的交流,增进热门呢之间的交流和互动;能解决异地的在线交流。基于此,开发一套基于C/S结构的网络聊天室软件,并通过使用Socket通信技术实现不同人员、不同地点都可相互交流;相对易于把握,成本也低。通过服务器的访问,加之人们的信息传达,人们之间交流的渠道会更加的畅通,可以大大人们促进之间的交流,提高工作效率,使用网络化的现代通信技术,能够更加准确的传达信息,并逐步向网络化转变,从而成为以网络化为主的信息传达系统。2.2系统可行性研究2.2.1社会可行性随着网络技术的发展和计算机的普及,对于现代的人们来说,移动终端的上网已经不是一个奢侈的消费。移动互联网的应用越来越广泛,同时,人们需要越来越廉价的快速的便捷的交互方式,但是现在人们之间的沟通还是没有全面的实现网络化尤其是移动终端的网络化,仍是有绝大部分是通过短信电话这种的传统方式为主,但是基于移动互联网的沟通时未来交互的首要趋势,因为这种的交互方式能够摒除传统的交互方式带来的信息延误,交互成本较高,操作不够便捷等缺点同时能够提升人们交互的效率,便捷性,实时性。对于生活在互联网时代的人们来说,更应该适应时代的发展需求,运用计算机技术,结合现实的情况,开发出适合现代社会需要的基于J2ME的聊天室软件客户端和服务器端。2.2.2经济可行性高等院校就是一个为学生和教师提供了良好的学习和实践相结合的综合平台,有着良好的学习科研环境。学生在学校中开发设计系统,不仅有良好的环境有利于学习和实践,同时,更能得到比较有经验老师的指导,使学生能够做到在学习中实践,在实践中学习,实现真正的学习和实践相结合,通过量的积累,达到质的飞跃。此外,在这样的环境下开发移动客户端软件不论是在设备上、人员上来说,都大大地降低了开发成本,并能达到预期效果,是开发的系统能够不断进行完善,投入使用。开发基于J2ME的聊天室软件,能够增进学生之间的交流和互动,增进彼此的感情,同时也可提高工作效率,减少过多人力资源的浪费,降低成本,减少不必要的纸张浪费。此外,更能使学生和教师之间的沟通更为有效、及时,能够使学生及时的反馈信息,使教师能够随时了解学生的思想动态,情感生活,学习情况,能够及时的与学生交流,做到及时掌握,便于管理,达到事半功倍的效果,继而达到预期的经济效益。2.2.3技术可行性本系统采用的开发环境是EclipseEE,EclipseME插件,WTK模拟器。在高校中,能够提供这样一个学习和实践的环境,并且能够在遇到问题的情况下,得到相应的指导,达到高效的学习和实践相结合。WTK 2.5.2具有新的特点为编程人员提供良好的网络编程环境具有良好的学习环境和师资配备,对于学生学习相关技术有着很大的帮助和提高;同时,教师的指导更能使学生的学习效率大大地提高,能够及时的解决学生在学习中遇到的问题并给予帮助,这对后期的系统的开发和设计也有很大的帮助,在开发设计的同时,也会得到一些教师的指导,这样对系统的建设和优化都是有利的,更能保证系统开发设计的有效进行。2.2.4操作可行性用户只需安装该软件到支持J2ME的手机(如普通功能手机,Nokia的S40系统的手机,大部分的智能手机),即可运行该软件。而本软件为用户提供了统一的用户界面,对用户来说操作简单,方便。首先通过设置昵称,个人信心进入系统,跳转到不同的界面,进行相应的操作。在该软件的内部都有各个软件界面跳转的按钮,同时也有一定的提示信息,例如:在进行不合法操作时会弹出对话框进行提示错误信息,并给出相应的提示。有计算机基础的人即可熟练操作,本软件主要针对移动终端软件有使用经验的使用者进行的开发设计,所以,具有良好的可操作性。3 需求分析3.1功能模块化软件开发的总体任务是实现聊天室软件的人性、易用、稳定的特性。根据人们对于聊天软件的具体要求,本软件需完成的功能设计有:对新登录用户信息的保存、对已退出用户信息的清理;对登录用户主要功能的实现,包括发送私聊信息、查看联系人的个人信息,在等待联系人信息的同时玩拼图小游戏。1)登录模块:若要使用该软件,首先通过登录模块验证身份,只有合法用户才能进行访问;2)个人信息模块:在信息管理模块中,记录当前用户的具体个人信息,所有联系人的信息保存到服务器端;3)UI切换控制模块:用于控制该软件的不同UI切换的模块4)信息提醒模块:用于该软件的信息接收后的音乐提醒5)拼图模块:用户在进行休闲小游戏的管理模块。6)拼图提醒模块:用户在进行的休闲小游戏的提示模块7)聊天界面模块:该软件的主要功能的实现模块,包括信息的发送,切换到拼图界面,退出软件等功能3-1 聊天室服务端模块图3-2 聊天室服务器端模块图3.2数据流图数据流图(DFD)是用来描绘软件系统的逻辑模型的工具,不但可以表达数据在系统内部的流向,而且还可以表达系统的逻辑功能和数据的逻辑变化。建立清晰的数据流图,不仅有助与专业人员对系统的理解,更能使各类工作人员针对该系统进行有效地沟通、交流。同时,也是工作人员对该系统有一个由浅入深、由模糊到清楚的认识过程;解除了用户和开发人员之间的交流障碍;能够更好的完场系统的开发和设计。1顶层数据流图,如图3-3所示。基于J2ME的聊天室软件用户登录服务器端管理图3-3 顶层数据流图2一层数据流图,如图3-4所示。基于J2ME的聊天室软件服务器端用户客户端信息发送和接收用户的注册其他用户的信息查看图3-4 一层数据流图3二层数据流图1) 登录模块数据流图,如图3-5所示。用户登录模块服务器图3-5 登录模块数据流图2) 个人信息模块数据流图,如图3-6所示。服务器端普通用户客户端查看在线用户信息注册个人信息图3-6 信息管理数据流图3) 聊天界面模块数据流图,如图3-7所示。服务器端用户个人信息查询发送,接收消息图3-7基本信息数据流图4 系统概要设计4.1目的该阶段目的在于明确网络聊天室系统的数据结构和软件总体结构,各个软件模块的功能说明,数据结构的细节,系统运行配置与应用方式以及使用的关键技术。4.2运行环境运行环境见下表。表4.1名 称运行平台推荐操作系统版本推荐硬件(CPU/RAM/HD)数据库客户端J2ME无ARM100MHZ/64M/1G服务器J2ME无ARM100MHZ/64M/1G4.3系统功能概述本系统采用C/S的结构设计模式,客户端接收用户的发送的信息到服务器,服务器通过处理转发到另一些客户端。客户端采用图形用户界面,方便与用户交互。服务器端用控制台的方式方便控制操作。系统设计总体原则:本设计不限制用户的组网方式。但对于互联网环境下的安全问题,本系统不能保证解决。系统要具有较强的灵活性,包括对功能设置的管理。整个系统使用简单,界面要美观、大方,具有人性化特点。模块划分简单明了,充分考虑用户已经习惯的划分分类。 客户端分为用户注册、信息通讯、查看联系人信息、拼图小游戏。用户注册封装在用户注册的界面中,用户列表模块封装在系统的主界面中,拼图小游戏、信息通讯、查看联系人信息模块封装在聊天界面中。服务器端实现消息接收、消息转发、检索等功能4.4 功能设计4.4.1 用户注册通过注册模块实现用户的在线注册,所填写的注册项目有:用户名、性别、年龄。注册注册界面正确填写注册项提交昵称重复注册成功用户注册不正确图4-1 登录图4.4.2私聊用户通过选择在线用户列表的其他用户,通过单击列表中的用户名显示与其私聊的对话框,实现和选中的用户进行私聊方式进行交流,其他用户不可见。选择其他用户输入信息删除信息发送信息信息显示框用户图4-2私聊图4.4.3在线用户显示通过启动服务器后,可以通过服务器向全部在线的用户发送消息,用于显示现在在线的用户的昵称,可以方便用户查看实时在线情况和用户的交流。用户服务器输入系统消息发送系统消息用户系统管理显示在所有客户端 图4-3 服务器端图4.4.4 拼图小游戏在等待好友的信息时,可以玩玩小游戏,增加软件的趣味性,可玩性,用户可以随时转换到私聊界面中查看联系人发送来的消息。5 详细设计5.1客户端注册登录功能描述用户必须填写注册给定的全部选项,并且按照正确的格式输入,如年龄一项只能输入数字的格式等等,并可以在注册登录时自动检测输入的用户名是否已被使用。综合设计实现该功能所写的类为:(1)、LoadUI类: 用于构建注册的主界面主要成员变量: ChoiceGroup,Controller,OK,clear,sex,neckname,age,ticker,mRunning;主要方法:public LoadUI(UIController uict)/构造方法图5-1 登录图(2)AlertCanvas类:用来检测注册的用户名是否已被使用主要成员变量:controller,mRunning,style,mark主要方法:public AlertCanvas(UIController uict)/构造方法Public void waitInfor()/等待服务器端的反馈信息如果存在则返回登入界面如果不存在则进入聊天主界面图5-2 昵称重复的界面图图5-3 返回登录的主界面图(3)UIController类:用来发送用户注册登录信息主要成员变量:EventID,gameMidlet,display ,lode,cc,mui,pmui,hode等主要方法:public UIController(ClientMidlet gameMidlet)/构造函数public void handleEvent(byte eventID)/ 控制程序在各界面的切换功能public void vibratePho()/手机震动函数用户服务器Data3: 发送注册消息1: 验证信息2:返回验证成功5: 验证失败6:返回注册响应5.2私聊功能描述:用户在私聊界面的信息输入框中输入要发送的信息,用户可以通过功能设置按钮设置,并可以应用到信息输入框中, 点发送按钮实现私聊信息的发送。并可以显示其他用户发送过来的私聊信息,并且按照发送来的信息中包含好的显示方式正确显示出信息。图5-4 发送消息功能的界面图5-5 发送消息图5-6 发送消息图5-7接收消息界面图5-8 查看消息界面图5-9回复界面图5-10 查看个人信息图(1) ClientChatUI类:用来构建私聊的主界面主要成员变量:controller,exit,sendMe,scareMe,scanMe,playMe,ticker,mRunning主要方法:public ClientChatUI(String title,UIController uict)/构造方法public void commandAction(Command arg, Displayable arg1)/主要是对按键的事件响应public void getMessage()/获取聊友发送给本手机的信息,并提示用户public void getInfor()/获取服务器发送过来的聊天室用户(2)SendMessageUI类:聊天界面中得输入聊天信息的界面主要成员变量:sendMune,backMune,clearMune,name,controller主要方法:public SendMessageUI(String title,UIController uict,String name)/构造函数public void commandAction(Command arg0, Displayable arg1)/ 主要是对按键的事件响应UIController类:主要是发送用户编辑的私聊的信息主要成员变量:EventID,gameMidlet,display ,lode,cc,mui,pmui,hode等主要方法:public UIController(ClientMidlet gameMidlet)/构造函数public void handleEvent(byte eventID)/ 控制程序在各界面的切换功能public void vibratePho()/手机震动函数用户服务器1: 发送消息5.3拼图小游戏功能描述:用户在等待联系人信息时玩拼图小游戏,增加软件的趣味性,可玩性,用户可以随时转换到私聊界面中查看联系人发送来的消息图5-11 小游戏界面图5-12 小游戏的帮助界面实现该功能使用的主要类和方法(1) MainCanvas类:主要是绘制拼图游戏的主界面主要成员变量:pic,controller,PIC_MAXSIZE,help,exit主要方法:public MainCanvas(UIController ctrl, Image img)/构造函数public void commandAction(Command command, Displayable displayable)/ 命令响应函数protected void keyPressed(int keyCode)/ 按键消息响应函数(2) Picture类:主要是绘制拼图游戏中的图片主要成员函数:public void drawImage(Graphics gx,int width, int height)/ 根据屏幕大小在适当的位置上绘制图片public void setPuzzleState()/setPuzzleState:将游戏状态设为运行状态,用户此时可以拼图5.4功能逻辑实现逻辑功能描述客户端连接服务器成功后就启动一个客户端线程和服务器通信。客户端发送的信息分为:注册登录消息、注册时用户名验证消息、私聊消息等。服务器端启动一个线程不断的监听客户的请求,当接受到客户请求时就启动一个和该客户端通信的线程。图5-13 服务器端在线人数显示图(1)、UIController类 /用于客户端与服务器之间的消息传递(2)、ClientChatUI类 /客户端连接服务器成功后启动的线程(3)、ChatServerMidlet类 /服务器端为用户启动的服务器线程(4)、ClientChatUI类 /实现提示用户私聊消息(5)、MessageUI类 /显示信息内容结 论首先,我选择本课题缘由没有较深的理解也是刚刚接触JAVA项目,主要也想试一试,更近一步的提高自己的能力。并且也可以对网络开发产生兴趣,对具有网络功能的项目更有感觉。大学三年的学习期间,通过学校开设的基础课程,扎实系统的学习了软件的基础知识,并对面向对象编程语言有了进一步的理解,对软件专业逐步的建立起自己的知识体系框架。通过这次的毕业作业,使自己在JAVA编程语言的使用方面得到一个全面锻炼自己的机会,在这个模块的界面开发方面,充分的学习和利用了JAVA Swing界面开发技术,使自己在界面应用和布局方面得到更多的实践,应用Socket技术实现网络连接功能,对网络的实现和通信方面有了进一步的理解,并通过多线程方面的应用,使客户端和服务端可以实现多任务功能,在整个开发过程当中应用软件工程的开发步骤,使自己专业理论知识的到进一步的巩固,项目开发经验有不少的收获。1.软件存在的问题软件已经编写好了,但是还有许多可以改进的地方;同时还存在着一些小问题。还有一些功能上的缺陷,这里我列举一下,并提出一些解决的办法,希望以后可以改进。(1)在功能方面可以进一步增加,如实现用户间的文件传输,并可以进行视屏,共享音乐等高级功能。(2)执行效率方面可以有待提高,优化代码结构,减少系统内存泄露,提高运行稳定性等2.使界面变得更加美观由于一直专注于功能的实现,从而忽略了界面的设计,本软件今后可以为用户添加不同的头像,并

温馨提示

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

最新文档

评论

0/150

提交评论