您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
虚拟商品在线交易系统UML分析与设计文档
 
火龙果软件    发布于 2014-09-19
   次浏览      
 

1 问题陈述

本小组项目任务是开发一个虚拟商品在线交易系统。卖家需要一个全新的在线交易系统,用于向网络买家提供一个集在线购买和在线下载功能于一身的网络交易平台,销售的物品主要是正版软件和网络游戏充值卡等非实体的虚拟商品。本系统需要支持和集成支付宝公司的“虚拟商品交易服务”接口,并通过该接口收取买家费用,在交易完成后返回到本系统界面下给买家下载软件安装程序、软件激活码或充值卡密码等。

系统允许卖家在系统后台对商品进行维护,卖家可以在后台管理系统中对所销售的软件产品和充值卡商品进行修改、添加和删除,并可以查询所有买家信息。

系统允许买家在注册后对个人信息进行修改和维护,并查阅自己的购买记录;对于没有注册的临时买家,也可以直接购买,在交易完成后把其信息记录到数据库,但不会为临时买家注册系统ID。

系统允许买家在交易完成后通过网页界面在线下载软件安装程序,但需要做到防盗链,即防止软件的下载地址被公开或盗用,此项主要针对不需要激活码激活的软件产品。而对于软件激活码或充值卡密码,除了在交易完成后会在页面上显示外,也会自动E-MAIL一份到买家的电子邮箱里去。

同时,服务器使用Linux系统,安装有Apache、PHP和MySQL,需要把销售情况记录到MySQL数据库中,以便业务人员查询销售情况和进行管理。

系统需要对每周和每月销售的情况进行统计,并列印成报表,同时允许在线生成Excel及PDF格式文件以便保存。

2 需求分析

2.1 用例图

虚拟商品在线交易系统的用例图如图2-1所示,包括:用户登陆系统、商品展示系统、购物车、结算付款、支付宝服务接口、用户及定单管理系统、商品管理。

图2-1. 虚拟商品交易系统用例图

2.2 术语表

User:用户、顾客;

Shop Administrator:网上商店管理员、商家;

Products:商品、虚拟商品、非实体的商品;

Shopping Cart:购物车;

Payment:结算付款;

Alipay.com Server:支付宝服务器、与我方制作支付宝收款接口相连;

Order:在线定单。

2.3 活动图

2.3.1结算付款系统活动图

如图2-2所示,对应的用例规约请见表2.4-1:

图2-2. 结算付款系统活动图

2.4 用例规约

2.4.1用例规约Login

表2.4-1. 用例规约Login

主要参与者

用户及网上商店管理员

前置条件

输入正确的用户名、密码

后置条件(成功后的保证)

登入系统

基本流程(主要成功场景)

1) 输入用户名、密码

2) 验证用户名、密码

3) 如验证正确,登入系统

辅助流程(替代流程)

输入用户名或密码不正确:

1) 统显示错误信息

2) 提示用户重新输入

2.4.2用例规约Payment

表2.4-2. 用例规约Payment

主要参与者

用户或游客

前置条件

用户或游客已经把商品加入到购物车,并按下结算按钮

后置条件(成功后的保证)

返回商品结算清单及所需费用

基本流程(主要成功场景)

1) 户按下结算按钮

2) 系统显示购物列表及总价

3) 系统询问游客是否注册或登陆

4) 定单提交到支付宝接口

5) 用户通过支付宝或信用卡完成付款

6) 支付完成返回网上商店,显示下载地址及产品注册码、或点卡密码

辅助流程1(替代流程)

游客不登陆或注册:

1) 以游客身份把定单提交到支付宝接口

辅助流程2(替代流程)

游客以注册用户名登陆或注册:

1) 登陆后返回购物车

2) 以注册用户身份提交定单到支付宝接口

辅助流程3(替代流程)

用户或游客未完成支付或支付出错:

1) 返回网上商店

2) 显示定单未结算,不能下载虚拟商品

(*对应的活动图请参考图2-2)

2.4.3用例规约Shopping Cart

表2.4-3. 用例规约Shopping Cart

主要参与者

用户或游客

前置条件

用户或游客已经挑选商品,并且商品已经为勾选状态。

后置条件(成功后的保证)

返回商品名称、数量、价格及总计

基本流程(主要成功场景)

1) 系统显示购物列表及总价

2) 系统提供对所购物品的修改处理,或继续购物的功能选择

3) 转到结算模块

4) 转回购物网站

