B2C电子商务平台分析与设计报告全解Word文档下载推荐.docx

上传人:b****6 文档编号:16230341 上传时间:2022-11-21 格式:DOCX 页数:13 大小:154.08KB
下载 相关 举报
B2C电子商务平台分析与设计报告全解Word文档下载推荐.docx_第1页
第1页 / 共13页
B2C电子商务平台分析与设计报告全解Word文档下载推荐.docx_第2页
第2页 / 共13页
B2C电子商务平台分析与设计报告全解Word文档下载推荐.docx_第3页
第3页 / 共13页
B2C电子商务平台分析与设计报告全解Word文档下载推荐.docx_第4页
第4页 / 共13页
B2C电子商务平台分析与设计报告全解Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

B2C电子商务平台分析与设计报告全解Word文档下载推荐.docx

《B2C电子商务平台分析与设计报告全解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《B2C电子商务平台分析与设计报告全解Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

B2C电子商务平台分析与设计报告全解Word文档下载推荐.docx

2.2现存B2C市场的缺陷

面对如此商机,精明的商家不会无动于衷,现在B2C网上交易市场已经发展壮大起来。

但是我们分析后发现,现存B2C市场存在着一些缺陷,尤其不能适应校园市场的需求。

我们调查发现,目前B2C网站中大部分都是拍卖网站。

当然,拍卖作为B2C的主导交易模式,其优点是存在的,但它的缺陷也是明显的:

交易时间长,买卖双方要耗费大量的时间和精力。

这种模式适合于价值较高的商品,而学生的闲置商品往往是耐用消费品,价值较低,拥有者希望尽快出手,而并不想耗费太多精力计较一点价格差异,因此拍卖模式对校园市场尤其不适合。

现存的另一种B2C网上交易市场就是类似于小百合bbs的fleamarket。

这是以bbs为平台,供交易双方发布信息,并提供站内联系。

但这种方式是很初级的,它只是以交易信息作为bbs的一项内容,而不是专业的交易平台。

它没有按商品分类,用户查找起来很不方便,只能“误打误撞”;

由于它是非正式的,缺乏交易规则约束,尤其是它没有保证交易者的信用保障,也没有信用评估体系,交易者要承担一定的风险,使它的可信度下降。

鉴于以上分析,我们的系统为买卖双方提供一个集中的B2C信息交易平台,促进买卖双方的信息沟通,较完善的信用机制提供一定程度上的信用保证,为同学们提供方便的同时保证同学们交易的安全性。

2.3本系统B2C网上交易平台概述

系统采取虚拟货币进行交易和流通,用户通过汇款或银行划账等方式用真实货币换取虚拟货币,卖方按其类型收取不同的费用,费用通过本站系统的虚拟货币扣除,用户在本站通过搜索或分类查找,寻求交易伙伴。

用户可以查询卖方的相关信息和信用评价等指标,决定是否购买。

交易中,按卖方的类型(一般的零散用户或店铺用户)分成两种不同的模型:

系统为有较大商品销售需求的卖方提供的店铺空间,集中展示个人商品,并为卖家提供一定的优惠和折扣。

用户通过分类搜索,查询到满意的商品。

同时可以查看到卖方的上站时间、上架商品次数以及是否有在本站交易违约行为的记录等历史信息,如果是店铺卖方,买家还可以查询店铺的相关历史信息。

决定购买后用户可通过站内或其他联系方式联系。

双方成交后,在网下自行交易,本站不监控交易过程。

在交易过程中如有哪一方出现欺骗行为,可以进行投诉,经系统管理员确认后,对欺骗方进行惩罚。

本系统对个人店铺的卖方用户实行会员制,收取会员费用;

对一般的零散型卖方按所发布的商品信息收取费用,费用通过虚拟货币扣除。

本系统对买方不收取费用。

在商店运行的初期,为了提高网站的知名度和扩大网站的影响力,本系统在1年内不收取费用。

本系统保证了买卖双方的交易的安全性。

使用了CA认证的方法,数字安全证书利用一对互相匹配的密钥进行加密、解密。

每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;

同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。

