摘要:随着21世纪的到来,科技的发展日新月异。
回溯到从1994年中国引入互联网,到今天,Internet达到了前所未有的普及。
现在中国的网民数量世界第一。
网民的数量从一定程度上可以反映出中国电子商务的发展,广泛的用户群体也为企业和个人带来了前所未有的机遇和挑战。
网络是服务与经济生活的技术产物,但是又没有哪种技术像网络这样使经济生活不再如同过去,它促使生产活动,商务活动从形式到内容都发生了深刻的变化。
关键词:网上拍卖;背景介绍;检测;系统测试及实现一、绪论(一)开发背景目前我国网上拍卖的发展趋势良好,首先我国网上拍卖市场潜力巨大,由于我们目前网民数量居全国第一,庞大的用户群体促进了网上消费。
其次,网上拍卖在未来将不仅仅局限在大城市,中小城市也将称为网上拍卖的重要市场。
各种网上拍卖技术和方法将得以创新和应用,为了进一步降低交易成本、增加潜在的买家和卖家之间的交流,可以采用改善搜索功能、使用多媒体展示产品、新的拍卖方式、使用智能代理等方式。
然而诚信、网上支付安全、物流配送成为制约我国网上拍卖市场发展的主要因素。
信息的不对称性与市场诚信决定了现实世界的市场交易中存在着普遍的信息不对称性,这是造成诚信缺失的主要原因,卖家有可能提供虚假的信息而导致交易的失败。
网上支付与交易风险,网上支付不同于传统的交易,网上交易的双方互不认识,虚拟成交,没有签订任何具有法律效力的书面契约,支付的安全性难以保障。
物流配送,网上拍卖虽然可以减少买卖双方的成本,减少第三方的组织成本,加快信息流和资金流的传递速度,但是却没有改变传统的物流方式,商品的运输依然依赖传统的交通工具,物流成本和交易双方的距离成正比。
因此,从某种程度上来讲,网上拍卖所节约的成本空间被空间运输成本所抵消。
本系统开发和设计是在上述背景提出来的,主要实现了网上拍卖的主要功能,发布商品,管理商品,竞拍商品,系统评价等功能,给用户和用户之间提供一个虚拟的交易平台。
(二)开发目的基于网民对网络消费需求的日益提高,很多网上交易的网站已经不能满足市场的需求,此系统正是在此条件下提出并设计的。
基于Java EE的网上拍卖系统是专门针对用户需求定制设计开发的一套交易系统,用户可以注册为网站的用户,从而可以参与竞拍所有展销的商品,也可以浏览并查看自己的竞拍记录或浏览其他用户的信息并进行评价,个性化的需求,根据客户的需求分门别类地展示客户关心和关注的产品。
此系统为买卖双方提供了一个交易平台,为双方交易提供实时的保证,可以满足客户对网上拍卖和网上竞拍的需求。
(三)开发意义网上拍卖系统的应用有利于降低商品交易的成本,传统的交易方式由于需要固定的场所,需要支出一部分成本进行交易,而网上拍卖则不需要支出这部分费用,可以降低交易成本从而降低产品的价格,消费者可以用低于市场的价格来竞拍到自己所需要的产品。
开发此系统,是对于专业的基础知识、自我研究能力、自学能力以及各种综合能力的检验和提高。
有助于提高编程能力,英语能力,以及信息的搜索和处理能力。
通过系统的设计与实现,培养与他人的合作交流能力以及虚心学习,深入研究问题的态度。
二、相关技术简介(一)Java EEJava EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
Java EE技术的基础就是核心Java平台或Java 2平台的标准版,Java EE 不仅巩固了标准版中的许多优点,同时还提供了对EJB(Enterprise JavaBean),Java Servlet、JSP (Java Server Page)以及XML技术的全面支持。
其最终目的就是成为一个能够使应用开发者大幅缩短开发时间的体系结构。
(二)SSH(Struts + Spring + Hibernate)Struts框架:根据Apache官方网站上介绍,Struts是一个构造Java Web 程序的开源框架。
Struts是设计模式MVC设计模式的一种具体实现,它实现了数据(Model)和表现(View)的严格分离,以ActionServlet为控制器的核心,接受用户的请求,验证用户的请求以及进行页面的转发,Struts主要由三部分组成:JSP,ActionForm,Action。
JSP用来显示用户的数据,并以Struts的标签进行格式化数据。
ActionForm用来保存用户的用户表单的数据,并进行数据的验证,Action主要处理用户的请求,并对用户的请求进行逻辑验证,并根据处理的结果,将用户转发到不同的页面中。
到写这篇论文为止Struts已经发展到2.0.11,Struts 2主要是由Webwork演化而来,和Struts1 有很大的区别,但是由于Struts2 API 还不是很稳定,有很多的地方还需要改动,基于Java EE的网上拍卖系统主要是用Struts1.3进行开发,Struts由2001年发展至今,已经成为一个成熟稳定的web层框架,有广泛的用户群体和MailList专家参与,所以用Struts作为表现层框架是具有可行性的。
Spring框架:Spring框架是目前最引人入目的一个开源框架,他是一个轻量级的Java EE应用程序框架,实现了IOC(Inverse Of Controller)控制反转,能在运行的时候具体实例化实现类,并将实例化实现类注入到应用中,也就是大家熟知的“依赖注入”。
由于EJB2.x 构架的复杂性,开发Java EE应用程序完全可以用Spring来替代庞大而繁重的EJB2.x,Spring是为了解决企业应用程序开发复杂性而创建的,该框架的主要优势是其良好的设计模式(面向接口编程,而不是面向实现编程)和分层架构而使开发人员受益,在项目的开发过程中,可以只选择Spring的某个功能,而不必使用框架的所有功能模块。
Spring的主要工作在业务逻辑层,以面向接口的方式进行业务逻辑方法的编写,在程序的运行过程中Spring 的bean管理器会根据请求将具体的实现类注入到相应的请求中,降低了应用程序的耦合性,方便模块的单体测试和整体测试,测试过程中可以不依赖任何框架结构,另外,Spring可以和Struts进行无缝集成,以完成用户Action bean的管理。
Hibernate框架:Hibernate是一个功能强大,提供高性能的对象/关系映射,查询服务持久层开源框架,Hibernate 允许你以面向对象的方式来开发应用,包括面向对象中的关联,继承,多态,组合,集合概念。
Hibernate有自己的查询语言(Hibernate Query Language),也可以使用标准的SQL语言,或者用完全面向对象的Criteria语言进行数据持久化Hibernate可以嵌入在web应用中,也可以在客户端直接调用,将数据库中的表映射成POJO类。
封装了JDBC,使大家可以摆脱繁琐的JDBC和SQL代码,让大家专注于系统的核心业务逻辑实现上。
目前流行的数据库管理系统如Oracle9i/10g,SQL Server,MySQL,PostgreSQL都是关系型数据库,而如今软件开发流程都是面向对象的方式进行开发,这就势必造成数据处理的冲突,Hibernate则提供解决这个问题的桥梁,通过映射文件或者Annotation处理数据库中表和POJO之间的关系,让开发人员以完全面向对象的方式来处理数据库中的数据。
目前,这三种框架技术都是Java开发世界中的流行,主流框架,也是成熟的三种框架,有着庞大的用户群体和庞大的技术支持,有着不少的应用开发都是成功运用这三种框架技术开发设计的,如校内网()正是用Struts来完成的。
系统开发工具使用eclipse IDE,eclipse是IBM以4000万美元捐给eclipse基金会的,是开源的集成开发环境。
因此,本系统采用这三种框架技术来开发具有可行性。
(三)TomcatTomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。
与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件。
WAR 是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。
这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。
通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。
通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH 中,但那样移植和管理起来不方便。
基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。
(四)MySQLMySQL 是一个快速稳定多执行诸多使用者的资料库的服务器,可以与C、C++、Java、Perl、PHP 等语言很容易的连接,可以运行在许多平台上,例如:Sun Solaris 、RedHat 、Linux 、FreeBSD 、OS/2 、Windows ...等平台,目前已经有相当多的企业单位使用。
目前市场上运行最快的SQL (Structured Query Language结构化查询语言) 数据库之一就是MySQL Server,由瑞典的T.c.X. DataKonsultAB公司开发。
MySQL可以从http:///上下载,它提供了其它数据库少有的编程工具,而且MySQL对于商业和个人用户是免费的。
三、系统测试(一)测试目的为了保证系统在交付使用时能完全符合用户的需求,就要尽可能的发现系统中的问题和错误,就需要对系统进行测试。
由于开发系统的时间比较仓促,故存在问题是不可避免的。
希望通过测试来检查开发中的错误,使系统在发布前能够完成本文所要求的系统功能需求。
(二)测试方法现在的系统测试方式一般包括以下两类:1、动态测试方案。
一般分为黑盒测试方法和白盒测试方法。
2、静态测试方案。
该方案不涉及程序的实际执行,是以人工的、非形式化的方法对程序进行分析和测试;包括程序省查会、人工运行和桌前检查。
(三)测试的过程一般来说,开发过程与测试过程是一个相互对应的过程。
测试一般从模块(单元)测试开始,然后是整体测试,确认测试,直到系统测试完结,其针对的是编码、设计、需求和系统及各部分。