辅助流程1(替代流程)

游客不登陆或注册:

1) 以游客身份显示购物列表

辅助流程2(替代流程)

游客以注册用户名登陆或注册:

1) 登陆后返回购物车

2) 以注册用户身份显示购物列表

辅助流程3(替代流程)

用户或游客未完成挑选物品:

1) 返回提示未进行购物

2) 选择返回购物网页

2.4.4用例规约User Management

表2.4-4. 用例规约User Management

主要参与者

管理员

前置条件

以管理员身份登陆,并按下管理按钮。

后置条件(成功后的保证)

返回管理后台首页

基本流程(主要成功场景)

1) 显示已注册用户列表

2) 在列表中选择一个要操作的用户

3) 选择一种操作

4) 显示操作页面

5) 完成操作,并保存操作中更改的信息

辅助流程1(替代流程)

选择以显示的方式进行操作

1) 显示用户的注册信息

辅助流程2(替代流程)

选择以修改的方式进行操作

1) 显示用户的可修改的信息

2) 对信息进行修改

3) 显示修改的项目信息,对修改进行确认

辅助流程3(替代流程)

选择以删除的方式进行操作

1) 对删除进行确认

辅助流程4(替代流程)

选择以搜索的方式进行操作

1) 显示搜索页面

2) 填写需要搜索的关键字

3) 选择搜索方式(按名字,按注册日期,等)

4) 显示搜索后的内容

2.4.5用例规约Products Management

表2.4-5. 用例规约Products Management

主要参与者

管理员

前置条件

以管理员身份登陆,并按下管理按钮。。

后置条件(成功后的保证)

返回管理后台首页

基本流程(主要成功场景)

1) 显示商品分类

2) 添加、修改、删除商品(添加软件程序、点卡激活码等)

1、 商品查询

2、 库存管理

3、 商品批量修改

4、 商品评论浏览

5、 完成操作,并保存操作中更改的信息

辅助流程1(替代流程)

选择以显示的方式进行操作

1、显示商品分类

辅助流程2(替代流程)

选择以修改的方式进行操作

1、 商品的可修改的信息

2、进行修改

3、显示修改的项目信息,对修改进行确认

辅助流程3(替代流程)

选择以添加、删除的方式进行操作

1、 添加商品,并确认

2、 删除商品,并确认

辅助流程4(替代流程)

选择以搜索的方式进行操作

1、显示搜索页面

2、填写需要搜索的关键字

3、选择搜索方式(按商品名称,按修改日期,等)

4、显示搜索后的内容

2.4.6用例规约Order Management

表2.4-6. 用例规约Order Management

 

主要参与者

用户或管理员

前置条件

用户或管理员已经登陆

后置条件(成功后的保证)

返回管理后台首页

基本流程(主要成功场景)

1、检查以何种身份登陆

2、进入所属权限的订单管理页面

3、对订单进行管理操作

4、保存管理操作的结果

5、返回订单管理页面

辅助流程1(替代流程)

用户对已完成购买的订单进行历史记录查看

1、显示已完成购买的订单

辅助流程2(替代流程)

用户对未完成购买的订单进行记录查看

1、显示未完成购买的订单

辅助流程3(替代流程)

用户对未完成购买的订单进行记录删除

1、删除未完成购买的订单

2、对删除进行确认

辅助流程4(替代流程)

管理员对已经销售的订单进行历史记录查看

1、显示已完成销售的订单

辅助流程5(替代流程)

管理员对未完成销售的订单进行操作记录查看

1、显示未完成销售的订单

2、进入管理员人工销售操作页面

辅助流程6(替代流程)

管理员对未完成销售的订单进行人工销售操作

1、人工完成未完成销售的订单,订单确认

2、订单转到已经销售部分

2.5 补充文档

2.5.1 补充规约:支付接口的选择

由于支付宝接口在10月20日起对所有支付宝接口实施包年套餐的租借方式,严重影响项目的开发和调试,所以系统再Payment处增加一个对应中国贝宝(PAYPAL)的支付接口,使用户可以自由选择付款接口,对应的用例规约如下表2.5-1:

表2.5-1. 补充用例规约:支付接口的选择

主要参与者

用户或游客

前置条件

用户或游客已经把商品加入到购物车,并按下结算按钮

后置条件(成功后的保证)

返回商品结算清单及所需费用

基本流程(主要成功场景)

1、用户按下结算按钮

2、系统显示购物列表及总价

