对象交互建模
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 |
|