UML建模网上购物.docx

上传人:b****1 文档编号:11158148 上传时间:2023-05-29 格式:DOCX 页数:35 大小:322.62KB
下载 相关 举报
UML建模网上购物.docx_第1页
第1页 / 共35页
UML建模网上购物.docx_第2页
第2页 / 共35页
UML建模网上购物.docx_第3页
第3页 / 共35页
UML建模网上购物.docx_第4页
第4页 / 共35页
UML建模网上购物.docx_第5页
第5页 / 共35页
UML建模网上购物.docx_第6页
第6页 / 共35页
UML建模网上购物.docx_第7页
第7页 / 共35页
UML建模网上购物.docx_第8页
第8页 / 共35页
UML建模网上购物.docx_第9页
第9页 / 共35页
UML建模网上购物.docx_第10页
第10页 / 共35页
UML建模网上购物.docx_第11页
第11页 / 共35页
UML建模网上购物.docx_第12页
第12页 / 共35页
UML建模网上购物.docx_第13页
第13页 / 共35页
UML建模网上购物.docx_第14页
第14页 / 共35页
UML建模网上购物.docx_第15页
第15页 / 共35页
UML建模网上购物.docx_第16页
第16页 / 共35页
UML建模网上购物.docx_第17页
第17页 / 共35页
UML建模网上购物.docx_第18页
第18页 / 共35页
UML建模网上购物.docx_第19页
第19页 / 共35页
UML建模网上购物.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

UML建模网上购物.docx

《UML建模网上购物.docx》由会员分享,可在线阅读,更多相关《UML建模网上购物.docx(35页珍藏版)》请在冰点文库上搜索。

UML建模网上购物.docx

UML建模网上购物

2010——2011学年第一学期

信息技术学院

《软件系统建模与UM》综合设计实验

网上购物系统的UML建模

班级学号姓名任课教师

日期2010年12月30日

第1章系统需求2

第2章需求分析3

2.1识别参与者3

2.2识别用例3

2.3用例的事件流描述4

第3章静态结构模型10

3.1定义系统对象10

3.2定义用户界面类10

3.3建立类图11

第4章动态行为模型17

4.1创建系统顺序图(协作图)18

4.2创建系统的状态图22

4.3创建系统的活动图23

第5章物理模型27

5.1创建系统组件图27

5.2创建系统部署图28

第1章系统需求

一个客户通过因特网购买所需要的商品,客户可以在商品列表的Web页面上选择订购商品。

要发出定单,客户必须填上运送和付款信息,可接收的付款方式为信用卡、支票或者其他付款方式,一旦定单被输入,系统向客户发送一个确认e-mail消息,并附上定单的细节,在等待计算机送到的时候,客户可以在任何时候在线查到定单的状态。

后端定单处理包含下面所需的步骤:

验证客户的信任度和付款方式、向仓库请求所订购的商品、打印发票并且请求仓库将商品运送给客户

1.客户使用商品列表的Web页面来查看所需要的商品,商品价格也同时显示出来。

2.客户可以通过留言板向我们提出需要什么样的商品,需要什

么样的服务,对我们提出一些意见和建议。

3.客户可以选择在线订购商品,或者也可以要求销售人员在定单真正发出之前与自己联系,解释定单的细节、协商价格等。

4.要发出定单,客户必须填写在线表格关于运送和发票地址以及付款细节(信用卡、支票或者其他付款方式)。

5.在客户定单输入到系统之后,销售人员发送电子请求给仓库,附上所订购的商品的细节。

6.事务的细节,包括定单号和客户账号,要e-mail给客户,使得客户可以在线查看定单的状态。

7.仓库从销售人员那里获得发票,并给客户运送商品。

第2章需求分析

采用用例驱动的分析方法分析需求的主要任务是识别出系统中的参与者和用例,并建立用例模型。

在本系统中,……

2.1识别参与者

户售库客销仓««_M123

-Customer^

Salespersons

Warehouse*

图1参与者(网上购物)

2.2识别用例

系统总用例图

Salesperson

InformWareHouseaboutOrder

(from送货)

SelfConfiguration

(from自选部件);•

fL・

Standardconfiguration

(from标准产品)

Order

(from购买)

<>

VerifyandAcceptPayment

(from付款)

Customer

UpdateOrderStatus

(from送货)

PrintInvoice

(from付款)

RequestSalespersonContact

(from购买)

Warehouse

2.3用例的事件流描述

Standardconfiguration

该用例允许用户查询选择标准配置计算机,包括价格及部件清单。

Customer

Customer点击一个因特网浏览器进入计算机制造厂商的选购标准配置计算机的Web页面,该页面显示标准配置计算机的价格以及部件清单。

用例开始。

主流:

用户查询标准计算机配置,将选中的计算机标准配置加入

