




免费预览已结束,剩余28页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简单的火车票查询系统 摘 要 针对火车票查询的实际情况 按照软件工程的结构化设计思想 经过项目的可行 性研究和需求分析 总体设计 详细设计 以及编码实现和调试等步骤设计开发了简 单的火车票网上查询系统 并运用数据流图和数据字典 E R 图和数据库逻辑结构 层次图 系统流程图 以及程序流程图 对该系统的数据需求 数据库 系统软件结 构 系统流程 以及处理过程等进行了分析和设计 本次课程设计利用 JSP 开发工具和 SQL Server 2000 数据库来开发这个火车票网上 查询系统 该系统要解决的是火车票查询工作所要解决的问题 可以满足火车票查询 的基本要求 包括查询票信息等方面的功能 该系统能运用到旅游网站对火车票查询 的工作中 根据用户的需求 快捷方便的为用户提供服务 关键词 关键词 计算机技术 火车票查询系统 JSP I A simple train ticket query system Abstract In view of the actual situation of train ticket inquiries in accordance with a structured software engineering design the project feasibility study and in the demand analysis overall design detailed design coding and debugging steps as well as the design and development of simple train ticket query system And use the data flow diagram and data dictionary E R diagram and database logical structure hierarchy diagram system flow chart and program flow chart of the system data requirements database system software structure system process and the process is analyzed and design The curriculum design using JSP development tools and SQL Server 2000 database to develop the train ticket query system The system is to solve the train ticket query work to solve the problem can meet the basic requirements of train ticket inquiries including query ticket information and other functions The system can be applied to tourism website to train ticket query work according to user needs fast and convenient for the user to provide services Keywords computer technology train ticket query system of JSP II 目目 录录 摘 要 I ABSTRACT II 绪 论 1 1 项目概述 2 1 1 现系统概述 2 1 2 公司组织机构 2 1 3 系统业务流程 3 1 4 系统功能模块 4 2 系统需求分析 5 2 1 需求陈述 5 2 2 USE CASE建模 6 2 2 1 定义活动者 6 2 2 2 Use Case 图 6 3 系统架构设计 7 3 1 架构设计目标 7 3 2 系统架构设计 7 3 2 1 用户界面包 8 3 2 2 业务逻辑包 9 3 2 3 数据访问包 9 3 2 4 权限管理包 10 3 2 5 异常处理包 11 3 3 系统架构类图 11 4 系统详细设计 13 4 1 系统模块设计 13 4 1 1 登陆 13 4 1 2 车票信息管理 13 4 3 数据库设计 14 4 3 1 ER 图 15 4 3 2 物理表结构图 15 4 4 开发环境的选择 17 4 4 1 系统开发工具 17 4 4 2 数据库的选择 17 4 4 3 系统网络架构设计 17 III 5 编 码 19 5 1 概述开发工具及编程脚本 19 5 1 1 JSP 技术 19 5 1 2 JavaBean 技术 19 5 1 3 JDBC 技术 20 5 1 4 用 JDBC 访问数据库 21 5 2 脚本习惯说明 23 6 系统调试与测试 24 6 1 程序调试 24 6 2 程序的测试 24 6 2 1 测试的重要性及目的 24 6 2 2 测试的步骤 25 6 2 3 测试的主要内容 25 结束语 27 参考文献 28 致 谢 29 1 绪 论 目前火车票查询的状况是仅靠电话手工操作 以现有的工作人员很难应付车票查 询高峰时刻的大量数据处理问题 同时还会出现由此带来的大量记录存放和管理所带 来的问题 本次设计拟开发一个火车站网上车票查询系统 可以降低工作人员的工作 量 提高工作人员的工作效率 同时方便顾客查询车票 火车站市场的管理和规范问题 是困扰我们多年的一个老问题 也是政府管理中 的一个难点 查询车票是客运业务中的一个最基本的业务 表面上看 它只是火车站 业务的一个简单的部分 但是它涉及到管理与客户服务等多方面 因此 过去传统的 查询车票方式已经不能满足现代客运业务流量剧增的客观要求 这就要求一种全新的 方式 网上查询车票 来缓解查询车票高峰时期的客运压力 并为用户提供方便快 捷的查询车票服务 本次设计便是利用开发工具 JSP 和 SQL Server 2000 数据库共同开 发的一个火车站查询车票系统 它能方便快捷地运用在查询车票业务的营运之中 本系统设计主要是根据查询车票业务的基本流程进行的 系统功能主要包括对车 票信息的查询 我利用自己所学的计算机专业知识 模拟设计一个类似与火车站的火 车票查询系统 使自己进一步掌握运用 JSP 语言编程的能力 并更深一步的了解有关 计算机技术的相关知识 哈尔滨德强商务学院毕业论文 设计 0 1 项目概述 1 1 系统概述 目前火车票查询的状况是仅靠电话手工操作 以现有的工作人员很难应付车票查询 高峰时刻的大量数据处理问题 同时还会出现由此带来的大量记录存放和管理所带来的 问题 本次设计拟开发一个火车站网上车票查询系统 可以降低工作人员的工作量 提 高工作人员的工作效率 同时方便顾客查询车票 火车站市场的管理和规范问题 是困扰我们多年的一个老问题 也是政府管理中的 一个难点 查询车票是客运业务中的一个最基本的业务 表面上看 它只是火车站业务 的一个简单的部分 但是它涉及到管理与客户服务等多方面 因此 过去传统的查询车 票方式已经不能满足现代客运业务流量剧增的客观要求 这就要求一种全新的方式 网上查询车票 来缓解查询车票高峰时期的客运压力 并为用户提供方便快捷的查询车 票服务 本次设计便是利用开发工具 JSP 和 SQL Server 2000 数据库共同开发的一个火车 站查询车票系统 它能方便快捷地运用在查询车票业务的营运之中 1 2 公司组织机构 目前公司组织机构如下图 1 1 所示 图 1 1 公司组织机构图 1 3 系统业务流程 经过前期调研分析和综合其它各方面相关理论知识 给出整个系统的业务流程图如 下图 1 2 所示 整个系统的开发主要围绕上述业务流程进行开发 开发过程采用面向对象的开发技 术 具体开发过程见下面的章节 火车站 财 务 科 人 事 科 宣 传 科 票 务 科 保 卫 科 售 票 室 技 术 科 哈尔滨德强商务学院毕业论文 设计 1 进入网站 判断登录状态 查询 查看火车票信息 图 1 2 系统流程 1 4 系统功能模块 根据上述业务流程 整个系统抽象出以下几个功能模块 如图 1 3 所示 下面模块划分只是抽象意义上的划分 各模块之间需要共享数据 相互协作 完成 整个系统流程 单一事物功能模块间是相互独立的 哈尔滨德强商务学院毕业论文 设计 2 火车 票查 询系 统 管理员 用户 发布信息管理 系统设置 车票信息管理 动态信息管理 查询车票信息 查看车票信息 图 1 3 系统功能模块 哈尔滨德强商务学院毕业论文 设计 3 2 系统需求分析 2 1 需求陈述 通常 需求陈述的内容包括 问题范围 功能需求 性能需求 应用环境及假设条 件等 总之 需求陈述应该阐明 做什么 而不是 怎样做 它应该描述用户的需求而 不是提出解决问题的方法 应该指出哪些是系统必要的性质 哪些是任选的性质 应该 避免对设计策略施加过多的约束 也不要描述系统的内部结构 因为这样做将限制实现 的灵活性 对系统性能及系统与外界环境交互协议的描述 是合适的需求 此外 对采 用的软件工程标准 模块构造准则 将来可能做的扩充以及可维护性要求等方面的描述 也都是适当的需求 下面以农业银行网上银行中的火车票查询模块为例说明如何进行系 统需求陈述 本系统需要具有以下功能 1 由于一项新的软件在被使用之前 对于使用者来说是陌生和崭新的 所以要求系统 具有良好的人机界面 2 能够实现查询功能 能成功的对各种信息进行查询及管理 3 查询数据方便 数据的稳定性和可靠性好 系统采用 B S 模式 整个系统最关键的就是数据库系统 一个强大的数据库可以支 持完善一个优秀的软件设计 通过软件系统与数据库系统的连接来实现通过软件界面观 察和处理操作数据 系统任务确定之后 下面的工作就是进行系统分析 面向对象的分析的主要任务是分析问题领域 找出问题解决方案 发现对象 分析 对象的内部构成和外部关系 建立软件系统的对象模型 分析问题领域是软件系统开发的一项基本工作 是项目开发之初必须首先进行的重 要工作 分析问题领域的结果是对问题领域的清晰 精确的定义 明确目标系统将做什 么 分析问题领域的主要任务是 对问题领域进行抽象 提出解决方案 对未来的系统 进行需求分析 确定系统的职责范围 功能需求 性能需求 应用环境及假设条件等 实施面向对象分析的一般步骤如下 1 分析用户需求 建立 Use Case 并通过用例图来描述用户的需求 2 通过建立域模型以识别类与对象 从而识别系统中的各种对象 3 确定对象的内部特征 从而定义出各个属性与服务 以进一步细化类的结构 4 识别对象之间的关系并使用设计模式对类的结构进行优化和改造 5 获得对象之间的行为关系 绘制出各种动态图形 顺序图 协作图 状态图等 2 2 Use Case建模 哈尔滨德强商务学院毕业论文 设计 4 2 2 1 定义活动者 根据火车票查询模块的需求可以确定 2 个活动者 即客户及系统管理员 客户可以进行网上转账及余额查询 系统管理员可以管理客户的账户 2 2 2 Use Case 图 根据系统需求分析 结合上节系统活动者的定义分析 得到系统火车票查询模块的 用例图 3 1 如下 用户 系统维护 发布信息管理 查看车票信息 车票信息管理 系统管理员 退出 查询车票信息 图 2 1 Use Case 图 哈尔滨德强商务学院毕业论文 设计 5 3 系统架构设计 软件的系统架构是指通过某种特定的技术平台 完成软件系统整体功能的开发过程 也可以通俗地理解为 总体设计和总体结构布局 一般而言 软件系统架构有两个要素 1 它是一个软件系统从整体到部分的最高层次的划分 2 建造一个系统所做出的最高层次的 以后难以更改的 商业和技术的决定 3 1 架构设计目标 软件架构设计要达到如下的目标 3 1 1 可行性 Feasible 架构具有可行性是架构设计的基石 3 1 2 可靠性 Reliable 软件系统对于用户的商业经营和管理来说极为重要 因 此软件系统必须非常可靠 3 1 3 安全性 Secure 软件系统所承担的交易的商业价值极高 系统的安全性非常 重要 3 1 4 可定制化 Customizable 同样的一套软件 可以根据客户群的不同和市场 需求的变化进行调整 3 1 5 可扩展性 Extensible 在新技术出现的时候 一个软件系统应当允许导入 新技术 从而对现有系统进行功能和性能的扩展 3 1 6 可维护性 Maintainable 软件系统的维护包括两方面 一是排除现有的错 误 二是将新的软件需求反映到现有系统中去 一个易于维护的系统可以有效地降低技 术支持的花费 3 1 7 可升级性 Scalable 软件必须能够在用户的使用率 用户的数目增加很快的 情况下 保持合理的性能 只有这样 才能适应用户的市场扩展得可能性 3 1 8 客户体验 Customer Experience 软件系统必须易于使用 软件的最终用户 很可能是不具有计算机专业技术的人员 3 2 系统架构设计 下面我们将根据架构设计原则和信息系统原理来建立系统的架构设计模型 将信息 系统中比较关心的对象分层 可分为三层 用户界面层 业务层 数据访问层 如下图 3 2所示 再把各层中的一些公共部分提出来 权限管理 异常处理 这样得到包图如 图3 3所示 哈尔滨德强商务学院毕业论文 设计 6 用用户户界界面面层层 业业务务逻逻辑辑层层 数数据据访访问问层层 ASP NET WEB Forms User Interface Processing Enterprise Services Business Components Bisiness Entities Dal InterfaceDal Factory SQL Server Dal SQL Server DAAB 图3 2 系统体系架构图 用用户户界界面面业业务务逻逻辑辑 权权限限管管理理 数数据据访访问问 异异常常处处理理 图3 3 火车票查询模块包图 3 2 1 用户界面包 用户界面包的职责是 1 与用户的交互 接收用户的各种输入以及输出各种提示信息或处理结果 2 对于输入的数据进行数据校验 过滤非法数据 3 向业务处理对象发送处理请求 用户界面展开图如图3 4所示 哈尔滨德强商务学院毕业论文 设计 7 用用户户界界面面 输入 输出 数据效验 发送业务处理请求 图 3 4 用户界面展开图 用户界面含的类见图 3 5 数据效验 业务处理 输入输出元素 业务代理对象 用用户户界界面面类类 输输入入界界面面输输出出界界面面 图 3 5 用户界面类图 3 2 2 业务逻辑包 业务逻辑包的职责是 1 实现各种业务处理逻辑或处理算法 2 验证请求者的权限 3 向数据访问对象发送数据持久化操作的请求 4 向用户界面层返回处理结果 业务逻辑包图展开如图3 6所示 业业务务逻逻辑辑 实现各种业务处理逻辑或处理算法 验证请求者的权限 向数据访问对象发送数据持久化操作的请求 向用户界面层返回处理结果 图 3 6 业务逻辑包展开图 业务逻辑包包含的类见图 3 7 业务处理 数据库连接对象 数据库访问对象 业业务务逻逻辑辑类类 业务处理 权限管理对象 业务对象 业业务务代代理理类类 图 3 7 业务逻辑类图 3 2 3 数据访问包 数据访问层的职责是 哈尔滨德强商务学院毕业论文 设计 8 1 实现数据的持久化操作 2 实现事务处理 数据访问包图展开如图3 8所示 数数据据访访问问 实现数据的持久化操作 实现事务处理 图 3 8 数据访问包图展开 数据访问包包含的类见图 3 9 开始事务 提交事务 回滚事务 数数据据库库连连接接类类 读取 写入 数据库连接对象 数数据据库库访访问问类类 图 3 9 数据访问类图 对于每一个业务处理中需要持久化操作的对象都可以对应为一个数据库访问对象 在很多业务处理中需要请求多个数据库访问对象来进行数据的读写操作 而这些操作又 必须在同一个事务中 这时需要用同一个数据库连接对象来进行统一的事务处理 这里 的数据库连接类的创建用到了单件 Singleton 模式 保证一个类仅有一个实例 一个客 户在同一时刻只能用一个数据库连接对象 3 2 4 权限管理包 权限管理的主要职责是 1 验证请求者的请求权限 2 提供请求者的权限列表 权限管理包图展开如图3 10所示 权权限限管管理理 验证请求者的请求权限 提供请求者的权限列表 图 3 10 权限管理包图展开 权限管理包包含的类见图 3 11 登陆 退出 是否已构建权限列表 构建权限列表 操作员代码 操作员名称 权限列表 操操作作员员类类 验证权限 in 操作员代码 in 权限列表 获取权限列表 in 操作员代码 操作员对象 权权限限管管理理类类 图 3 11 权限管理类图 3 2 5 异常处理包 哈尔滨德强商务学院毕业论文 设计 9 异常处理的职责 1 汇报运行时的详细异常信息 2 记录异常处理日志 异常处理包图展开如图 3 12 所示 异异常常处处理理 汇报运行时的详细异常信息 记录异常处理日志 图 3 12 异常处理包图展开 异常处理包包含的类见图 3 13 异异常常处处理理实实现现 异常处理对象 异异常常处处理理类类 异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现 图 3 13 异常处理类图 因为异常处理类型比较多 如 系统异常 数据库异常 业务逻辑异常等 针对不 同类型的异常处理方式也容易变 如 显示错误 记录文本日志 记录数据库日志等 所以这里使用了桥接 Bridge 模式来实现 使各部分的变化比较独立 3 3 系统架构类图 将包图展开 得到类图 它是架构的静态结构图 表达了各个类之间的静态联系 农业银行网上银行中的火车票查询模块系统架构类图如下图3 14所示 哈尔滨德强商务学院毕业论文 设计 10 异异常常处处理理实实现现 异常处理对象 异异常常处处理理类类 异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现 登陆 退出 是否已构建权限列表 构建权限列表 操作员代码 操作员名称 权限列表 操操作作员员类类 读取 写入 数据库连接对象 数数据据库库访访问问类类 验证权限 in 操作员代码 in 权限列表 获取权限列表 in 操作员代码 操作员对象 权权限限管管理理类类 输输入入界界面面 输输出出界界面面 数据效验 业务处理 输入输出元素 业务代理对象 用用户户界界面面类类 业务处理 数据库连接对象 数据库访问对象 业业务务逻逻辑辑类类 业务处理 权限管理对象 业务对象 业业务务代代理理类类 开始事务 提交事务 回滚事务 数数据据库库连连接接类类 图 3 14 系统架构类图 哈尔滨德强商务学院毕业论文 设计 11 4 系统详细设计 4 1 系统模块设计 4 1 1 登陆 在用户登录界面 在用户名对应的文本框中输入用户名 在密码对应的文本框中输 入密码 如果用户名和密码同时与数据库中的用户名和密码相对应 点击 确定 后进 入系统的主界面 如果输入的信息不正确 则给出提示 输入 用户名和密码 处理 校检字符的有效性 用户要登录本系统需要提供用户名和密码 在这里就是 要检验用户是否满足输入的要求 即检验用户名和密码文本框是否为空 若为空 则提 示用户输入用户名和密码 检验用户名是否存在或密码是否正确 即是否存在用户输入 的用户名 并且密码是否正确 输出 登录成功 进入用户的系统使用资源页面 不成功则显示错误信息页面 界面如下图所示 4 1 2 车票信息管理 管理员进入系统后可以对火车票信息进行管理 包括对火车票信息的添加 修改 删除的功能 1 添加火车票的信息操作 点击添加火车票信息按钮 并输入所需添加火车票的内容 检验用户输入内容是否符合用户数据库表中字段定义 若不符合则提示输入有误 提示信息添加成功 更新火车票数据库表的信息 2 删除火车票信息 哈尔滨德强商务学院毕业论文 设计 12 点击删除按钮来删除火车票的相关信息 根据火车票的表中的关键字火车票编号删除表中的一切以火车票编号为主键的其他字 段 执行 SQL 语句 delete 并且删除相关属性 更新数据库表的信息 3 修改火车票 点击修改火车票按钮 并输入需要修改的内容 检验用户输入的火车票内容是否符合数据库表中字段定义 若不符合则提示输入有误 如果用记录存在 进行修改操作 输入新的字段 并根据数据库表中对应字段的定义 检查输入是否合法 如果输入有错误则进行提示 如果输入正确 执行 UPDATE SQL 语句 更新数据库表中该项目所对应的记录 提示信息修改成功 更新数据库表的信息 界面如下图所示 4 3 数据库设计 关系型数据库是目前应用最广泛的数据库 既然是面向对象系统设计 数据库设计 当然也要是面向对象的 现在要考虑如何对类进行持久化操作 即如何将对象类映射到 关系数据库的二维表 目前可以采用数据库建模工具来实现 象PowerDesigner Rose 哈尔滨德强商务学院毕业论文 设计 13 等 4 3 1 ER 图 管理员信息 ADMIN 的 E R 图如图 4 3 图 4 3 管理员表 E R 图 车票信息的 E R 图如图 图 4 4 火车票信息表 E R 图 4 3 2 物理表结构图 将火车票查询 ER 模型中的实体转换为物理表 得到物理表结构如下 设计表 fz admin 列名数据类型长度允许空 IdInt4否 UsernameNvarchar50否 PasswordNvarchar50否 CreattimeDatetime8否 FlagInt4否 IsuseInt 4否 LogintimesInt4 否 QuanxianNvarchar1000否 管理员 用户名密码 终点 火车票 ID 硬座价 格 软座价 格 起点 发布时间 卧铺价 票数 哈尔滨德强商务学院毕业论文 设计 14 设计表 fz system 列名数据类型长度允许空 IdInt4否 SitenameNvarchar100否 urlNvarchar100否 KeywordNvarchar500否 DescriptionNvarchar500否 EmailNvarchar100否 StateNvarchar50否 ReasonsNvarchar100否 DirNvarchar100否 RecordNvarchar50否 CopyrightText16否 UpInt4否 设计表 fz affice 列名数据类型长度允许空 IdInt4否 TitleNvarchar100否 ContentNvarchar200否 AddtimeDatetime8否 AdderNvarchar50否 IfhideInt4否 4 4 开发环境的选择 4 4 1 系统开发工具 本系统采用 myeclipse5 5 作为系统开发工具 myeclipse5 5 是 JSP 集成开发环境 是 目前最流行的 Windows 平台应用程序开发环境 使用 myeclipse5 5 专业开发人员能够 使用改进后的可视化设计工具 编程语言和代码编辑器 享受高效率的开发环境 在统 一的开发环境中开发并调试多层次的服务器应用程序 使用集成的可视化数据库设计和报 告工具 创建 SQL Server 2005 解决方案 4 4 2 数据库的选择 哈尔滨德强商务学院毕业论文 设计 15 SQL Server2000 是一个具备完全 Web 支持的数据库产品 其特点如下 真正的客户机 服务器体系结构 1 图形化用户界面 使系统管理和数据库管理更加直观 简单 丰富的编程接口工具 为用户进行程序设计提供了更大的选择余地 2 SQL Server 与 Windows NT 完全集成 利用了 NT 的许多功能 如发送和接受消息 管理登录安全性等 SQL Server 也可以很好地与 Microsoft BackOffice 产品集成 3 很好的伸缩性 可跨越从运行 Windows 95 98 的膝上型电脑 Windows 2000 的大 型多处理器等多种平台使用 4 对 Web 技术的支持 使用户能够很容易地将数据库中的数据发布到 Web 页面上 5 SQL Server 提供数据仓库功能 这个功能只在 Oracle 和其他更昂贵的 DBMS 中 才有 4 4 3 系统网络架构设计 本系统采用 B S 结构 系统网络架构图见图 4 5 Internet 交换机 Web服务器数据库服务器 客户机 客户机 客户机 防火墙 交换机 交换机 路由器 图 4 5 系统网络架构图 支持软件安装情况如下表 4 6 所示 Table 4 6 服务器 1 OS Ms Windows 2003 Server 2 SQL Server 2000 数据库管理软件 客户机 1 OS Ms Windows xp Professional Ms Windows 2000 Professional 2 Microsoft office 2003Adobe 6 0IE 5 0 以上 哈尔滨德强商务学院毕业论文 设计 16 哈尔滨德强商务学院毕业论文 设计 17 5 编 码 5 1 概述开发工具及编程脚本 5 1 1 JSP 技术 JSP 是由 Sun 微系统公司于 1999 年 6 月推出的一项技术 是基于 JavaServlet 以及整 个 Java 体系的 Web 开发技术 利用这一技术可以建立先进 安全和跨平台的动态网站 JSP 技术在多个方面加速了动态 Web 页面的开发 与微软公司的 ASP 技术相比 JSP 具有如下优点 1 开放的技术 JSP 技术基于平台和服务器的相互独立 技术支持来自广泛的 专 门的 各种工具包 有服务器的组件和数据库产品开发商提供 相比之下 ASP 技术主 要依赖 MICROSOFT 支持 2 平台和服务器的独立性 JSP 编写的代码可运行在任何符合 JAVA 语法结构的环 境中 这样 JSP 就能够运行在多种 WEB 服务器上并支持来自多家开发商提供的各种工具 包 3 开放的开发过程 开放的源码 自 1995 年以来 SUN 用开放过程方法同国际 JAVA 组织合作开发和修改 JAVA 技术和规范 4 JSP 标记可扩充性 JSP 技术能够为开发者扩展 JSP 标记 充分利用与 XML 兼容 的标记技术强大的功能 大大减少对脚本语言的依赖 5 JSP 跨平台的可重用性 JSP 组件 EJB JavaBean 或定制的 JSP 标记 都是跨平 台可重用的 5 1 2 JavaBean 技术 JSP 作为一个很好的动态网站开发语言得到了越来越广泛的应用 在各类 JSP 应用程 序中 JSP JavaBean 的组合成为了一种事实上最常见的 JSP 程序的标准 JavaBean 是描 述 Java 的软件组件模型 有点类似于 Microsoft 的 COM 组件概念 在 Java 模型中 通过 JavaBean 可以无限扩充 Java 程序的功能 通过 JavaBean 的组合可以快速的生成新的应用 程序 对于程序员来说 最好的一点就是 JavaBean 可以实现代码的重复利用 另外对于 程序的易维护性等等也有很重大的意义 JavaBean 通过 Java 虚拟机 Java Virtual Machine 可以得到正确的执行 具有平台无关性 一个 JavaBean 有三个部分组成 1 属性 Property Bean 的属性就是对象的属性 但提供了属性读取和设置的接口支持 例如一个时钟 Bean 可以有时区和镇铃属性 日历 Bean 可以有年份和月份属性 每个属性通常遵守简单 的方法命名规则 这样可以很方便的找出 Bean 提供的属性 然后查询属性值或改变属性 值 对 Bean 进行操作 2 方法 Method 哈尔滨德强商务学院毕业论文 设计 18 由于 Bean 本身是 Java 对象 调用这个对象的方法是与其交互作用的唯一途径 JavaBean 严格遵守面向对象的类设计逻辑 不让外界访问其任何实例字段 没有 Public 字段 这样 方法调用的是接触 Bean 的唯一途径 3 事件 Event Bean 与其他软件组件交流信息的主要方式是发送和接收事件 这与对象之间通过消 息通信类似 JavaBean 传统的应用在于可视化的领域 如 AWT 下的应用 自从 JSP 诞生后 JavaBean 更多的应用在非可视化领域 在服务器端应用方面表现出来了越来越强的生命 力 利用非可视化 JavaBean 来封装事务逻辑 数据库操作等等 可以很好地实现业务逻 辑和前台程序 如 JSP 的分离 使得系统具有更好的健壮性和灵活性 5 1 3 JDBC 技术 JDBC 是 Java 的开发者 Sun 的 JavaSoft 公司制定的 Java 数据库连接 JavaDataBaseConnectivity 技术的简称 是为各种常用数据库提供无缝联接的技术 JDBC 在 Web 和 Internet 应用程序中的作用和 ODBC 在 Windows 系列平台应用程序中的作用类 似 JDBC 有一个非常独特的动态连接结构 它使得系统模块化 使用 JDBC 来完成对数 据库的访问包括以下四个主要组件 Java 的应用程序 JDBC 驱动器管理器 驱动器和数 据源 简单地说 JDBC 能完成下列三件事 1 同一个数据库建立连接 2 向数据库发送 SQL 语句 3 处理数据库返回的结果 JDBC 是一种可用于执行 SQL 语句的 JavaAPI ApplicationProgrammingInterface 应 用程序设计接口 它由一些 Java 语言写的类 界面组成 JDBC 给数据库应用开发人员 数据库前台工具开发人员提供了一种标准的应用程序设计接口 使开发人员可以用纯 Java 语言编写完整的数据库应用程序 通过使用 JDBC 开发人员可以很方便地将 SQL 语句传送给几乎任何一种数据库 也就是说 开发人员可以不必写一个程序访问 Sybase 写另一个程序访问 Oracle 再写 一个程序访问 Microsoft 的 SQLServer 用 JDBC 写的程序能够自动地将 SQL 语句传送给 相应的数据库管理系统 DBMS 不但如此 使用 Java 编写的应用程序可以在任何支持 Java 的平台上运行 不必在不同的平台上编写不同的应用 Java 和 JDBC 的结合可以让 开发人员在开发数据库应用时真正实现 WriteOnce RunEverywhere Java 具有健壮 安全 易用等特性 而且支持自动网上下载 是一种很好的与数据 库线连接而使用的编程语言 它所需要的是 Java 应用如何同各种各样的数据库连接 JDBC 正是实现这种连接的关键 JDBC 扩展了 Java 的能力 如使用 Java 和 JDBCAPI 就可以公布一个 Web 页 页中 哈尔滨德强商务学院毕业论文 设计 19 带有能访问远端数据库的 Applet 或者企业可以通过 JDBC 让全部的职工 他们可以使用 不同的操作系统 如 Windwos Machintosh 或 UNIX 在 Intranet 上连接到几个全球数据 库上 而这几个全球数据库可以是不相同的 5 1 4 用 JDBC 访问数据库 所有的数据库的对象和方法都在 java sql 里面 所以首先要 import java sql 要想连 接数据库 首先要将驱动程序调入 Class forName sun jdbc odbc JdbcOdbcDriver 这是 JDBC ODBC 的驱动程序 要想连接一个指定的数据库 必须创建 Connection 类的一个实例 String url jdbc odbc Grocery prices Connection con DriverManager getConnection url 注意在此用到的数据库名称是在 ODBC 设置控制面板中输入的数据资源名 URL 语 法对于不同类型的数据库会很不一样 语法是这样的 jdbc subprotocol subname 开头 都是 JDBC 后面是子协议 然后是 ODBC 名称 若要使用纯 JDBC 驱动程序 必须安装第三方软件提供的驱动程序 一般在数据库的 官方网站上可以找到这里不做讨论 本系统采用 JDBC ODBC 的驱动程序连接数据库 并使用 JavaBean 组件 有效的避 免了代码的重复 具体过程如下 package exam import java sql public class ExamBean String strDBDriver sun jdbc odbc JdbcOdbcDriver JDBC ODBC 驱动程序 String strDBUrl jdbc odbc exam private Connection conn null private Statement stmt null ResultSet rs null public ExamBean try Class forName strDBDriver catch java lang ClassNotFoundException e System err println exam e getMessage 哈尔滨德强商务学院毕业论文 设计 20 public ResultSet executeQuery String sql rs null try conn DriverManager getConnection strDBDriver 创建数据库连接对象 stmt conn createStatement ResultSet TYPE SCROLL SENSITIVE ResultSet CONCUR UPD ATABLE 支持数据回滚 rs stmt executeQuery sql catch SQLException ex System err println aq executeQuery ex getMessage return rs public void executeUpdate String sql stmt null try conn DriverManager getConnection strDBDriver stmt conn createStatement stmt executeUpdate sql stmt close catch SQLException ex System err println aq executeQuery ex getMessage public void closeStmt try stmt close catch SQLException e e printStackTrace 哈尔滨德强商务学院毕业论文 设计 21 public void closeConn try conn close catch SQLException e e printStackTrace 5 2 脚本习惯说明 无论是哪一种 JSP 实现 在一定的阶段 它们的某些版本都会出现给系统带来危险 的安全隐患 即使 JSP 开发者遵从了安全编程惯例也无济于事 例如 在 allaire 的 JRUN 的一个版本中 如果请求 URL 包含字符串 jsp 00 作为 JSP 脚本扩展名的一部分 服 务器不会忽略 nul l 字节 它会把页面视为一个静态的非 JSP 页面之类的东西 这样 服 务器会请求操作系统打开该页面 而这时 null 字节却被忽略 结果提供给用户的是 JSP 页面的源代码而不是页面的执行结果 类似地 Tom cat 的一个版本也有一个安全隐患 只要请求类如下面的格式 它会让 攻击者看到 JSP 页面的源代码 http server page jsp 2570 这里的骗局在于 25 是 URL 编码的 而 70 是 p 的十六进制值 Web 服 务器不会调用 JSP 处理器 因为 URL 没有以 jsp 结尾 但静态文件处理器会设法把 URL 映射到正确的文件名字 再一次解码 URL 另外 许多 Web 服务器和 JSP 实现都带有示范脚本 这些示范脚本常常包含安全隐 患 在把服务器部署到一个不 无恶意的环境 即 Internet 之前 禁止对所有这些脚本的 访问有利于安全 简而言之 JSP 开发者应该清楚 在自己正在开发的平台上 当前有哪些安全隐患 订阅 BUGTRAQ 和所有供应商提供的邮件列表是跟踪这类信息的好方法 哈尔滨德强商务学院毕业论文 设计 22 6 系统调试与测试 6 1 程序调试 在设计系统的过程中 存在一些错误是必然的 对于语句的语法错误 在程序运行 时自动提示 并请求立即纠正 因此 这类错误比较容易发现和纠正 但另一类错误是 在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果 这类错误隐蔽性强 有时会出现 有时又不出现 因此 对这一类动态发生的错误的排 查是耗时费力的 6 2 程序的测试 6 2 1 测试的重要性及目的 1 测试的重要性 软件的测试在软件生命周期中占据重要的地位 在传统的瀑布模型中 软件测试学 仅处于运行维护阶段之前 是软件产品交付用户使用之前保证软件质量的重要手段 近 来 软件工程界趋向于一种新的观点 即认为软件生命周期每一阶段中都应包含测试 从而检验本阶段的成果是否接近预期的目标 尽可能早的发现错误并加以修正 如果不 在早期阶段进行测试 错误的延时扩散常常会导致最后成品测试的巨大困难 事实上 对于软件来讲 不论采用什么技术和什么方法 软件中仍然会有错 采用 新的语言 先进的开发方式 完善的开发过程 可以减少错误的引入 但是不可能完全 杜绝软件中的错误 这些引入的错误需要测试来找出 软件中的错误密度也需要测试来 进行估计 测试是所有工程学科的基本组成单元 是软件开发的重要部分 自有程序设 计的那天起测试就一直伴随着 统计表明 在典型的软件开发项目中 软件测试工作量 往往占软件开发总工作量的 40 以上 而在软件开发的总成本中 用在测试上的开销要 占 30 到 50 如果把维护阶段也考虑在内 讨论整个软件生存期时 测试的成本比例 也许会有所降低 但实际上维护工作相当于二次开发 乃至多次开发 其中必定还包含 有许多测试工作 在实践中 软件测试的困难常常使人望而却步或敷衍了事 这是由于对测试仍然存 在一些不正确的看法和错误的态度 这包括 认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感 以发现软件错误为目标的测试是非建设性的 甚至是破坏性的 测试中发现错位 是对责任者工作的一种否定 测试工作枯燥无味 不能引起人们的兴趣 测试工作是艰苦而细致的工作 对自己编写的程序盲目自信 在发现错误后 顾虑别人对自己的开发能力的看法 这些观点对软件测试工作是极为不利的 必须澄清认识 端正态度 才可能提高软 哈尔滨德强商务学院毕业论文 设计 23 件产品的质量 2 测试的目的 如果测试的目的是为了尽可能多地找出错误 那么测试就应该直接针对软件比较复 杂的部分或是以前出错比较多的位置 软件测试是为了发现错误而执行程序的过程 测试是为了证明程序有错 而不是证明程序无错误 一个好的测试用例是在于它能发现至今未发现的错误 一个成功的测试是发现了至今未发现的错误的测试 这种观点可以提醒人们测试要以查找错误为中心 而不是为了演示软件的正确功能 但是仅凭字面意思理解这一观点可能会产生误导 认为发现错误是软件测试的唯一目 查找不出错误的测试就是没有价值的 事实并非如此 首先 测试并不仅仅是为了要找出错误 通过分析错误产生的原因和错误的分布特 征 可以帮助项目管理者发现当前所采用的软件过程的缺陷 以便改进 同时 这种分 析也能帮助我们设计出有针对性地检测方法 改善测试的有效性 其次 没有发现错误 的测试也是有价值的 完整的测试是评定测试质量的一种方法 6 2 2 测试的步骤 与开发过程类似 测试过程也必须分步骤进行 每个步骤在逻辑上是前一个步骤的 继续 大型软件系统通常由若干个子系统组成 每个子系统又由若干个模块组成 因此 大型软件系统的测试基本上由下述几个步骤组成 1 模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误 2 系统测试 在这个测试步骤中发现的往往是软件设计中的错误 也可能发现需求说 明中的错误 3 验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误 6 2 3 测试的主要内容 为了保证测试的质量 将测试过程分成几个阶段 即 代码审查 单元测试 集成测 试 确认测试和系统测试 1 单元测试 单元测试集中在检查软件设计的最小单位 模块上 通过测试发现实现该模块的实 际功能与定义该模块的功能说明不符合的情况 以及编码的错误 2 集成测试 集成测试是将模块按照设计要求组装起来同时进行测试 主要目标是发现与接口有 关的问题 如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响 把子功能 组合起来可能不产生预期的主功能 个别看起来是可以接受的误差可能积累到不能接受 的程度 全程数据结构可能有错误等 哈尔滨德强商务学院毕业论文 设计 24 3 确认测试 确认测试的目的是向未来的用户表明系统能够像预定要求那样工作 经集成测试后 已经按照设计把所有的模块组装成一个完整的软件系统 接口错误也已经基本排除了 接着就应该进一步验证软件的有效性 这就是确认测试的任务 即软件的功能和性能如 同用户所合理期待的那样 4 系统测试 软件开发完成以后 最终还要与系统中其他部分配套运行 进行系统测试 包括恢 复测试 安全测试 强度测试和性能测试等 单独对系统的测试主要从以下几方面入手 1 功能测试 测试是否满足开发要求 是否提供设计所描述的功能 是否用户的需 求都得到满足 功能测试是系统测试最常用和必须的测试 通常还会以正式的软件说明 书为测试标准 2 强度测试及性能测试 测试系统能力最高实际限度 即软件在一些超负荷情况下 功能实现的情况 3 安全测试 验证安装在系统内的保护机构确实能够对系统进行保护 使之不受各 种非常的干扰 针对本系统主要是对权限系统的测试和对无效数据 错数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 入职心态培训课件
- 倪莉莉公务礼仪课件
- 伸缩缝施工培训课件
- 智慧树知道网课《宠物手术(黑龙江生物科技职业学院)》课后章节测试答案
- 2025土管所公务员面试题目及答案
- 企业班前安全培训记录课件
- 企业春运安全培训课件
- 罪犯记分考核管理办法
- 兰西辅警考试题库2025(有答案)
- 衡水金卷四省(四川云南)高三联考9月联考英语(含答案)
- 成人脑室外引流护理标准解读
- 药物的结构性质与生物活性
- etap学习帮助-chapter17保护视图star
- 少年中国说五线谱乐谱
- 国际公法学-第三章国际法与国内法的关系
- 广东广州市番禺区教育局招考聘用公办中小学临聘教师17人(必考题)模拟卷
- (高职)企业财务会计电子课件完整版PPT全书电子教案
- VTE的预防与治疗(课堂PPT)
- 第五章 新型化学纤维
- 建筑结构及选型
- 100关键字写字要诀(动画_mp3配音)2(1)
评论
0/150
提交评论