电子拍卖系统报告文档02.docx
- 文档编号:8032362
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:31
- 大小:501.92KB
电子拍卖系统报告文档02.docx
《电子拍卖系统报告文档02.docx》由会员分享,可在线阅读,更多相关《电子拍卖系统报告文档02.docx(31页珍藏版)》请在冰豆网上搜索。
电子拍卖系统报告文档02
设计题目:
电子拍卖系统
院系:
计算机学院
专业:
计算机科学与技术(软件工程方向)
********
小组成员:
蒋善伟【技术人员】学号:
**********
张良诚【文档编写】学号:
**********
李凌锋【资料查阅】学号:
**********
喻超【资料查阅】学号:
**********
设计时间:
2014年5月24日----2014年6月14日
第一章系统概述
1.1系统简介
随着网络技术的不断发展和人们购物意识的不断革新,网上购物成为一种新型的购物方式,正逐渐被人们所接受和认可。
而网上购物的方式之一的电子拍卖形式给人们的购物带来另一种全新的体验。
人们可以通过网站发出自己想拍卖的物品的信息,也可以通过竞价购买自己想要的物品。
即具有一般购物网站的成本低廉,方式灵活,运行快捷等的特点,更具有自由竞争和公平合理的特性。
电子拍卖系统就是一个电子商务平台,只要将系统部署在互联网上,全球客户就都可以在该系统上发布想售出的商品,也可对拍卖中的商品参与竞价。
整个过程无需任何人工干预,由系统自动完成。
如果系统提供了与电子银行的接口,我们还可以通过电子银行的操作,实现从买家到卖家的自动付款,付款成功后拍卖货物就会发送到买家手中。
当然,由于资源有限,本小组设计的是一个示范系统,主要模拟用户添加拍卖物品、用户参与拍卖的等基本行为,拍卖结束后,系统就会判断物品被最高竞价者获得。
本系统要求用户在参与拍卖之前,必须登录系统。
系统提供了登录验证,登录验证通过Struts2的拦截器实现,拦截器拦截用户Session,判断Session中是否保存了当前用户ID,如果保存了用户ID,则该用户已经登录,否则没有登录。
注册用户可以添加用户物品,添加用户物品种类。
添加之前必须登录系统,通过Struts2拦截器完成验证。
注册用户可以浏览当前拍卖中的物品,以及流拍的物品。
注册用户可以参与竞价,参与的竞价系统将提供邮件通知用户。
1.2系统架构设计
本系统采用JavaEE的三层结构,分为表现层、业务逻辑层和数据服务层。
三层体系将业务规则、数据访问等工作放到中间层处理,客户端不直接与数据库交互,而是通过控制器与中间层建立连接,再由中间层与数据库交互。
表现层禁止JSP内嵌Java脚本,JSP页面使用Struts2标签来显示数据,生成页面显示效果。
中间层采用Struts2+Hibernate4结构,为了分离控制层和业务逻辑层,又细分为:
Web层,就是MVC模式里面的“C”(Controller),负责表现层与业务逻辑层的交互,调用业务逻辑层,并将业务数据返回给表现层显示。
MVC框架采用Struts2。
Service层(业务逻辑层),负责实现业务逻辑,对DAO对象进行门面模式的封装。
DAO层(数据访问层),负责与持久化对象交互,封装了数据的增、删、改、查等原子操作。
PO层(持久化对象层),通过实体/关系映射工具将关系型数据库的数据映射成对象,实现以面向对象方式操作数据库,采用了Hibernate作为ORM框架。
数据服务层使用MySQL数据库存放数据。
1.3系统开发环境介绍
本系统采用Brower/Sever架构,以WINDOWS作为系统平台,采用JSP作为主要的程序设计语言,MySQL作为后台数据库的管理信息系统。
Tomcat作为WEB服务器承载。
第二章系统需求分析
2.1功能需求
用户在打开系统登陆页,通过输入用户名和密码之后就会扮演某种角色从而具有了一定的权限,根据他的身份与权限,就可以在对应的界面完成相应的功能。
1.管理员:
删除存在不良记录的用户帐号,可随时撤掉劣质上传的产品,可以对数据库内的数据进行添加及删改,对用户可以进行权限设置。
如:
删除存在不良记录的用户帐号,可随时撤掉劣质上传的产品。
还可以实时监控拍卖现场,根据实际情况对拍卖进程进行调整。
2.拍卖方:
发布拍卖项目:
发布拍卖商品信息;
制定拍卖规则:
起拍价格、价格阶梯、保留价格以及拍卖时段。
买方资质管理:
未被邀请的买方企业须经审核通过以后方具有竞拍资格。
拍卖监控:
卖方实时监控拍卖现场,根据实际情况对拍卖进程进行调整。
拍卖项目报告:
拍卖结束以后,系统自动生成本次拍卖相关报告信息。
拍卖公告管理:
卖方选择对拍卖结果进行公告,并对公告范围进行定义。
3.竞拍方:
业务项目分配:
系统支持多业务员方式,买方可以分配项目给某个业务员。
在线质疑:
买方在线提出问题。
在线申请:
买方主动申请参加竞拍项目。
在线竞拍:
买方制定竞拍策略,基于竞拍现场参与竞拍过程。
2.2性能需求分析
1.准确性和及时性
在系统设计和开发过程中,不但要保证本次数据处理结果的准确性,还要考虑本次数据处理结果对整个系统的影响,从而保证整个系统的正确性。
系统在日常处理中的响应速度要达到实时要求,以及实时反馈信息。
在系统设计和开发过程中,还要充分考虑系统当前和将来可能承受的工作量,使系统处理能力和响应时间能够满足用户对信息处理的要求。
2.系统的可扩充性
系统在开发过程中,应该充分考虑以后的可扩充性。
这些要求系统提供足够手段进行功能的调整和扩充。
要实现这一点,应通过系统的开放性来完成,即系统应是一个开放的系统,只要符合一定的规范,可以简单的加入和减少系统的模块、配置系统的硬件。
通过软件的修补、替换完成系统的升级和更新换代。
3.系统的易用性和易维护性
为了系统使用的高效率,用户可以很快地使用网上竞标系统而不必专门的学习该软件的使用。
因此系统应该能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该设计成尽量友好的界面。
系统中涉及到的重要的信息数据要妥善的保存,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。
2.3可行性分析
实验方案的可行性分析有以下三个方面。
1.技术可行性:
目前市场上的一般计算机软硬件都能满足系统开发要求。
开发环境JSP,数据库采用MySQL。
(1)JSP是SUN公司推出的全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。
2)JSP是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。
3)JSP把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。
2.经济可行性:
这个系统只要配一台普通计算机在连网状态下就可以实现电子拍卖系统的管理。
3.社会可行性:
如今电子商务受到前所未有的重视,关于电子商务的理论体系日臻完善,并在全球范围内展开几近商业性质的普及推广,电子商务软件功能及演绎理论能力的不断提高,使电子商务从理论走向实际实施进而发挥效益成为现实,这些都为电子拍卖提供了更为广阔的空间。
另一方面,整个社会诚信体系正在逐步完善,电子拍卖正在走向规范化。
2.4数据管理需求
1.数据录入的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。
数据的输入来源一是手工输入二是由其它系统产生。
手工输入要通过系统界面上的安排使系统具有容错性。
而由其它系统生成的数据也要有必要的检查手段,以保证输入数据的准确性。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
2.数据的一致性和完整性
由于系统的数据是共享的,在不同的模块或子系统中,报表、文件、数据库是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。
要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
各模块之间对数据库的需求各有不同,但一定要协调好不同需求之间的关系。
对于各模块都会用到的表一定要一致,不能有冲突。
2.5故障处理需求
由于软硬件及系统设计等各种因素,系统在使用过程难免会发生各种故障。
系统应提供一定的对各种故障的检测能力,并提供相应的处理手段。
对于硬件故障和系统软件故障,应由系统报告及处理;对于操作错误,要求有信息提示及正确方式。
第三章系统总体设计
总体设计阶段要解决“如何做”的问题,是整个软件一发过程的核心问题。
所有的开发工作都将根据设计的方案进行。
软件的总体结构在该阶段决定。
因此,可以说软件的总体设计决定了软件的质量。
采用模块化原理可以是软件结构清晰,不仅容易设计也容易阅读和理解。
因为程序错误通常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和调试。
3.1总体设计的原则
(1)实用性原则:
实用第一位,好看第二位。
设计应以满足用户需求为主要目标。
(2)方便性原则:
设计的软件应操作简单,界面友好,易于使用,输入简单,且出现错误时能够提示错误信息。
(3)灵活性(适应性)原则:
开发的软件能够适应管理的变化;适应软、硬件环境的改变。
(4)扩充性原则:
设计应考虑到系统的进一步发展,是否留有其他功能的接口。
3.2总体设计的原理
面向对象是一种自下而上的程序设计方法。
不像过程式设计那样一开始就要用main概括出整个程序,面向对象设计往往从问题的一部分着手,一点一点地构建出整个程序。
面向对象设计以数据为中心,类作为表现数据的工具,是划分程序的基本单位。
而函数在面向对象设计中成为了类的接口。
面向对象设计自下而上的特性,允许开发者从问题的局部开始,在开发过程中逐步加深对系统的理解。
这些新的理解以及开发中遇到的需求变化,都会再作用到系统开发本身,形成一种螺旋式的开发方式。
在面向对象设计中,类封装了数据,而类的成员函数作为其对外的接口,抽象地描述了类。
用类将数据和操作这些数据的函数放在一起,这可以说就是面向对象设计方法的本质。
(1)静态模型
静态模型表示静态的、结构化的系统的“数据”性质。
它是对模拟客观世界实体的对象以及对象彼此的关系的映射,描述了系统的静态结构。
(2)动态模型
动态模型表示瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列。
(3)功能模型
功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目标系统的需求。
3.3系统功能版块划分
系统功能版块按角色分为三大部分:
管理员,拍卖方,竞拍方。
1.管理员:
删除存在不良记录的用户帐号,可随时撤掉劣质上传的产品,可以对数据库内的数据进行添加及删改,对用户可以进行权限设置。
如:
删除存在不良记录的用户帐号,可随时撤掉劣质上传的产品。
还可以实时监控拍卖现场,根据实际情况对拍卖进程进行调整。
2.拍卖方:
发布拍卖商品信息;起拍价格、价格阶梯、保留价格以及拍卖时段;卖方实时监控拍卖现场,根据实际情况对拍卖进程进行调整;拍卖结束以后,系统自动生成本次拍卖相关报告信息。
3.竞拍方:
系统支持多业务员方式,买方可以分配项目给某个业务员;买方在线提出问题;买方主动申请参加竞拍项目;买方制定竞拍策略,基于竞拍现场参与竞拍过程。
3.4系统流程分析
图3-1系统流程图【汽车拍卖】
由系统流程图可以看出,用户进入本系统后,可以查看自己的竞标,竞得的物品,浏览流拍汽车和正拍卖的物品,管理汽车种类并可发布自己拍卖物品的信息。
图3-2系统登录用户用例图
3.5系统功能模块图
下面是系统总体功能树,列出了各个模块的主要功能。
图3-3系统总体功能树
第四章数据库设计
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。
4.1MySQL数据库管理系统
MySQL是一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统。
4.2数据库的需求分析
数据库需要创建以下数据表:
1.用户信息表(DEV_USER):
存放用户登录相关信息。
2.仪器设备信息表(DEV_INFO):
存放仪器设备的具体信息。
3.基本信息表(DEV_BASE):
存放实验分类和部门的相关信息。
4.报废信息表(DEV_DISCARD):
存放报废设备的相关信息。
5.领用关系信息表(DEV_LEND):
存放领用设备和领用部门及领用者之间的相关信息。
6.领用设备信息表(DEV_LENDLIST):
存放领用设备的相关信息。
7.维修信息表(DEV_MNTAIN):
存放维修设备的相关信息。
4.3外部设计
数据库使用MySQL,数据库名称为“dzpmxt”,所对应的开发的系统的全称为“电子拍卖系统”。
4.4实体关系E-R图设计
在本系统的实体包括用户,管理员,竞价记录,物品状态,拍卖物品,物品种类6个实体。
在E-R图的设计过程中,我们抽象出这6个实体,用户和管理员都包括用户名和用户密码的信息;竞价记录包括竞价,竞价日期,竞价编号;物品状态包括状态名称,状态编号;拍卖物品包括物品编号,物品名称,物品记录,物品描述,最高价,种类编号,结束日期,添加日期,底价;物品种类包括种类描述,种类名称,种类编号。
图4-1电子拍卖系统E-R图
图4-2用户管理模块的E-R图
图4-3竞价记录E-R图
图4-4拍卖物品E-R图
图4-5物品种类E-R图
4.5创建数据库
1.启动MySQL数据库
选择开始-程序MySQL服务管理器,然后单击“启动”按钮。
2.启动企业管理器
选择开始-程序-MySQL-企业管理器,启动数据库的管理界面。
3.新建数据库
展开MySQL-数据库,右键单击“数据库”,在弹出的快捷菜单中选择“新建数据库”,弹出“数据库属性”对话框,如图4-7所示
图4-6数据库属性
在名称文本框中输入新数据库的名称auction。
设置完成后,单击“确定”按钮完成数据库的创建。
4.6数据库设计
系统设计阶段的数据库设计是以系统分析阶段的成果和数据流程图为依据的设计。
数据库在一个管理信息系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
设计数据库时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。
数据库设计一般包括:
数据库逻辑设计和数据库物理设计。
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
1.E-R图向关系模型转换的原则
关系模型的逻辑结构是一组关系模式的集合。
E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。
所以将E-R转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式,这种转换所遵循的原则如下:
(1)一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的友以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
2.系统关系模型
将E-R图转换为关系模型,其中用下横线标出的为关系的码。
(1)物品状态:
(状态编号,状态名称)
(2)物品种类:
(种类编号,种类名称,种类描述)
(3)用户:
(用户编号,用户名称,用户密码,用户邮箱)
(4)拍卖物品:
(物品编号,物品名称,物品记录,物品描述,种类编号,添加日期,结束日期,底价,最高价,拥有者编号,赢取者编号,状态编号)
(5)竟价记录:
(竟价编号,用户编号,物品编号,竟价,竟价日期)
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。
本系统的物理表如下:
表3-1物品状态表
列名
列名说明
数据类型
长度
是否为空
state_id
状态编号(主键)
int
11
NOTNULL
state_name
状态名称
varchar
10
NULL
表3-2物品种类表
列名
列名说明
数据类型
长度
是否为空
kind_id
种类编号(主键)
int
11
NOTNULL
kind_name
种类名称
varchar
50
NOTNULL
Kind_desc
种类描述
varchar
255
NOTNULL
表3-3用户表
列名
列名说明
数据类型
长度
是否为空
user_id
用户编号(主键)
int
11
NOTNULL
username
用户名称
varchar
50
NOTNULL
userpass
用户密码
varchar
50
NOTNULL
用户邮箱
varchar
100
NOTNULL
表3-4竟价记录表
列名
列名说明
数据类型
长度
是否为空
bid_id
竟价编号(主键)
int
11
NOTNULL
user_id
用户编号(外键)
int
11
NOTNULL
item_id
物品编号(外键)
int
11
NOTNULL
bid_price
竟价
double
NOTNULL
bid_date
竟价日期
date
NOTNULL
表3-5拍卖物品表
列名
列名说明
数据类型
长度
是否为空
item_id
物品编号(主键)
int
11
NOTNULL
item_name
物品名称
varchar
255
NOTNULL
item_remark
物品记录
varchar
255
NOTNULL
item_desc
物品描述
varchar
255
NULL
kind_id
种类编号(外键)
int
11
NOTNULL
addtime
添加日期
data
NOTNULL
endtime
结束日期
data
NOTNULL
init_price
底价
double
NOTNULL
max_price
最高价
double
NOTNULL
owner_id
拥有者编号(外键)
int
11
NOTNULL
winer_id
赢取者编号(外键)
int
11
NULL
state_id
状态编号(外键)
int
11
NOTNULL
4.7数据库保密设计
用户在登陆管理系统时就会获得相应的角色,根据角色的不同,其对数据库的访问权限就不尽相同。
4.8数据库的连接
数据库连接对动态网站来说是最为重要的部分,Java中连接数据库的技术是JDBC(JavaDatabaseConnectivity)。
很多数据库系统带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询,提取数据等操作。
SUN公司开发了JDBC-ODBC桥,通过JDBC-ODBC桥,Java程序可以访问带有ODBC驱动程序的数据库。
目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问Oracle,Sybase,MSSQLServer和MSAccess等数据库。
本系统通过以下代码连接数据库。
其代码如下:
/*定义连接数据库需要的变量*/
privateStringdriverName="com.mysql.jdbc.Driver";
privateStringurl="jdbc:
mysql:
//localhost:
3306/dzpmxt";
privateStringuser="root";
private String password="root";
/*初始化连接对象*/
publicConnectiongetConnection(){
try{
Class.forName(driverName);
return DriverManager.getConnection(url,user,password);
}
catch(Exceptione){
e.printStackTrace();
returnnull;
第五章系统详细设计与实现
5.1电子拍卖管理系统的登陆页设计
电子拍卖管理系统的登陆页如图5-1所示。
本管理系统有三种角色权限,分别为管理员,拍卖方和竞拍方。
当在图5-1-1中输入用户名和密码时,会根据权限限制进入拍卖竞拍页面,执行不同的操作。
当在图5-1-2中输入用户名和密码时,进入管理员界面,进行管理员的权限操作。
5.2电子拍卖的查询设计
电子拍卖物品的查询页面如图5-2所示。
本系统的仪器设备查询,面向于三种角色用户,即管理员,拍卖方和竞拍方都可以经过本系统进行查询竞标的具体信息。
图5-2电子拍卖的查询页面
5.3物品种类管理设计
物品种类如图5-3
物品管理只能由拍卖方进行添加新种类的名称及相关描述信息。
管理员可以对其进行删除操作。
5.4拍卖物品的管理设计
图5-4为拍卖物品管理页面。
图5-4拍卖物品管理页面
管理拍卖物品是为了充分发挥拍卖方拍卖物品的详细功能。
拍卖物品的管理由拍卖方来操作,写出拍卖物品的名称,物品描述信息,物品备注信息,确定起拍的价位及拍卖天数,选择拍卖物品所属的种类,最后填入验证码,完成所有信息的填写后点击按钮,则拍卖物品就上架进行拍卖了。
5.5浏览物品的管理设计
图5-5浏览物品管理的页面。
当竞拍者进入界面后,想要了解此时系统中有哪些物品正在进行拍卖时,了解拍卖物品的详细信息,便可以进入浏览物品的界面进行详细的查询。
首先可以了解有哪些种类的物品可以拍卖,并可点击想要浏览的物品种类查看有什么款式的物品正在拍卖及物品的具体拍卖信息。
管理员可以在物品浏览界面功能中做删除功能。
图5-5浏览物品功能的页面
第六章系统测试与性能分析
软件测试是软件质量保证的关键元素,代表规约、设计和编码的最终检查。
测试的根本目的为了发现尽可能多的缺陷。
测试阶段的基本任务是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组“高产”的测试用例,利用这些用例执行程序,找出软件潜在的缺陷。
测试的原则是:
尽早地和不断地进行软件测试;测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成;程序员应避免检查自己的程序;在设计测试用例时,应当包括合理的输入条件和不合理的输入条件;充分注意测试中的群集现象;严格执行测试计划,排除测试的随意性;妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
6.1测试方法
测试任何产品都有两种方法:
黑盒测试和白盒测试。
黑盒测试:
已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 拍卖 系统 报告 文档 02