商户可以公开其公开密钥,而保留其私有密钥。

购物者可以用人人皆知的公开密钥对发送的信息进行加密,安全地传送以商户,然后由商户用自己的私有密钥进行解密。

信息经济对消费的影响是巨大的,主要表现在:

  1.消费领域拓宽、新消费方式层出不穷

  2.消费结构趋于合理、消费阶段向上更替

  3.消费满足感更高、消费个性更强

4.消费者价值观转变、消费观提升

三、系统分析

3.1业务流程分析

用户进入本网站须注册并取得账号后方能进行交易。

若没有注册,也可以浏览商品信息,但不能获得卖方或买方的联系方式,也不能对商品留言或在论坛发表观点。

用户登录后,可以发布商品信息,买方浏览所需商品,双方供需匹配后联系,进行实际交易。

由此得出本系统的业务流程分为三部分:

用户注册登陆、交易过程、CA认证。

下面分别予以说明:

3.1.1用户注册登陆

业务流程图如下所示:

用户注册登录的过程分为散户注册和个人店铺用户注册。

系统要求用户注册真实信息。

如果因用户注册为非真实信息而造成的任何损失本系统不予以负责。

对于零散用户,我们采用email地址作为个人身份的验证标识。

用户注册时,输入个人的email地址,本网站将其密码发送至其邮箱中,用户用该密码登录本网站,成为正式用户。

此举在一定程度上保证了注册者的身份可靠,防止恶意注册。

若为店铺用户,需要进行实地验证。

店铺用户需向系统出具保证个人真实身份的证件。

比如身份证件、学生证等。

经本系统管理人员确认后予以通过。

以此最大限度的保证店铺用户的身份真实性,为买方提供信用保障。

散户用户在注册后可以申请升级为店铺用户。

已登录用户可随时修改密码。

3.1.2卖方发布商品信息

系统的卖家可以是一般的零散用户也可以是店铺用户。

卖家发布所要出售的商品信息,可配以文字描述和图片,商品信息在本网站内按类别显示。

若卖方为一般的零散用户,按发布的商品信息收取少量的费用,按卖方所需,每个商品设置不同的保留时间,按不同时间收取费用,在规定的时间内如卖方未将商品下架,系统自行删除商品。

若为个人店铺用户,可以申请不同的空间集中展示自己的商品。

按不同的空间收取不同的会员费用。

个人店铺提供了更为详尽的商品信息。

除了一般的商品信息外,还有商品的数量以及已定购的数量,供买方作为购买参考。

3.1.3买方查询卖方和商品信息,进行交易

对于买家,可以在分类区查找商品信息;

也可以用站内搜索器按商品名称、类别、卖家、价格等关键字搜索;

还可以去个人店铺中寻找。

一旦找到与自己需求匹配的商品,可以通过查看卖家的评价信息借以判断卖家的信用。

买方可以与卖家在站内联系,也可以通过卖方公布的其他联系方式联系(卖方可选择公布其站外联系方式)。

此后双方的交易过程为本系统的外部行为,交易在网下进行。

买卖行为为买卖双方的个人行为,买卖双方在交易前要确认对方身份的真实性。

若因个人行为不慎造成的损失不在本系统负责的范围之内。

对于零散卖方,在商品卖出后卖方可自行将其下架;

如若在一定期限内商品未下架,系统将予以下架。

对于店铺卖方,由用户自行管理商品。

根据用户的会员等级予以不同数量的商品货架,本网站鼓励用户尽快将已出售商品下架,若买方用户投诉店铺卖方长期空货架行为,系统对卖方的信用进行惩罚。

本系统提供一定的信用评价机制,为交易双方提供一定程度上的信用参考价值,最大限度的保证交易双方交易的安全性。

对零散拥护和店铺用户,提供不同的信用评价。

卖方用户必须留存一定金额的货币,如有需要(如取消店铺权限、取消账号等)可以在规定时间内将站内的虚拟货币进行结算。

3.1.4买方使用CA中心提供的私钥签名信息。

买家需要购买商品,必须使用自己的私钥对自己的信息进行加密,以肯定其身份和不要否认地提交信息。

