摘 要
本课题为了实现电商在二十一世纪信息经济世界中的地位,让电子商务、企业信息化等发展环境越来越好,在电子商务领域能有效地建立企业的竞争优势,获取新的发展机遇。采用JSP、Servlet和Oracle开发,Windows 7操作系统,用Ext.js进行前台网页界面设计、采用JNDI方式与后台数据库进行连接。实现了能够存储和管理大量的数据、承运承储的添加、订单的处理等功能并且保证客户和商家的权益的电商管理系统。通过对本课题的实现发现电子商务在现代企业管理中的作用和地位越来越重要,基于此,研究电子商务的后台设计就显得十分必要。
关键词: JSP Ext.js 电子商务
Abstract
This subject in order to realize the electric position in the twenty-first Century world information economy, let the electronic commerce, enterprise informatization development environment is getting better and better, and can effectively establish the competitive advantage of the enterprise in the field of electronic commerce, access to new development opportunities. Using JSP, Servlet and Oracle development, Windows 7 operating system, using Ext.js were carried out by the front desk Webpage interface design, the JNDI mode and the backstage database connection. To realize the storage and management of mass data, the carrier storage add, order processing and other functions and to ensure the electric management system for customer and merchant interests. Through the electronic commerce and the status in the modern enterprise management more and more important role in the realization of this project, found that based on this, design of the background research of e-commerce is very necessary。 Key words: JSP Ext.js E-commerce
目 录
第一章 绪论 ................................................ 1
1.1 课题背景、目的及意义 ................................ 1 1.2 国内外研究现状 ...................................... 2 第二章 可行性分析 .......................................... 3
2.1 技术可行性 .......................................... 3 2.2 操作可行性 .......................................... 3 2.3 系统的技术介绍 ...................................... 3 2.4 系统开发平台及运行环境 .............................. 7 第三章 需求分析 ............................................ 9
3.1 系统功能模块概述和分析 .............................. 9 3.2 系统功能模块设计 .................................... 9 3.3 数据库分析 ......................................... 10 第四章 电商管理系统前台设计与实现 .......................... 14
4.1首页设计 ............................................ 14 4.2基本档案 ............................................ 16 4.3日常业务 ............................................ 19 4.4报表查询 ............................................ 21 第五章 系统测试 ........................................... 27
5.1 测试的目的与目标 ................................... 27
5.2 测试方法 ........................................... 27 5.3 测试用例 ........................................... 28 5.4 测试结论 ........................................... 29
第一章 绪论
第一章 绪论
1.1 课题背景、目的及意义
1.1.1 课题背景和意义
电子商务下的企业管理的发展状况,指出了电子商务对企业经营环境的影响,对企业管理的影响。阐述了电子商务在现代企业中的地位及其发展状况,介绍了企业通过网络技术进行企业运作的重要意义。电子商务对生产管理的影响,介绍了先进的信息技术在企业生产中的应用及分析了信息技术对于企业减少库存、定制化生产等方面现实意义。再来介绍了电子商务对企业财务管理的影响,电子商务对人力资源管理等方面的影响。
随着知识经济时代的来临,基于信息技术的电子商务,正在逐渐成为现代社会经济活动的重要基础。电子商务的技术基础研究、电子商务的基本内容研究,已成为当今经济管理界的重要课题。由于电子商务是由主导信息技术IT业界推动的,使得电子商务在发展之初就带来有一定的技术化倾向,伴随着全球经济一体化进程的不断加快,IT技术的飞速发展,Internet/Intranet技术和电子商务被广泛应用,人类已从工业经济时代跨入了知识经济时代。在知识经济时代,企业所处的商业环境已经发生了根本性变化。顾客需求个性化、技术创新不断加速、产品生命周期不断缩短、市场竞争日趋激烈,过去在工业经济时代通过规模化生产以降低成本的大型企业已难以取得今天市场上的竞争力,过去在工业经济时代的商业规则、“科层制”管理模式和以MRPII(制造资源计划)应用为主的管理手段已经不再适用于今天企业的发展,电子商务在现代企业管理中的作用和地位越来越重要,基于此,研究电子商务的后台设计就显得十分必要。
1
第一章 绪论
1.2 国内外研究现状
1.2.1 国外的研究现状
电子商务这是信息社会发展的必然要求。国际互联网的开通,为信息社会的飞速发展创造了条件。在美、日等信息化程度较高的国家和地区,电子商务发展速度迅猛。只要网络发展没有停止,电子商务的发展就不会停止。 1.2.2 国内的研究现状
近年来,随着计算机网络技术的飞速发展,网络技术应用已经相当普及,使得在线购买成为现实,各种各样的网上电子商务系统层出不穷,国内各大电子商务商都在创建自己的计算机网上电子商务系统。随着科学技术的飞速发展,Internet这个昔日少数科学家接触和使用的科研工具已经成了普通百姓都可以触及的大众型媒体传播手段。
2
第二章 可行性分析
第二章 可行性分析
2.1 技术可行性
本系统采用的是JSP、Servlet和Oracle开发,Windows 7操作系统,用Ext.js进行前台网页界面设计、采用JNDI方式与后台数据库进行连接,完成数据的添加、修改、删除、查询等功能。由于JSP+Ext.js、Servlet功能强大,而Oracle灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用JSP、Servlet、Oracle、Ext.js是开发轻平台的最佳组合从而说明本系统在技术方面可行。
2.2 操作可行性
目前,大多数计算机都能运行该系统,该系统的安装、调试、运行不会改变原计算机系统的设置和布局,并且系统界面简单,提示信息完整,由相关人员指导便能够方便的操作此软件。
2.3 系统的技术介绍
2.3.1 Javascript
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言。
Javascript语言与Java语言在语法上比较相似,但随着对Javascript的深入了解后你会发现,它们说到底是两种语言! 2.3.2 JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,
3
第二章 可行性分析
C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构
1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 [\"java\,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。 2.3.3 Oracle
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
业务量往往在系统运行后不断提高,如果数据库数量达到GB以上时,我们在提高系统的性能方面可以从两方面入手,一种是提高单台服务器的性能,还有就是增加服务器数目。基于此,如果我们是提高单台服务器的性能,选择Oracle 数据库较好,因为它们能在对称多CPU的系统上提供并行处理。相反,由于Sybase的导航服务器使网上的所有用户都注册到导航服务器并通过导航服务提出数据访问请求,导航服务器则将用户的请求分解,然后自动导向由它所控制的多台SQL Server从而在分散数据的基础上提供并行处理能力,我们可以选择它。这些都是在其他条件和环境相同的情况下比较的,这样才有可比性。在数据的分布更新方面,Oracle采用的是基于服务器的自动的2PC(两阶段提交)
4
第二章 可行性分析
Oracle实例由系统全局区内存结构和用于管理数据库的后台进程组成。 2.3.4 JNDI
JNDI(Java Naming and Directory Interface)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。集群JNDI实现了高可靠性JNDI[8],通过服务器的集群,保证了JNDI的负载平衡和错误恢复。在全局共享的方式下,集群中的一个应用服务器保证本地JNDI树的独立性,并拥有全局的JNDI树。每个应用服务器在把部署的服务对象绑定到自己本地的JNDI树的同时,还绑定到一个共享的全局JNDI树,实现全局JNDI和自身JNDI的联系。
优点:①包含了大量的命名和目录服务,使用通用接口来访问不同种类的服务;
②可以同时连接到多个命名或目录服务上;
③建立起逻辑关联,允许把名称同Java对象或资源关联起来,而不必知道
对 象或资源的物理ID。 2.3.5 JQuery
jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript框架,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。 2.3.6 Ext .js
ExtJS是一种主要用于创建前端用户界面,是一个基本与后后台技术无关的前端ajax框架。
1、ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。ExtJs最开始基于 5
第二章 可行性分析
YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。
2、Ext的UI组件模型和开发理念脱胎、成型于Yahoo组件库YUI和Java平台上Swing两者,并为开发者屏蔽了大量跨浏览器方面的处理。相对来说,EXT要比开发者直接针对DOM、W3C对象模型开发UI组件轻松。 2.3.7 iport 报表
是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器采用纯Java开发。这个工具允许用户可视化编辑包含charts,图片,子报表等的复杂报表。iReport 还集成了JFreeChart图表制作包。允许用户可视化地编辑XML JasperDesign文件。用于打印的数据可以通过多种方式获取包括:JDBC, TableModels, JavaBeans, XML,Hibernate(支持HQL查询语言), CSV等。它支持多种输出格式包括:PDF,RTF,XML,XLS,CSV,HTM。
iReport是一个能够创建复杂报表的开源项目。它100%使用Java语言编写。是目前全球最为流行的开源报表设计器。
由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表 2.3.8 WebService 接口
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。 2.3.9 xStream DOM 解析
Xstream 使用最新的图形卡技术来大幅度提升计算速度,速度甚至可以和MPI
6
第二章 可行性分析
分布式计算相媲美。
另外,Xstream是一种OXMapping 技术,是用来处理XML文件序列化的框架,在将javaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。
2.4 系统开发平台及运行环境
2.4.1 系统开发平台
系统的开发是在Tomcat环境下进行的。Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被Java World杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。
Tomcat的环境主要有以下几方面技术优势:
1.Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。
2.在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。
3.Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理html页面。
4.Tomcat也可以与其它一些软件集成起来实现更多的功能。 2.4.2 运行环境
操作系统:Windows 7以上版本。 服务器软件:Tomcat6.0以上版本。 浏览器:IE
相关配置:需要在tomcat中配置固有的root 文件
位置: D:\\Program Files\omcat\\apache-tomcat-7.0.53\\conf\\Catalina\\localhost 具体内容:
7
第二章 可行性分析
driverClassName=\"oracle.jdbc.driver.OracleDriver\" url=\"jdbc:oracle:thin:@localhost:1521:orcl\" username=\"cxy2013\" password=\"fnB+DM8=\" min=\"20\" max=\"100\" maxWait=\"10000\" testStmt=\"select 1 from dual\" checkLevel=\"2\" factory=\"org.objectweb.jotm.datasource.DataSourceFactory\"/> jotm.timeout=\"60\"/>
8
第三章 需求分析
第三章 需求分析
3.1 系统功能模块概述和分析
《电商管理系统的设计与实现》模型是典型的针对店商信息进行全面的分析和结算保证客户和商家的权益,主要包括承运承储的添加、订单的处理等功能。
主要功能如下:
(1) 后台(管理员管理)部分: ① 管理员:管理员登录;
② 基本信息管理:权限管理、公司档案、人员角色档案、语言测试节点、
人员档案、机型信息、促销员档案、存货分类等;
③ 日常业务管理:信息下达、订单信息维护、仓储入库信息、仓储出库信
息、串号明细;
④ 报表查询:门店月销量表、串号状态明细报表、出勤情况报表、出入库
分类汇总表、结账对算报表、订单配送状态明细报表、承运详情信息报表、现存量报表;
3.2 系统功能模块设计
后台管理业务流程,如图3-1。
管理流程由WebServise接口提供方便各个不同系统之间的数据传输问题。解决因不同系统之间语言的不同所无法进行数据的交互问题,数据的传输可一说决定着项目的完整性。本系统中数据的传输采用的是比较传统的xml文件传输方式,还有其他的一些方式也可以达到此效果。
9
第三章 需求分析
图3-1 后台管理业务流程
3.3 数据库分析
信息系统的主要任务是通过大量数据获得管理所需要的信息,这就要求系统本身能够存储和管理大量的数据,而这一功能的实现必须借助大型数据库系统。本系统的开发选择oracle作为后台数据库开发工具。
1.数据库表设计
本系统数据库表如表3-1,3-2,3-3,3-4所示:
表3-1 user:用户表
列名 USER_ID USER_CODE 列类型 Varchar2 Varchar2 说明 主键 用户名 密码 用户真实名称 注册邮箱 电话 10
USER_PASSWORD Varchar2 USER_NAME EMAIL PHONE_NO
Varchar2 Varchar2 NUMBER 第三章 需求分析
SEX NUMBER 性别 表3-2 订单表
列名 PK_ORDERINFORMATION OPRNUM DELIVERYCODE CONSIGNEE TELEPHONE BACKUPPHONE ADDRESS CARDID PHONEMASTER CARDTYPE CARDNUM BUSITYPE INVDESC INVNAME COLORNAME IMEICODE PAYTYPE PAYMONEY DELIVERYSTOR ORDERTIME DELIVERYTIME TRANSACTTYPE PHONENUM VIPGARDE
列类型 varchar 说明 PK Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 NUMBER Varchar2 Varchar2 Varchar2 varchar varchar Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 CHAR VARCHAR2 11
订单号 配送单编号 收货人 联系电话 备用联系电话 收货地址 收货人身份证号 机主姓名 机主证件类型 机主证件号码 业务类型 商品描述 机型信息 颜色 串号 支付方式 应付款额 配送商 下单时间 配送时间 办理方式 手机号码 vip级别 第三章 需求分析
TRANSATTYPEDKXD VARCHAR2 代客下单 合约签收密码 CONTRACTSIGNED_PAVarchar2 SSWORD DELIVERYTASK DELIVERYREMARK RESERVEMONEY PRESTOREMONEY PERIODS GIFTINFO EXAMINE_STATUS ISCC ISSH QUMESS_TIME STATUS_CODE INSTORE CODTYPE NUMBER4G RECORD_TIME FAILREASON Varchar2 Varchar2 Varchar2 Varchar2 INTEGER Varchar2 Varchar2 INTEGER INTEGER CHAR(19) VARCHAR2(100) VARCHAR2(36) VARCHAR2(36) VARCHAR2(36) VARCHAR2(36) VARCHAR2(200) 配送任务 配送备注 补差款 预存款 分期数 赠品 审核状态 是否上传成功 是否上传成功 快信日期 订单状态 承储对应仓库 货到付款支付方式 4G号码 订单进入系统时间 审核失败原因 表3-3 状态表
列名 oid orderitem total state 列类型 char(32) timestamp 说明 主键 下单时间 decimal(10,2) 合计金额 int 表示订单的状态: 1表示:未付款 2表示:已未付款,但未发货 3表示:已发货,但未确认收货
12
第三章 需求分析
4表示:已确认收货,交易成功 uid address
表3-4 订单条目
char(32) varchar(200) 订单所有者,它是外键 收货地址 列名 PK_WAYBILL ORDERID WAREHOUSEID PARTNERID DELIEVERID WEIGHT STATUSTIME TS 列类型 VARCHAR2(36) VARCHAR2(50) VARCHAR2(50) VARCHAR2(50) VARCHAR2(50) VARCHAR2(50) CHAR(19) CHAR(19) 说明 主键 订单编号 承储商编号 承运商编号 运单编号 商品重量 状态时间 时间戳
13
第四章 电商管理系统前台设计与实现
第四章 电商管理系统前台设计与实现
电商管理系统的整个前台部分是一个好的网站的前台部分一定非常精美,非常有条理,因此,前台的设计主要把握3点:简明扼要、条理清晰、层次分明。下面将一一介绍我的电商管理系统的前台部分的实现。
4.1首页设计
4.1.1登录界面
图4-1 登录首页
主要包括用户名、密码、验证码 提示信息
1、请输入密码 2、请输入账号 3、请输入用户名 4、验证码错误 5、用户名或密码错误
14
第四章 电商管理系统前台设计与实现
4.1.2首页界面
图4-2 首页界面
1.上部的实现
上部包含三大部分内容: (1)网站标题; (2)菜单。 (3)用户信息管理
用户界面可使用搜索、下载模板、个人信息、退出按钮方便用户管理 2.左部的实现
左部显示所有分类,包含所有1级。左部使用了Ext.js的Menu组件来完成显示所有分类。当用户点击某个1级分类名称时会展示当前1级分类的所有2级分类。 4.1.3退出
当用户登录后,点击退出链接可以完成退出。退出成功后会到达登录页面!
15
第四章 电商管理系统前台设计与实现
4.2基本档案
4.2.1人员档案
在首页左部点击第一个按钮后出现2级菜单,2级菜单点击基本档案,出现基本档案信息此时在点击人员档案,会在首页的中部显示人员档案。人员使用分页显示。
图4-3 基本档案
图4-4 人员档案
16
第四章 电商管理系统前台设计与实现
4.2.2机型信息
点击机型信息就会看到机型的详情信息。 可直接进行修改、删除、新增等功能
图4-5 机型信息
4.2.3 存货分类
点击存货分类就会看到存货分类的详情信息。 可直接进行修改、删除、新增等功能
17
第四章 电商管理系统前台设计与实现
图4-6 存货分类
4.2.4 承运结算信息
支持用户直接向系统中导入数据 下载处提供 导入模板
图4-7 承运结算信息
18
第四章 电商管理系统前台设计与实现
4.3日常业务
查看一些频繁被查看的数据集合,让数据一目了然 4.3.1订单信息档案
在订单信息档案界面,给出时间和订单,单击订单号可查看此订单的详细配送信息,同时支持撤单、审核、导入等功能 搜索框输入可查看指定信息的相关一个或几个订单信息
图4-8订单信息档案
4.3.2消息下达
可查看所有消息下达的内容 ,当点击新增时弹出信息框,可输入相关信息当填写完毕时 ,有保存于保存并下发两个按钮 ,方便管理人员,一旦消息下达则无法进行修改和删除。
19
第四章 电商管理系统前台设计与实现
图4-9消息下达
4.3.3仓库入库信息
仓库入库信息可查看所有入库信息 显示效果分四层。 1、具体的操作按钮和查询框
2、以入库单号、承运商、单据时间组成的基本信息 3、分页信息显示位置 4、每张单据具体的详情信息
20
第四章 电商管理系统前台设计与实现
图4-10仓库入库信息
4.4报表查询
报表查询
1、总结提出客户经常需要查询的各个数据点 2.、可直接生成Excel直接查看一定时间的数据 4.4.1现存量报表
针对具体的承运商、机型名称、代售量、退货数量、结存量等维度来具体的体现各个商品的数量
21
第四章 电商管理系统前台设计与实现
图4-11 现存量报表
具体的sql语句
select bm.mobiletype_code as mobiletype_code, bm.mobiletype_name as mobiletype_name, bs.storager_name as storager_name, bc.color_name as color_name, sc.unsale as unsale, sc.back_num as back_num, sc.unsale+sc.back_num as success
from st_currentstock sc
join bd_mobiletype bm on sc.pk_mobiletype = bm.mobiletype_id
join bd_color bc on sc.pk_color = bc.color_id join bd_storager bs on sc.pk_storager = bs.pk_storager
where 1=1 AND 1=1 and bs.pk_storager = '14c5c0d2-8c2c-473d-ba29-26d166bcc089'
22
第四章 电商管理系统前台设计与实现
4.4.2承运详情信息报表
可查看具体货单当前的配送状态和配送位置
图4-11 承运详情信息报表
Sql语句
select/*+index(o,IDX_OPRNUM)
index(s,IDX_PD_DIDTRIBUTION_OPRNUM) */
o.oprnum as \"订单号\ s.showmsg as \"承运信息\ s.sendtime as \"配送时间\ o.deliverystor as \"承运商\
23
第四章 电商管理系统前台设计与实现
o.instore as \"承储商\ o.invname as \"机型\ case s.status_code
when 'EBIZQHWC' then '取货完成'
when 'EBIZPSZT' then '配送在途'
when 'EBIZPSCG' then '配送成功'
when 'EBIZPSYC' then '配送失败' end as \"配送状态\
RANK() OVER(PARTITION BY o.oprnum order by s.sendtime) as \"序列\"
from pd_orderinformation o
join pd_distribution_status s on o.oprnum = s.oprnum
where 1=1 and s.sendtime >= '2014-02-01' and s.sendtime <= '2014-02-07'
order by o.oprnum desc )s
where rownum <= 100
sql语句/*index(o,IDX_OPRNUM) index(s,IDX_PD_DIDTRIBUTION_OPRNUM) */表示的强制执行sql语句的索引 ,当数据库数据量足够大时如何不执行索引那是非常慢的,用户体验差、信息现在慢、更有可能导致内存溢出因此最好让数据表一大很大时应建立索引,但不能乱建、乱建索引会导致相应表的新增、修改和删除等操作效率变低。 4.4.3 承运\\承储效率报表 报表导出功能
24
第四章 电商管理系统前台设计与实现
图4-12 承运\\承储效率报表
当点击导出按钮时等待几秒系统会自动弹出图4-13点击打开即可查看全部的承运成熟效率报表的具体详细信息。
Sql语句 select row_.*,rownum from(
select /*+
INDEX(PD_WAYBILL,IDX_PD_WAYBILL_OPRNUM)
*/
pd_orderinformation.oprnum as \"订单号\ pd_orderinformation.ordertime as \"下单时间\ pd_waybill.statustime as \"运单生成时间\ bd_storager.storager_name as \"承储商\
round(to_number(to_date(pd_waybill.statustime,'YYYY-MM-DD
HH24:MI:SS')-to_date(pd_orderinformation.ordertime, 'YYYY-MM-DD HH24:MI:SS'))*24)||'小时'
as \"承储商耗时\
25
第四章 电商管理系统前台设计与实现
distribution.sendtime as \"取货完成时间\ distribut.sendtime as \"配送完成时间\ bd_partnerid.partnerid_name as 承运商,
round(to_number(to_date(distribut.sendtime, 'YYYY-MM-DD HH24:MI:SS') - to_date(distribution.sendtime, 'YYYY-MM-DD HH24:MI:SS')) * 24) || '小时' as \"承运商耗时\"
from pd_orderinformation
join pd_waybill
on pd_waybill.orderid = pd_orderinformation.oprnum
join bd_storager
on pd_waybill.warehouseid = bd_storager.pk_storager
join (select pd_distribution_status.oprnum, pd_distribution_status.sendtime
from pd_distribution_status
where pd_distribution_status.status_code = 'EBIZQHWC') distribution
on distribution.oprnum = pd_orderinformation.oprnum
join (select pd_distribution_status.oprnum, pd_distribution_status.sendtime
from pd_distribution_status
where pd_distribution_status.status_code = 'EBIZPSCG' or pd_distribution_status.status_code = 'EBIZPSYC') distribut
on distribut.oprnum = pd_orderinformation.oprnum
join bd_partnerid
on pd_waybill.partnerid = bd_partnerid.pk_partnerid where 1=1 and pd_orderinformation.ts >= '2014-02-01' and pd_orderinformation.ts <= '2014-02-25') row_
where rownum<=100
26
第五章 系统测试
第五章 系统测试
5.1 测试的目的与目标
在此系统进行初步实现之后,开始进行对系统进行测试,找出系统中存在的Bug,通过测试,用提交的Bug报告来为以后软件的改进提供标准和参考,能够在以后的系统改进中找到依据。
测试后的软件各模块基本功能可以顺利进行,尽量提高软件的健壮性。
5.2 测试方法
1.从是否关心软件内部结构和具体实现的角度划分:黑盒测试和白盒测试; 2.从是否执行程序的角度:静态测试和动态测试;
3.从软件开发的过程按阶段划分有:单元测试、集成测试、确认测试、系统测试、验收测试、回归测试、Alpha测试、Beta测试;
单元测试又称模块测试,是针对软件设计的最小单位 ─ 程序模块(这里所说的程序模块在Java中一个模块就是一个方法),进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
集成测试 (组装测试、联合测试),通常在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是:
(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失; (2)一个模块的功能是否会对另一个模块的功能产生不利的影响; (3)各个子功能组合起来,能否达到预期要求的父功能; (4)全局数据结构是否有问题;
(5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。 确认测试(Validation Testing),确认测试又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。
27
第五章 系统测试
系统测试(System Testing),是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较, 发现软件与系统的定义不符合或与之矛盾的地方。
验收测试(Acceptance Testing),在通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。验收测试是以用户为主的测试。软件开发人员和QA(质量保证)人员也应参加。由用户参加设计测试用例,使用生产中的实际数据进行测试。在测试过程中,除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认。
5.3 测试用例
由于功能模块较多,测试内容篇幅较长,所以在本论文中只介绍登入系统的测试用例,表5-1是本系统会员登入的测试表,从测试的结果来看与期望结果完全相同。
表5-1 登入系统测试用例
功能特用户登录验证 性 测试目验证是否输入合法的信息 的 测试数用户名称:admin 密码: q1q1q1q1 据 测试内容 1 操作描述 数据 期望结果 实际结果 测试状态 输入用户姓用户姓名:显示警告信显示警告信息“用与期望名,按“登陆”zonglongyu, 息“用户名或户名或密码误!” 按钮。 2
结果相同 密码为空 密码误!” 输入密码,按用户姓名为显示警告信显示警告信息“用与期望28
第五章 系统测试
“登陆”按钮。 空,密码:123 息“用户名或户名或密码误!” 密码误!” 3 结果相同 输入用户姓用户姓名:1, 显示警告信显示警告信息“用与期望名和密码,按密 码:1 “登陆”按钮。 息“用户名或户名或密码误” 密码误!” 结果相同 4 输入用户姓用户名:正确登入到正确登入到会员操与期望名和密码,按admin,密 会员操作界作界面 “登陆”按钮。 码:q1q1q1q1 面 结果相同
5.4 测试结论
把开始的代码写得越好,它出现的错误也就越少,你也就越能相信所做过的测试是彻底的。系统化测试以一种有序方式设法探测潜在的麻烦位置。同样,毛病最可能出现在边界,这可以通过手工的或者程序的方式检查。自动进行测试是最理想的,用得越多越好,因为机器不会犯错误、不会疲劳、不会用臆想某此实际无法工作的东西能行来欺骗自己。回归测试检查一个程序是否能产生与它们过去相同的输出。在做了小改变之后就测试是一种好技术,能帮助我们将出现问题的范围局部化,因为新问题一般就出现在新代码里面。
测试和排错常常被说成是一个阶段,实际上它们根本不是同一件事。简单地说,测试是我现在不知道有哪里是错误的,来进行找错误。而测试是我现在已经知道了哪
里
有
错
误
,
现
在
进
行
攻
克
。
29
结 论
通过开发电商管理系统,我较全面的掌握了JAVA的基本知识和编程技巧,并在开发过程中我的JAVA开发能力得到了进一步的提高。如:更进一步的深入了解MVC设计模式,软件三层框架;SQL语言的使用。
在开发过程中我学到了一些经验:系统分析的好坏将决定着的系统开发成功与否,一份好分析设计将是成功开发主要因素。我们在着手开发之前不要急于编写代码,先应有比较长的时间去把分析做好,做好数据库设计工作,写出相关的开发文档等。然后再开始编写程序代码,这样做到有条不絮。当然也有些还需待继续深入地方如:控件的应用等。
此外,我还觉得,我个人在这次设计中走了很多弯路。主要是因为专业不对口,平时很少接触软件开发工作,在应用方面缺乏经验,以后还需要更多的努力。
对我来说,这次设计的本身所产生的影响,还远远没有结束,我从本次毕业设计中学到了许多课本上没有的知识。通过自己的学习和努力;通过老师的指导和教育,使我不仅仅在知识水平和解决实际问题的能力上有了很大的提高。还从思想的深处体会到,要把自己的所学变成现实时所将面对的种种难题。
系统不免有错误和待改进之处,真诚欢迎各位师长、同行提出宝贵意见。
30
致 谢
在论文完成之际,我首先要向王老师表示最真挚的谢意。在论文写作期间,为了保证我们毕业设计的正常进行,学院抽调了优秀的老师指导我们进行毕业设计,并且不时地询问我们毕业设计的进展情况。老师认真负责的工作态度、严谨的治学风格,使我深受启发;同时也很感谢帮助过我和我一同探讨问题的同学们。为我们这次设计的正常开展提供了必要的基础。本次毕业设计,就要画上一个句号了。
感谢邯郸职业技术学院,让我在这里接受了三年正规系统的专科学习。感谢所有关心、支持、帮助过我的良师益友。
最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示衷心地感谢!
31
参考文献
[1] 张孝祥,Java 就业培训教程(附盘),清华大学,2007-07。
[2] 石志国,薛为民,董洁.JSP应用教程.北京:清华大学出版社.北京交通大学出版社,2004。 [3] 李曙光.JSP开发实例完全剖析.北京:中国电力出版社,2006。 [4] 杨易.JSP高级程序设计.人民邮电出版社,2006。
[5] 贾蓉生,胡大源,林金池,[Java典型应用彻查1000例:数据库应用基础].贾蓉生等.扫
描版,北京:科学出版社,2009。
[6] 申吉红,廖学峰,余健.JSP课程设计案例精编.北京:清华大学出版社,2007。 [7] 卢潇.软件工程.北京:清华大学出版社;北京交通大学出版社,2005。
[8] 李兴华,王月,《Java Web开发实战经典》.(李兴华).[PDF]&ckook,北京:清华大学出
版社,2010.8。
[9] 李刚,轻轻量级JAVA EE企业应用实战第3版-Struts2+Spring3+Hibernate整合开 发,北
京:电子工业出版社,2011.3。
[10] PaulJPerrone etal,张志伟,谭郁松,张明杰.J2EE构建企业系统[M] .北京:清华大学出
版社,2001。
[11] Chuck Cavaness.Programming Jakarta Struts,2002。
32
因篇幅问题不能全部显示,请点此查看更多更全内容