基于JDBC技术的配送管理系统的研发

2018-07-17 12:14
商丘职业技术学院学报 2018年3期
关键词:错误数据库测试

马 黎

(商丘职业技术学院,河南 商丘 476100)

引言

我国水产品的发展历史不长,也不是特别成熟,水产养殖户是沿海居民的主体.可想而知,他们的思维颇为有限.他们中的大多数人会利用当地资源进行水产养殖和配送,但不会考虑利用高科技完成水产品的配送.因此,在引进先进的配送系统的同时,引进相应的系统构建的原则和系统框架是很有必要的,尤其是在水产品的配送上,在该系统的设计时应注重的是相应的配送和库存,要想配送系统足够完善,必须同时满足业务人员日常工作的需求和管理人员的管理分析的需求[1]51-53,56.在物流方面,中国也增加了基础设施的规模,近年来,随着网络的发展我国的运输量也在增加,政府对物流也给予了各种政策支持.在当今信息时代,特别是在这样一个网络飞速发展的时代,要想产品的每一个环节都能做到精准完善,我们就必须利用信息时代的优势,追求产品运输效率的最大化,实现利益的最大化.

在中国有很多中小企业, 他们无法像集团一样,拥有完善工作流程, 往往多数工作都以简单笔记为主,大量的工作模块相对独立, 这给企业的备录以及管理都造成了很大的不便.我们目前接触到的大多数配送系统都是针对离散型企业.因此,在设计和构建系统时应该建立科学统一的标准.一是应遵循可操作性原则,尽可能地简化系统;二是遵循本质突出原则,选择典型代表;三是继承和创新的原则,即在现有指标的基础上补充和完善[2]23-25.在配送方面,为了提高配送效率,需要依靠强大的网络和智能系统.现如今,许多企业都在使用ERP系统.该系统可以解决公司整个生产、运输和管理中存在的诸多问题,特别是配送系统,既为运输提供了便利,又为分析各种数据提供了原始数据.

1 系统分析

系统设计的模式是B/S模式.该系统对密钥数据库的要求非常高,需要数据足够安全,只有强大的数据库支持, 才可以为软件系统的对接提供足够的资源数据.

系统的组成分为3层,浏览器可以作为媒介.客户端可以模拟上述操作,完成数据的下载和仿真操作,并在JSP页面上显示浏览器的性能逻辑.它的内部JavaBean组件用于在系统中实现复杂的业务逻辑.通过JSP语言的编译,实现在JSP服务器上运行JavaBean组件并返回客户端浏览器.系统对数据库的访问不是直接进行的,而是通过一个名为JDBC的中间组件进行访问.系统的操作是在服务器端进行,系统本身的两个逻辑——事物逻辑和数据逻辑是根据数据库的服务器来定义.系统的性能表现手段是JSP技术,该系统的JSP驱动引擎是使用Tomcat 5.0.3作为系统服务器,JDBC驱动程序用来完成系统的业务逻辑并实现数据库访问,如图1所示.

2 系统采用的关键技术(JDBC技术)

2.1 JDBC技术概述

Java是Sun公司的科研结晶,而JDBC则是JavaSoft实现链接数据库的一门技术,该技术能够将各种通用数据库完美的链接起来.JDBC之于Web相当于ODBC之于Windows.简单地说,JDBC具备3种功能:和同一个数据库搭建连接线路;向目标数据库传输特定得SQL语句;可以对数据库回馈回来的数据做进一步处理.

JDBC作为一种编程接口,其特殊之处在于它可以执行SQL语句.JDBC是基于Java语言进行编写.为了方便程序开发人员和数据库开发人员使用,JDBC有一些标准化的接口.因此,开发人员可以用Java语言编写完整的数据库应用程序[3]175-176.

使用JDBC技术,开发人员可以轻松地将SQL语句转移到数据库中.换句话说,开发人员需要编写用于访问Sybase的程序,再编写一个用来访问Oracle的程序,通过Java编写的程序兼容所有的Java平台,避免了多次开发的重复动作.Java和JDBC两种语言都能够实现“write once, run every where”,与其他语言相比,Java是健壮的、安全的、易于移植的,并且可以在基于数据库的软件开发的基础上自动下载.这是一种非常实用的编程需求,易于实现数据库的连接工作.它的重点是将Java应用程序链接到各种数据库和JDBC中.

2.2 用JDBC访问数据库

数据库对象以及方法均选用Java语言和SQL技术.因此,次序为importjava-SQL-*-连接数据库,首先需要被转移到数据库中.

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");这是JDBC-ODBC的驱动程序.

如果想要链接到指定的数据库,就必须找到一个构建连接类的实际示例.

String url = "jdbc:odbc:Groge";

Connection con = Driver Manager.get Connection(url);

值得关注的是,ODBC在设置控制板上写入的资源名称就将作为数据的使用名称.URL语法上也会受到数据库的差异性影响.目前广泛使用的语法规则是:jdbc:subprotocol:subname, JDBC会作为标志放在前面,紧跟其后的是子协议,最后才是ODBC的名字.

本系统使用的是JDBC和ODBC相结合的驱动,通过它来实现数据库的链接通过JavaBean可以很好地规避代码重复的风险.

3 系统概要设计

系统主要管理模块:

1)商品类别管理:不同品类商品的销售、编码、含单一品类、编码、包装等,能够节约时间,商品数量(包括重量以及余量);

2)订单管理:订单编码、商品、日期、总量、客户地址和姓名.配送服务主要基于需求安排.现代管理系统要求实现人性化,可以根据实际需求配送,并尽量降低成本.以分销订单为基础的配送组合能够显著提升配送工作的效率水平;

