uml分析与设计文档格式参考.docx
《uml分析与设计文档格式参考.docx》由会员分享,可在线阅读,更多相关《uml分析与设计文档格式参考.docx(26页珍藏版)》请在冰豆网上搜索。
uml分析与设计文档格式参考
虚拟商品在线交易系统
UML分析与设计文档
组长:
*****06****
组员:
*****06****
****学院******广州
目录
目录3
1问题陈述4
2需求分析5
2.1用例图5
2.2术语表5
2.3活动图6
2.3.1结算付款系统活动图6
2.4用例规约7
2.4.1用例规约Login7
2.4.2用例规约Payment7
2.4.3用例规约ShoppingCart7
2.4.4用例规约UserManagement8
2.4.5用例规约ProductsManagement8
2.4.6用例规约OrderManagement9
2.5补充文档10
2.5.1补充规约:
支付接口的选择10
3分析与设计10
3.1架构分析10
3.1.1界面层11
3.1.2业务逻辑层11
3.1.3数据库层11
3.2关键抽象11
3.3用例实现12
3.3.1客户购买商品的用例实现12
3.3.2管理员操作的用例实现13
4用例分析14
4.1分析类14
4.2分析类的功能14
4.2.1管理员类14
4.2.2用户类14
4.2.3提交信息制类14
4.2.4数据库类14
4.2.5支付接口类15
4.3类图及类之间的关联15
4.4数据库设计15
4.4.1AdminTable15
4.4.2UserTable16
4.4.3ShoppingCartTable16
4.4.4CategoriesTable16
4.4.5ManufacturersTable16
4.4.6OrdersTable17
4.4.7OrdersDetailTable17
4.4.8OrdersProductsDownloadTable17
4.4.9ProductsTable17
4.4.10ProductsinCategoriesTable18
4.4.11数据库结构及各表间的关系18
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
VARCHA