3.2信用体制

本系统与相似的B2C网上商店相比,利用本系统内部的CA认证中心,监控买卖双方的交易行为,提供一个较为有效信用保障体制。

数字安全证书利用一对互相匹配的密钥进行加密、解密。

用户要进行网卡交易,必须提供自己的认证信息,所以要在CA认证中心取得电子认证证书,认证中心的基本流程是注册个人资料申请个人PIN(个人识别码),管理员审批个人信息并给合格用户发布系统PIN,这个系统PIN是申请电子认证证书必备的,用户可以在查询个人认证资料中查询自己的系统PIN,根据系统PIN,用户可以申请电子认证证书,经过管理员的审批,可以得到电子认证证书。

并由个人认证资料查询处查到个人证书号。

四、系统设计

4.1系统运行基础环境

CPU:

1.0GHz以上(推荐)

内存:

128M以上(推荐)

操作系统:

Windows2000

技术选择:

Jsp+javabean

DBMS选择:

MSSQLServer

第三方厂家插件:

BouncyCastleJCE

网站运行技术平台

网站硬件系统架构,采用目前IT业界流行和普遍采用的先进技术WIN2000+JSP+MSSQLServer来构建。

网站开发的技术平台

服务器环境

客户端环境

windows2000server

Jsp/xml

mssql2000

ie4.x以上

netscape4.x以上

4.2数据库设计

4.2.1数据库分析与数据库规范

根据数据流程分析和ER分析,实体以及实体间的关系可以讲数据库分成:

users,products,orders,assess,requires,categories,mailbox,message个表。

强关联关系要求一个商品必须对应一个用户,一个定单必须对于一个用户,一个ordr_items必须对应一个orders表,一个shop必须对应一个用户,products_categorites必须同时对应一个products和一个categories表单,一个massage必须对应一个users表。

图中表示出了各表之间的主键和外键。

4.3系统设计

4.3.1设计模式简介

模块各自的职责:

Model的作用主要是封装数据及系统的状态,另外太还要处理商业逻辑,但是在目前的设计中通常是把商业逻辑同表现层分开

View是用来显示和发送request的一个UI,在View通常没有商业处理,只是将要处理的数据格式化(HTML)

Controller它只要负责接受request,选择相应的response视图,并传递模型数据

4.3.2为什么选用MSSQLServer

MSSQLServer是一个强大的的DBMS

强大:

它的功能和效率绝对比许多DBMS要强,在Windows平台上,Jsp+Mssqlserver是运行效率相当高的。

数据:

在RSA非对称加密中,二进制流是用Bytes定义的,用Access无法达到那个效果。

4.3.3系统整体设计

系统为了以后的扩展应该支持模块的动态插入,也就是真个系统应该是类似一个CMS系统

4.4系统核心代码

4.4.1数据库服务层

作用:

作为一个javabean,连接数据库,每一页jsp只要引用些javabean内容就可以连接数据库

主要内容:

faq.java

