资源描述
试验一 基于UML网上购物系统分析和设计
一、试验目标
1.熟悉UML各图基础功效和使用方法。
2.掌握怎样使用建模工具绘制UML各图方法。
3.学习面向对象系统分析和设计方法。
二、试验器材
1.PC一台。
2.Rational Rose 工具软件。
三、试验内容
利用Ration Rose统一建模工具,以华龙百货销售网上购物系统为试验案例,进行基于UML系统分析和设计,完成需求获取、系统分析、系统设计各阶段基础任务。
四、试验步骤
1.分析网上购物系统需求,绘制用例图,建立用例模型。识别用例之间关系。
用例图图:
网上购物用例图
用户服务用例图
订单管理用例图
用户管理用例图
商品管理用例图
2.分析关键用例用例描述(包含主事件流、可选事件流和例外事件流)。
答:搜索商品
用例名:搜索商品(Search for Items)
简明说明:这个用例描述用户依据关键词搜索商品过程。
前置条件:用户已进人Main Page页面。
事件流:(无)。
基础事件流:
(1)用户输人关键词,点击“搜索”按钮;
(2)系统依据所输人关键词,查询数据库;
(3)系统显示查询结果。
替换事件流:数据库中无符合关键词商品(缺货或没有该商品)。
(1)在基础事件流第2步,系统查询数据库时,查到数据库商品无符合关键
词商品,用例开始;
(2)系统显示“查无符合关键词商品!”信息;
(3)用例结束。
后置条件:(无)。
把商品加人购物车
用例名:把商品加人购物车(Add Items to Shopping Cart)
简明说明:这个用例描述把物品加人购物车过程。
前置条件:用户已登录,并进人ItemUI页面。
事件流:(无)。
基础事件流:
(1)用户点击所选商品旁“加进购物车”按钮,用例开始;
(2)系统依据所选商品PID查询数据库,看是否有所选商品;
(3)系统依据用户C1D查询数据库,获取用户信息;
(4)系统把所选商品信息及用户信息加人用户购物车中;
(5)系统更新显示购物车信息;
(6)用例结束。
替换事件流一:所查商品不符合要求(缺货或没有该商品)。
(1)在基础事件流第2步,系统查询数据库时,查到数据库里该商品已不存在,或数量为0,用例开始;
(2)系统显示“商品已无,加人购物车失败”信息;
(3)用例结束。
替换事件流二:用户没有购物车。
(1)在基础事件流第3步,系统查出用户没有购物车,用例开始;
(2)系统提醒用户创建一个新购物车;
(3)用例结束。
后置条件:(无)。
查着购物车
用例名:查看购物车(View the Shopping Cart) o
简明说明:这个用例描述用户查看购物车信息过程。
前置条件:用户已登录而且拥有一个购物车。
事件流:(无)。
基础事件流:
(1)用户点击“查看购物车”按钮,用例开始;
(2)系统依据目前用户CID查询相关购物车;
(3)系统显示该购物车信息;
(4)用例结束。
替换事件流:用户购物车已不存在。
(1)系统依据用户名查不到相关购物车(可能是未访问时间太长,系统已取消该购物车);
(2)系统显示“购物车不存在”信息;
(3)用例结束。
后置条件:(无)。
从购物车删除某商品
用例名:从购物车删除某商品(Delete ltcms in Shopping Cart)
简明说明:这个用例描述用户删除购物车中某商品过程。
前置条件:用户已登录,而且已在购物车界面。
事件流:(无)。
基础事件流:
(1)用户点击’‘从购物车删除某商品”按钮,用例开始;
(2)系统显示“是否删除该商品?”警告;
(3)用户选择确定;
(4)系统依据购物车IID和用户CID访问数据库;
(5)删除购物一车中该商品;
(6)系统更新购物车显示界面;
(7)用例结束
替换事件流:用户取消删除。
(1)在基础事件流第3步中,用户取消,用例开始;
(2)系统返回购物车界面;
(3)用例结束。
后置条件:(无)。
修改购物车
用例名:修改购物车(Update the Shopping Cart) o
简明说明:这个用例描述用户更新购物车中商品数量过程。
前置条件:用户已登录,而且已在购物车界面。
事件流:(无)。
基础事件流:
(1)用户修改购物车中商品数量(能够不修改),点击“修改商品信息”按钮,用例开始;
(2)系统依据购物车IID和用户CID访问数据库;
(3)系统将新购物车信息保留到购物车数据库(数量为0则删掉商品信息);
(4)系统依据数据库中购物车信息更新购物车界面;
(5)用例结束。
替换事件流:库存商品数量不足。
(1)系统检验到用户欲购商品数量大于库存中商品数量,用例开始;
(2)系统显示该商品数量不足信息:
(3)用例结束
后置条件:(无)。
购置购物车中商品
用例名:购置购物车中商品(Purchase Items in Cart) o
简明说明:这个用例描述用户选择好所要商品后,确定购置过程。
前置条件:用户已登录,而且已在购物车界而。
事件流:(无)。
基础事件流:
(1)用户点击‘“结算”按钮,用例开始;
(2)系统依据登录用户CID查询用户数据库;
(3)系统依据用户信息显示送货信息;
(4)用户修改送货信息(能够不改),并选择提交;
(5)系统查询商品数据库.检验该商品库存是否满足购物数量;
(6)系统对于购物车中每种商品。在商品数据库商品信息中减去对应数量;
(7)用户经过支付系统进行结算;
(8)依据送货信息、创建一个新订单,订单号依据订单数据库数据由系统
自动生成;
(9)系统将该用户商品信息加人新建订单中;
(10)系统设置订单状态;
(11)系统把订单信自、保留到订单数据库;
(12)系统显示订单信息和“购物成功”信息;
(13)用例结束。
替换事件流:商品数量不足。
(1)在基础事件流第5步中.系统检验出商品数量不足,用例开始;
(2)系统显示数量不足信息并返回购物车界而,并提醒用户修改购物车中相关商品数量或删除该商品;
(3)用例结束。
后置条件;(无)。
3.绘制抽象类图,建立网上购物系统领域模型,给出关键业务概念术语表。
网上购物部分分析类图
4.进行系统分析,依据用例描述,绘制次序图,完成用例实现。在用例实现过程中,需考虑新增加责任怎样分配。
答:次序图以下:
搜索商品用例次序图
把商品加入购物车用例次序图
查看购物车用例次序图
修改购物车用例次序图
从购物车删除某商品用例次序图
购置购物车中商品用例次序图
5.依据次序图,绘制协作图。
答:对应协作图以下:
搜索商品用例协作图
把商品加入购物车用例协作图
查看购物车用例协作图
修改购物车用例协作图
从购物车删除某商品用例协作图
购置购物车中商品用例协作图
6.绘制网上购物过程活动图。
7.绘制订单对象状态图。
8.绘制分析类图,建立分析模型。
网上购物部分分析类图
9.绘制包图,完成系统总体结构设计。
10.分析系统设计模式,绘制设计类图。
11.进行系统数据库设计。
答:数据库设计以下表所表示:
用户(Customer()信息表
字段名称
字段类型
说明
备注
CID
Int
用户编号
Primary Key
LoginName
Varchar(20)
登录名称
Not Null
CustomerPassword
Varchar(20)
用户密码
Not Null
CustomerEmail
Varchar(40)
用户电子邮箱
Not Null
CustomerName
Varchar(20)
用户姓名
CustomerSex
Varchar(2)
用户性别
CustomerTel
Varchar(16)
用户电话
CustomerHandphone
Varchar(13)
用户手机
CustomerAddress
Varchar(100)
用户地址
CustomerZip
Varchar(10)
用户邮编
CustomerLevel
Int
用户等级
CustomerCreatDate
Datetime
建立日期
商品(Product)信息表
字段名称
字段类型
说明
备注
PID
Int
商品编号
Primary Key
CaID
Int
类别编号
Not Null
ProductName
Varchar(100)
商品名称
ProductContent
Varchar(5000)
商品内容
ProductDescription
Varchar()
商品介绍
Price
Decimal(9,2)
会员价格
MemberPrice
Decimal(9,2)
会员价格
ProductPicture
Varchar(200)
商品图片
Productstocks
Int
商品库存
RegisterDate
Datetime
商品上架日期
商品类别(ProductCategory)表
字段名称
字段类型
说明
备注
CaID
Int
类别编号
Primary Key
CategoryName
Varchar(100)
类别名称
订单(Order)表
字段名称
字段类型
说明
备注
OID
Int
订单编号
Primary Key
CID
Int
用户编号
Foreign key ,Not Null
OrderDate
Datetime
订单提交日期
Not Null
OrderRecName
Varchar
收货人姓名
OrderRecAddress
Varchar
收货人地址
OrderEmail
Varchar
收货人电子信箱
OrderTel
Varchar
收货人电话
OrderRecZip
Varchar
收货人邮编
OrderTotalAmount
Decimal(9,2)
商品总金额
OrderStatus
Int
订单状态
订单状态:1为核查,2为发货,3为等候货物,4为交付,5为取消,默认为1
订单项目(OrderLineItem)表
字段名称
字段类型
说明
备注
LID
Int
订单项编号
Primary Key
OID
Int
订单编号
Foreign key ,Not Null
IID
Int
购物项目编号
Foreign key ,Not Null
PID
Int
商品编号
Foreign key ,Not Null
Quantity
Int
订单项数量
Not Null
LineItemAmount
Decimal(9,2)
订单项金额
Not Null
购物车(cart)表
字段名称
字段类型
说明
备注
IID
Int
购物项目编号
Primary Key
CID
Int
用户编号
Foreign key ,Not Null
PID
Int
商品编号
Foreign key ,Not Null
Quantity
Int
购物项数量
Not Null
Price
Decimal(9,2)
价格
MemberPrice
Decimal(9,2)
会员价格
12.绘制系统布署图。
五、试验结果
最终类图:
六、试验小结
答:在试验中碰到关键问题是创建多种模型图时候,不知道怎样使用UML去创建模型,不知道创建菜单和创建工具在哪里,经过问询同学后和上网搜索以后知道了位置,才顺利进行了试验。
试验中做过程不是极难,试验还是比较简单。这次试验给了我很大启发和锻炼,很大程度上考验了我对基础知识掌握和具体动手画图能力,在做试验过程中我也发觉了自己很多基础知识并不牢靠,经过复习使我更深刻了解UML和数据结构具体知识,而且还使我提升了具体处理问题能力。
经过此次试验课学习,我基础学会使用了UML使用方法,学会使用UML绘制多种模型图,初步了解了软件工程基础思想和前期设计,应该说,这次试验收获还是巨大。
展开阅读全文