购物车,用户可随时增减购物车内商品,web页面动态对累

积价格进行更新

其他流:

后置条件:

如果用例成功,将购物车内已配置计算机型号及数量存入临时数据库。

SelConfiguration

该用例允许用户自定义计算机配置,包括部件清单及总计价格。

Customer

Customer点击一个因特网浏览器进入计算机制造厂商的自定义配置计算机及部件的Web页面,该页面显示计算机部件清单及价格。

用例开始。

主流:

用户查询选择计算机部件,将选中的计算机标准配置加入购物车,用户可随时增减购物车内商品,web页面动态对累

积价格进行更新。

其他流:

后置条件:

如果用例成功,将购物车内已配置计算机部件及数量存入临时数据库。

VerifyandAcceptPayment

该用例验证并接受客户付款,并将付款信息通知销售人员

Customer,Salesperson

Customer收到定单确认信息后,通过信用卡或支票完成转帐。

用例开始。

检查用户帐号及付款金额,若金额无误,将付款成功信息通知销售人员。

若金额不足,向用户发送通知。

如果用例成功,将付款成功信息通知销售人员,并将客户

 

主流:

订购信息及交付金额存入数据库

RequestSalespersonContact

该用例允许Customer请求Salesman在定单真正发出之前与自己联系,解释定单的细节、协商价格等。

Customer,Salesman

Customer需要对定单页面显示已配置计算机及其价格的详细情况咨询。

Customer在填写完定单后选择Contact(或相似命名的)功能来发送消息给Salesman要求咨询,此时该用例开始。

Salesman在专门的服务窗口接收到Customer请求联系的列表并选择到该客户的请求。

Salesman^得到Customer在定单上的联系方式信息。

Salesman按照提供的信息选择方式联系Customer,对定单细节解释,并协商价格。

如果用例成功,Salesman#按协商后的配置及价格信息修改原定单,将新的定单信息存入数据库中。

Order

该用例允许Customer输入一份购物定单,该定单包括提供运送和发票地址,以及关于付款的情况。

Customer

Customer点击一个因特网浏览器进入计算机制造厂商的定单输入Web页面,该页面显示已配置计算机及其价格的详细情况。

当Customer在定单信息已经显示在屏幕上时选择Continue(或相似命名的)功能键来确定订购所配置的计算机时,该用例开始。

主流:

系统请求Customer输入购头细节,包括销售人员的名子(如果知道的话)、运送信息(客户的名字和地址)、发票细节(如果与运送地址不同的话)、付款方法(信用卡或支票)以及任何其他注释。

Customer选择Purchase(或相似命名的)功能来发送定单给制造厂商。

系统给购买定单赋予一个唯一的定单号码和一个客户账号,系统将定单信息存入数据库。

系统将疋单号和客户号与所有疋单细节一起e-mail给

Customer,作为对接收定单的确认。

其他流:

Customer在提供所有要求录入的信息之前,激活Purchase

(或相似命名的)功能,系统显示错误信息,它要求提供所漏掉的信息。

Customer选择Reset(或相似命名的)功能来恢复一个空白的购物表格,系统允许Customer重新输入信息。

后置条件:

如果用例成功,购物定单记录进系统的数据库,否则系统的状态不变。

UpdateOrderStatus

该用例用于描述定单状态(定单交付状态,定单确认状态,付款状态)。

Customer,Salesperson

Customer交付定单,查询定单状态,Salesperson修改定单状态,该用例开始。

Customer填写定单订购商品成功,进入定单交付状态。

Salesman检查定单,发送e-mail给客户,进入定单确认状^态。

Customer付款成功,进入已付款状态。

其他流:

后置条件:

用例:

简述:

参与者:

前提条件:

主流:

其他流:

后置条件:

用例:

简述:

参与者:

前提条件:

主流:

若定单不符合要求,则向用户发送定购失败信息。

若销售人员检查定单有误,则向用户发送定购失败信息。

若用户付款金额不对,则向用户发送付款失败信息。

如果用例成功,则将定单所处状态存入数据库。

PrintInvoice

客户从销售人员处得到发票

CustomerSalesman

验证和接收客户付款成功。

Salesman选择Invoice(或相似命名的)功能键来生成发票,此时该用例开始。

Salesman利用系统从数据库中提取订购信息和收到的付款信息生成发票。

系统将该发票提供给Salesman

Salesman发Email给Customer,并付上发票。

如果用例成功,客户将收到发票。

InformWarehouseaboutOrder

在客户定单输入到系统之后,销售人员发送电子请求给仓库,附上所订购的配置的细节。

SalesmanWarehouse

验证和接收客户付款成功。

Salesman选择系统提供的订购清单中该客户的订购信息,并点击Refer(或相似命名的)功能键来将订购信息提交给Warehouse时,该用例开始。

