网上购物系统架构设计(UML).ppt

上传人:小飞机 文档编号:5300680 上传时间:2023-06-23 格式:PPT 页数:44 大小:323KB
返回 下载 相关 举报
网上购物系统架构设计(UML).ppt_第1页
第1页 / 共44页
网上购物系统架构设计(UML).ppt_第2页
第2页 / 共44页
网上购物系统架构设计(UML).ppt_第3页
第3页 / 共44页
网上购物系统架构设计(UML).ppt_第4页
第4页 / 共44页
网上购物系统架构设计(UML).ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《网上购物系统架构设计(UML).ppt》由会员分享,可在线阅读,更多相关《网上购物系统架构设计(UML).ppt(44页珍藏版)》请在三一办公上搜索。

1、1,Object Oriented,软件工程研究室,2,处理实例在线购物:客户定单,一个计算机制造厂商提供了通过因特网购买计算机的可能性,客户可以在制造商的Web页面上选择一台计算机,计算机分为服务器、台式机和笔记本。客户可以选择标准配置,或者可以在线建立自己希望的配置。可配置的构件(如内存)显示在一个可供选择的列表中。对每个新的配置,系统可以计算价格。要发出定单,客户必须填上运送和付款信息,可接收的付款方式为信用卡和支票,一旦定单被输入,系统向客户发送一个确认e-mail消息,并附上定单的细节,在等待计算机送到的时候,客户可以在任何时候在线查到定单的状态。后端定单处理包含下面所需的步骤:验证

2、客户的信任度和付款方式、向仓库请求所订购的配置、打印发票并且请求仓库将计算机运送给客户。,3,用例建模,参与者:与用例交互的任何人或任何事情.要 得到有用的结果用例:功能的具体化为用例(功能需求可以直 接映射到用例)表示一个完整的给用户 传值的功能性单元.用例图:将用例赋给参与者.是系统行为模型的主要可视化技术.图形元素:用例、参与者.为用例编写文档:用事件流来描述.,4,第步(在线购物)用例建模:寻找系统中参与者,考虑如下扩展的需求来发现在线购物应用中的 参与者。1.客户使用制造厂商的Web页面来查看所选择 的服务器、台式机或笔记本的标准配置,价 钱也同时显示出来。2.客户选择查看配置的细节

3、,也许带有买它的 意愿或建立一个更合适的配置。每种配置的 价格在客户要求的情况下可以计算出来。3.客户可以选择在线订购计算机,或者也可以 要求销售人员在定单真正发出之前与自己联 系,解释定单的细节、协商价格等。,5,4.要发出定单,客户必须填写在线表格关于运 送和发票地址以及付款细节(信用卡或支票)。5.在客户定单输入到系统之后,销售人员发送电 子请求给仓库,附上所订购的配置的细节。6.事务的细节,包括定单号和客户账号,要e-mail 给客户,使得客户可以在线查看定单的状态。7.仓库从销售人员那里获得发票,并给客户运送 计算机。,6,第步(在线购物)用例建模:寻找参与者,基于以上分析创建以下参

4、与者:1.客户-Customer2.销售人员-Salesperson3.仓库-Warehouse,图1-1 参与者(在线购物),Customer,Salesperson,Warehouse,7,表1-1 寻找用例(在线购物),第步(在线购物)用例建模:寻找用例,8,第步(在线购物)用例建模:寻找用例,图1-2 用例(在线购物),9,第步(在线购物)用例建模:画用例图,extend,Customer,显示标准计算机配置,Display Standard Computer Configuration,更新定单状态,Update Order Status,制定计算机配置,Build Computer

5、 Configuration,订购预先配置的计算机,Order Configured Computer,请求销售人员联系,Request Salesperson Contact,将定单通知仓库,Inform Warehouse about Order,Warehouse 仓库,Salesperson 销售人员,图-3 用例图(在线购物),10,第步(在线购物)用例建模:编写用例文档,表1-2 用例“订购配置的计算机”(在线购物)的陈述性规格说明,11,活动建模,用图来表示用例的事件流(为用例建模,活动状态可根据 用例文档来建立).活动图填补了系统行为在用例模型中的高级表示和行为 在交互模型(序

6、列图和协作图)中的低级表示之间的空白.活动图显示了计算的步骤.执行步骤称为活动状态.(活动状态要花费时间来完成,行为被看作快到.活动只能 在对象状态中定义,活动应从系统的角度,而不是从参与 者的观点命名;行为可出现在对象状态的转换中).从一个活动状态到另一个活动状态的控制流称为转换.活动图也可用于在一个高的抽象层次上理解业务进程;在一个低的抽象层次上设计复杂的序列算法;在多线程应用中设计并发算法.,12,第步(在线购物)活动建模:找出活动,为用例Order Configured Computer(定购配置计算机)找出活动,表1-3 在主要的和附加的流中找出活动,13,第6步(在线购物)活动建模

