Case 工具-UML with Rational Rose

Slides:



Advertisements
Similar presentations
职业指导服务系统 欢迎了解职业指导服务系统!
Advertisements

华东师大版《初中数学》各册教材 修 订 说 明 与 解 读
第 4 章 PHP 基本語法.
目錄 服務地點 南寮 世光教養院 飛鳳山 長安養老院 尖石國小 內灣 大華停車場 上智國小 二重國中 班級 領隊教師 參與人數 (人次)
我征服了黃山 林達的黃山之旅 2006春.
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
99年成語200題庫(21-40).
Loops.
第二章 可行性研究.
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
普通话模拟测试 与学习平台 使用指南.
第一章信託法 第一節 信託契約 第二節 信託財產 第三節 受益人 第四節 受託人 第五節 信託關係之消滅.
第 八 章 交互结构(2).
網路小說劇情建構與伏線營造 Windows98.
D、結構化技術 主要的結構化技術 結構化程式設計 (Structured Programming)
欢迎各位 Nice to Meet U.
软件测试及工具培训 白盒及黑盒测试.
上課囉 職場甘苦談 小資男孩向錢衝 育碁數位科技 呂宗益/副理.
客户端用Net-Library和SQL SERVER连接
股市不傳之秘 甘氏矩陣圖/價格推算 簡介、基礎學習步驟 1、學習觀念 2、基礎看圖法 A.大數推算 B.基礎角度線推算.
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
第10章 考试系统的分析与设计 1.
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
普通高等教育“十一五”国家级规划教材 信息系统分析与设计 刘腾红 孙细明 主编 科 学 出 版 社.
Ch07 PHP程式基礎 網頁程式設計.
TTCN-3简介.
BLANK overview.
Chapter 1 複習.
Visual Basic 2010 程式設計16堂特訓 第七堂 VB的迴圈流程控制.
C++Primer 3rd edition 中文版 Chap 5
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
Shell Script 程式設計.
第一次随堂作业(10.16) 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班.
UML工具 --8种优秀的UML工具.
软件建模精要 面向对象软件建模技术.
JUDE教學 Jude安裝教學篇 Jude初步介紹篇 Jude繪圖介紹篇 介紹jude的安裝和下戴 介紹jude的初基本功能
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
程式語言Visual Basic 重複結構 黃瀧輝 老師 Long Hwai,Huang.
丙級電腦軟設-VB程式設計 資料來源:林文恭研究室 整理:張福生.
7-1 互 動 7-2 順序圖 7-3 合作圖 7-4 順序圖的個案說明 7-5 合作圖的個案說明
UML类设计工具 任课老师:黄武 上午2时50分 10.
UML介绍.
電腦解題─流程圖簡介 臺北市立大同高中 蔡志敏老師.
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
第12章 shell编程基础 本章主要介绍shell编程的基础知识。shell脚本的执行类似于Linux下的任何其他命令,脚本可以包含复杂的逻辑,也可以包含一系列Linux命令行指令。在一个shell程序内可以运行其他shell脚本。通过本章的学习,读者可以学到如何使用bash(最流行的Linux.
Advanced Basic Key Terms Dependency Actor Generation association
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
耶穌,萬名之上的名 Jesus, Name Above All Names 1/6
陳維魁 博士 儒林圖書公司 第五章 控制結構 陳維魁 博士 儒林圖書公司.
学习导航 学习导航.
管理信息系统 第九章 面向对象的系统开发方法.
实验6 面向对象分析与设计实验.
Ch04 VB.NET的流程控制 網頁程式設計.
用例.
指導老師:王素華 老師 B 劉盈君 B 李昭協 B 溫焌民 B 黃筱珊
第十一章 物件資料結構塑模.
程式的時間與空間 Time and Space in Programming
软件需求工程.
第11章 物件互動行為塑模.
聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝. 聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝.
電子郵件安全:如何防範社交工程郵件 圖書資訊服務處 元智大學.
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
(若使用IE瀏覽,請選擇功能表的「瀏覽」「全螢幕」
MATLAB 結構化財務程式之撰寫 MATLAB財務程式實作應用研習 主題五 資管所 陳竑廷
C语言基本语句 判断循环.
第十一章、互動圖.
Presentation transcript:

Case 工具-UML with Rational Rose 第四章 顺序图和协作图 Case 工具-UML with Rational Rose

交互图概述 交互:一次交互就是指在特定语境中,为了实现某一个 目标,而在一组对象之间进行交换的一组消息所表示的行为。 交互图:是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。通常用来描述一个用例的行为,显示该用例中所涉及的对性和这些对象之间的消息传递情况. 消息通常是指启动一个操作或发送一个信号,以及创建或销毁一个对象。

交互图概述 UML交互图的类型 顺序图:顺序图是一种强调消息时间顺序的交互图,为读者提供了控制流随着时间推移的清晰的可视化轨迹 协作图:在UML 2.0中叫通信图,它强调的是参加交互的对象的组织,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹 定时图:采用了一种带数字刻度的时间轴来精确地描述消息的顺序 交互概述图:是交互图和活动图的混合物

顺序图 顺序图:显示的是参与交互的对象及对象之间消息交换 的顺序,用来表示用例中的行为顺序。

顺序图的建模元素 图4.2 从订单生成送货单

顺序图的建模元素----对象 对象(角色):最顶上一排矩形框。在交互图中,参与交互的对象既可以是具体的事物,又可以是原型化的事物。作为具体的事物,一个对象代表现实世界中的某个东西。例如,aOrder作为类Order的一个实例,可以代表一个特定的订单;而如果作为一个原型化的事件,则aOrder可以代表类Order的任何一个实例。 objectName:ClassName :ClassName objectName 显示对象名和类名 只显示类名(匿名对象) 只显示对象名 (不关心对象属于什么类) 图:顺序图中对象的命名方式

顺序图的主要元素----生命线和控制焦点 生命线:每个对象都有自己的生命线,对象生命线是一条垂直的虚线,用来表示一个对象在一段时间内存在。 例外情况 控制焦点:生命线上的长条形矩形称为“控制 焦点”,它表示一个对象执行一个动作所经历 的时间段,顶部表示动作的开始,矩形底部 表示动作的结束。 控制焦点可以嵌套 激活期:表示对象执行一个 动作的期间,即对象激活的 时间段,与控制焦点同义。

顺序图的主要元素----消息 消息:用来描述对象之间所进行的通信的,该信息带有对将要发生的活动的期望。当传送一个消息时,它所引起的动用是一个通过对计算过程的抽象而得到的可执行语句。 消息分为:调用、返回、发送 调用:表示调用某个对象一个操作 返回:(对非过程调用)返回表示被调用的对象向调用者返回一个值。

顺序图的主要元素----消息 异步消息(发送消息send):发送者通过消息把信号传递给接受者,然后继续自己的活动,不等待接收者返回消息或控制。 比较:调用是同步机制,就是说对象A调用对象B时,A发送完消息后会等待B执行完所调用的方法之后在继续执行;而异步消息是对象A给对象B发送了一个信号,那么A在发送完信号后,就会继续执行,不会等待。 信号:Windows中“点击鼠标左键”

顺序图的主要元素----消息 (过程)调用消息 在UML中,消息用箭头表示,箭头的类型表示了消息的类型。 两个对象之间绘制消息 对象内调用(向自身发送消息) 返回消息 UML1.3及以前版本中的异步消息 Rose2003中的异步消息 销毁

顺序图的主要元素----消息 消息的语法格式:(教材P 40-41) [predecessor] [guard-condition] [sequence-expression] [return-value:=] message-name ([argument-list]) 语法成分 格式 Predecessor:必须先发生的消息列表 消息顺序号1,消息顺序号1/ guard-condition:警戒条件,满足条件时 发送消息 [布尔表达式] sequence-expression:消息顺序表达式 消息顺序项.消息顺序项...: return-value

[x<0]4:invert(x, color) 条件消息 顺序图的主要元素----消息 消息的语法格式举例 2:display (x, y) 简单消息 1.3.1: p :=find(specs) 嵌套消息,消息带返回值 [x<0]4:invert(x, color) 条件消息 3.1*:update( ) 循环消息 A3,B4/C2:copy(a,b) 线程间的同步 1.1 *[for all order lines]:message1() 2.1 *[1:=1..n]:message2()

创建对象:(构造函数实现)意味着该对象生命线的开始。 顺序图----对象的创建和销毁 创建对象:(构造函数实现)意味着该对象生命线的开始。 如果对象位于时序图的顶部,说明在交互开始之前该对象已经存在了。如果对象是在交互的过程中创建的,那么它应当位于图的中间部分。 对象在创建消息发生之后才能存在,对象的生命线也是在创建消息之后才存在的 创建对象的两种表示方法:

顺序图----对象的创建和销毁 销毁对象:(析构函数实现)在目标对象的生命线重终点放一个X(大叉),该点通常是对删除或取消消息的回应。

顺序图----顺序编号 顺序编号(消息编号):消息的编号可以有两种:一种是无层次编号,它简单直观;另一种是嵌套的编号,它更易于表示消息的包含或说嵌套关系。如在消息1中,1.1是嵌套在消息1中的第一个消息,它在消息1.2之前,消息1.2是嵌套在消息1中的第二个消息,依次类推。必须确保消息标号的唯一性。

嵌套编号 无层次编号

顺序图----分支与循环 交互片段(UML2.0引入)

注:在UML1.X版本中代表循环,在协作图2.0版本中延用 顺序图----分支与循环 Loop(1, n) loop(5) 注:在UML1.X版本中代表循环,在协作图2.0版本中延用

建立顺序图的步骤 设置交互的语境。 通过识别对象在交互中扮演的角色,设置交互的场景。 为每个对象设置生命线。 从引发某个消息的信息开始,在生命线之间画出从顶向下依次展开的消息,显示每个消息的特性(如参数)。 如果需要表示消息的嵌套或表示发生时的时间点,则采用控制焦点。 如果需要说明时间或空间的约束,可以用时间标记修饰每个消息,并附上合适的时间和空间约束。 如果需要更形式化的说明某控制流,可以为每个消息附上前置和后置条件。

协作图(通信图) 协作图中有3种元素:对象,链和消息。 图 “从订单生成送货单”的协作图

协作图主要元素----对象 在协作图中无法表示对象的创建和撤消,所以对象在协作图中的位置没有限制。 多对象:在协作图中,多对象指由多个对象组成的对象集合,这些对象一般属于同一个类,它们的本质是类的实例。多个方框重叠表示 主动对象:是一组属性和方法的封装体,其中中至少有一个方法不需要接收消息就能够主动的执行(主动方法)。也就是说,主动对象在不接收外部消息的情况下自己开始一个控制流。

链:用来表示对象之间的语义连接,一般而言,链是关联的一个实例。符号:一条连接两个对象的实线 协作图主要元素----链 链:用来表示对象之间的语义连接,一般而言,链是关联的一个实例。符号:一条连接两个对象的实线 在大多数情况下,只需要通过链来表示一个对象向另一个对象(可以是这个对象自身)发送消息的路径。精确描述路径是如何存在的,则采用表构造型来修饰这个链。 在UML2.0中已经开始弱化它们的使用,除非必要,无需过多地考虑

协作图主要元素----链

协作图主要元素----消息编号和消息语法的进一步说明 在协作图中经常还会采用一些更复杂的消息编号方式,例如可以 加如“线程”和“进程”的概念,根据消息所在的线程来区分其消息编 号。 语法格式是:[integer|name] 其中integer是消息序号,name表示并发的控制线程。 例: A5和A11:在同一个线程或进程中 A5和B3:不在同一个进程或线程中 lal和lb1:两个消息都在消息1内,但在并发、嵌套的不同线程中执。

UML 2.0的协作图中,循环是通过在顺序编号前加上一个迭代符“*”和一个可选的循环表达式来表示的。 协作图主要元素----消息编号和消息语法的进一步说明 循环 UML 2.0的协作图中,循环是通过在顺序编号前加上一个迭代符“*”和一个可选的循环表达式来表示的。 常用的循环表达式 循环表达式 含义 [i:=1..n] 循环n次 [while(布尔表达式)] 当布尔表达式为真时执行循环 [until(布尔表达式)] 循环执行到布尔表达式为真时停止 [for each(计算结果为对象集合的表达式) 在对象集合上循环

协作图主要元素----消息编号和消息语法的进一步说明 监护条件(警戒条件) 监护条件通常是用来表示分支的,即表示“如果条件为true,才发送消息” ,以“[条件表达式]”的格式表示。

协作图主要元素----消息编号和消息语法的进一步说明 监护条件(警戒条件) 在通信图中使用监护条件一定要有所限制,通常应只列出主要的监护条件,否则会影响其阅读。如果需要,尽可能还是通过顺序图来表示

建立协作图的步骤 设置交互的语境。 通过识别对象在交互中扮演的角色,设置交互的场景。将对象作为顶点放在协作图中,其中比较重要的对象放在中央,他们的临近对象放在外围。 为每个对象设置初始特性。如果某个对象的属性值、标记值、状态等在交互期间发生重要变化,则在图中放置一个复制对象,并用新的值更新它,然后通过构造型<<become>>或<<copy>>的消息将二者连接。 描述对象之间可能有信息沿着它传递的链。首先安排关联的链,然后再安排其他链。 从引起交互的消息开始,适当地设置其顺序号,然后将随后的每个消息附到适当的链上。可以用带小数点的编号来显示嵌套没。 如果需要说明时间或空间约束,可以用时间标记修饰这个消息,并附上合适的时间和空间约束。 如果需要更形式化地说明这个控制流,可以为每个消息附上前置和后置条件。

顺序图和协作图的比较 顺序图和协作图都属于交互图,用于描述对象间的动态关系,并且两者之间可以相互转化。 强调重点不同:顺序图强调消息的时间顺序,协作图强调参与交互的对象的组织。 建模元素不同:顺序图中独有生命线和控制焦点;协作图中有路径和链,并且消息必须有消息顺序号。

定时图 定时图与顺序图的区别 坐标轴交换了位置,改为从左到右来表示时间的推移 用生命线的“凹下凸起” 来表示状态的变化,每 个水平位置代表一种 不同的状态,状态的 顺序可以有意义、也 可以没有意义 生命线可以跟在一根 线后面,在这根线上 显示些不同的状态值 可显示一个度量时间 值的标尺,用刻度表 示时间间隔

打印的值是9。将执行三次循环,因此test的值是1!+2!+3!=9 常见问题分析与练习 1 假设有一系统的协作图局部如图7-29所示,print方法的功能是将传入参数的值打印在屏幕上;fact方法是用来计算阶乘的,test的初值为1。那么将打印出什么? 协作图局部 打印的值是9。将执行三次循环,因此test的值是1!+2!+3!=9

常见问题分析与练习 P44-46 (2)---(5)、(7)