火龙果软件UML分析与设计文档实例Word格式.docx
《火龙果软件UML分析与设计文档实例Word格式.docx》由会员分享,可在线阅读,更多相关《火龙果软件UML分析与设计文档实例Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
4.3类图及类之间的关联14
4.4数据库设计15
4.4.1AdminTable15
4.4.2UserTable15
4.4.3ShoppingCartTable16
4.4.4CategoriesTable16
4.4.5ManufacturersTable16
4.4.6OrdersTable16
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)以游客身份显示购物列表
2)以注册用户身份显示购物列表
用户或游客未完成挑选物品:
1)返回提示未进行购物
2)选择返回购物网页
2.4.4用例规约UserManagement
表2.4-4.用例规约UserManagement
管理员
以管理员身份登陆,并按下管理按钮。
返回管理后台首页
1)显示已注册用户列表
2)在列表中选择一个要操作的用户
3)选择一种操作
4)显示操作页面
5)完成操作,并保存操作中更改的信息
选择以显示的方式进行操作
1)显示用户的注册信息
选择以修改的方式进行操作
1)显示用户的可修改的信息
2)对信息进行修改
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、进行修改
3、显示修改的项目信息,对修改进行确认
选择以添加、删除的方式进行操作
1、添加商品,并确认
2、删除商品,并确认
1、显示搜索页面
2、填写需要搜索的关键字
3、选择搜索方式(按商品名称,按修改日期,等)
4、显示搜索后的内容
2.4.6用例规约OrderManagement
表2.4-6.用例规约OrderManagement
用户或管理员
用户或管理员已经登陆
1、检查以何种身份登陆
2、进入所属权限的订单管理页面
3、对订单进行管理操作
4、保存管理操作的结果
5、返回订单管理页面
用户对已完成购买的订单进行历史记录查看
1、显示已完成购买的订单
用户对未完成购买的订单进行记录查看
1、显示未完成购买的订单
用户对未完成购买的订单进行记录删除
1、删除未完成购买的订单
2、对删除进行确认
管理员对已经销售的订单进行历史记录查看
1、显示已完成销售的订单
辅助流程5(替代流程)
管理员对未完成销售的订单进行操作记录查看
1、显示未完成销售的订单
2、进入管理员人工销售操作页面
辅助流程6(替代流程)
管理员对未完成销售的订单进行人工销售操作
1、人工完成未完成销售的订单,订单确认
2、订单转到已经销售部分
2.5补充文档
支付接口的选择
由于支付宝接口在10月20日起对所有支付宝接口实施包年套餐的租借方式,严重影响项目的开发和调试,所以系统再Payment处增加一个对应中国贝宝(PAYPAL)的支付接口,使用户可以自由选择付款接口,对应的用例规约如下表2.5-1:
表2.5-1.补充用例规约:
1、用户按下结算按钮
2、系统显示购物列表及总价
3、用户选择支付接口(PAYPAL中国或支付宝)
用户选择PAYPAL:
1、系统把定单提交到PAYPAL.COM.CN接口。
用户选择支付宝:
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用户类
update_profile();
AddtoCart()。
UI;
CartDetail。
4.2.3提交信息制类
count_totalprice();
user_management();
order_management();
products_management();
download()。
SubmitInfo;
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
auto_increment
PRIMARYKEY
admin_email_address
VARCHAR
96
Loginnameforadminloginpage.
admin_password
40
permission
tinyint
1
NULL
1foradmin
admin_logdate
datetime
Lastlogindate&
time.
4.4.2UserTable
customers
customers_id
customers_email_address
LoginnameforUI
customers_telephone
32
customers_password
customers_logdate
4.4.3ShoppingCartTable
customers_basket
customers_basket_id
products_id
customers_basket_quantity
3
productsquantity
final_price
decimal
10,2
0.00
customers_basket_date_added
8
4.4.4CategoriesTable
categories
categories_id
categories_name
categories_image
64
商品分类图片
parent_id
上级商品目录ID
sort_order
4.4.5ManufacturersTable
manufacturers
manufacturers_id
manufacturers_name
manufacturers_url
255
manufacturers_image
4.4.6OrdersTable
orders
orders_id
payment_method
last_modified
date_purchased
orders_status
5
orders_date_finished
4.4.7OrdersDetailTable
orders_products
orders_products_id
products_quantity
4.4.8OrdersProductsDownloadTable
orders_products_download
orders_products_download_id
orders_products_filename
URLfordownloadproducts
download_maxdays
2
download_count
4.4.9ProductsTable
products
products_name
products_description
TEXT
4
库存数量
products_image_small
产品小图片
products_image_large