3)客户管理:主要有顾客单位或姓名、送货地址、编码以及电话等;

4)人员管理:司机编码、人数、仓储人员姓名、电话、职责等;

5)车辆管理:车辆种类、车号、行驶距离、路线、驾驶员;

6)出入库管理:仓库的位置、对货物名称、货物数量、货运量、列车的号码、司机姓名、司机的数量、仓库的位置、storeworker名称、库房的成员数量、装运日期、物流的成本和电话号码.

根据系统管理模块的功能需求,设计系统功能图,如图2所示.

图2 系统功能结构图

4 系统调试与测试

4.1 系统调试

在系统设计过程中,是否存在问题和漏洞,需要在调试的过程中进行运行测试.在试运行过程中,如果出现简单的语法错误,系统会做出相应的提示,要求程序设计者立即纠正.因此,找出这样的错误并不困难.真正困难的问题是更深层次的,可能是由逻辑错误引起的问题,也可能是由某些公式的错误操作导致的问题.

4.2 系统测试

4.2.1 测试的重要性和目的性

1)测试的重要性

软件测试是整个软件在服务过程中必不可少的一部分.软件测试不能产生直接的价值,但它是软件正常运行的保证.近年来,软件工程领域出现了一种新的观点,即测试过程应该存在于软件生命周期的每个阶段.

事实上,即使先进的技术和合理的方法也无法达到零错误的可能性.诚然,采用先进的设计需求,最新的开发方法和完善的开发链接可以在一定程度上消除或减少一部分人为的错误,但不会消除全部可能存在的错误.只有通过软件测试阶段,才能进行误差密度估计.在重要的软件项目中,超过40%的工作负载用于测试软件,30%~50%的总成本用于测试.

软件测试的困难之处在于测试人员职业素养,在测试中时常出现错误的观点和错误的态度,包括:在传统的认知中,测试工作并不像其他工作能迅速带来成效;一名否定的负责人在测试中可能发生错位,在测试中发现的软件错误不是建设性的而是破坏性的;测试工作比较艰苦且要求特别细致; 程序员过度的自信产生偏激心理,即使出现了错误,也不允许别人做出有损自己能力的事情.

2)测试目的

测试的主要目的是发现设计错误.因此,它的核心是指向最容易出错的地方或设计非常复杂的位置.

所谓软件测试是带着寻找错误的目的而进行的一系列程序操作; 良好的测试工作能够找出前期尚未发现的错误;对测试工作进行评价,判定其是否成功的核心标准是能否找到潜在错误.这使我们清楚地认识到,测试的意义不是为了展示功能,而是查找错误.有些人认为软件一定是错的,不试图去发现所谓的错误就不善罢甘休,认为这才是测试的目的,这个观点显然是错误的.

对于测试的认识不能只是停留在寻找错误的层面上.它还可以通过发现错误分析错误产生的原因和错误的特征,从而帮助管理者发现软件设计的漏洞,方便进一步的改进.通过测试日志,还可以帮助测试员进行有针对性的测试,进一步提供测试的权威性.即使在测试完成之后,没有发现错误,也不代表测试过程毫无意义,至少,它可以用于质量评估.

4.2.2 测试的步骤

测试工作与开发工作相同,都有其特定的步骤.只有确保正确地完成了预定步骤,才能进行下一步测试.一般来说,考虑到大型软件系统的结构,可以将其分为若干个子系统,并根据各子系统的功能对各子系统的功能单元进行测试.

1)单元测试:这个在软件中最常出现的问题就是编码不正确或者设计不当;

2)系统测试:在此处经常会出现软件设计错误,对需求的描述也不恰当;

3)验收测试:在测试过程中,系统的设计可能与需求规范不同.

4.2.3 测试的主要内容

1)单元测试

单元测试的目的是非常明确的,它是设计检测中最不可分割的最小功能单元,查看该单元的显示功能是否与模块定义的功能相同,以确保没有功能偏差.

2)集成测试

集成测试即为根据设计目的,将所有系统功能模块组合在一起,同时检测功能是否正常,查看是否存在接口问题.在单元和单元的拼装过程中,一些人为疏忽可能导致危害整个系统的问题可能出现,或组合不当没有实现预定的功能.换句话说,单元中存在的可以忽略的小问题,一旦组合拼装后,可能会逐步累计,达到系统无法正常运行的程度,使得整个数据结构受到影响.

3)确认测试

测试的主要目的是向未来用户演示系统,并确定能够达到预测效果.通过综合测试,可以进行下一步检验软件有效性测试,其目的是为了验证测试、性能和功能的预期.

4)系统测试

当软件设计工作结束后,系统将结合全部子系统来测试系统的性能.具体步骤包括功能测试、系统强度测试和安全测试.

系统功能测试:验证功能是否满足开发需求;是否符合设计所追求的功能;能否满足用户的需求.

强度测试:其目的是软件在重载条件下的功能实现.

安全测试:实践证明,在系统中安装的保护装置可以起到保护作用,避免各种干扰.该系统主要检测权限系统,同时可以检测无效数据、错误数据和非法数据.

5 结语

本文在基于JDBC技术的配送管理系统是将JSP语言和SQL Server 2000数据库相结合,对于养殖管理系统的设计、整合与实现,系统的安全在整个开发过程是一个必须考虑的问题,特别是含有重要信息或敏感数据的单元.本系统基于现有技术,并结合网站的实际需要,探讨了利用JDBC技术开发管理系统的过程.

猜你喜欢
错误数据库测试
在错误中成长
幽默大测试
“摄问”测试
“摄问”测试
“摄问”测试
数据库
数据库
数据库
数据库
不犯同样错误