面向对象描述方法

35
面面面面面面面面 面面面面面面面面

Upload: montrell-seamus

Post on 01-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

面向对象描述方法. 面向对象的需求概述. 需求定义的基本目标:理解用户的需求、理解业务过程如何运行. 传统方法:实体 - 联系图( ERDs ). 系统信息存储需求. 面向对象:类图. 面向对象分析和面向对象设计之间界限并不明显,因为系统设计就是对分析阶段中用于定义需求的模型进行改进和扩展得到的. 传统方法和面向对象方法的需求模型. 事件、用例、 事件表. 事件、用例、 事件表. 事件. 实体 - 联系图. 类图. 关联图. DFD 片段. 用例图. 用例描述. 数据流定义. 处理描述. 系统顺序图. 活动图. 其它传统模型. 状态图. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 面向对象描述方法

面向对象描述方法面向对象描述方法

Page 2: 面向对象描述方法

面向对象的需求概述面向对象的需求概述 需求定义的基本目标:理解用户的需求、需求定义的基本目标:理解用户的需求、

理解业务过程如何运行理解业务过程如何运行

系统信息存储需求

传统方法:实体 - 联系图( ERDs )

面向对象:类图

面向对象分析和面向对象设计之间界限并不明显,因为系统设计就是对分析阶段中用于定义需求的模型进行改

进和扩展得到的

Page 3: 面向对象描述方法

传统方法和面向对象方法的需求模型传统方法和面向对象方法的需求模型事件、用例、

事件表

事件

事件、用例、事件表

实体 - 联系图 类图

关联图 DFD 片段

数据流定义 处理描述

其它传统模型

用例图 用例描述

系统顺序图 活动图

状态图

Page 4: 面向对象描述方法

三种视角的模型三种视角的模型对系统进行完整描述

类模型( class model ) :描述了系统内部对象及其关系的静态结构。

状态模型( state model ) :描述了对象随着时间发生变化的哪些方面。

交互模型( interaction model ):描述系统内部对象如何协作以完成更为宽泛的任务。

状态图( state diagram )

类图( class diagram )

用例( use case )顺序图( sequence diagram )活动图( activity diagram )

Page 5: 面向对象描述方法

UMLUML 步骤步骤

使用 UML 进行项目的分析和设计时,一般遵循的步骤是

第一步,描述需求 , 产生用例图

第二步,根据需求建立系统的静态模型,构造系统的结构 , 这个步骤产生:类图,对象图,组件图和部署图

第三步,描述系统的行为 , 产生状态图,活动图,顺序图

有经验的开发人员经常在确定类和用例之间不断切换

Page 6: 面向对象描述方法

描述系统用例模型描述系统用例模型

描述系统用例

用例图:心事不同的用户角色及这些用户角色如何使用系统。

顺序图:用例或场景中,用于显示外部参与者和系统之间的消息顺序。

活动图:一种工作流图,描述用户的活动及这些活动的顺序。

状态图:显示对象在各个阶段中的生命和转换情况。

p115

用例图、用例描述、活动图、系统顺序图,四种模型从不同角度进行描述

记录系统活动

记录用例的输入和输出

Page 7: 面向对象描述方法

系统活动系统活动 -- 用例用例 // 场景视图场景视图 视图(视图( view view ):表达系统某一方面特征的):表达系统某一方面特征的

UMLUML 建模元素的子集,并不是图,由一个建模元素的子集,并不是图,由一个或者多个图组成的对系统买个角度的抽象。或者多个图组成的对系统买个角度的抽象。

图(图( DiagramDiagram ):视图由图组成,):视图由图组成, UMLUML 提提供供 99 种基本的图,把这几种基本图组合起来种基本的图,把这几种基本图组合起来就可以描述系统的所有视图。就可以描述系统的所有视图。

视图大致分为 5 类:用例视图( Use-case view ),逻辑视图( Logical view ),并发视图( Concurrency vie

w ),组件视图( Component view ),配置视图(部署视图 Deployment view )

用例图、类图、对象图、状态图、时序图(顺序图)、协作图、活动图、组件图、配置图

