UML分析与设计文档实例.docx

上传人:b****6 文档编号:8487842 上传时间:2023-01-31 格式:DOCX 页数:22 大小:312.48KB
下载 相关 举报
UML分析与设计文档实例.docx_第1页
第1页 / 共22页
UML分析与设计文档实例.docx_第2页
第2页 / 共22页
UML分析与设计文档实例.docx_第3页
第3页 / 共22页
UML分析与设计文档实例.docx_第4页
第4页 / 共22页
UML分析与设计文档实例.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

UML分析与设计文档实例.docx

《UML分析与设计文档实例.docx》由会员分享,可在线阅读,更多相关《UML分析与设计文档实例.docx(22页珍藏版)》请在冰豆网上搜索。

UML分析与设计文档实例.docx

UML分析与设计文档实例

 

虚拟商品在线交易系统

UML分析与设计文档

1问题陈述

本小组项目任务是开发一个虚拟商品在线交易系统。

卖家需要一个全新的在线交易系统,用于向网络买家提供一个集在线购买和在线下载功能于一身的网络交易平台,销售的物品主要是正版软件和网络游戏充值卡等非实体的虚拟商品。

本系统需要支持和集成支付宝公司的“虚拟商品交易服务”接口,并通过该接口收取买家费用,在交易完成后返回到本系统界面下给买家下载软件安装程序、软件激活码或充值卡密码等。

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

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

系统允许买家在交易完成后通过网页界面在线下载软件安装程序,但需要做到防盗链,即防止软件的下载地址被公开或盗用,此项主要针对不需要激活码激活的软件产品。

而对于软件激活码或充值卡密码,除了在交易完成后会在页面上显示外,也会自动E-MAIL一份到买家的电子邮箱里去。

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

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

2需求分析

2.1用例图

虚拟商品在线交易系统的用例图如图2-1所示,包括:

用户登陆系统、商品展示系统、购物车、结算付款、支付宝服务接口、用户及定单管理系统、商品管理。

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

2.2术语表

User:

用户、顾客;

ShopAdministrator:

网上商店管理员、商家;

Products:

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

ShoppingCart:

购物车;

Payment:

结算付款;

AServer:

支付宝服务器、与我方制作支付宝收款接口相连;

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用例规约ShoppingCart

表2.4-3.用例规约ShoppingCart

主要参与者

用户或游客

前置条件

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

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

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

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

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

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

3)转到结算模块

4)转回购物网站

辅助流程1(替代流程)

游客不登陆或注册:

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

辅助流程2(替代流程)

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

1)登陆后返回购物车

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

辅助流程3(替代流程)

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

1)返回提示未进行购物

2)选择返回购物网页

2.4.4用例规约UserManagement

表2.4-4.用例规约UserManagement

主要参与者

管理员

前置条件

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

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

返回管理后台首页

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

1)显示已注册用户列表

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

3)选择一种操作

4)显示操作页面

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

辅助流程1(替代流程)

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

1)显示用户的注册信息

辅助流程2(替代流程)

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

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

2)对信息进行修改

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

辅助流程3(替代流程)

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

1)对删除进行确认

辅助流程4(替代流程)

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

1)显示搜索页面

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

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

4)显示搜索后的内容

2.4.5用例规约ProductsManagement

表2.4-5.用例规约ProductsManagement

主要参与者

管理员

前置条件

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

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

返回管理后台首页

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

1)显示商品分类

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

1、商品查询

2、库存管理

3、商品批量修改

4、商品评论浏览

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

辅助流程1(替代流程)

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

1、显示商品分类

辅助流程2(替代流程)

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

1、商品的可修改的信息

2、进行修改

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

辅助流程3(替代流程)

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

1、添加商品,并确认

2、删除商品,并确认

辅助流程4(替代流程)

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

1、显示搜索页面

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

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

4、显示搜索后的内容

2.4.6用例规约OrderManagement

表2.4-6.用例规约OrderManagement

主要参与者

用户或管理员

前置条件

用户或管理员已经登陆

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

返回管理后台首页

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

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)、信息提交类(FileOffering)、数据库类(Database)、结算接口类(A:

Payment),用顺序图表示出来,如图3-3所示:

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

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

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

3.3.2管理员操作的用例实现

