基于J2ME/J2EE的手机校友录
系统设计 第一章引言11.1论文研究背景与意义11.2本课题研究内容与目标1第二章开发环境及相关技术的介绍22.1
Java语言的特点22.2J2ME是什么?32.3J2ME总体架构32.4关于WirelessToolKit42.5关于NetbeansIDE5.5和MobilityPack5.542.6MIDP应用
程序52.7Java应用程序管理器52.8预先审核52.9开发环境的搭建6第三章需求分析73.1对功能的规定73.2用例描述83.3运行环境规定15第四章概要设计164.1系统框架设计164.2类-责任-协作模型174.3对象-行为模型184.4系统状态变迁图19第五章详细设计205.1系统体系结构设计205.1.1客户端/服务器端间的
通信205.1.2服务器端的体系结构设计225.1.3客户端的体系结构设计235.1.3.1HTTP联网框架的设计235.1.3.2用户界面的设计265.1.3.3用户界面
导航的设计275.2数据结构设计285.2.1数据关系模型295.2.2实体-关系模型295.2.3数据字典305.2.4对象-关系映射325.3系统出错处理设计335.3.1出错信息335.3.2补救措施33结论34致谢语35参考文献36第一章引言1.1论文研究背景与意义
校友录是一种为用户提供网上交流、聚会的
网络工具,它可以提供用户与朋友、同学、同事、老师和亲人等在网上有一个相互交流的机会.目前已有的校友录系统都是基于Web的,其中最著名的就是SohuChinaRen的校友录.基于Web的校友录系统可以利用网页丰富的元素和JavaScript等脚本语言构建出内容丰富的用户界面,但是它也存在一定的局限性.校友录系统的用户间的交互是非即时的,也就是主要以留言的方式,虽然目前PC已经普及,但用户还是无法做到随时随地得使用PC连接互联网来访问Web校友录系统,再加上目前基于Web2.0的实名校园社区的出现,使得基于Web校友录的用户数量在逐渐减少.随着第三代移动通信脚步的临近,移动领域的应用将带来越来越巨大的商机.目前绝大多数的主流手机都支持J2ME应用程序,设计基于J2ME的手机校友录系统,结合了手机移动性,使得用户可以随时随地与友人交流,轻松地体验移动网络的方便性.1.2本课题研究内容与目标本课题采用面向对象的方法,运用J2MEJ2ME、J2EE、数据库等现有的技术,设计开发一个基于J2ME的手机校友录系统,实现传统的基于Web的校友录系统的基本功能.第二章开发环境及相关技术的介绍2.1Java语言的特点平台无关性Java的一个显著优点就是运行时环境提供了平台无关性,它引进虚拟机原理,并运行于虚拟机,实现不同平台之间的Java接口.使用Java编写的程序能在不同的平台运行.Java的数据类型与机器无关,Java规范中没有"依赖具体实现"[1]的概念.Java中基本数据类型的大小及其算法都做了明确的规定.安全性Java的编程类似C++,但舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针入侵系统.它提供了安全管理器,防止程序的非法访问.面向对象Java吸收了C++面向对象的概念,将数据和操作封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用.分布式Java建立在TCP/IP网络平台上,提供了用HTTP和FTP协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统.健壮性Java致力与检查程序在编译和运行时的错误,并自动回收内存,减少了内存出错的可能性.Java取消了C语言的结构、指针、#define语句、多重继承、goto语句、操作符、重载等不易被掌握的特性,提供垃圾收集器自动回收不用的内存空间.多线程多线程可以带来更好的交互响应和实时行为.适当地使用多线程可以更充分地利用系统资源,使程序的效率大大提升.Java对多线程的处理十分简单,在不同的平台上,调用多线程的代码是完全相同的.2.2J2ME是什么?SunMicrosystems公司将J2ME定义为"一种以广泛的消费性产品为目标的、高度优化的Java运行时环境,包括寻呼机、移动电话、可视电话、数字机顶盒和汽车导航系统."1999年6月在JavaOneDeveloperConference上声明之后,J2ME进入了小型设备开发的行J2ME列.J2ME通过Java的特性,遵循J2ME规范开发的Java程序可以运行在各种不同的小型设备J2ME
上.Sun公司希望借助J2ME这把利剑对嵌入式设备这个混乱的领域进行统一,让Java的范围扩展到所有电子设备开发上.按照现在的发展速度,J2ME很快将被广泛应用于消费和嵌入式J2ME设备中.J2ME主要适用于小型嵌入式设备,这些设备与PC或是服务器设备相比没有统一的硬件标准、外观与操作方式,其功能也是千差万别的.但是J2ME在适用于这些设备的同时也保留了Java的传统特性,即任何时候和任何地点的代码具有可移植性、部署灵活性、安全的网络传输性,以及代码稳定性.2.3J2ME总体架构J2ME使用配置(Configuration)和简表(Profile)[2]定制Java运行时环境(JRE).作为一个完整的JRE,J2ME由配置和简表组成,配置决定了使用的JVM,而简表通过添加特定于域的J2ME类来定义应用程序.配置将基本运行时环境定义为一组核心类和一个运行在特定类型设备上的特定JVM.简表定义应用程序,特别地,它向J2ME配置中添加特定于域的类,定义设备的某种作用.图2-1描述了不同的虚拟机、配置和简表之间的关系.它同时把J2SEAPI和它的Java虚拟机进行了比较.虽然J2SE虚拟机通常被称为一种JVM,但是J2ME虚拟机、KVM和CVM都是JVM的子集.KVM和CVM均可被看作是一种Java虚拟机——它们是J2SEJVM的压缩版,并特定于J2MEJ2ME.图2-1不同的虚拟机、配置和简表之间的关系2.4关于WirelessToolKitWTK(WirelessToolKit)是Sun公司针对J2ME推出的用于手机和Palm等移动设备的开发包,是除手机厂商的专用开发包外唯一的手机模拟器开发包.它通用性高,开发出的应用程序可保证能运行在大部分设备上,而不像专用厂商具有一定的不兼容性.虽然它没有强大的功能和完善的调试手段,但它提供运行模拟器的最基本组件,是其他IDE需集成采用的必备元素.2.5关于NetbeansIDE5.5和MobilityPack5.5Netbeans是一个开源项目,致力于为开发者提供稳定、出色的开发工具.NetbeansIDE和Netbeans平台是netbeans.org的两个著名产品.目前NetbeansIDE的稳定版本是5.5,MobilityPack是NetbeansIDE用于开发、测试和调试MIDP应用程序的插件.MobilityPack5.5可以和NetbeansIDE5.5无缝集成,支持CLDC1.1和MIDP2.0开发环境.MobilityPack还可以很容易地与第三方模拟器集成,为开发者提供所需的运行环境.本课题主要使用NetbeansIDE和MobilityPack搭建开发环境并进行开发、测试与调试.2.6MIDP应用程序MIDP引入了全新的应用程序模型——MIDlet.MIDlet是应用程序的主类,被应用程序管理
软件(ApplicationManagementSoftware,AMS)管理.多个MIDlet可以组成MIDlet套件,以jar包的形式发布.与jar文件一起发布的还有一个文本文件——Java应用程序描述符(JavaApplicationDescriptor,JAD).JAD文件的作用在于描述MIDlet套件的基本信息,AMS安装MIDlet套件时可以首先解析JAD文件的内容读取套件信息.按部署方式的不同,MIDP应用程序可分OTA和非OTA两种.MIDlet:是Jave一个类,扩展了javax.microediton.midlet.MIDlet抽象类.MIDlet生命周期分3种状态:运行状态、暂停状态、销毁状态等.2.7Java应用程序管理器手机中负责调配程序运行资源的管理后台是JavaApplicationManager.它所使用的传输媒体可以是红外线、网络、以及其他可用来传输的媒体.JavaApplicationManager会从网络上下载代表该ApplicationSuite的JAR档,接着在手机上安装此MIDletSuite,然后在