3、用户选择支付接口(PAYPAL中国或支付宝)

辅助流程1(替代流程)

用户选择PAYPAL:

1、系统把定单提交到PAYPAL.COM.CN接口。

辅助流程2(替代流程)

用户选择支付宝:

1、系统把定单提交到ALIPAY.COM接口。

3 分析与设计

3.1 架构分析

本系统使用B/S架构,以三层架构组成,由上到下分别是:界面层、业务流程层、数据库层。系统架构分层如图3-1。

图3-1 系统架构分层图

3.1.1 界面层

界面层向客户或系统管理员展示系统前台及后台操作界面,它集成的界面有:系统前/后台登陆界面、购物车、系统管理界面、在线支付结果界面等。

3.1.2 业务逻辑层

业务流程中与用户提交信息相关的服务在这一层中被定义。界面层的用户信息通过业务逻辑层访问数据库,对所指定的业务进行查询、增加、修改和删除等操作。

3.1.3 数据库层

数据库层由业务逻辑层访问,并返回结果到界面层。

3.2 关键抽象

本系统的关键抽象包括客户类、管理员类、提交信息类、界面类、结算类和数据库类,如图3-2所示。

图3-2. 关键抽象

3.3 用例实现

3.3.1 客户购买商品的用例实现

客户购买商品的用例中包括客户类(User)、界面类(UI)、信息提交类(File Offering)、数据库类(Database)、结算接口类(Alipay.com: Payment),用顺序图表示出来,如图3-3所示:

图3-3 客户购买商品的用例实现顺序图

对应的协作图如图3-4所示:

图3-4 客户购买商品的用例实现协作图

3.3.2 管理员操作的用例实现

管理员操作的用例中包括管理员类(Admin)、界面类(UI)、信息提交类(File Offering)、数据库类(Database),用顺序图表示出来,如图3-5所示:

图3-5 管理员操作的用例实现顺序图

对应的协作图如图3-6所示:

图3-6 管理员操作的用例实现协作图

4 用例分析

4.1 分析类

分析类包括:

1) 界面类:管理员类、用户类、界面类。

2) 控制类:提交信息制类。

3) 实体类:数据库类、支付接口类。

4.2 分析类的功能

4.2.1 管理员类

职能:login();update_profile()。

属性:WebManager;UI。

4.2.2 用户类

职能:login();update_profile();AddtoCart()。

属性:WebManager;UI;CartDetail。

4.2.3提交信息制类

职能:count_totalprice();user_management();order_management();products_management();download()。

属性:SubmitInfo;UI。

4.2.4 数据库类

职能:alipay_service();verify_result()。

属性:userId;OrderId;OrderDetail。

4.2.5支付接口类

职能:return_url()。

属性:OrderNumber;OrderStatus;Date。

4.3 类图及类之间的关联

根据关键抽象及类的功能,得出类之间的联系如图4-1:

图4-1 系统类图

4.4 数据库设计

4.4.1 Admin Table

Table Name
admin
Field Name
Field Type
Size
Not Null
Default
Value
Extra
Description
admin_id
INT
11
Not Null
auto_increment
PRIMARY KEY
admin_email_address
VARCHAR
96
Not Null
Login name for admin login page.
admin_password
VARCHAR
40
Not Null
permission
tinyint
1
NULL
1 for admin
admin_logdate
datetime
Last login date & time.

4.4.2 User Table

Table Name
customers
Field Name
Field Type
Size
Not Null
Default
Value
Extra
Description
customers_id
INT
11
Not Null
auto_increment
PRIMARY KEY
customers_email_address
VARCHAR
96
Not Null
Login name for UI
customers_telephone
VARCHAR
32
Not Null
customers_password
VARCHAR
40
Not Null
customers _logdate
datetime
Last login date & time.

4.4.3 Shopping Cart Table

Table Name
customers_basket
Field Name
Field Type
Size
Not Null
Default
Value
Extra
Description
customers_basket_id
INT
11
Not Null
auto_increment
PRIMARY KEY
customers_id
INT
11
Not Null
0
products_id
INT
11
Not Null
0
customers_basket_quantity
INT
3
Not Null
0
products quantity
final_price
decimal
10,2
Not Null
0.00
customers_basket_date_added
VARCHAR
8

4.4.4 Categories Table

Table Name
categories
Field Name
Field Type
Size
Not Null
Default
Value
Extra
Description
categories_id
INT
11
Not Null
auto_increment
PRIMARY KEY
categories_name
VARCHAR
32
Not Null
categories_image
VARCHAR
64
商品分类图片
parent_id
INT
11
Not Null
0
上级商品目录ID
sort_order
INT
3