7、:活动图,14,类建模,类建模元素包含:类自身、类的属性、操作、关联、聚合、组合、泛化,类图提供这些建模元素的组合 可视化表示.类建模和用例建模可并行进行.用例辅助类的发现,类模型可以发现被忽略的用例.实体类:定义业务对象;边界类:定义GUI对象;控制类:控制程序逻辑的类.类的结构由它的属性定义;对象协作的路径由关联 表示,即关联用于指向所关联类的属性类型.,15,第7步(在线购物)类建模:找出实体类,表1-4 需求到实体类的赋值(在线购物),16,第7步(在线购物)实体类,ConfigurationItem,Computer,图1-5 类(在线购物),Customer(from Use Ca

8、se View),客户类(从用例角度),配置的计算机类,定单类,付款类,发票类,配置细节类,计算机类,17,第8步(在线购物)类建模:原始类型的属性,18,第9步(在线购物)类建模:增加关联,19,第10步(在线购物)类建模:增加聚合,客户类(从用例角度),配置的计算机类,付款类,发票类,1,1,1,0.*,1.*,0.*,1,0.1,1.*,1.*,图1-8 聚合(在线购物),20,第11步(在线购物)类建模:增加泛化,图1-9 泛化(在线购物),ConfiguredComputer,配置的计算机类,Customer(from Use Case View),客户类(从用例角度),Order,

9、定单类,Payment,付款类,Invoice,发票类,ConfigurationItem,配置细节类,Computer,1.1,1.1,1.1,0.*,0.*,1.1,0.1,1.*,1.*,标准计算机类,21,第12步(在线购物)类建模:类的属性,配置的计算机类,标准计算机类,配置细节类,发票类,22,交互建模,交互建模是需求分析的高级阶级.提供了用例的详细规 格说明,用来捕获执行一个用例的对象之间的交互.交互建模是将事件赋予了对象,显示了协作对象之间的 事件(消息)的次序.交互模型有:(交互是某个行为的一组消息及在对象间的交互)序列 图强调时间序列,是二维图(水平维表示对象,垂直维表示消

10、息的次序)需求分析中使用 消息在序列图中出现,规定了在类图中需要一个关联.协作图强调对象关系.系统设计中使用交互和操作:检测交互导致操作的发现.交互模型中的消息和实现类中的方法之间 是一对一的映射.,23,第13步(在线购物)交互建模:序列图,24,第14步(在线购物)交互建模:显示用操作扩展的类,constructor openNew()displayComputer(item_reset),ConfigurationItem,-item_type:String-item_descr:String,getConfItem(out item_rec),图1-12 用交互关系来给类增加操作(在线

11、购物),边界类 配置窗口类,配置细节类,计算机类,25,第15步(在线购物)交互建模:简化序列图,图1-13 活动图Order Configured Computer 的序列图,:Customer,:OrderWindow,openNew,打开新配置窗口,getConf,获取配置,图1-13 活动图Order Configured Computer 的序列图(在线购物),aComp:Computer,:计算机类,:定单窗口类,:Order,:定单类,acceptConf,接受配置,prepareForOrder,准备定单,displayOrder,显示定单,submitOrder,提交定单,s

12、toreOrder,存储定单,linkComputer,链接计算机对象,emailOrder,linkCustomer,linkPayment,26,(在线购物)交互建模:简化序列图,27,状态图建模,状态模型给出了类的详细描述,类的状态的动态变化.这 些动态变化典型地描绘了对象跨越几个用例时的行为.对象的状态由对象属性的当前值表示(原始属性及指向 其他类的属性).状态模型捕获了类可以具有的状态即捕获了类生命期的 历史.对象在其生命期间是不变的,它的标识决不变化,但 对象的状态可能发生变化.状态图是状态和由事件引起的变迁(箭头)现成的二分图.对每个对象状态,它决定这个对象在接收到一个事件时将