每种视图有自己的用途,但以用例视图为核心,其他的视图都是以用例视图为驱动的,在用例视图的基础上进行开发。

Page 8: 面向对象描述方法

用例和参与者用例和参与者 用例:系统运行的活动,由系统响应用户用例:系统运行的活动,由系统响应用户

需求。交互部分称为用例。需求。交互部分称为用例。 参与者:系统外部的一个实体,以某种方参与者:系统外部的一个实体,以某种方

式参与用例的执行过程,参与者有三大类:式参与用例的执行过程,参与者有三大类:系统用户、与所建造的系统交互的其它系系统用户、与所建造的系统交互的其它系统和一些可运行的进程。统和一些可运行的进程。

与系统对接的银行卡支付时间到期,系统提醒

等,时间成为参与者。

Page 9: 面向对象描述方法

用例图的组成用例图的组成 66 元素元素 参与者(参与者( ActorActor )) 用例(用例( Use CaseUse Case )) 关联关系(关联关系( AssociationAssociation )) 包含关系(包含关系( Include Include ,, visiovisio 里面叫用)里面叫用) 扩展关系(扩展关系( ExtendExtend )) 泛化关系(泛化关系( GeneralizationGeneralization ))

描述多个参与者之间的公共行为,三角箭头,与类之间的泛化关系符号相同,客户(电话客

户、网上客户)

Page 10: 面向对象描述方法

Simple Use Case with an Simple Use Case with an Actor Actor (Figure 7-2)(Figure 7-2)

参与者,代表一个角色

连线:哪个参与者参与哪个用例

产生新

订单

Page 11: 面向对象描述方法

Use Case Diagram with Use Case Diagram with Automation Boundary Automation Boundary

and Alternate Actor and Alternate Actor Notation Notation (Figure 7-3)(Figure 7-3)

“参与者”仓库系统

更新订单

订单职员

产生新

订单

检查条目

可用性

客户

自动化边界

Page 12: 面向对象描述方法

All Use Cases Involving All Use Cases Involving Customer as ActorCustomer as Actor (Figure 7-4)(Figure 7-4)

Page 13: 面向对象描述方法

Use Cases of RMO Order Use Cases of RMO Order Entry SubsystemEntry Subsystem

(Partial Figure 7-5 with package (Partial Figure 7-5 with package symbol)symbol)

包:带标签的矩形,将相似的组件分组在一起

Page 14: 面向对象描述方法

包含关系包含关系 <<<< 使用使用 >>>>一个用例需要用到通用子程序所

提供的服务

产生新

订单

检查条目

可用性

验证用户

账号

更新

订单

客户 订单办事员

Page 15: 面向对象描述方法

用例图与事件表的比较用例图与事件表的比较 事件表通过标识业务事件及这些事件的外事件表通过标识业务事件及这些事件的外

部、初始化源的信息来注意业务过程。用部、初始化源的信息来注意业务过程。用例图强调自动系统,参与者与系统有联系,例图强调自动系统,参与者与系统有联系,并不一定是事件的发起者。并不一定是事件的发起者。

用例容易忽略临时时间和状态事件。(建用例容易忽略临时时间和状态事件。(建议:为临时事件和状态时间创建用例)议:为临时事件和状态时间创建用例)

P144

Page 16: 面向对象描述方法

开发用例图切入点开发用例图切入点 用事件表标识用例(前提:分析业务过程用事件表标识用例(前提:分析业务过程

中创建了事件表)中创建了事件表) 标识使用系统的参与者和它们执行的功能标识使用系统的参与者和它们执行的功能

Page 17: 面向对象描述方法

用例的详细描述用例的详细描述 简单描述简单描述 中间描述中间描述 详细描述详细描述 P219P219

Page 18: 面向对象描述方法

活动图描述活动图描述 记录业务过程的工作流记录业务过程的工作流 活动图:描述系统的活动顺序,体现一个活动图:描述系统的活动顺序,体现一个

