设计模式第五、六堂课

来源:互联网 发布:数据清理excel 编辑:程序博客网 时间:2024/06/06 00:04

对象交互建模

 

1.从扩展用例表中找出非显示步骤nontrivialstep(*)

2.为该步骤找出情景scenario,展开步骤

3.构建情景表 scenario table

4.  scenariodiagram 时序图

 

eg.

3.顾客输入登录体(手机号、验证码、密码)在登录界面(login.jsp),并点击“登录”按钮

4.1LoginController收到登录请求数据(手机号、验证码、密码)从login.jsp

4.2LoginController 用手机号从数据库中获取验证码和密码

4.3比较(产生result)

4.4.1 if result is true ,

4.4.1.1 构造message(提前)---->向message添加成功信息

4.4.1.2返回message(推后)

4.4.2else

4.4.2.1 构造message(提前)---->向message添加失败信息

4.4.2.2返回message(推后)

改后:

4.4.1构造message

4.4.2 if result is true

4.4.2.1向message添加成功信息

4.4.3 else

4.4.3.1向message添加失败信息

4.4.4 返回message

 

情景表 scenario table

 

Subject

Action

Data

Object actioner

3

Patron

edit输入

手机号、验证码、密码

Login.jsp

4.1

LC

receive收到

手机号、验证码、密码

Login.jsp

4.1

Login.jsp

Send

手机号、验证码、密码

LC

4.2

LC

GET获取

手机号 (验证码、密码)

DB

4.4.2

if result is true

4.4.2.1

LC

Send

 Success message

Message

 

 

时序图

(1)对象

 对象包括三种命名方式:

 第一种方式包括对象名和类名;

 第二中方式只显示类名不显示对象名,即表示他是一个匿名对象;

 第三种方式只显示对象名不显示类明。


(2)生命线:从对象图标向下延伸的一条虚线,表示对象存在的时间

 

(3)活动条:活动状态


(4)消息(Message)

 消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message).如下图所示:


一般消息=同步消息+异步消息

同步消息=调用消息(Synchronous Message)

 消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。

 

异步消息(Asynchronous Message

 消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。

 

返回消息(Return Message

 返回消息表示从过程调用返回

自关联消息(Self-Message) 

 表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。


(5)Combined Fragments


Ø Alternative fragment ( denoted “alt” ) 与 if…then…else 对应

Ø Option fragment (denoted “opt”) 与 Switch 对应

Ø Parallel fragment (denoted “par”) 表示同时发生

Ø Loop fragment(denoted “loop”) 与 for 或者 Foreach 对应


eg.

  

 

1.从时序图中分析类图中的方法,箭头指向为该类的方法

M方法:业务处理

C方法:分发消息

Patron

-telNum:string

-password:string

+login()

+compare()

-return()

LoginController

-result:Boolean

-pwd:strng

-vc:string

+login()

+compare()

-return()

 

0 0
原创粉丝点击