13、采取什么行为,行为的执行将引起状态的变化.变迁的完整描述:event(parameters)guard/action,28,第16步(在线购物)状态图建模,Fully Paid,Partly Paid,图1-13 类Invoice的状态和事件,Partial payment,final payment,final payment,未付款状态,部分付款状态,完全付款状态,29,第17步(在线购物)状态图建模:给类Order画状态图,Cancel,Ready to Ship,Filled,Future Order,New Order,Back Order,stock not available,s

14、tock availableship date in future,cancellation,pending,将来的定单,过去的定单,没有库存,有库存将来运送日期,取消预定,准备运送,有库存现在的运送日期/配置计算机,定单信息存入数据库,30,第18步(在线购物):限定关联,Order,-order_number:String-order_date:Date-ship_address:String-order_total:Currency-order_status:String-salesperson_name:String,Configuration_id:Integer,Computer,

15、Computer_name:String,Getconf(),0.*,1,图1-15 被限定的关联,31,第19步(在线购物):协作图,图1-16 Display Current Configuration 的协作图,获取配置,获取配置细节,32,第20步(在线购物):用例包,图1-17 用例包(在线购物),显示标准计算机配置,产品,购买,请求供货方合同,订购预先配置的计算机,付款,验证并接受客户付款,打印发票,33,第21步(在线购物):类包,34,构件与部署的设计,构件是系统的物理部分,依赖实现平台.构件是有清晰边界的功能单元.构件必须被仔细的设计和实现.支持Web应用的部署结构包括四层计

16、算结点:带浏览器的客户端;Web服务器;应用服务器;数据库服务器.Web服务器处理来自浏览器的页面请求,并为客户端上的 执行和显示动态产生的页面和代码.Web服务器还与用户一起解决活动阶段的客户化和参数化.若在实现时引入了分布式对象,使用应用服务器管理业务逻 辑.业务构件将它们的接口通过如CORBA、DCOM和EJB等的 构件接口向其他结点发布.,35,业务构件封装了存储在数据库中的永久对象,它们与数据库 服务器通过数据库互连协议进行通信如JDBC,ODBC.典型技术:ODBC(开发数据库互连)JDBC(Java数据库互连)RBO(远程数据对象)ADO(ActiveX数据对象)DBLib(数据

17、标准库)Web服务器技术:脚本化HTML(超文本Markup语言)页面ASP(活动服务器页面)JSP(Java服务器页面)Web页面技术:客户机脚本(JavaScript或VBScript)XML(eXtensible Markup语言)文档 Java应用程序、JavaBean或者ActiveX控件.客户使用HTTP(超文本传输协议)来从Web服务器获得Web页面,该页面可以被脚本化或包含己编译的可执行的DLL(动态链接库)模块 如:ISAPI(因特网服务器应用程序设计界面)、NSAPI(Netscape服 务器应用程序设计界面)、CGI(公共网关界面)或Java小服务程序.,36,第22步(

18、在线购物):构件图,图1-19 构件包(在线购物),37,第23步(在线购物):部署图,38,详细设计,包、构件、结点属于体系结构的设计详细设计集中在协作上。协作定义用例的实现或 复杂操作的实现协作设计导致类图的细化或产生;顺序图、状态图 的细化,39,第24步(在线购物):用例规格说明,用例规格说明:Order Configured Computer1.UC15 Order Configured Computer1.1简述 客户填写并提交购买定单表。系统验证细节并确认或拒绝这个定单.2.事件流2.1.基本流2.1.1.UC15.1 系统在客户的Web浏览器上显示Order Entry表格,这

19、个表格 包含如下项目 UC15.1.1 表的标题为Order Your Computer。UC15.1.2 解释信息显示在标题下方 这段解释信息的正文如下:“请填写表格中的项目。要求的项目为红颜色并且是黑体。按Submit 键提交该表,或者如果你决定不继续你的预定时,按Cancel键。你能够在 提交预定的24小时之内取消你的预定,不用交罚金。你可以用Web、email、fax或电话取消提交的预定。”运送地址项 所要求的运送地址项为:名字、国家、城市、街区、邮政方向.后选的运送地址项为:郊区、州、邮政编码。,40,第24步(在线购物):用例规格说明,不同于运送地址提供的其他联系细节。UC15.1