活动到来一个活动的控制流,活动图的各活动到来一个活动的控制流,活动图的各个步骤都是操作。活动图在本质上属于流个步骤都是操作。活动图在本质上属于流程图,用于对系统的动态行为建模,专注程图,用于对系统的动态行为建模,专注于操作而不是对象。于操作而不是对象。

Page 19: 面向对象描述方法

活动图的组成元素活动图的组成元素 动作状态、活动状态、动作流、分支与合动作状态、活动状态、动作流、分支与合

并(两个或多个并发运行的控制流)、泳并(两个或多个并发运行的控制流)、泳道和对象流等。道和对象流等。

Page 20: 面向对象描述方法

①Enter into gymnasium :进入体育馆

②Look for place:寻找空场地

③Query Price:询问场地价格

④Quoted price:管理员报价

⑤Pay money: 交纳场地费

⑥Play Badminton :开始打球

Page 21: 面向对象描述方法

系统顺序图(系统顺序图( Sequence DigraSequence Digramm ))

描述对象之间传送消息的时间顺序,用来描述对象之间传送消息的时间顺序,用来表示用例中的行为顺序。表示用例中的行为顺序。

重点:参与者如何通过输入数据和获得输出数据来和系统交互

Page 22: 面向对象描述方法

顺序图(时序图)组成顺序图(时序图)组成 对象(对象( ObjectObject )) 生命线(生命线( LifelineLifeline )) 消息(消息( MessageMessage )) 激活(激活( ActivationActivation ))

Page 23: 面向对象描述方法

System Sequence Diagram (SSD) Notation (Figure 7-14)

:系统

对象生命线,自顶向下显示消息“顺序”

注释

Page 24: 面向对象描述方法

RepeatiRepeating ng

MessagMessagee

(Figure 7-(Figure 7-15)15)

重复操作

Page 25: 面向对象描述方法

Activity Diagram and Activity Diagram and Resulting SSD for Resulting SSD for

Telephone Order Scenario Telephone Order Scenario (Figures 7-16 and 7-17)(Figures 7-16 and 7-17)

Page 26: 面向对象描述方法

SSD of SSD of the Web the Web Order Order

ScenariScenario for o for the the

Create Create New New

OrderOrder Use Use CaseCase

(Figure 7-(Figure 7-18)18)

Page 27: 面向对象描述方法

状态图状态图 状态:对象生命周期中满足一些标准、执状态:对象生命周期中满足一些标准、执

行一些行为或等待一个事件所发生的状态行一些行为或等待一个事件所发生的状态情况。情况。

转换:一个从一种状态转到另一种状态的转换:一个从一种状态转到另一种状态的活动。活动。

组成:状态、转换、初始状态、终结状态、组成:状态、转换、初始状态、终结状态、判断等。判断等。

维护对象的当前状况信息,动名词或动词短语

状态变化容易发现和理解

Page 28: 面向对象描述方法

开发状态图规则开发状态图规则

Page 29: 面向对象描述方法

Simple State Machine Simple State Machine Diagram for a Printer Diagram for a Printer

(Figure 7-19)(Figure 7-19)

Page 30: 面向对象描述方法

RMO State Machine DiagraRMO State Machine Diagram for OrderItem Problem Dm for OrderItem Problem D

omain Classomain Class

Page 31: 面向对象描述方法

Composite States and Composite States and ConcurrencyConcurrency——States States

within a Statewithin a State

Page 32: 面向对象描述方法

Concurrent Paths for Concurrent Paths for Printer in the Printer in the OnOn State State

(Figure 7-21)(Figure 7-21)

Page 33: 面向对象描述方法

First-Cut State Machine First-Cut State Machine Diagram for OrderDiagram for Order

(Figure 7-26)(Figure 7-26)

Page 34: 面向对象描述方法

Second-Cut State Second-Cut State Machine Diagram for Machine Diagram for

OrderOrder(Figure 7-26)(Figure 7-26)

Page 35: 面向对象描述方法

Relationships Between Relationships Between OO OO

Requirements Models Requirements Models (Figure 7-28)(Figure 7-28)