信息技术学院
《软件系统建模与UML》综合设计实验
网上购物系统的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 识别参与者
2.2 识别用例
系统总用例图
SelfConfiguration(from 自选部件)Order (from 购买)< 2.3 用例的事件流描述 用 例: 简 述: 参 与 者: StandardConfiguration 该用例允许用户查询选择标准配置计算机,包括价格及部件清单。 Customer 选购标准配置计算机的Web页面,该页面显示标准配置计算机的价格以及部件清单。用例开始。 主 流: 用户查询标准计算机配置,将选中的计算机标准配置加入 购物车,用户可随时增减购物车内商品,web页面动态对累 前提条件: Customer点击一个因特网浏览器进入计算机制造厂商的 积价格进行更新。 其 他 流: 无 后置条件: 用 例: 简 述: 参 与 者: 前提条件: 主 流: 其 他 流: 后置条件: 用 例: 简 述: 参 与 者: 前提条件: 主 流: 其 他 流: 后置条件: 如果用例成功,将购物车内已配置计算机型号及数量存入临时数据库。 SelConfiguration 该用例允许用户自定义计算机配置,包括部件清单及总计价格。 Customer Customer点击一个因特网浏览器进入计算机制造厂商的自 定义配置计算机及部件的Web页面,该页面显示计算机部件清单及价格。用例开始。 用户查询选择计算机部件,将选中的计算机标准配置加入 购物车,用户可随时增减购物车内商品,web页面动态对累积价格进行更新。 无 如果用例成功,将购物车内已配置计算机部件及数量存入临时数据库。 Verify and Accept Payment 该用例验证并接受客户付款,并将付款信息通知销售人员。 Customer, Salesperson Customer收到定单确认信息后,通过信用卡或支票完成转 帐。用例开始。 检查用户帐号及付款金额,若金额无误,将付款成功信息 通知销售人员。 若金额不足,向用户发送通知。 如果用例成功,将付款成功信息通知销售人员,并将客户 订购信息及交付金额存入数据库。 用 例: 简 述: 参 与 者: 前提条件: 主 流: 其 他 流: 后置条件: 用 例: 简 述: 参 与 者: 前提条件: Request Salesperson Contact 该用例允许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 重新输入信息。 如果用例成功,购物定单记录进系统的数据库,否则系统的状态不变。 Update Order Status 该用例用于描述定单状态(定单交付状态,定单确认状态,付款状态)。 Customer, Salesperson Customer交付定单,查询定单状态,Salesperson修改定单 状态,该用例开始。 Customer填写定单订购商品成功,进入定单交付状态。 Salesman检查定单,发送e-mail给客户,进入定单确认状态。 Customer付款成功,进入已付款状态。 其 他 流: 若定单不符合要求,则向用户发送定购失败信息。 若销售人员检查定单有误,则向用户发送定购失败信息。 若用户付款金额不对,则向用户发送付款失败信息。 后置条件: 用 例: 简 述: 参 与 者: 前提条件: 主 流: 其 他 流: 后置条件: 用 例: 简 述: 参 与 者: 前提条件: 主 流: 如果用例成功,则将定单所处状态存入数据库。 Print Invoice 客户从销售人员处得到 Customer Salesman 验证和接收客户付款成功。 Salesman选择 Invoice(或相似命名的)功能键来生成,此时该用例开始。 Salesman利用系统从数据库中提取订购信息和收到的付款 信息生成。 系统将该提供给Salesman。 Salesman发Email给Customer ,并付上。 无 如果用例成功,客户将收到。 Inform Warehouse about Order 在客户定单输入到系统之后,销售人员发送电子请求给仓库,附上所订购的配置的细节。 Salesman Warehouse 验证和接收客户付款成功。 Salesman选择系统提供的订购清单中该客户的订购信息,并点击Refer(或相似命名的)功能键来将订购信息提交给Warehouse时,该用例开始。 Salesman利用系统从数据库中提取该Customer的订单信 息和个人资料,生成一份订购信息列表。 系统将该列表提供给Warehouse。 Warehouse根据提供的信息配置计算机商品。 其 他 流: 无 后置条件: 如果用例成功,Warehouse发货给客户 ,修改定单状态为已送货。 第3章 静态结构模型 进一步分析系统需求,发现类以及类之间的关系,确定它们的静态结构和动态行为,是面向对象[7]分析的基本任务。系统的静态结构模型主要用类图和对象图描述。 3.1 定义系统对象 系统对象的识别可以通过寻找系统域[8]描述和需求描述中的名词来进行。 3.2 定义用户界面类 通过对系统的不断分析和细化,可识别出下述界面类、类的操作和属性。 StandardConfiguration(from 标准产品)SelfConfiguration(from 自选部件)Request Salesperson Contact(from 购买)Order (from 购买)Update Order Status(from 送货)Verify and Accept Payment(from 付款)Print Invoice(from 付款)Inform WareHouse about Order(from 送货) 3.3 建立类图 识别出了系统中的类后,还要识别出类间的关系,然后就可以建立类图了。 从需求中找出候选实体类: 需求号 1 客户使用制造厂商的Web页面来查看所选Customer, 择的服务器、台式机或笔记本的标准配置,Standard Computer 价钱也同时显示出来。 2 客户选择查看配置的细节,也许带有买它的Customer, 意愿或建立一个更合适的配置。每种配置的Component 价格在客户要求的情况下可以计算出来。 MerchandiseList 3 客户可以选择在线订购计算机,或者也可以Customer, 要求销售人员在定单真正发出之前与自己Computer, 联系,解释定单的细节、协商价格等。 Order, Salesperson 4 要发出定单,客户必须填写在线表格关于运Customer, 送和地址以及付款细节(信用卡或支Order, 票)。 Invoice, Payment 5 在客户定单输入到系统之后,销售人员发送Customer, 电子请求给仓库,附上所订购的配置的细Order, 节。 Salesperson, Configured Computer, MerchandiseList 6 把事务的细节,(包括定单号和客户账号)Order, e-mail给客户,使得客户可以在线查看定单Customer, 需求 候选实体类 的状态。 Order Status 7 仓库从销售人员那里获得,并给客户运Invoice, 送计算机。 表1 需求到实体类的赋值(网上购物) Ware House Component类:计算机自选部件类 属性: item_type item_descr 自选部件型号 自选部件描述 方法: GetComponentInfo() SelfConfigurationWindow类调用此方法从Component类中得到计算机自选 部件的详细信息。 Customer类:客户类 属性:customer_name 客户名字 customer_address 客户地址 phone_number 客户电话号码 email_address 客户电子邮件 方法:EmailCustomer() InputOrderWindow调用此方法将定单成功存入数据库信息通知给客户 LinkCustomer() Salesma调用此方法联系客户 ContactingCustomer()调用此方法Customer完成与Salesman的接触活动。 PayMoney() 调用此方法Customer完成付款活动 SendInvoice() 使用PrintInvoice()生成的发送给Customer。 Invoice类:类 属性:invoice_number invoice_date invoice_total 号 打印日期 已付款金额 方法:Print() 调用OrderServerWindow类的PrintInvoice()产生的打印出来。 MerchandiseList:商品列表类 属性:TotalCost 商品总价格 方法:AddMerchandise() 将AddToCar()方法中加入购物车的商品增加到商品列表。 DeleteMerchandise()删除列表中某商品 ComputerTotalCost() 调用此方法计算商品列表中商品的总价 ModifyMerchndiseLise() 修改商品列表的方法,有修改商品数量,删除商品等方法 Order类:定单类 属性:order_date order_number order_status order_total 定单日期 定单号 定单状态 定单总价 salesperson_name 售货人员姓名 s hip_address order_payment 发送地址 付款方式 方法:CenerateCustomerAndOrderID() 产生客户帐号和定单流水号 GetOrder() 取得当前定单信息 NewOrder() 生成新定单对象 ModifyOrder() 修改/删除当前定单,该方法由SelfConfigurationWindow或者由用户使用StandardComputerWindow类调用。 SetOrderStatus() 设置定单状态,由 OrderServerWindow类的ModifyOrderStatus方法调用 GetOrderStatus() 取得定单状态,它调用DateBase中的LoadOrder()方法 数据库类 DataBase类:数据库类 方法:LoadOrder()从数据库提取定单,被Order类中的方法调用 StoreOrder()将定单存入数据库中,被Order类中的方法调用 GetNeedContactOrderList()从数据库提取需沟通的客户定单列表。 GetPaidOrderList()从数据库中提取已付款的定单列表,被Payment类调用GetCompleteOrderList()从数据库中提取已发送的定单列表,被Invoice调用 边界类 MainWindow类: 功能:应用程序中的所有窗口类均由此类派生出来 方法: CreateWindow() 创建窗口。 CloseWindow() 关闭窗口 控制类 QueryStatusWindow类: 功能:创建并显示用户查询窗口。 方法:GetCustmerID()取得用户输入帐号 GetOrderID()取得定单流水号。 QueryStatus()客户点查询按钮触发它调用Order类中的GetOrderStatus()方法 取得定单状态。 DisplayStatus()显示定单状态。 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.1 StandardConfiguration的协作图 : StandardComputer1: CreateWindow( )2: AddToCar( )7: GotoShoppingList( )3: GetStandardComputerInfo( ) : StandardComputerWindow : Customer6: DisplayTotalCost( )4: AddMerchandise( )10: ModifyCar( )14: GotoInputOrderWindow( )8: CreateWindow( )9: DisplayShoppingList( )5: ComputerTotalCost( )12: ComputerTotalCost( )11: ModifyMerchndiseList( ) : ShoppingListWindow13: DisplayShoppingList( ) : MerchandiseList 4.1.2 PrintInvoice的协作图 1: CreateWindow( )3: PrintInvoice( ) : OrderServerWindow5: SendInvoice( )2: GetCompleteOrderList( ) : DataBase : Salesperson4: Print( ) : Invoice : Customer 4.1.3 InformWareHouseAboutOrder的协作图 1: CreateWindow( )2: SendToWarehouse( ) : OrderServerWindow : Salesperson5: SendToCustomer( )3: GetPaidOrderList( ) : DataBase7: StoreOrder( )4: MakeUpComputerOrComponent( ) : WareHouse6: SetOrderStatus( ) : Order 4.1.4 Order的协作图 1: CreateWindow( )3: VertifyInputInfomation( ) : InputOrderWindow2: NewOrder( ) : Order : Customer6: EmailCustomer( )5: StoreOrder( )4: SetPaymentStatus( ) : DataBase : Customer : Payment 4.1.5 VerifyAndAcceptPayment的协作图 4: SetPaymentStatus( ) : Payment6: LoadOrder( )3: AcceptPayment( ) : DataBase7: SetOrderStatus( )8: StoreOrder( )5: LinkCustomer( ) : Customer2: VerifyCustomerID1: PayMoney( ) : Order : Customer 4.1.6 RequestSalesperson的协作图 1: CreateWindow( ) : OrderServerWindow4: ContactingCustomer( ) : Salesperson2: GetNeedContactOrderList( )3: LinkCustomer( ) : Customer5: ModifyOrder( )6: StoreOrder( ) : Order : DataBase 4.1.7 UpdateOrderStatus的协作图 : Order4: SetOrderStatus( )5: GetOrderStatus( ) : OrderServerWindow6: DisplayStatus( ) : QueryStatusWindow1: CreateWindow( )3: ModifyOrderStatus( )2: CreateWindow( ) : Salesperson : Customer 4.1.8 SelfConfiguration的协作图 : Component1: CreateWindow( )2: AddToCar()3: GetComponentInfo()7: GotoShoppingList( ) : SelfConfigurationWindow : Customer10: ModifyCar( )14: GotoInputOrderWindow( )9: DisplayShoppingList( )8: CreateWindow( )6: DisplayTotalCost( )4: AddMerchandise( )5: ComputerTotalCost( )12: ComputerTotalCost( )11: ModifyMerchndiseList( ) : ShoppingListWindow13: DisplayTotalCost( ) : MerchandiseList 4.2 创建系统的状态图 4.2.1 Payment的状态图 UnpaidPartialPaymentFinalPaymentPartly PaidFinalPaymentFully Paid 4.2.2 Ordert的状态图 PendingStockNotAvailableNew OrderStockAvailable[ [ShipDateInFuture] ]Future OrderBack OrderStockAvailable[ ShipDateInFuture ]StockAvailable[ ShipDataNow ] / MakeUpComputerOrComponent[ Canceled ]Cancelled[ Canceled ]Ready to ShipShip[ Accepted ]Filled 4.3 创建系统的活动图 Display Computer's componentReturnModifiy Shoping CarAdd to Shoping CarGoNextCompute and Show Total CostingOrder[ TotalCost>0 ] StandardConfiguration的活动图 Display Computer's componentModify Shopping CarAdd to Shopping CarComputer and Show Toal Cost[ TotalCost>0 ]OrderSelfConfiguration的活动图 Getting need Contact CustomerModified original orderContacting with customerGenerating final order Save to Database Request Salesperson Contact的活动图 Input and Verify InformationNext[ Verify=true ]Generate New OrderMail to CustomerStore Order To DatabaseOrder的活动图 CustomerPaymentPay MoneyChecking Customer ID And Order IDAuditing MoneySending error Information[ OK ]Modify Payment and Order StatusUpdate DatabaseVerify and Accept Payment的活动图 第5章 物理模型 5.1 创建系统组件图 ProductListProductDisplayConfigurationPurchaseOrderTracking 图5.1 网上购物系统组件图 创建系统部署图 Customer BrowserRequest Page图5.2 网上购物系统部署图 Web ServerRequest to DataBaseDataBase Server5.2 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务