20、.4.1 偏好的联系方式:电子邮件、电话、传真、普通邮件、快递邮件。UC15.1.4.2 所要求的联系细节为下列项目之一:电子邮件、电话、传真。UC15.1.4.3 候选的联系细节为:上述三种所要求的联系细节中的任何两种,邮件地址(如果与运送项目中提供的不一样的话)。UC15.1.5 账单地址,如果与运送项目中提供的不一样的话。UC15.1.6 付款方法。客户可以选择用支票或者信用卡付款。对支票付款,系统提供支票的付款对象信息和应该寄往的地址信息。它还要通知客户一旦收到支票将在三天内从账户中取钱。UC15.1.6.3 对信用卡付款,系统显示要由客户填写的项。这些项是可接受的信用卡类型列表、信用

21、卡号、信用卡的过期日期。销售代表的名字,如果客户在前面已经知道的话UC15.1.8 两个行为键:Submit和Cancel。2.1.2.UC15.2 系统将光标放在第一个可编辑的域(Name域)上,通过这种方式提示客户输入定单信息。UC15.3 系统允许按任何次序输入信息。,41,第24步(在线购物):用例规格说明,UC15.4 如果客户不在15分钟之内提交或者取消这个表,替换动作“客户未激活”就开始执行2.1.3.UC15.5如果客户点击Submit按钮,并且所要求的信息都已经提供,则该定单就提交给Web服务器。该Web服务器通知数据库服务器在数据库中保存该定单。UC15.6 数据库为这次订

22、购赋予唯一的一个编号和一个客户账号。UC15.7 如果数据库服务器不能创建和存储这个定单,则替换动作“数据库异常”就开始执行。UC15.8 如果客户提交了信息不完全的定单,则替换动作“不完全信息”就开始执行。2.1.4.UC15.9 如果客户提供email地址作为通信方式,系统将定单和客户编号以及所有的定单细节email给客户,作为对接收定单的确认。用例终止。UC15.10 否则定单信息将寄给客户,该用例也终止。2.1.5.UC15.11如果客户点击Cancel键,则替换流Cancel就开始执行。2.2替换流2.2.1.客户未激活 UC15.4.1 如果客户在15分钟内没有被激活,则系统中断与

23、浏览器的连接。用例终止。,42,第24步(在线购物):用例规格说明,2.2.2数据库异常UC15.7.1 如果数据库出现异常,系统要进行解释并通知客户错误的性质。如果客户的连接已经中断,系统将错误信息email给客户和销售人员。用例终止。如果客户用Internet和email不能联系,销售人员需要用其他方式联系客户。2.2.3.不完全信息UC15.8.1 如果客户没有填写所要求的项目,系统请求客户提供这些漏掉的信息并显示漏掉项目的列表。用例继续。2.2.4.取消UC15.11.1 如果客户点击Cancel键,该表格的域消失,用例继续。3.前置条件3.1.客户将因特网浏览器指向该系统的Web页面

24、,该页面显示所配置的计算机的细节以及它的价格。客户点击Purchase键。3.2.客户要在请求建立后的计算机配置并在浏览器页面上显示出来之后的15分钟之内点击Purchase键。4.后置条件4.1.如果客户的预定提交成功,该购买定单记录在系统数据库中。否则,系统的状态不变。,43,第25步(在线购物):协作的结构,refresh()newOrderClientPage()incompleteSubmit(),newOrderServerPage()readClient()writeOrder(),client pageb_ConfigurationClientPage,buttonPurcha

25、se,beginTransaction()commitTransaction()rollbackTransaction(),newOrder()deleteOrder(),entity e_Payment,newPayment(),entity e_Configuration,newCustomer()updateCustomer()emailCustomer(),onPurchase,On Submit,order,configuration,order,customer,payment,图1-21 用例Order Configured Computer的结构协作(在线购物),formb_O

26、rderClientForm,title explanation shipment contactinvoicepayment salesperson cancel submit,44,第26步(在线购物):用例的行为协作,:c OrderServerPage,:b OrderClientForm,:b OrderClientPage,:b ConfigurationClientPage,:dTransaction,:eOrder,:ePayment,:eConfiguration,:eCustomer,on Cancelrefresh取消,on SubmitincompleteOrder 提

27、交不完整订单,getConfOID(out ConfOID),on PurchasenewOrderClientPage,over 15 minrollbackTransaction剩余最小值15,消减业务,CommitTransaction提交业务,beginTransaction开始业务,deleteOrder,newCustomer,emailCustomer,newPayment,Link(in ConfOID),newOrder(in ConfOID),on SubmitnewOrder提交新订单,图1-22 用例Order Configured Computer的行为协作图(在线购物)),

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号