4.4.5 Manufacturers Table

Table Name
manufacturers
Field Name
Field Type
Size
Not Null
Default
Value
Extra
Description
manufacturers_id
INT
11
Not Null
auto_increment
PRIMARY KEY
manufacturers_name
VARCHAR
32
Not Null
manufacturers_url
VARCHAR
255
Not Null
manufacturers_image
VARCHAR
64

4.4.6 Orders Table

Table Name
orders
Field Name
Field Type
Size
Not Null
Default
Value
Extra
Description
orders_id
INT
11
Not Null
auto_increment
PRIMARY KEY
customers_id
INT
11
Not Null
0
payment_method
VARCHAR
32
Not Null
last_modified
datetime
date_purchased
datetime
orders_status
INT
5
Not Null
0
orders_date_finished
datetime

4.4.7 Orders Detail Table

Table Name
orders_products
Field Name
Field Type
Size
Not Null
Default
Value
Extra
Description
orders_products_id
INT
11
Not Null
auto_increment
PRIMARY KEY
orders_id
INT
11
Not Null
0
products_id
INT
11
Not Null
0
final_price
decimal
10,2
Not Null
0.00
products_quantity
INT
3
Not Null
0

4.4.8 Orders Products Download Table

Table Name
orders_products_download
Field Name
Field Type
Size
Not Null
Default
Value
Extra
Description
orders_products_download_id
INT
11
Not Null
auto_increment
PRIMARY KEY
orders_id
INT
11
Not Null
0
orders_products_id
INT
11
Not Null
0
orders_products_filename
VARCHAR
255
Not Null
0
URL for download products
download_maxdays
INT
2
Not Null
0
download_count
INT
2
Not Null
0

4.4.9 Products Table

Table Name
products
Field Name
Field Type
Size
Not Null
Default
Value
Extra
Description
products_id
INT
11
Not Null
auto_increment
PRIMARY KEY
products_name
VARCHAR
64
Not Null
products_description
TEXT
products_quantity
INT
4
Not Null
0
库存数量
products_image_small
VARCHAR
64
产品小图片
products_image_large
VARCHAR
64
产品大图片
products_filename_download
VARCHAR
255
Not Null
0
same as orders_products_filename
products_price
decimal
10,2
Not Null
0.00
products_status
tinyint
1
Not Null
0
manufacturers_id
INT
11
categories_id
INT
11

4.4.10 Products in Categories Table

Table Name
products_to_categories
Field Name
Field Type
Size
Not Null
Default
Value
Extra
Description
products_id
INT
11
Not Null
0
PRIMARY KEY
categories_id
INT
11
Not Null
0
PRIMARY KEY

*此表作用是可使一个商品从属于多个不同分类。

4.4.11 数据库结构及各表间的关系

数据库结构及各表间的关系如图4-2:

图4-2 数据库结构图

   
次浏览       
 
相关文章

UML概览
UML图解:用例图(Use case diagram )
UML图解:活动图(activity diagram )
UML图解:类图(class diagram )
UML图解:对象图(object diagram)
UML图解:顺序图( sequence diagram )
 
相关文档

模型跟踪:跟踪图、矩阵、关系(建模工具EA)
自定义表格(Custom Table)在EA中的使用
元素的详情浏览控制
UAF 1.2规范解读(DMM 和 UAFML )
EA中支持的各种图表
EA中的界面原型建模
 
相关课程

UML与面向对象分析设计
UML + 嵌入式系统分析设计
业务建模与业务分析
基于SysML和EA进行系统设计与建模
基于模型的需求管理
业务建模 & 领域驱动设计
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]

如何向妻子解释OOD
OOAD与UML笔记
UML类图与类的关系详解
UML统一建模语言初学
总结一下领域模型的验证
基于 UML 的业务建模


面向对象的分析设计
基于UML的面向对象分析设计
UML + 嵌入式系统分析设计
关系数据库面向OOAD设计
业务建模与业务架构
使用用例进行需求管理


某航空IT部门 业务分析与业务建模
联想 业务需求分析与建模
北京航管科技 EA工具与架构设计
使用EA和UML进行嵌入式系统分析
全球最大的茶业集团 UML系统分析
华为 基于EA的嵌入式系统建模
水资源服务商 基于EA进行UML建模
更多...