基于BS模式的航材电子商务交易平台(2)
4) 查看报价草稿时,系统将根据报价单代码查找报价单对象和对应的询价单对象。其时序图如图4-14所示:
图4-14 查看报价草稿时序图
4.3.6 实时消息时序图
用户在聊天窗口内输入相应的聊天内容,系统将会处理将其反馈给其他用户,其时序图如图4-15所示:
图4-15 实时消息时序图
4.3.7 在线支付时序图
用户在确认订单后,就可以选择在线支付了。其时序图如图4-16所示:
图4-16 在线支付时序图
列名 |
类型 |
长度 |
corpid |
varchar |
5 |
corpname_cn |
varchar |
50 |
corpname_en |
varchar |
50 |
nation |
varchar |
15 |
mad_cn |
varchar |
100 |
mad_en |
varchar |
100 |
telnum |
varchar |
15 |
faxnum |
varchar |
15 |
contact |
varchar |
20 |
postcode |
double |
10 |
|
varchar |
30 |
corptype |
varchar |
3 |
ncorpcode |
varchar |
20 |
列名 |
类型 |
长度 |
Usernbr |
varchar |
20 |
Ast |
varchar |
1 |
Auth_code |
varchar |
8 |
Cdate |
date |
|
Claim_txt |
longtext |
|
|
varchar |
30 |
Faxnum |
Int |
10 |
Fname |
varchar |
20 |
Funame_cn |
varchar |
20 |
Inq_claim |
longtext |
|
Lname |
Varchar |
20 |
Mphone |
Int |
15 |
Password |
varchar |
10 |
Postcode |
int |
7 |
Quote_claim |
longtext |
|
Role |
varchar |
20 |
Sale_claim |
longtext |
|
Sur_claim |
longtext |
|
Telnum |
int |
10 |
Uadd |
varchar |
100 |
Udate |
date |
|
Corp_id |
varchar |
5 |
列名 |
类型 |
长度 |
Corp_id |
varchar |
5 |
Spl |
varchar |
5 |
Ldate |
date |
|
Notes |
longtext |
列名 |
类型 |
长度 |
Iid |
Varchar |
20 |
Oic |
Varchar |
20 |
Buyerid |
Varchar |
20 |
Cdate |
Date |
|
Ifn |
Varchar |
20 |
Qfn |
Varchar |
20 |
Rem |
Longtext |
|
Status |
Varchar |
2 |
列名 |
类型 |
长度 |
Iid |
varchar |
20 |
Iin |
int |
11 |
Bqu |
int |
11 |
Cert |
varchar |
45 |
Cnd |
varchar |
2 |
Kwd |
varchar |
30 |
Kwd_cn |
varchar |
30 |
Ltm |
varchar |
3 |
Mfr |
varchar |
8 |
Pnr |
varchar |
32 |
Pri |
varchar |
2 |
Rem |
longtext |
|
Unt |
varchar |
2 |
列名 |
类型 |
长度 |
Iid |
varchar |
20 |
Seller_id |
varchar |
20 |
Buyer_id |
varchar |
20 |
Qid |
varchar |
20 |
Rdate |
date |
|
Resp_status |
varchar |
2 |
Sdate |
date |
本章主要针对用户注册模块、找回密码模块、公告板模块、实时消息模块、用户登录模块、询价管理模块、邮件发送模块、报价管理模块和用户支付模块进行了系统的分析与实现。
1)用户通过点击首页页面左边的“注册”按钮,通过阅读系统的“隐私声明”(claim_for_privacy_cn_2.htm),点击“我同意”进入注册页面,点击“我不同意”返回首页。
5)如果用户所在的企业已经在本系统中注册过,那么点击“我要注册个人用户”,页面则跳转到AEP_User_Reg.jsp。
用户在个人注册时,需要通过自身企业管理员的审核(批准),在注册时需
REG_CORP_USER.action的另外一个功能是保存MyCountManager/REG_CORP_USER.jsp中,用户输入的注册信息。
最后,用户注册成功后,还会像企业管理员注册那样,收到一封系统自动发出的电子邮件。
用户首先点击首页的“忘记密码”,则页面跳转到找回密码界面MyCountManager/AEP_User_getpass.jsp。
为了满足客户将自己产品信息公布出来的需求,有一个更好市场,公告板是必不可少的。其主页面为MessageBoard/BC_LISTAjax.jsp。
用户通过点击页面的“发布公告”按钮,将会弹出一个填写具体需求信息的对话框,用户填写相应信息即可。
用户点击“发布”按钮以后,将信息提交给MessageBoard/AEPMessage.action进行保存,使得需求信息发布成功。
用户需要查询自己所需要的航材时,在相应的查询条件中输入相应内容,系统将显示其查询结果。
本模块的信息查询采用了ajax分页的技术,在使用中应该注意“中文”参数的传递,在客户端需要进行两次加密的过程,在服务器端需要进行两次解密的过程,以本系统为例:
var url="../MessageBoard/aepMessage.action?page="+page+"&ajax=yes&tag=list&sbj="+sbj+"&mty="+mty;
1) String type = ServletActionContext.getRequest().getParameter("mty");
2) type = URLDecoder.decode(type, "UTF-8");
该模块采用了返回DWR的反向AJAX技术来实现这一功能。反向AJAX的基本概念是客户端不必从服务器端获取信息,服务器会把相关的信息直接推送到客户端。
图4-23的左上角为用户登录区域,用户在输入了相关信息后,将信息提交给logonAction.action进行处理,在系统验证所输信息正确后,会在页面中显示出登陆效果。
用户通过点击BUY_SPL_LIST.jsp页面中的“增加联系人”按钮,将弹出添加联系人对话框。
在BUYCERSPL.action中,不但要处理对用户所在企业所有认证供应商的显示信息,还要处理在用户选择了相应的供应商后,进行保存的信息,这都需要页面向后台传递不同的参数,在后台进行判断后处理。
3)所有关于询价单信息的处理,都是用户在客户端通过将相应的请求提交给MyOrderParts/BUYINQEDIT.action来进行的。
用户在/BUY_INQ_EDIT.jsp中需填写相应的询价信息,选择发送的对象,添加需要询价的器材。点击“增加所涉及的器材”时会弹出对话框,用户只需填写相应的信息即可。
用户点击“发送”按钮后,系统将会自动的将询价单发送给相应的供应商,以便供应商能够及时的将报价单发送给用户。
用户可以点击相应的询价单代码,来查看询价单具体的内容,将相应信息提交给后台进行处理后,返回到MyOrderParts/VBUY_SENDINQ_EDIT.jsp页面。
询价单代码的生成规则为:生成询价单号,编码规则为:【企业代码/5】+【年月日/8】+【序列/7】。
在邮件发送时需要保存用户当前发送或接受邮件的全部信息,包括用户名、口令、邮件发送和接收服务器名称、验证信息等,这些信息封装在MailUser类中。
在Session中,有时需要对邮件的属性进行安全验证,这就需要一个安全验证类MailAuthenticator,其实现代码如代码5-4所示:
public class MailAuthenticator extends Authenticator{
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(MailUser.getUserName(), MailUser.getPassWord());
邮件发送模块增强了与用户的信息交流,增加了用户的体验,在前文中也展示了相关信息,只需在提交的action中调用相应的SendMail的方法便可以实现邮件的发送,这里不再赘述。
页面中显示出报价单代码,报价单号编码规则为:B_"企业代码_"+【询价单号】。如果询价单没有生成报价单,则可以通过点击“生成报价单”来生成报价草稿。
2)用户点击“生成报价单”来生成该询价单的报价草稿,将提交请求交由
SALERECINQLIST.action进行处理,最终将报价模板的页面MySaleparts/SALE_REC_INQ_EDIT.jsp显示出来。
页面中将显示航材对应的价格,用户也可以直接在文本框中进行航材价格的更改,点击“发送报价单”,将此报价单发送给相应客户。
4)用户通过点击首页中的“发出的报价单(草稿)”链接,可以查询用户所发出的所有报价单草稿,页面为MySaleparts/SALE_QFN_LIST.jsp。
通过点击页面中的报价单代码,便可以对报价单进行编辑,页面为MySaleparts/SALE_REC_QFN_LIST1.jsp。
5)用户通过点击首页中的“我发出的报价记录”链接,可以查询用户所发出的所有报价记录,页面为MySaleparts/SALE_QFN_LIST.jsp。
点击相应报价单代码后,用户仅能查看相应的报价单,“发送报价单”按钮不可用,页面为MySaleparts/SALE_REC_QFN_LIST2.jsp。
6)SALERECINQLIST.action的业务控制逻辑处理较为复杂,跟报价相关的用户请求都由其进行控制处理,通过页面中参数的传递来对请求信息进行处理,返回不同的页面。
用户在确认订单后,通过点击订单界面的“支付宝即时到账”按钮,系统将会根据请求调用支付宝所提供的网络接口,从而完成此次在线交易。
前几章已经详细介绍了航材电子商务系统的各个功能模块,本章将对已经实现的功能进行功能和性能方面的测试。
对系统进行测试时,主要是采用以黑盒法设计基本的测试方案,再用白盒法补充一些必要的测试方案的方法。
对系统进行测试时,使用得最多的是黑盒测试的边界值分析方法。首先确定边界情况,选取的测试数据应该刚好等于、刚刚小于和刚刚大于边界值的数据。同时,应该即包括输入数据的边界情况又包括输出数据的边界情况。
等价划分法和错误推测法也是测试中使用到的黑盒测试技术。等价划分法是将输入输出数据划分为若干个等价类,再选取等价类中的一组数据进行测试。错误推测法是列举出程序中可能有的错误和容易发生的错误来进行测试。
测试项目 |
在AEP站点 |
功能模块名 |
Login |
|||||
测试目的 |
验证是否输入合法的信息,允许合法登陆,阻止非法登陆 |
|||||||
测试数据 |
用户名=tom,密码=dddddd,验证码根据提示输入 |
|||||||
测 试 步 骤 |
序号 |
操作描述 |
数据 |
预 期 结 果 |
实 际 结 果 |
测试状态 |
||
1 |
直接点击“登录”按钮。 |
用户名为空 密码为空 |
返回登陆页面,让用户重新输入。 |
与预期结果相同。 |
正常 |
|||
2 |
输入用户名。点击“登录”按钮。 |
用户名=tom 密码为空 |
返回登陆页面,让用户重新输入。 |
与预期结果相同。 |
正常 |
|||
3 |
输入用户密码。点击“登录”按钮。 |
用户名为空 密码=dddddd |
返回登陆页面,让用户重新输入。 |
与预期结果相同。 |
正常 |
|||
4 |
输入用户名和密码,点击“登录”按钮。 |
用户名=aaa 密码=dddddd |
显示警告信息:“您输入的用户ID不存在”。 |
与预期结果相同。 |
正常 |
|||
5 |
输入用户名和密码,点击“登录”按钮。 |
用户名=tom 密码=aaaaaa |
显示警告信息:“您输入的密码有误”。 |
与预期结果相同。 |
正常 |
|||
6 |
输入用户名和密码,点击“登录”按钮。 |
用户名=tom 密码=dddddd 验证码输入有误 |
显示警告信息:“您输入的验证码有误”。 |
与预期结果相同。 |
正常 |
|||
7 |
输入用户名和密码,点击“登录”按钮。 |
用户名=tom 密码=dddddd 验证码输入正确 |
进入AEP操作首页。 |
与预期结果相同。 |
正常 |
|||
是否发现其它异常情况 |
无其它异常情况 |
是否清除 |
||||||
出现频率 |
无 |
错误等级 |
无 |
|||||
测试项目 |
在AEP站点 |
||||||
参考信息 |
需求分析中关于性能需求的说明 |
||||||
测试目的 |
验证系统响应速度能否达到性能需求 |
||||||
测 试步骤 |
序号 |
操作描述 |
预 期 结 果 |
实 际 结 果 |
测试状态 |
||
1 |
打开系统 |
1s-1min时间内得到服务器的响应。 |
3s时间进入打开系统。 |
正常 |
|||
2 |
输入正确的管理员名,密码和验证码,登录。 |
1s-1min时间内进入AEP操作首页。 |
1s时间进入操作首页。 |
正常 |
|||
5 |
在首页中点击“新询价单”。 |
1s-1min时间内进入新询价单页面。 |
2s时间进入新询价单页面。 |
正常 |
|||
6 |
在首页中点击“我发出的询价单”。 |
1s-1min时间内进入询价单查询页面。 |
2s时间进入询价单查询页面。 |
正常 |
|||
7 |
在首页中点击“我的供应商联系人”。 |
1s-1min时间内进入显示页面。 |
2s时间进入显示页面。 |
正常 |
|||
8 |
在首页中点击“我公司认证的供应商”。 |
1s-1min时间内进入显示页面。 |
1s时间进入显示页面。 |
正常 |
|||
9 |
在首页中点击“收到的询价单”。 |
1s-1min时间内进入收到询价单查询页面。 |
2s时间进入显示页面。 |
正常 |
|||
10 |
在首页中点击“发出的报价单(草稿)”。 |
1s-1min时间内草稿报价单页面。 |
3s时间进入草稿报价单页面。 |
正常 |
|||
11 |
在首页中点击“我发出的报价记录”。 |
1s-1min时间内进入报价单记录查看页面。 |
2s时间进入报价单记录查看页面。 |
正常 |
|||
12 |
在首页中点击“发布信息(浏览)”。 |
1s-1min时间内进入信息发布(浏览)页面。 |
3s时间进入信息发布(浏览)页面。 |
正常 |
|||
13 |
在首页中点击“查看/发送实时消息”。 |
1s-1min时间内进入查看/发送实时消息页面。 |
1s时间进入查看/发送实时消息页面。 |
正常 |
|||
有无异常 |
无其它异常情况 |
是否清除 |
|||||
出现频率 |
无 |
错误等级 |
无 |
||||
作者对此系统的功能、性能,以及可用性均进行了测试,通过对测试结果的分析总结得出:此系统的功能基本满足用户需求,性能基本达到需求,具有可用性和友好性。
但是测试用例有一定的局限性,测试环境和实际运行环境也存在着一定的差异,所以不能完全地、准确地测试出系统存在的问题,还需要在后期的维护过程中,对系统暴露出来的问题进行纠正和更新。
在系统的开发过程中,我也曾遇到过一些棘手的问题,有时候也会犯一些常识性的(低级)错误。问题虽小,但我们绝不能忽视它,为避免和减少我们所犯常识性错误的概率,现总结如下:
3) 遇到了String为空的情况,在执行时虽然有if(string == “”)的判断,但是仍然不能符合需求,需加入if(string == “” || string == null)。
4) 项目有几张表中定义了“双主键”,其中的数据在单个主键中出现了重复的现象,数据仍可保存,个人认为双主键可以看作是一个大的整合主键,仍不违背主键不重复的原则。例如:
var url="../MessageBoard/aepMessage.action?page="+page+"&ajax=yes&tag=list&sbj="+sbj+"&mty="+mty;
1) String type = ServletActionContext.getRequest().getParameter("mty");
2) type = URLDecoder.decode(type, "UTF-8");
基于BS模式的航材电子商务交易平台(2)相关推荐
- 基于BS模式的航材电子商务交易平台(1)
第一章 引言 1.1 背景 随着社会经济的发展,航空运输在国民经济中的地位日益提高,由于其舒适.快捷的特性,成为越来越多的人的外出首选交通工具.但是,近几年民航业出现了经济效益滑坡的现象,引起了各大 ...
- bs模式Java web,基于BS模式的即时通讯系统的设计与实现(MyEclipse)
基于BS模式的即时通讯系统的设计与实现(MyEclipse)(包含选题审批表,任务书,开题报告,中期检查表,毕业论文13000字,答辩记录,成绩评定册,源程序) 摘 要:即时通讯(Instant M ...
- 基于 BS 模式的汽车售后服务系统的设计+源码
1 概述 随着百姓购买力的提升, 各种车辆走进千家万户, 跟汽车相关的服务也呈现出蓬勃发展的势头.据悉, 汽车销售商的利润来源中, 售后服务占 50% , 汽车销售占 10% , 零部件销售占10% ...
- php基于BS模式的物业管理系统设计与实现毕业设计源码290918
摘要 随着计算机科学技术日渐成熟,人们已经深刻认识到了计算机功能的强大,计算机已经进入到了人类社会发展的各个领域,并且发挥着十分重要的作用.每个社区的物业管理是一项系统而复杂的工作,它需要一个团队互相 ...
- JSP电子商务试点网站myeclipse开发mysql数据库BS模式java编程网页结构详细设计
一.源码特点 JSP电子商务试点网站是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5 ...
- 计算机系统中bs三层指,基于BS三层结构模式的在线练习系统的设计与实现.pdf
基于BS三层结构模式的在线练习系统的设计与实现.pdf 第27卷第1期 电气电子教学学报 V01.27No.1 0FEEE Feb.2005 2005年2月 JOURNAL 基于B/S三层结构模式的 ...
- java计算机毕业设计BS模式快递运输平台2021源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计BS模式快递运输平台2021源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计BS模式快递运输平台2021源码+mysql数据库+系统+lw文档+部署 本源码技 ...
- (附源码)基于java的校园二手书籍交易平台 毕业设计131558
校园二手书籍交易平台的设计与实现 摘要 随着计算机技术和网络技术的迅速发展,网上购物已经融入了人们的日常生活中,电子商务也因此流行起来.国内的京东商城.天猫.苏宁易购等大型网站在图书销售等商品零售领域 ...
- 基于全球价值链的电子商务整合创新问题研究[ 转]
一.引言 过去10 年来,电子商务已经彻底改变了目前的经济景观.无论对发达国家还是 对发展中国家来说,电子商务都是一个千载难逢的机遇,同时也是个不可避免的挑战, 哪个国家能把握好电子商务这把" ...
最新文章
- 集成学习+ensemble learning
- R语言定量变量组间差异检验
- 业界丨2018,人工智能革命走向风口浪尖
- 管理active directiory中的用户和计算机管理磁盘,IP多播桌面视频会议系统媒体流管理与安全机制的分析.pdf...
- MySQL专题—— 从认识索引到理解索引【索引优化】
- 深度学习系统相比较传统的机器学习系统,针对常见的分类问题,精度究竟能有多大提升?...
- Excel VBA遍历文件
- Spring MVC国际化(i18n)和本地化(L10n)示例
- mysql dump 二进制_mysqldump+二进制日志备份恢复
- 最佳海报样机模板|让作品脱颖而出
- 11月份写什么,由你来决定——学堂需求调查
- 如何查看自己的CSDN地址
- 数据库 的日志已满,备份该数据库的事务日志以释放一些日志空间的解决办法 ...
- 【USB电压电流表】基于STM32F103C8T6 for Arduino
- 涉密计算机终端安全防护,终端安全登录与文件保护系统保密认证设备
- 我在华为工作十年的感悟
- COSELF 次元秀场伦敦时装周预告 #虚拟时尚
- 使用c语言函数使二数相减,什么是c语言
- Windows Media Player Network Sharing Service 启动失败
- 最短路径 floyd最小环 洛谷2738 篱笆回路 网上题解