publicclassfaq2{

protectedConnectionconn=null;

//Connection接口

protectedStatementstmt=null;

//Statement接口

protectedResultSetrs=null;

//记录结果集

protectedPreparedStatementprepstmt=null;

//PreparedStatement接口

protectedbooleanisConnect=true;

//与数据库连接标识

protectedStringsDBDriver="

sun.jdbc.odbc.JdbcOdbcDriver"

;

protectedStringsConnStr="

jdbc:

odbc:

jspshop"

publicfaq2(){

try{

Class.forName(sDBDriver);

conn=DriverManager.getConnection(sConnStr,"

"

"

);

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_UPDATABLE);

}

catch(Exceptione){System.out.println(e);

isConnect=false;

publicStatementgetStatement(){returnstmt;

publicConnectiongetConnection(){returnconn;

publicPreparedStatementgetPreparedStatement(Stringstr){

try{

prepstmt=conn.prepareStatement(str);

returnprepstmt;

}

catch(SQLExceptionex){ex.printStackTrace();

returnnull;

publicResultSetexecuteQuery(Stringstr){

try{////为了形成多个数据集,使用到这方法。

Statementstmt1;

stmt1=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,

rs=stmt1.executeQuery(str);

returnrs;

}catch(SQLExceptionex){returnnull;

publicvoidexecuteInsert(Stringstr)throwsException{stmt.executeUpdate(str);

publicintexecuteUpdate(Stringstr)throwsException{returnstmt.executeUpdate(str);

publicvoidexecuteDelete(Stringstr)throwsException{stmt.execute(str);

publicvoidClose()throwsSQLException{

if(stmt!

=null){stmt.close();

stmt=null;

}conn.close();

conn=null;

publicvoidclose()throwsSQLException{

conn=null;

}}

4.4.2rsa非对称加密代码

实现RSA非对称加密,在网站中使用公私钥加密,解密。

rsa.java

importjava.security.*;

importjava.security.interfaces.*;

importorg.bouncycastle.jce.provider.*;

importjava.security.spec.PKCS8EncodedKeySpec;

importjava.security.spec.X509EncodedKeySpec;

publicclassrsa{

privatebyte[]publickey_byte;

privatebyte[]privatekey_byte;

privatejavax.crypto.CipherrsaCipher;

publicrsa()

{

KeyPairkeys=null;

RSAPublicKeykey1;

RSAPrivateKeykey2;

Security.addProvider(neworg.bouncycastle.jce.provider.BouncyCastleProvider());

KeyPairGeneratorkpg=KeyPairGenerator.getInstance("

RSA"

//指定算法

kpg.initialize(1024);

//指定长度

keys=kpg.genKeyPair();

key1=(RSAPublicKey)keys.getPublic();

//公钥

key2=(RSAPrivateKey)keys.getPrivate();

//私钥

publickey_byte=key1.getEncoded();

privatekey_byte=key2.getEncoded();

rsaCipher=javax.crypto.Cipher.getInstance("

BC"

catch(NoSuchAlgorithmExceptione1){}

catch(NoSuchProviderExceptione2){}

catch(javax.crypto.NoSuchPaddingExceptione3){}

//////////////////////////////////////////////输出密钥对的byte[]数据////////////////////////////////////////

publicbyte[]getPublicKey(){returnpublickey_byte;

publicbyte[]getPrivateKey(){returnprivatekey_byte;

//////////////////////////////////////////////根据byte[]数据产生密钥对////////////////////////////////////////

publicPublicKeycreatePublicKey(byte[]publicKeyBytes)throwsException{

X509EncodedKeySpeckeySpec=newX509EncodedKeySpec(publicKeyBytes);

//产生RSA公钥

KeyFactorykeyFactory=KeyFactory.getInstance("

returnkeyFactory.generatePublic(keySpec);

publicPrivateKeycreatePrivateKey(byte[]privateKeyBytes)throwsException

//产生RSA私钥

PKCS8EncodedKeySpeckeySpec=newPKCS8EncodedKeySpec(privateKeyBytes);

returnkeyFactory.generatePrivate(keySpec);

/////////////////////////////////////////////////RSA公钥加密////////////////////////////////////////////////

publicbyte[]publicKeyEncrypt(byte[]publicKeyBytes,StringoriginalStrings)throwsException

PublicKeypublicKey=createPublicKey(publicKeyBytes);

rsaCipher.init(javax.crypto.Cipher.ENCRYPT_MODE,publicKey);

//加密

byte[]bytes1=rsaCipher.doFinal(originalStrings.getBytes());

returnbytes1;

//返回被加密的二进制数据

////////////////////////////////////////////////RSA私钥解密////////////////////////////////////////////////

publicStringprivateKeyDecrypt(byte[]privateKeyBytes,byte[]encryptedBytes)throwsException

PrivateKeyprivateKey=createPrivateKey(privateKeyBytes);

//产生RSA私钥

rsaCipher.init(javax.crypto.Cipher.DECRYPT_MODE,privateKey);

//解密

byte[]bytes1=rsaCipher.doFinal(encryptedBytes);

returnnewString(bytes1);

//返回原String.

////////////////////////////////////////////////RSA私钥加密////////////////////////////////////////////////

publi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1