EA&UML日拱一卒-活动图::数据区

来源:互联网 发布:淘宝七天退换货规则 编辑:程序博客网 时间:2024/06/06 09:55

流程说到底是在处理数据,一般情况下一个活动或动作结束执行后输出数据,下一个活动或动作收到数据后开始执行。但也有另外一种情形,产生的数据先放到某处暂存,等后续处理使用。对于这种情况,UML提供了两种方法:中央缓冲节点和数据存储节点。


中央缓冲节点(central buffer node)


语义


中央缓冲节点可以同时从多个对象节点接收输入,并可以为多个对象节点产生输出。和对象流不同,中央缓冲节点提供的数据不作为活动或动作的启动条件。


中央缓冲节点中的数据输出是以数据移动的形式进行的。


表示法


中央缓冲节点表示为带有关键字《centralBuffer》的对象节点符号。


示例


下图是复印流程中使用中央缓冲节点的例子。



扫描单元完成一次扫描以后,将ImageData保存在centralBuffer中

打印单元从centralBuffer中取得数据以后打印输出。


数据存储节点(data store node)


语义


数据存储节点就是带有数据持久化功能的中央缓冲节点。


数据存储节点可以同时从多个对象节点接收输入,并可以为多个对象节点产生输出。数据的输入流和输出流是不相连的,也就是说数据的存储和使用要求可以来自不同的线程。


到这里为止,内容没有本质的区别,可以看作是相同点。接下来是不同点。


数据存储节点和中央缓冲节点输出数据的行为是不同的。中央缓冲节点输出的是数据本身,而数据存储节点输出的是数据的拷贝,数据本身是在包含该数据存储节点的活动结束以后才会被销毁的。


表示法


数据存储节点表示为带有关键字《datastore》的对象节点。


示例


以下是某数据采集系统的例子。


三个流程分别


  1. 以0.1S周期采集模拟信号并存储在SystemData中

  2. 接受中断请求后采集数字信号并存储在SystemData中

  3. 从SystemData中取得数据并表示


数据表示以后,还需要保留在系统中以供将来使用,因此这里使用数据存储节点。


以上就是今天的文章,如果它能给您带来些许收获,欢迎推荐给您的朋友!
阅读更多更新文章,请扫描下面二维码,关注公众号【面向对象思考】!

原创粉丝点击