计算机 06-2 班
面向对象分析与设计实验
一、实验题目:在线购物客户订单处理
二、原始需求描述:
一个计算机制造厂商提供了提供互联网购买计算机的可能性,客户可以
在制造厂商的Web页面上选择一台计算机,计算机分为服务器、台式机和
笔记本。客户可以选择标准配置,或者在线建立自己希望的配置。可配置的
构件(如内存)显示在一个可供选择的表中。对每个新的配置,系统可以计
算价格。
要发出订单,客户必须填上运送和付款信息,可接受的付款方式为信用
卡和支票。一旦订单被输入,系统向客户发送一个消息,并附上订单的细节。
在等待计算机送到的这段时间,客户可以在任何时候在线查到订单的状态。
后端订单处理包含下面所需的步骤:验证客户的信任度和付款方式、向仓库
请求订购的配置、打印发票并且请求仓库把计算机运送给客户。
三、实验要求:
1用例建模(含用例描述和用例图);
2类建模(含继承和关联等);
3交互建模(顺序图);
4活动建模(活动图);
5状态建模(状态图)。
四、实验内容:
(一)、用例建模:
1、系统主要参与者
客户(Customer)
销售人员(Saler)
仓库系统(Warehouse)
银行系统(Bank)
2、总用例图:
登陆系统
查询定单
修改定单
<>
选择标准产品
自选配置产品
客户
发送定单信息
<>
打印发票
<>
下定单
销售员
<>
<>
处理定单
<>
验证客户信息
准备配置
库房系统
发货
银行系统
3、主要用例描述:
3.1 UC01 选择标准产品(StandCmuputer)
用例名称:选择标准产品
简要说明:客户从 web 页面上选择标准配置的产品(StandCmuputer),
添加到购物车(Warelist)
基本事件流:
1、 客户浏览到自己感觉合适愿意购买的标准配置产品后点击“添加
到购物车”按钮;
2、 系统将用户选择的产品添加到购物车(Warelist),发出添加成功的
提示并给出“完成订单按钮”。
扩展事件流:
1a. 如果客户选择的产品已经售完,则提示客户该产品已经售完。
前置条件:客户已经打开系统页面
后置条件:完成标准产品的添加工作
3.2 UC02 选择自选配置产品
用例名称:选择自选配置产品(ChooseCofigure)
第 2页
2
简要说明:客户选择自选配置产品(ChooseCofigure),添加到购物车
基本事件流:
1、 客户浏览到自己感觉合适愿意购买的配置产品后点击“添加到购
物车”按钮;
2、 系统将用户选择的产品添加到购物车(Warelist),发出添加成功的
提示并计算出所选配置的总价格。
3、 系统给出“完成订单”按钮
扩展事件流:
1a、客户所选择的配置产品已经售完,则提示客户已经售完,并给出
功能相似的同类型产品给客户选择;
1a1.客户选择取消,则结束用例
1b. 客户选择系统给出的相似产品,转到 2
前置条件:客户已经打开系统页面
后置条件:完成客户自选配置产品的添加工作并计算出所选配置的总价
格。
3.3 UC03 下订单
用例名称:下订单(Order)
简要说明:客户选择好自己想要购买的产品后完成订单操作
基本事件流:
1、 客户完成购买操作后点击“完成订单”按钮发出订单请求;
2、 系统转向订单完成页面,给出客户运送和付款信息填写选项;
3、 客户填写运送信息,并选择付款信息进行付款操作;
4、 客户点击提交“完成”按钮提交订单;
5、 系统接到订单后想客户邮箱发送一条信息,并附上订单的相信信
息。
扩展事件流:
4a、客户没有填写完整运送信息或者付款信息,提示其填写完整,转
向 3
前置条件:客户的购物车(Warelist)内不为空。
后置条件:完成订单,并将订单转入后台处理。
3.4 UC04 查看订单状态
用例名称:查看订单
简要说明:客户可以查看自己的订单状态,并在发货之前进行订单的
修改操作;
基本事件流:
1、客户点击查看“我的订单“按钮;
第 3页
3
2、系统从数据库中提出属于当前客户的订单;
3、客户点击其中一个订单;
4、系统列出当前订单的相信情况;
扩展事件流:
2a、如果系统没有当前客户的订单数据,则给出提示;
3a、如果有订单是处于还没有发货状态的,则给出修改订单按钮;
3a1、客户点击修改订单按钮;
3a2、系统列出当前订单的货物列表,给出修改操作接口;
3a3、客户进行修改操作;
3a4、客户修改完成后点击“完成”按钮;
3a5、系统更新客户订单。
前置条件:客户已经登陆系统
后置条件:完成订单的查看或者更新操作
3.4 UC04 处理订单
用例名称:处理订单
简要说明:系统接收到客户提交的订单后进行订单处理,完成收款验
证、发货、打印发票等操作。
基本事件流:
1、 销售人员接客户的新订单后首先进行客户的信任度和付款信息
进行验证;
2、 连接到银行系统进行客户的可信度和付款信息进行验证;
3、 验证通过后向仓库请求配置;
4、 仓库准备相应配置;
5、 接到仓库的配置完成信息后,进行打印发票操作;
6、 将发票给与仓库并请求仓库发货;
7、 仓库根据送货信息把货物和发票送到客户手中。
扩展事件流:
2a、客户的可信度达不到系统要求或者付款信息有误,则结束本次用
例并返回相应信息给客户;
前置条件:客户提交或者更新订单
后置条件:客户收到货物
(二)、类建模
1、系统实体类列表:
1)、客户:Customer
属性:
ID:客户的 ID
第 4页
4
Name:客户名称
Address:客户地址
Password:客户登陆密码
Email:客户的 email 地址,接收系统
信息
操作:
Update():更新个人信息
2)、标准配置:StandCumputer
属性:
Name:配置名称
Type:配置类型
Price:配置的价格
3)、可选配置:ChoosedConfigure
属性:
Name:名称
Type:类型
Price:价格
4)、购物车:WareList
属性:
totalPrice:购物车内商品总价格
操作:
AddWare( ):添加商品
DeleteWare( ):删除商品
sumPrice():计算总价
modifyWare():修改购物车
5)、订单:Order
属性:
Number:订单号
Date:订单日期
Statuse:状态
Price:总价
Paytype:付款类型
Address:送货地址
Saler:销售员
操作:
第 5页
5
getStatues():得到订单状态
setStatues():设置订单状态
modify():更新订单
6)、销售员 Saler
属性:
ID:销售员 ID
Name:销售员名称
操作:
Get--():得到相关属性
Set--():设置相关属性
7)、发票 Invoice
属性:
Date:发票日期
Price:发票价格
Number:发票编号
操作:
Print():打印发票
8)、仓库 wareHouse
属性:
Name:仓库名称
Address:仓库地址
操作:
Get--():得到相关属性
Set—():设置相关属性
9)、内存 Memory
10)、主板 Mainboard
11)、笔记本 BookPC
12)、台式机 DeskPC
13)、服务器 Services
第 6页
6
2、系统实体类关联:
第 7页
7
(三)、交互建模(顺序图):
1、选择标准配置的顺序图
: Customer
: StandardComputerWindow
: StandardComputer
: MerchandiseList
: ShoppingListWindow
1: CreateWindow( )
2: AddToCar( )
3: GetStandardComputerInfo( )
4: AddMerchandise( )
6: DisplayTotalCost( )
5: ComputerTotalCost( )
7: GotoShoppingList( )
8: CreateWindow( )
10: ModifyCar( )
9: DisplayShoppingList( )
11: ModifyMerchndiseList( )
12: ComputerTotalCost( )
14: GotoInputOrderWindow( )
13: DisplayShoppingList( )
第 8页
8