Salesman利用系统从数据库中提取该Customer的订单信息和个人资料,生成一份订购信息列表。

系统将该列表提供给Warehouse

Warehouse根据提供的信息配置计算机商品。

其他流:

后置条件:

如果用例成功,Warehouse发货给客户,修改定单状态为已送货。

第3章静态结构模型

进一步分析系统需求,发现类以及类之间的关系,确定它们的静态结构和动态行为,是面向对象⑺分析的基本任务。

系统的静态结构模型主要用类图和对象图描述。

3.1定义系统对象

系统对象的识别可以通过寻找系统域⑹描述和需求描述中的名词来进行。

3.2定义用户界面类

 

通过对系统的不断分析和细化,性。

可识别出下述界面类、类的操作和属

 

 

StandardConfiguration

(fom标准产品)

SelfConfiguration

(fom自选部件)

RequestSalespersonContact

(from购买)

 

Order

(Irom购买)

UpdateOrderStatus

(Irom送货)

VerifyandAcceptPayment

(from付款)

 

 

PrintInvoice

(Irom付款)

InformWareHouseaboutOrder

(from送货)

3.3建立类图

识别出了系统中的类后,还要识别出类间的关系,然后就可以建立类图了。

从需求中找出候选实体类:

求需求候选实体类

1客户使用制造厂商的Web页面来查看所选Customer,择的服务器、台式机或笔记本的标准配置,StandardComputer价钱也同时显示出来。

2客户选择查看配置的细节,也许带有买它的Customer,意愿或建立一个更合适的配置。

每种配置的Component价格在客户要求的情况下可以计算出来。

MerchandiseList

3客户可以选择在线订购计算机,或者也可以Customer,

要求销售人员在定单真正发出之前与自己Computer,

联系,解释定单的细节、协商价格等。

Order,

Salesperson

4要发出定单,客户必须填写在线表格关于运Customer,

送和发票地址以及付款细节(信用卡或支Order,

票)。

Invoice,

Payment

5在客户定单输入到系统之后,销售人员发送Customer,

电子请求给仓库,附上所订购的配置的细Order,

节。

Salesperson,

ConfiguredComputer,MerchandiseList

6把事务的细节,(包括定单号和客户账号)Order,e-mail给客户,使得客户可以在线查看定单Customer,

的状态。

OrderStatus

7仓库从销售人员那里获得发票,并给客户运Invoice,

送计算机。

WareHouse

表1需求到实体类的赋值(网上购物)

Coiiponent

(from实体类包)

'^>item_type:

String

'^ileirLdescr:

String

^GetCon^oneiitInfo()

Component类:

计算机自选部件类

属性:

item_type自选部件型号

item_descr自选部件描述

方法:

GetComponentlnfo()

SelfConfigurationWindow类调用此方法从Component类中得到计算机自选

部件的详细信息。

Customer

(from实体类包)

1i^custoiner^nai]Qe:

Stiing■S^customei^addicss:

String■J^phoiienumber:

Siring"S<>ernail_address:

String

^EnnailCustoniei'O

%inkCustoiiieiO^Sendlnvoice()^PayMoneyO^ContactingCustomerO

Customer类:

客户类属性:

customername

客户名字

customeraddress客户地址

phone_number

客户电话号码

email_address方法:

EmailCustomer()息通知给客户

客户电子邮件

InputOrderWindow调用此方法将定单成功存入数据库信

LinkCustomer()

Salesma调用此方法联系客户

ContactingCustomer()调用此方法Customer完成与Salesman的接触活动。

PayMoney()调用此方法Customer完成付款活动

Sendlnvoice()使用PrintInvoice()生成的发票发送给Customer。

Invoice

(from实体类包}

'^invoice:

String

'^invoice_date:

Date

'S(>invoice_total:

Currency

*Print()

Invoice类:

发票类

属性:

invoice_number发票号

invoice_date发票打印日期

invoice_total已付款金额

方法:

Print()调用OrderServerWindow类的Printinvoice()产生的发票打印出来。

MerchandiseList

(iom实体类包)

^TotalCost

•AddMerehandisef)^DeleteMerchandiseQ^ConputerFotalCost()^ModiiyMerehndiseList0

MerchandiseList:

商品列表类

属性:

TotalCost商品总价格

方法:

AddMerchandise()将AddToCar()方法中加入购物车的商品增加到商品列表。

DeleteMerchandise()删除列表中某商品

ComputerTotalCost()调用此方法计算商品列表中商品的总价

ModifyMerchndiseLise()修改商品列表的方法,有修改商品数量,删除商品

等方法

Order

(torn实体类包)

borderdate:

Daterder_number:

String

必order_status:

String^ordertotal:

Currency^>saksperson_name:

Siringaddress:

String■^>order_paynKnt:

