EA&UML日拱一卒-活动图::CallOperationAction
来源:互联网 发布:淘宝贷款还不起怎么办 编辑:程序博客网 时间:2024/05/24 00:59
还是老套路,先介绍本篇文章的主角:CallOperationAction。在《GB/T 28174.2-2011 统一建模语言(UML) 第2部分:上层结构》中是这样描述的:
调用操作动作(CallOperationAction)
CallOperationAction 是一个动作,它传送一个操作调用请求到目标对象,目标对象可以引起关联活动的调用。动作的参数值对于被调用的执行有效,如果动作被标记为同步的,调用操作 的动作的执行一直等待,直到被调用的行为执行结束,并且ReplyAction传输返回值给调用者。如果操作是异步的,则当操作的调用被确立后,被调用的 操作的执行和调用侧活动的执行并发执行。任何作为应答传输返回的值被放置在输出引脚上。接受到应答传输后,调用操作动作的执行结束。
CallOperationAction除了有一个输入引脚用于接受操作的目标对象以外,还应有和被调用操作的参数相同数量,相同类型的输入引脚,以及和被调用操作的返回值相同数量,类型的输出引脚。
示例
我们继续使用昨天的例子说明CallOperationAction的用法,先来回忆一下昨天的状态。
在这个例子中,我们已经得到了后续流程中将会用到的panel和calculator对象。
取得一元二次方程的系数a
从工具栏拖动Action图标到流程图,选择Action类型为CallOperation。
打开CallOperaiton的属性设定对话框
进入【General】属性页,指定Action名称为Get a
进入【Call】属性页
选择Behavior为CalculatorPanel::getInput方法
按下【Synchronize with Parameters】将CalculatorPanel::getInput方法的参数同步到CallOperationAction中来。
按下【Add】按钮,在出现的【Select Pins】对话框中按下【Add New】按钮和【确定】按钮添加Result引脚。
经过对上述操作以后,我们得到上图红框中的内容。按下【确定】按钮关闭对话框。这时【Project Browser】中的Get a动作的状态如下图。
修改OutputPin1的名称为a。
右键打开活动图中CallOperationAction的上下菜单并选择【Structural Elements】,在出现的对话框中选择显示所有引脚。
调整活动图中CallOperationAction各引脚的位置。
用对象流连接ReadStructuralFeatureAction的panel引脚到接CallOperationAction的target引脚。
打开CallOperationAction的Index引脚的属性对话框,在Pin属性页中指定参数值PARA_A。
取得系数b,c
同样方法添加名称为Get b,Get c的CallOperationAction,增加分叉节点并连接数据流以后得到下图。
调用解方程操作
继续添加调用Calculator::solveEquation的CallOperationAction并连接数据流。
添加终止节点。
明天文章对今天得到活动图进行说明。
- EA&UML日拱一卒-活动图::CallOperationAction
- EA&UML日拱一卒-活动图::CallOperationAction(续)
- EA&UML日拱一卒-活动图::活动
- EA&UML日拱一卒-活动图::活动分区
- EA&UML日拱一卒--活动图::入门
- EA&UML日拱一卒-活动图:: 对象流
- EA&UML日拱一卒-活动图::数据区
- EA&UML日拱一卒-活动图::异常
- EA&UML日拱一卒-活动图::CallBehaviorAction
- EA&UML日拱一卒-活动图::SendSignalAction
- EA&UML日拱一卒-活动图::AcceptEventAction
- EA&UML日拱一卒-活动图::BroadcastSignalAction
- EA&UML日拱一卒-活动图::Object actions
- EA&UML日拱一卒-活动图::Variable Actions
- EA&UML日拱一卒-活动图::13.1 Summary
- EA&UML日拱一卒-活动图::Expension Region
- EA&UML日拱一卒-活动图::14.1 Summary
- EA&UML日拱一卒-活动图::14.4 ProtocolStateMachines
- 类名.class 类名.this 详解
- C编程(三)流程控制之选择
- 面向对象程序设计
- C++ 运算符 重载
- DAY31继承派生、组合、接口和抽象类
- EA&UML日拱一卒-活动图::CallOperationAction
- java多线程实现服务器端与多客户端之间的通信
- Hash冲突解决——拉链法
- 提高网页加载速度的方法
- Jenkins入门系列之——02第二章 Jenkins安装与配置
- python3 [爬虫入门实战] 爬虫之爬取盘多多文档(百万数据)
- 2017上
- 基于HTML5的五子棋游戏
- RxJava汇总--完善中。。。