网上购物系统架构设计(UML)_第1页
网上购物系统架构设计(UML)_第2页
网上购物系统架构设计(UML)_第3页
网上购物系统架构设计(UML)_第4页
网上购物系统架构设计(UML)_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

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

5、s,制定计算机配置,Build Computer 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

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

8、Computer,图1-5 类(在线购物),Customer (from Use Case 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,配置的计算机类,C

9、ustomer (from Use Case View ),客户类 (从用例角度),Order,定单类,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_

11、descr:String,getConfItem(out item_rec),图1-12 用交互关系来给类增加操作(在线购物),边界类 配置窗口类,配置细节类,计算机类,25,第15步(在线购物)交互建模: 简化序列图,图1-13 活动图Order Configured Computer 的序列图,:Customer,: OrderWindow,openNew,打开新配置窗口,getConf,获取配置,图1-13 活动图Order Configured Computer 的序列图(在线购物),aComp: Computer,:计算机类,:定单窗口类,: Order,:定单类,acceptCon

12、f,接受配置,prepareForOrder,准备定单,displayOrder,显示定单,submitOrder,提交定单,storeOrder,存储定单,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,R

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

15、-order_status:String -salesperson_name:String,Configuration_id:Integer,Computer,Computer_name:String,Getconf(),0.*,1,图1-15 被限定的关联,31,第19步(在线购物):协作图,图1-16 Display Current Configuration 的协作图,获取配置,获取配置细节,32,第20步(在线购物):用例包,图1-17 用例包(在线购物),显示标准计算机配置,产品,购买,请求供货方合同,订购预先配置的计算机,付款,验证并接受客户付款,打印发票,33,第21步(在线购物

16、):类包,34,构件与部署的设计,构件是系统的物理部分,依赖实现平台. 构件是有清晰边界的功能单元. 构件必须被仔细的设计和实现. 支持Web应用的部署结构包括四层计算结点: 带浏览器的客户端; Web服务器; 应用服务器; 数据库服务器. Web服务器处理来自浏览器的页面请求,并为客户端上的 执行和显示动态产生的页面和代码. Web服务器还与用户一起解决活动阶段的客户化和参数化. 若在实现时引入了分布式对象,使用应用服务器管理业务逻 辑.业务构件将它们的接口通过如CORBA、DCOM和EJB等的 构件接口向其他结点发布.,35,业务构件封装了存储在数据库中的永久对象,它们与数据库 服务器通过

17、数据库互连协议进行通信如JDBC,ODBC. 典型技术: ODBC(开发数据库互连) JDBC(Java数据库互连) RBO(远程数据对象) ADO(ActiveX数据对象) DBLib(数据标准库) Web服务器技术: 脚本化HTML(超文本Markup语言) 页面ASP(活动服务器页面) JSP(Java服务器页面) Web页面技术: 客户机脚本(JavaScript或VBScript) XML(eXtensible Markup语言)文档 Java应用程序、JavaBean或者ActiveX控件. 客户使用HTTP(超文本传输协议)来从Web服务器获得Web页面, 该页面可以被脚本化或包

18、含己编译的可执行的DLL(动态链接库)模块 如:ISAPI(因特网服务器应用程序设计界面)、NSAPI(Netscape服 务器应用程序设计界面) 、 CGI(公共网关界面)或Java小服务程序.,36,第22步(在线购物):构件图,图1-19 构件包(在线购物),37,第23步(在线购物):部署图,38,详细设计,包、构件、结点属于体系结构的设计 详细设计集中在协作上。协作定义用例的实现或 复杂操作的实现 协作设计导致类图的细化或产生;顺序图、状态图 的细化,39,第24步(在线购物):用例规格说明,用例规格说明:Order Configured Computer 1.UC15 Order

19、Configured Computer 1.1简述 客户填写并提交购买定单表。系统验证细节并确认或拒绝这个定单. 2.事件流 2.1.基本流 2.1.1.UC15.1 系统在客户的Web浏览器上显示Order Entry表格,这个表格 包含如下项目 UC15.1.1 表的标题为Order Your Computer。 UC15.1.2 解释信息显示在标题下方 这段解释信息的正文如下: “请填写表格中的项目。要求的项目为红颜色并且是黑体。按Submit 键提交该表,或者如果你决定不继续你的预定时,按Cancel键。你能够在 提交预定的24小时之内取消你的预定,不用交罚金。你可以用Web、emai

20、l、fax或电话取消提交的预定。” UC15.1.3运送地址项 UC所要求的运送地址项为:名字、国家、城市、街区、邮政方向. UC后选的运送地址项为:郊区、州、邮政编码。,40,第24步(在线购物):用例规格说明,UC15.1.4不同于运送地址提供的其他联系细节。 UC 偏好的联系方式:电子邮件、电话、传真、普通邮件、 快递邮件。 UC 所要求的联系细节为下列项目之一:电子邮件、电话、传真。 UC 候选的联系细节为:上述三种所要求的联系细节中的任何两种, 邮件地址(如果与运送项目中提供的不一样的话)。 UC15.1

21、.5 账单地址,如果与运送项目中提供的不一样的话。 UC15.1.6 付款方法。 UC客户可以选择用支票或者信用卡付款。 UC对支票付款,系统提供支票的付款对象信息和应该寄往的地址信息。它还要通知客户一旦收到支票将在三天内从账户中取钱。 UC 对信用卡付款,系统显示要由客户填写的项。这些项是可接受的信用卡类型列表、信用卡号、信用卡的过期日期。 UC15.1.7销售代表的名字,如果客户在前面已经知道的话 UC15.1.8 两个行为键:Submit和Cancel。 2.1.2.UC15.2 系统将光标放在第一个可编辑的域(Name域)上,通过这种方式

22、提示客户输入定单信息。 UC15.3 系统允许按任何次序输入信息。,41,第24步(在线购物):用例规格说明,UC15.4 如果客户不在15分钟之内提交或者取消这个表,替换动作“客户未激活”就开始执行 2.1.3.UC15.5如果客户点击Submit按钮,并且所要求的信息都已经提供,则该定单就提交给Web服务器。该Web服务器通知数据库服务器在数据库中保存该定单。 UC15.6 数据库为这次订购赋予唯一的一个编号和一个客户账号。 UC15.7 如果数据库服务器不能创建和存储这个定单,则替换动作“数据库异常”就开始执行。 UC15.8 如果客户提交了信息不完全的定单,则替换动作“不完全信息”就开

23、始执行。 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分钟内没有被激活,则系统中断与浏览器的连接。用例终止。,42,第24步(在线购物):用例规格说明,2.2.2数据库异常 UC15.7.1 如果数据库出现异常,系统要进行解释并通知客户错误的性质。如果客户的连接已经中断,

24、系统将错误信息email给客户和销售人员。用例终止。如果客户用Internet和email不能联系,销售人员需要用其他方式联系客户。 2.2.3.不完全信息 UC15.8.1 如果客户没有填写所要求的项目,系统请求客户提供这些漏掉的信息并显示漏掉项目的列表。用例继续。 2.2.4.取消 UC15.11.1 如果客户点击Cancel键,该表格的域消失,用例继续。 3. 前置条件 3.1. 客户将因特网浏览器指向该系统的Web页面,该页面显示所配置的计算机的细节以及它的价格。客户点击Purchase键。 3.2. 客户要在请求建立后的计算机配置并在浏览器页面上显示出来之后的15分钟之内点击Purc

25、hase键。 4.后置条件 4.1.如果客户的预定提交成功,该购买定单记录在系统数据库中。否则,系统的状态不变。,43,第25步(在线购物):协作的结构,refresh() newOrderClientPage() incompleteSubmit(),newOrderServerPage() readClient() writeOrder(),client pageb_ConfigurationClientPage,buttonPurchase,beginTransaction() commitTransaction() rollbackTransaction(),newOrder() deleteOrder(),e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论