J2ME课程设计报告毕业论文图书馆无线辅助管理系统.doc_第1页
J2ME课程设计报告毕业论文图书馆无线辅助管理系统.doc_第2页
J2ME课程设计报告毕业论文图书馆无线辅助管理系统.doc_第3页
J2ME课程设计报告毕业论文图书馆无线辅助管理系统.doc_第4页
J2ME课程设计报告毕业论文图书馆无线辅助管理系统.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

J2MEJ2ME 课程设计报告课程设计报告 J2MEJ2ME 图书馆无线辅助管理系统图书馆无线辅助管理系统 专专 业 业 班班 级 级 组组 号 号 指导教师 指导教师 二二 0000 九年九年 月月 日日 J2MEJ2ME 图书馆无线辅助管理系统图书馆无线辅助管理系统 摘摘 要要 随着 3G 时代的到来 3G 无线网络规模逐渐扩大 移动电子通讯设备将不 仅仅只是打电话和发短信的工具 届时将会有更多的更丰富的移动应用程序应 用在移动电子通讯设备的终端上 而移动商务以及移动办公作为 3G 无线网络 传输应用的重要分支 将会广泛地流行起来 本系统为图书馆文献查询辅助系统 手机客户端 使用 C S 结构 实现了 无线网络传输 HTTP 协议 UDP 传输协议 以及套接字传输协议 本文完整地 描述了在 Eclipse 平台应用 J2ME 技术 利用 TOMCAT 服务器 使用 ORACLE 数 据库 开发本手机软件的过程 其中主要涉及的技术有Java Servlet 技术 Java Socket 技术等 第一章介绍了系统背景 使用的开发平台及主要技术 对论文中 术语的约定 第二章介绍了系统需求及系统的设计方案 第三章介绍了系统具 体实现 并描述一些关键性技术和核心模块的设计 第四章介绍了对本系统进 行的测试及测试结果 关键词 关键词 J2ME 无线网络传输 GCF HTTP 移动图书馆 目目 录录 论文总页数 42 页 1引言 1 1 1系统背景 1 1 2开发平台 1 1 2 1Eclipse 1 1 2 2Eclipse Me 2 1 2 3Proguard 2 1 2 4Tomcat 3 1 2 5Oracle 10g 3 1 2 6Rational Rose 3 1 3主要技术 4 1 3 1J2ME 技术 4 1 3 2GCF 框架 5 1 3 3RSM 5 1 3 4MVC 5 1 3 5Javabean 技术 6 1 3 6Java Servlet 技术 6 1 3 7Java socket 技术 7 1 4术语与缩写解释 7 2需求分析及项目方案 8 2 1目标 8 2 2假定和约束 8 2 3需求规定 8 2 3 1对新能的规定 8 2 3 2对性能的规定 8 2 3 3输入输出要求 9 2 4数据结构及表的定义 9 2 5运行环境规定 13 2 5 1设备 13 2 5 2支持软件 13 3项目设计及开发 14 3 1整体框架 14 3 1 1系统总体结构图 14 3 1 2系统总体流程图 15 3 2程序核心功能 15 3 2 1 读者信息查询 借阅查询 15 3 2 2读者信息查询 密码修改 18 3 2 3书刊检索 20 3 2 4公告查询 查询新书发布 23 3 2 5书籍信息修改 查询书籍增订信息 24 3 2 6书籍信息修改 新书发布 27 3 2 7书籍信息修改 旧书删除 29 3 2 8管理员信息查询 密码修改 31 3 2 9书籍讨论区 32 3 2 10 帮助 34 3 3兼容性 35 3 4打包与混淆 35 3 5特殊问题与解决方法 36 3 5 1书籍讨论区同名用户的处理 36 3 5 2MiDlet 与 Servlet 的通讯 37 4结果测试及性能分析 37 4 1测试思路 37 4 2测试结果 38 结 束 语 39 参考文献 40 致 谢 41 声 明 42 1 1引言引言 3G 是指第三代移动通讯技术 随着 3G 的到来 移动终端不仅仅是打电话 发短信的工具 届时会有更多丰富的移动应用程序出现 国家工信部 3G 牌照已 经正式发放 标志着中国 3G 元年的到来 现已经有多家 3G 网络牌照运营商进 行发放 3G 牌照 3G 网络已经正式覆盖全国多个省会城市 将有多家移动网络 门户运营商提供低费用高传输速度的无线网络服务 移动商务 移动办公作为 无线网络传输应用的重要分支 将会广泛流行 无线网络传输程序包括 HTTP 协 议下的 Web 页面数据传输 基于 UDP 传输协议的数据包传输 基于套接字连接 的数据传输 在这三种无线网络传输基础上设计实现的手机程序 将在 3G 广泛 盛行起来的同时 发挥出重大作用 提高人们的生活水平和生活质量 1 11 1 系统背景系统背景 本程序的设计实现了 HTTP 协议 UDP 传输协议 套接字传输协议 本作品 采用移动无线网络传输的图书馆辅助系统 手机客户端 的形式整体实现了上 述协议 并且具有使用价值 因为现在移动通讯使用的范围已经愈来愈广泛 移动手机的用户界面也越来越友好 移动通讯的网络传输质量也越来越优越 所以使用手机客户端的形式将用户从繁琐的计算机使用中解脱出来 使得用户 能在随时随地登入到图书馆系统 进行自己期望的操作 而且同时也使得管理 员对图书馆的管理越来越灵活 提高了管理员的能动性 加快了对书籍的整合 和管理的效率 本作品主要采用 J2ME 技术进行设计和实现 因为 UDP 协议的实 现与套接字传输协议的实现基本一致 所以在设计程序时 考虑到时间以及程 序模块的因素 将其缩减 1 21 2 开发平台开发平台 本作品的开发平台为 Eclipse3 2 EclipseME1 2 1 JDK1 6 Wireless Toolkit 2 5 Proguard3 6 模拟测试平台为 WTK 模拟器 真机测 试平台为诺基亚 5300 1 2 11 2 1 EclipseEclipse Eclipse 是替代 IBM Visual Age for Java 以下简称 IVJ 的下一代 IDE 开发环境 但它未来的目标不仅仅是成为专门开发 JAVA 程序的 IDE 环境 根据 Eclipse 的体系结构 通过开发插件 它能扩展到任何语言的开发 甚至能成 为图片绘制的工具 更难能可贵的是 Eclipse 是一个开放源代码的项目 任何 人都可以下载 Eclipse 的源代码 并且在此基础上开发自己的功能插件 也就 是说未来只要有人需要 就会有建立在 Eclipse 之上的 COBOL Perl Python 等语言的开发插件出现 同时可以通过开发新的插件扩展现有插件的功能 比 如在现有的 Java 开发环境中加入 Tomcat 服务器插件 可以无限扩展 而且有 着统一的外观 操作和系统资源管理 这也正是 Eclipse 的潜力所在 在本项 目中 Eclipse 正是通过第三方插件 Eclipse me 实现了开发 J2ME 应用 1 2 21 2 2 EclipseEclipse MeMe EclipseME 是帮助你开发 J2ME MIDlet 的 Eclipse 插件 EclipseME 帮助 你轻松的把无线工具包整合到 Eclipse 开发环境中 使你不必再担心 J2ME 开发 有何特殊需求 而可以把所有精力集中在应用开发上 EclipseME 提供了下列 功能以帮助开发者轻松的创建 Midlets 无线工具包首选项 创建新的 J2ME Midlet 套件项目 创建新的 Midlet Java 应用描述文件 JAD 编辑器 对 class 文件进行增量的 自动的预检验 支持从 Eclipse 中启动运行 J2ME 模拟器 打包以及部署 包括无线下载方式 测试 可以使用 ProGuard 对输出 包进行混淆 1 2 31 2 3 ProguardProguard Proguard 是一个出色的混淆器 用以增加程序被破译的难度 并可以减小 最后生成 jar 的体积 ProGuard 除了在压缩操作删除的无用类 字段和方法 外 也能在字节码级提供性能优化 内部方法有 常量表达式求值 删除不必要的字段存取 删除不必要的方法调用 删除不必要的分支 删除不必要的比较和 instanceof 验证 删除未使用的代码 删除只写字段 删除未使用的方法参数 像 push pop 简化一样的各种各样的 peephole 优化 在可能的情况下为类添加 static 和 final 修饰符 在可能的情况下为方法添加 private static 和 final 修饰符 在可能的情况下使 get set 方法成为内联的 当接口只有一个实现类的时候 就取代它 选择性的删除日志代码 1 2 41 2 4 TomcatTomcat Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器 Tomcat 是 Apache 软件基金会 Apache Software Foundation 的 Jakarta 项目中的一 个核心项目 由 Apache Sun 和其他一些公司及个人共同开发而成 由于有了 Sun 的参与和支持 最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现 Tomcat 5 支持最新的 Servlet 2 4 和 JSP 2 0 规范 因为 Tomcat 技术先进 性能稳定 而且免费 因而深受 Java 爱好者的喜爱并得到了部分软件开发商 的认可 成为目前比较流行的 Web 应用服务器 Tomcat 是一个小型的轻量级应用服务器 在中小型系统和并发访问用户不 是很多的场合下被普遍使用 是开发和调试 JSP 程序的首选 对于一个初学者 来说 可以这样认为 当在一台机器上配置好 Apache 服务器 可利用它响应 对 HTML 页面的访问请求 实际上 Tomcat 部分是 Apache 服务器的扩展 但它 是独立运行的 所以当运行 tomcat 时 它实际上作为一个与 Apache 独立的进 程单独运行的 本系统采用 Tomcat 服务器 因为它运行时占用的系统资源小 扩展性好 支持负载平衡与邮件服务等开发应用系统常用的功能 而且它还在不断的改进 和完善中 手机客户端可以通过与 Tomcat 的访问连接来实现各个模块功能 1 2 51 2 5 OracleOracle 10g10g Oracle Database 10g 提供了 4 个版本分别是 Oracle Database 10g 标准 版 1 Oracle Database 10g 标准版 Oracle Database 10g 企业版和 Oracle Database 10g 个人版 提供了一系列常见的应用程序开发功能 包括与 SQL 对 象相关的功能 用于编写存储过程和触发器的 PL SQL 语言和 JAVA 编程接口 企业版还提供了额外的性能 可伸缩性 可用性 和安全性 这些功能一般对 应用程序开发人员是透明的 Oracle Database 10g 企业版主持的 API Oracle Database 10g 个人版和标准版也支持 Oracle Database 10g 产 品全部是用同一个健壮和可靠地数据库引擎体系结构构建的 在许多不同的平 台上 Oracle Database 10g 标准版和 Oracle Database 10g 个人版都和 Oracle Database 10g 企业版完全兼容 因此用户的数据库应用程序可以从笔 记本电脑简单地扩展到台式电脑 然后再扩展到整个企业网络 而不需要重新 设计 1 2 6RationalRational RosRose Rational Rose 是一个完全的 具有能满足所有建模环境需求能力和灵活 性的一套解决方案 Rose 允许开发人员 项目经理 系统工程师和分析人员在 软件开发周期内在将需求和系统的体系架构转换成代码 消除浪费的消耗 对 需求和系统的体系架构进行可视化 理解和精练 通过在软件开发周期内使用 同一种建模工具可以确保更快更好的创建满足客户需求的可扩展的 灵活的并 且可靠的应用系统 Rose 是美国的 Rational 公司的面向对象建模工具 利用这个工具 可以 建立用 UML 描述的软件系统的模型 而且可以自动生成和维护 C Java VB 和 Oracle 等语言和系统的代码 Rational Rose 包括了统一建模语言 UML OOSE 以及 OMT 本系统采用 Rose 进行 UML 用例建模 1 31 3 主要技术主要技术 本作品分为服务器端和手机客户端两个部分 采用 C S 结构设计系统 采 用 GCF 框架中定义的网络连接类和方法 制定双方都能理解的协议来交换数据 前后台通过 servlet 进行数据传输及页面显示 整个系统采用 MVC 模式进行模 块划分 实现界面和模型数据的分离 结构清晰 便于维护 1 3 1J2ME 技术技术 Java 技术是一系列产品的集合 目前主要包括 Java2 平台标准版 Java 2 platform Standard Edition J2SE Java2 平台企业版 Java 2 platform Enterprise Edition J2EE Java2 平台微型版 Java 2 platform Micro Edition J2ME 和 Java 卡平台 J2ME 为运行在嵌入式消费类电子产品的设备 如移动电话 PDA 游戏终 端之上的应用程序提供了一个健壮的 灵活的环境 与 J2SE J2EE 和 Java Card 一样 J2ME 同样包含一个小型的虚拟机和一系列的 Java API J2ME 还 提供了灵活的图形用户界面 健壮的安全模型 广泛的联网协议支持 目前 J2ME 平台已经部署到上亿个的设备上 前景非常看好 J2ME 平台由多种配置 Configuration 简表 Profile 和可选包 OptionalPackage 组成 平台的实现者和应用程序的开发者可以从中选择并 组合出一个完整的 Java 运行环境来满足特定范围内的设备需求 每种组合都应 该使这一系列设备的内存 处理器和 I O 能力达到最优化 本系统选择的配置是 CLDC 选择的简表是 MIPD v2 0 主要原因 CLDC 使 用 KVM 虚拟机 面向处理能力较小的移动设备 在类的集合方面 只保留了一 些基本的必要类 可我们能够通过简表进行补充 MIPD 是目前 J2ME 平台上发 展最成熟 应用最广泛的简表 专门针对移动电话或者 PDA MIPD v1 0 版本的 功能包括应用程序下载 网络连接和传输 数据库存储 计时器和用户界面 MIPD v2 0 版本扩展功能包括应用下载的计费 网络安全传输 数字签名 域 的安全模式 注册和音频处理 目前大多数移动手机都支持 MIPD v2 0 的简表 1 3 21 3 2 GCF 框架框架 GCF 通用连接框架 Generic Connection Framework 是基于 CLDC 及其对 应简表 提供了各种连接的基础 API 包括基于数据包和基于数据流的输入 输 出方法 它按照层次的形式组织各种连接接口 使用 URL 表示不同的连接 通 用连接框架定义了 7 种接口 Connection 接口 CintentConnection 接口 DatagramConnection 接口 InputConnection 接口 OutputConnection 接口 StreamConnection 接口和 StreamConnectionNotifier 接口 Connection 接口是所 有接口的基类 它产生了用于数据包连接的 DatagramConnection 连接接口 用 于数据流连接的 InputConnection 接口 OutputConnection 接口和 StreamConnectionNotifier 接口 其中 StreamConnection 接口继承自数据流连接 的输入 输出接口 并派生了用于数据内容解析的 CintentConnection 接口 GCF 是一个容易扩展的框架结构 用户可以根据自身的需要在现有的类和 接口上建立自己的类或者实现自己的接口 1 3 3RSM RMS 记录管理系统 Record Management System 类似于普通计算机的文 件管理系统 在手持电子设备中 用以统一的机制管理持续性存储资源 记录 管理系统具有数据库管理系统的特征 即记录管理系统组织数据是按照行列的 方式进行组织的 每条信息在记录管理系统中都表现为一条记录 类似于数据 库一行 每一条记录可以包含多个数据 类似于数据库某一行中的多列 我们 可以通过添加记录的方式将数据持久地保存在记录管理系统中 通过删除记录 的方式删除信息 同时记录管理系统还允许为你们对记录进行排序和查找 记 录管理系统允许以下操作 创建记录存储器 在已建立的记录存储器中添加记录 在已建立的记录存储器中删除已经存在的记录 在已建立的记录存储器中读取已经存在的记录 在已建立的记录存储器中建立枚举器 在已建立的记录存储器中建立比较器 在已建立的记录存储器中建立筛选去 1 3 4MVC MVC 是一种设计模式 强制把应用程序的输入 处理和输出分开 MVC 把应 用程序分为三个核心模块 模型 视图和控制器 他们分别负担不同的任务 尽管构造 MVC 应用程序需要一些额外的操作 但是给我们带来的好处是毋庸置 疑的 首先 多个视图能共享一个模型 在 MVC 设计模式中 模型响应用户请求 并返回响应数据 视图负责格式化数据并把它们呈现给用户 业务逻辑和表示 层分离 同一个模型可以被不同的视图重同 所以大大提高了代码的可重用性 其次 模型是自包含的 与控制器和视图保持相对独立 所以可以方便地 改变应用程序的数据层和业务规则 由于 MVC 的三个模块相互独立 改变其中 一个不会影响到其他两个 因此依据这种设计思想能构造良好的松耦合的构件 此外 控制器提高了应用程序的灵活性和可配置性 控制器可以用来连接 不同的模型和视图去完成用户的需求 也可以为构造应用程序提供强有力的手 段 给定一些可重用的模型和视图 控制器可以根据用户的需求选择适当的模 型进行处理 然后选择适当的视图将处理结果显示给用户 1 3 51 3 5 JavabeanJavabean 技术技术 JavaBeans 是一个类 它有无参的构造函数 并且遵从 JavaBeans 的命名 约定 bean 的属性可以通过获取 getter 方法和设置方法 setter 来访问 这两个方法统称为 bena 的存取方法 每一个单词的首字母都要大写 除了简单 的属性外 bean 还可以有多值属性 多值属性是由一个任意类型的数组组成 在规范中这称为索引的属性 JavaBeans 技术能实现封装数据 实现对代码的重用 JavaBeans 技术 涉 及到组件构件技术 是 Java 的核心基础部分 很多软件设计模式都是通过 JavaBeans 实现的 JavaBeans 具有以下特性 内透性 指一个类的信息 都可以被另一个类获知 JavaBeans 遵循 某种命名规则 这样外部类就可以知道这个 Bean 类 支持自定义 属性的方法用来对 JavaBeans 进行自定义 支持事件 支持属性 支持永久性 1 3 61 3 6 JavaJava ServletServlet 技术技术 Servlet 是与平台无关的服务器端组件 可以运行在 Servlet 容器中 Servlet 容器负责 Servlet 和客户的通信以及调用 Servlet 的方法 Servlet 和 客户的通信采用 请求 响应 的模式 Servlet 的框架是有两个 JAVA 包组成的 javax servlet 和 java servlet http 在 javax servelt 包中定义了所有的 Servlet 类都必须实 现或扩展的通讯接口和类 在 javax servlet http 包中定义了采用 HTTP 协议 通信的 HtttpServlet 类 Servlet 的技术特点有以下几个方面 Java servlet 技术具有 JAVA 技术的所有优点 Java servlet 技术要比传统的 CGI 技术效率更高 传统的 GCI 技术对 于每个 HTTP 请求都要产生一个新进程 Servlet 技术对于每一个请求 产生 Java 线程来响应 Java servlet 技术要比传统的 CGI 技术更强大 Java servlet 能方便 的处理 HTML 表单数据 能够读取和设置 HTTP 头信息 并且能够处理 Cookies 跟踪 Session 等其他功能 Java servlet 是模块化的 每一个 Servlet 可以执行一个特定的任务 并且可以讲他们并在一起工作 Java servlet 之间能共享数据 Java servlet 技术要比传统 CGI 技术更安全 1 3 71 3 7 JavaJava socketsocket 技术技术 Socket 通常也称作 套接字 用于描述 IP 地址和端口 是一个通信链的 句柄 应用程序通常通过 套接字 向网络发出请求或者应答网络请求 Socket 是网络应用程序的核心 在服务器端或客户端网络应用程序中 皆为不可缺少 的要素 它主要包括 ServerSocket 和 Socket ServerSocket 用于服务器端 Socket 是建立网络连接时使用的 在连接成 功时 应用程序两端都会产生一个 Socket 实例 操作这个实例 完成所需的会 话 对于一个网络连接来说 套接字是平等的 并没有差别 不因为在服务器 端或在客户端而产生不同级别 不管是 Socket 还是 ServerSocket 它们的工作 都是通过 SocketImpl 类及其子类完成的 1 41 4 术语与缩写解释术语与缩写解释 KVM 全称 Kilobyte Virtual Machine J2ME 虚拟机 IDE 全称 Integrated Development Environment 集成开发环境 WTK 全称 Wireless Toolkit 是 Sun 公司发布的 J2ME 应用开发套件 MIDlet 一个 MIDP 应用程序称作 MIDlet MIDP 小应用程序 这个 概念与 J2SE 中的 applet 十分类似 API Application Programming Interface 应用程序编程接口 MIDP Mobile Information Device Profile 移动信息设备简表 CLDC Connected Limited Device Configuration 有限无线设备配置 UI User Interface 用户界面 HTTP Hypertext Transfer Protocol 超文本传输协议 UDP User Datagram Protocol 用户数据报协议 Socket 套接字 用于描述 IP 地址和端口 是一个通信链的句柄 2 2需求分析及项目方案需求分析及项目方案 2 12 1 目标目标 基于无线网络传输的图书馆辅助系统 手机客户端 使用 C S 结构 实现 无线网络传输下的 HTTP 协议和套接字协议进行数据传输 系统分为服务器端和 手机客户端两个部分 其中服务器端提供模拟学校网上图书馆功能 提供数据 存储的服务器终端 手机客户端包括读者登入和管理员登入两个模块 读者用 户可以进行借阅书籍基本信息查看 书刊续借 密码修改 书刊信息查询 书 刊增订 管理员用户可以进行书籍信息修改 个人信息查询 还设置书籍讨论 区公共模块 管理员用户和读者用户可以进行书籍的交互讨论 2 22 2 假定和约束假定和约束 本系统软件是在模拟器上模拟实现辅助图书馆的管理的客户端软件 因为 使用者是该校学生或者老师 所以学校已经分配给每个用户以用户名和密码 所以没有设置用户注册模块 此外 本系统主要实现手机客户端与后台服务器 之间的数据传输 提供了模拟的服务接口 所以服务器端数据库设计为个人理 想状态下设计 忽略了繁琐的数据访问机制 最后由于是手机客户端难免受到 手机软硬件的限制 将重点放在实现系统功能以及界面设计方面 降低了物理 层的无线承载能力的要求 2 32 3 需求规定需求规定 2 3 12 3 1 对新能的规定对新能的规定 对精度的规定 用户应按照界面提示输入数据 后台代码提供了对数据精 度出错提供了一定得处理功能 时间性要求 对于一般的页面操作 延时可忽略不计 但如果涉及网络数 据请求 传输 或者用户进行的操作相当耗费 CPU 的时候 延时会很明显 如 果某项操作耗费时间已经超过 1 分钟还没结束 用户应自行决定放弃此操作或 退出本软件 灵活性要求 系统采用视图 模型 控制器分离设计 增加了系统访问的 灵活性和可理解性 更方便了系统后天的维护 通过增加系统的通讯协议可快 速对系统进行功能增加 2 3 2对性能的规定对性能的规定 本系统具体功能需求如表 1 1 所示 表 1 1 功能需求表 序 号 模块名称功能名称简要描述 书刊检索 用户输入期望查询的书籍名称 若有馆藏书籍 将返回 书籍列表 选择书籍目录 可以查询相应书籍的基本信 息 若没有馆藏书籍 用户可以选择 书刊增订 输入 书籍名称 就可以将期望增订的书籍提交给管理员 管 理员就可以根据需求增加书籍 读者信息查询 用户可以查询个人基本信息 可以查询个人借阅书籍列 表 若所借书籍还在借阅期内 可以点击 续借 向图 书馆续借该书籍 若所借书籍即将到期 用户还可以选 择该书籍 然后添加到期闹铃提示 密码修改用户可以通过手机客户端修改图书馆登入密码 书籍讨论区 用户登入到书籍讨论区后 就可以和在线的读者对书籍 进行讨论 发表个人意见 还可以和个别读者单独交流 心得 或者向在线的管理人员提出意见或建议 新书发布 读者可以通过输入查询日期 进行查询该天图书馆所新 增加的书籍 查询自己新增订书籍是否上架 帮助提示读者用户使用该手机客户端的注意事项及帮助 1 读者模块 退出读者用户安全退出该系统 书籍信息修改 管理员可以查询读者的书刊增订信息 可以在新书发布 选项中将新书名称通过本系统发布出来 也可以通过旧 书删除选项将过期或者下架书籍从图书馆数据库中删除 密码修改管理员可以通过手机客户端修改图书馆登入密码 书籍讨论区 管理员登入到书籍讨论区后 就可以接受在线读者的质 询 回答问题 或者突发事件的发布 帮助提示管理员用户使用该手机客户端的注意事项及帮助 2 管理员模块 退出管理员用户安全退出该系统 2 3 32 3 3 输入输出要求输入输出要求 阿拉伯数字均为十进制无正负 索引号更具规定的 ISBN 编号设置 日期格式为 yy mm dd 2 42 4 数据结构及表的定义数据结构及表的定义 数据库表格定义了系统服务器端所用到的基本数据表 详细描述了数据表 中的字段 类型 约束条件 说明等信息 如下表所示 表 1 2 表 book 的结构 字段名数据类型 精度范围 长度空 非空缺省约束 条件 说 明 indexidVarchar220 非空主键书籍的 ISBN 索引号 booknameVarchar220 书籍名称 authorVarchar220 作者 publisherVarchar220 出版商 pudateVarchar220 出版日期 stateVarchar220inlib 书籍状态 是否借 阅 inlib borrow returndateVarchar220 归还日期 表 1 3 表 libuser 的结构 字段名数据类型 精度范围 长度空 非空缺省约束 条件 说 明 LibuidVarchar220 非空主键读者 ID pwdVarchar220 外键读者密码 表 1 4 表 borrowsituation 的结构 字段名数据类型 精度范围 长度空 非空缺省约束 条件 说 明 indexidVarchar220 非空主键书籍的 ISBN 索 引号 libuidVarchar220 非空主键用户 ID returndateVarchar220 归还日期 returnstateVarchar220 空续借状态 是 否可以续借 ag null 表 1 5 表 manuser 的结构 字段名数据类型 精度范围 长度空 非空缺省约束 条件 说 明 libuidVarchar220 非空主键管理员 ID pwdVarchar220 外键管理员密码 表 1 6 表 needbook 的结构 字段名数据类型 精度范围 长度空 非空缺省约束 条件 说 明 BooknameVarchar220 非空主键预定书籍名 称 AuthorVarchar220 预定书籍作 者 PublisherVarchar220 预定书籍出 版社 表 1 7 表 newbook 的结构 字段名数据类型 精度范围 长度空 非空缺省约束 条件 说 明 BooknameVarchar220 非空主键新增书籍名 称 AuthorVarchar220 新增书籍作 者 PublisherVarchar220 新增书籍出 版社 NewdateDate 新增书籍日 期 网络通讯协议是客户端和服务器端交互数据的基础 主要由动作和数据组 成 动作定义如下表所示 表 1 8 表网络通讯请求动作 请求动作 动作名称描述 CHANGE PWD 读者用户修改密码请求 SEARCH BOOK 读者用户查询书籍请求 LOGIN 读者用户登入请求 MAN LOGIN 管理员用户登入请求 表 1 8 表网络通讯请求动作 续 NEEDBOOK 读者用户预订书籍请求 SHOW MAN NOTICEBOOK 管理员用户查询预订书籍请求 MAN DELL NEEDBOOK 管理员用户删除预订书籍信息请求 CHANGE MANPWD 管理员用户修改密码请求 DELBOOK 管理员用户删除书籍基本信息请求 NEWBOOK 读者用户查询新增书籍信息请求 GOON BORROWBOOK 读者续借书籍请求 ADDBOOK 管理员用户添加书籍请求 表 1 9 表网络通讯响应动作 响应动作 动作名称描述 CHANGEPWD NO USER 读者用户修改密码时 提交用户名不存在 CHANGEPWD ERROR PWD 读者用户修改密码时 提交原始密码错误 CHANGEPWD SUCCESS 读者用户修改密码成功 CHANGEPWD FAIL 读者用户修改密码失败 LOGIN ERROR PWD 读者用户登入时 密码错误 LOGIN NO USER 读者用户登入时 提交用户名不存在 LOGIN SUCCESS NO BOOK 读者用户登入时 登入成功但没有借阅书籍信息 LOGIN SUCCESS HAS BOOK 读者用户登入时 登入成功并有借阅书籍信息 SEARCH FAIL 读者用户查询书籍信息失败 SEARCH NO BOOK 读者用户查询书籍时 没有满足条件的书籍信息 SEARCH HAS BOOK 读者用户查询书籍时 查询到满足条件的书籍 MAN LOGIN SUCCESS 管理员用户登入成功信息 MAN LOGIN ERROR PWD 管理员登入时 密码错误 MAN LOGIN NO USER 管理员登入时 提交用户名不存在 MAN SUCCESS UPDATE BOOK 管理员更新书籍信息时 成功 MAN ERROR UPDATE BOOK 管理员更新书籍信息时 失败 SUCCESS NEED BOOK 读者用户提交预定书籍信息时 成功 ERROR NEED BOOK 读者用户提交预定书籍信息时 失败 MAN HAS NEEDBOOK 管理员用户查询预订书籍信息时 有预定书籍信息 MAN NO NEEDBOOK 管理员用户查询预订书籍信息时 无预定书籍信息 MAN SUCCESS DELLNEEDBOOK 管理员删除预定书籍信息时 成功 MAN ERROR DELLNEEDBOOK 管理员删除预定书籍信息时 失败 MAN CHANGEPWD SUCCESS 管理员修改密码时 成功 MAN CHANGEPWD FAIL 管理员修改密码时 失败 MAN CHANGEPWD ERROR PWD 管理员修改密码时 提交的原始密码错误 MAN CHANGEPWD NO USER 管理员修改密码时 提交的用户名不存在 MAN SUCCESS DELLBOOK 管理员删除旧书信息时 成功 MAN ERROR DELLBOOK 管理员删除旧书信息时 失败 MAN ERROR STATEBOOK 管理员删除旧书信息时 书本借出 不能删除 MAN NO HASBOOK 管理员删除旧书信息时 没有该书籍信息 GOON SUCCESS BORROWBOOK 读者续借书籍时 成功 GOON ERROR BORROWBOOK 读者续借书籍时 失败 ERRPR STATE BORROWBOOK 读者续借书籍时 该书已经续借过 不能续借 HAS NEWBOOK 读者查询新增书籍时 有新该日增书籍信息 NO NEWBOOK 读者查询新增书籍时 没有该日新增书籍 GOON SUCCESS BORROWBOOK 读者续借书籍时 成功 GOON ERROR BORROWBOOK 读者续借书籍时 失败 ERRPR STATE BORROWBOOK 读者续借书籍时 该书已经续借过 不能续借 HAS NEWBOOK 读者查询新增书籍时 有新该日增书籍信息 NO NEWBOOK 读者查询新增书籍时 没有该日新增书籍 界面控制器内部定义的协议实现了界面中的跳转以及和网络连接控制器之 间的请求 请求协议定义如下表所示 表 1 10 表页面显示请求 页面显示请求 动作名称描述 SHOW LOGIN 请求显示读者登入页面 SHOW CHANGE PWD 请求显示读者修改密码页面 SHOW SEARCH BOOK 请求显示读者查询书籍信息页面 SHOW NEWBOOK 请求显示查询新增书籍页面 SHOW TALKPAGE 请求显示书籍讨论区欢迎界面 SHOW USERWEL 请求显示读者欢迎界面 SHOW MANAGERWEL 请求显示管理员欢迎界面 SHOW MAN LOGIN 请求显示管理员登入界面 SHOW CHANGE MANPWD 请求显示管理员密码修改界面 SHOW MANTALK 请求显示管理员登入书籍讨论区欢迎界面 SHOW MAN HELP 请求显示管理员帮助界面 SHOW MAN ADDBOOK 请求显示管理员新增书籍界面 SHOW MAN DELBOOK 请求显示管理员删除旧书界面 SHOW MAN NOTICEBOOK 请求显示查询预订书籍界面 SHOW HELP 请求显示读者帮助界面 表 1 11 表页面导航请求 页面导航请求 动作名称描述 HELP BACKTO MAINMENU 请求从读者帮助界面返回读者欢迎界面 EXIT 请求退出系统 LOGIN BACKTO MAINNENU 请求从读者登入界面返回读者欢迎界面 LOGIN 请求网络控制器建立读者登入连接 CHANGE PWD 请求网络控制器建立读者密码修改连接 SEARCH BOOK 请求网络控制器建立读者书籍查询连接 CHANGE PWD BACKTO MAINMENU 请求从读者密码修改界面返回读者欢迎界面 SEARCH BOOK BACKTO MAINMENU 请求从读者书籍查询界面返回读者欢迎界面 LOGIN SUCCESS NO BOOK 接受网络控制器返回读者登入成功没有借阅书籍导 航界面 LOGIN SUCCESS HAS BOOK 接受网络控制器返回读者登入成功有借阅书籍信息 导航界面 SHOW USER BOOK 接受网络控制器请求显示读者借阅书籍信息界面 SHOW EACH BOOK 接受网络控制器请求显示读者所查询书籍基本信息 界面 TALKPAGE BACKTO MAINMENU 请求从读者书籍讨论区返回读者欢迎界面 TALKPAGE 请求网络控制器建立读者书籍讨论区连接 显示讨 论区欢迎界面 CHAT BACKTO TALKPAGE 请求从聊天界面返回读者书籍讨论区欢迎界面 SEND NESSAGE 请求网络控制器发送读者聊天信息界面 CHOOSE PRIVATENAME 设置私聊对象 CHOOSE BACKTO CHATPAGE 请求从私聊界面返回聊天界面 SHOW PRIVATETALK 请求显示私聊对象界面 MAN LOGIN 请求网络控制器建立管理员登入连接 MANLOGIN BACKTO MAINNENU 请求从管理员登入界面返回管理员欢迎界面 MAN LOGIN SUCCESS 接受网络控制器返回管理员登入成功信息 显示提 示界面 ADDBOOK BACKTO UPDATEMENU 请求从管理员添加书籍界面返回书籍信息修改界面 ADDBOOK 请求网络控制器建立添加书籍基本信息连接 NEEDBOOK BACKTO MAINNENU 请求从添加预订书籍信息界面返回读者欢迎界面 表 1 11 表页面导航请求 续 NEEDBOOK 请求网络控制器建立查询预订书籍基本信息连接 MANNEED BACKTO UPDATEMENU 请求从查询预订书籍界面返回书籍信息修改界面 SHOW MAN NEEDBOOK 接受网络控制器请求显示管理员查询预订书籍基本 信息界面 MAN DELL NEEDBOOK 请求网络控制器建立删除预订书籍基本信息链接 TALKPAGE BACKTO MANMAINMENU 请求从书籍讨论区欢迎界面返回管理员欢迎界面 MAN TALKPAGE 请求网络控制器建立书籍讨论区连接 并显示书籍 讨论区欢迎界面 CHAT BACKTO MANTALKPAGE 请求从聊天界面返回管理员书籍讨论区欢迎界面 CHANGE PWD BACKTO MANMAINMENU 请求从密码修改界面返回管理员欢迎界面 CHANGE MANPWD 请求网络连接控制器建立管理员修改密码连接 DELBOOK BACKTO UPDATEMENU 请求从删除书籍信息界面返回书籍信息修改界面 DELBOOK 请求网络控制器建立删除书籍基本信息链接 GOON BORROWBOOK 请求网络控制器建立读者续借书籍连接 NEW BACKTO MAINMENU 请求从读者查询新增书籍界面返回读者欢迎界面 NEWBOOK 请求网络控制器建立查询新增书籍基本信息连接 SHOW NEWBOOK DETAIL 接受网络控制器请求显示读者查询新增书籍基本信 息界面 在书籍讨论区模块中 客户端和服务器端连接是采用如下表通讯协议格式 进行信息传递和解析 表 1 12 表书籍讨论区协议 动作格式 登入聊天室 C S 和 接收登入信息 S C UserName 登出聊天室 C S 和 接收登出信息 S C UserName 标准聊天信息 C S int total 0 Set set list keySet 使用keySet方法获取所有key值 Iterator it set iterator while it hasNext 遍历所有用户名 String user list get it next total if user equals name flag 1 if total 3 flag 2 return flag synchronized int sendToOne String name String content PrintWriter writer null Socket socket Set set list keySet 使用keySet方法获取所有key值 Iterator it set iterator while it hasNext socket Socket it next if name equals list get socket 找到指定用户的 socket try writer new PrintWriter socket getOutputStream true catch Exception e if writer null writer println content return 1 return 0 synchronized void sendToOne Socket socket String content PrintWriter writer null try writer new PrintWriter socket getOutputStream true catch Exception e if writer null writer println content 3 5 23 5 2 MiDletMiDlet 与与 ServletServlet 的通讯的通讯 问题 在本软件设计中 主要的一个设计思想就是使用 MiDlet 和 Servlet 进行网络通讯 如果只提供 URL 和 GCF 框架类包中的连接函数时 会出现无法 访问和出现错误代码 解决 在进行网络连接前 先设置好连接使用的 User Agent 和 Content Type 等连接属性 保证 Servlet 正确连接客户端 代码 建立 HttpConnection 连接 conn HttpConnection Connector open serverURL Connector READ WRITE true uicontroler displayProgress 设置连接的User Agent字段 conn setRequestProperty User Agent System getProperty microedition profiles uicontroler progressUI append n设置User Agent System getProperty microedition profiles 设置内容类型以及连接流 conn setRequestProperty Content Type application octet stream uicontroler progressUI append n设置Content Type application octet stream 设置连接类型 conn setRequestMethod HttpConnection POST uicontroler progressUI append n设置请求方式 POST uicontroler progressUI append n 开始发送请求数据 4 4结果测试及性能分析结果测试及性能分析 4 14 1 测试思路测试思路 1 单元测试 在本作品代码设计过程中 对每个局部功能代码进行了测试 用例的设计 然后完成了单元测试 主要对于以下几个基本特征进行测试 模块接口 主要检查数据能否正确地通过模块 检查的内容是参数的个 数 属性及对应关系是否一致 局部数据结构测试 主要检查变量名未定义 拼写错误 初始化或缺省值 错误 数据类型不相容或未赋初值 错误处理 主要测试程序对错误处理的能力 检查是否能对外部输入错误 或内部引起的错误正确处理 对发生的错误能正确描述以及描述内容容易理解 2 集成测试 在本作品代码各个模块完成后 采用渐增式测试 通过逐个 把未经测试的模块组装到已经测试过的模块上去 每加入一个新模块进行一次 集成测试 直至所有模块组装完毕 同时利用白盒测试技术 设计了不同的测 试用例对每个条件分支进行了条件覆盖测试 在测试结果输出中看出每条路

温馨提示

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

评论

0/150

提交评论