Paymciit

•denerateCuslomerAndOrderlDO^GetOrderO

^NewOrdetf)^ModifyOrder()^SetOrdciStatusO^GetOrderStatusO

Order类:

定单类

属性:

order_date定单日期

order_number定单号

order_status定单状态

order_total定单总价

salesperson_name售货人员姓名

ship_address发送地址

order_payment付款方式

方法:

CenerateCustomerAndOrderlD()产生客户帐号和定单流水号

GetOrder()取得当前定单信息

NewOrder()生成新定单对象

ModifyOrder()修改/删除当前定单,该方法由SelfConfigurationWindow或

者由用户使用StandardComputerWindow类调用。

SetOrderStatus()设置定单状态,由

OrderServerWindow类的ModifyOrderStatus方法调用

GetOrderStatus()取得定单状态,它调用DateBase中的LoadOrder()方法

数据库类

DataBase

(km数据库类包)

^LoadOrderf)

^StoreOrder()

^GetNeedContactOideiListO^GetPaidOrderList0^(jetConpleteOrderList()

DataBase类:

数据库类

方法:

LoadOrder()从数据库提取定单,被Order类中的方法调用

StoreOrder()将定单存入数据库中,被Order类中的方法调用

GetNeedContactOrderList()从数据库提取需沟通的客户定单列表。

GetPaidOrderList()从数据库中提取已付款的定单列表,被Payment类调用

GetCompleteOrderList()从数据库中提取已发送的定单列表,被Invoice调

边界类

«Abstract»MainWindow(irom边界包)

^CreateWindow()

^CloseWindow()

MainWindow类:

功能:

应用程序中的所有窗口类均由此类派生出来

方法:

CreateWindow()创建窗口。

CloseWindow()关闭窗口

控制类

«CEent»QueiyStatusWindow(irom控制类包)

^GetCustmerID()^GetOrderlDf)^QueiyStatus0^DisplayStatus0

QueryStatusWindow类:

功能:

创建并显示用户查询窗口。

方法:

GetCustmerlD()取得用户输入帐号

GetOrderlD()取得定单流水号。

QueryStatus()客户点查询按钮触发它调用Order类中的GetOrderStatus()方法取得定单状态。

DisplayStatus()显示定单状态。

Payment

(fom控制类包)

'i0paynientmethod:

String'S(>date_received:

DateAmount,received:

Currency

•linkPaymen〔0

^SetPaymentStatusO^(ictPaymentStatus()^VerifyCustomerlDO^AccepiPayment()

Payment类:

付款类

属性:

payment_method付款方式

date_received接收日期amount_received接收金额方法:

linkPayment()付款初始化

SetPaymentStatus()设置付款修改Order类OrderPament属性。

GetPaymentStatus()取得付款状态,从Order类的OrderPayment属性取值VerifyCustomerID()验证客户帐号,被Customer类的Paymoney方法使用AcceptPayment()接受客户付款,方法将修改Order类的OrderPayment对

第4章动态行为模型

系统的动态行为模型由交互作用图(时序图和协作图)、状态图、活动

图描述

4.1创建系统顺序图(协作图)

描述系统用例的主要场景的顺序图(协作图)如下所示

4.1.1StandardConfiguration的协作图

:

StandardComputer

—評

:

StandardComputerWindow

1:

CreateWindow()2:

AddToCar()7:

GotoShoppingList()

3:

GetStandardComputerlnfo()

:

Customer

6:

DisplayTotalCost()

10:

ModifyCar()

14:

GotoInputOrderWindow()

8:

CreateWindow()

[4AddMerchandise()

9:

DisplayShoppingList()

5:

ComputerTotalCost()

12:

ComputerTotalCost()

―>

:

ShoppingListWindow

:

MerchandiseList

——

11:

ModifyMerchndiseList()

13:

DisplayShoppingList()

<1//

 

4.1.2PrintInvoice的协作图

1:

CreateWindow()

3:

Printlnvoice()

2:

GetCompleteOrderList()

:

Salesperson

4:

Print()

5:

Sendlnvoice()

 

:

Invoice

:

Customer

4.1.3InformWareHouseAboutOrder的协作图

1:

CreateWindow()

2:

SendToWarehouse()

4.1.4Order的协作图

—>

4—

:

InputOrderWindow

■-

:

Order

:

Customer

5:

StoreOrder()

6:

EmailCustomer()

4:

SetPaymentStatus()

:

Customer

:

DataBase

4.1.5VerifyAndAcceptPayment的协作图

4:

SetPaymentStatus()

——>

:

Payment

3:

AcceptPayment()

5:

LinkCustomer()

6:

LoadOrder()

:

DataBase

7:

SetOrderStatus()

:

Customer

2:

VerifyCustomerlD

8:

StoreOrder

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2