管理员操作的用例中包括管理员类(Admin)、界面类(UI)、信息提交类(FileOffering)、数据库类(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.1AdminTable

TableName

admin

FieldName

FieldType

Size

NotNull

Default

Value

Extra

Description

admin_id

INT

11

NotNull

 

auto_increment

PRIMARYKEY

admin_email_address

VARCHAR

96

NotNull

 

 

Loginnameforadminloginpage.

admin_password

VARCHAR

40

NotNull

 

 

permission

tinyint

1

NULL

1foradmin

admin_logdate

datetime

Lastlogindate&time.

4.4.2UserTable

TableName

customers

FieldName

FieldType

Size

NotNull

Default

Value

Extra

Description

customers_id

INT

11

NotNull

 

auto_increment

PRIMARYKEY

customers_email_address

VARCHAR

96

NotNull

 

 

LoginnameforUI

customers_telephone

VARCHAR

32

NotNull

customers_password

VARCHAR

40

NotNull

 

 

customers_logdate

datetime

Lastlogindate&time.

4.4.3ShoppingCartTable

TableName

customers_basket

FieldName

FieldType

Size

NotNull

Default

Value

Extra

Description

customers_basket_id

INT

11

NotNull

 

auto_increment

PRIMARYKEY

customers_id

INT

11

NotNull

0

 

products_id

INT

11

NotNull

0

customers_basket_quantity

INT

3

NotNull

0

 

productsquantity

final_price

decimal

10,2

NotNull

0.00

customers_basket_date_added

VARCHAR

8

4.4.4CategoriesTable

TableName

categories

FieldName

FieldType

Size

NotNull

Default

Value

Extra

Description

categories_id

INT

11

NotNull

 

auto_increment

PRIMARYKEY

categories_name

VARCHAR

32

NotNull

categories_image

VARCHAR

64

 

商品分类图片

parent_id

INT

11

NotNull

0

上级商品目录ID

sort_order

INT

3

4.4.5ManufacturersTable

TableName

manufacturers

FieldName

FieldType

Size

NotNull

Default

Value

Extra

Description

manufacturers_id

INT

11

NotNull

 

auto_increment

PRIMARYKEY

manufacturers_name

VARCHAR

32

NotNull

manufacturers_url

VARCHAR

255

NotNull

manufacturers_image

VARCHAR

64

 

4.4.6OrdersTable

TableName

orders

FieldName

FieldType

Size

NotNull

Default

Value

Extra

Description

orders_id

INT

11

NotNull

 

auto_increment

PRIMARYKEY

customers_id

INT

11

NotNull

0

payment_method

VARCHAR

32

NotNull

last_modified

datetime

 

date_purchased

datetime

orders_status

INT

5

NotNull

0

orders_date_finished

datetime

4.4.7OrdersDetailTable

TableName

orders_products

FieldName

FieldType

Size

NotNull

Default

Value

Extra

Description

orders_products_id

INT

11

NotNull

 

auto_increment

PRIMARYKEY

orders_id

INT

11

NotNull

0

products_id

INT

11

NotNull

0

final_price

decimal

10,2

NotNull

0.00

 

products_quantity

INT

3

NotNull

0

4.4.8OrdersProductsDownloadTable

TableName

orders_products_download

FieldName

FieldType

Size

NotNull

Default

Value

Extra

Description

orders_products_download_id

INT

11

NotNull

 

auto_increment

PRIMARYKEY

orders_id

INT

11

NotNull

0

orders_products_id

INT

11

NotNull

0

orders_products_filename

VARCHAR

255

NotNull

0

 

URLfordownloadproducts

download_maxdays

INT

2

NotNull

0

download_count

INT

2

NotNull

0

4.4.9ProductsTable

TableName

products

FieldName

FieldType

Size

NotNull

Default

Value

Extra

Description

products_id

INT

11

NotNull

 

auto_increment

PRIMARYKEY

products_name

VARCHAR

64

NotNull

products_description

TEXT

products_quantity

INT

4

NotNull

0

库存数量

products_image_small

VARCHAR

64

产品小图片

products_image_large

VARCHAR

64

产品大图片

products_filename_download

VARCHAR

255

NotNull

0

sameasorders_products_filename

products_price

decimal

10,2

NotNull

0.00

products_status

tinyint

1

NotNull

0

manufacturers_id

INT

11

categories_id

INT

11

4.4.10ProductsinCategoriesTable

TableName

products_to_categories

FieldName

FieldType

Size

NotNull

Default

Value

Extra

Description

products_id

INT

11

NotNull

0

PRIMARYKEY

categories_id

INT

11

NotNull

0

PRIMARYKEY

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

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

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

图4-2数据库结构图

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

当前位置:首页 > 解决方案 > 学习计划

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

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