【问题标题】:Enterprise Architect Communication Diagrams question企业架构师沟通图问题
【发布时间】:2010-06-06 07:27:08
【问题描述】:

我想在 Enterprise Architect 的通信图中实现这样的目标:

   start()    ----------------    1. create()   ------------
------------> | RGController | ---------------> | U : User |
              ----------------                  ------------

但我面临两个问题:

  1. 看来我必须总是做一个 2个对象之间的连接(我 不能有 start() 消息 不知从何而来,就像我想要的那样)。
  2. 我无法控制编号 想。有什么办法我可以 自己设置编号?如果我 定义演员正在调用 start()RGController 上,它会 我想要的时候就叫它消息 1 消息 1 为 User.create()

【问题讨论】:

    标签: uml enterprise-architect communication-diagram


    【解决方案1】:

    A) 哪个对象正在向 RGController 发送 start() 消息?将其添加到图表中并在这两个对象之间创建连接。

    或者,您可以从初始元素(在活动工具箱中)发送初始消息。

    您还可以通过创建一个空的形状渲染脚本来破解一个不可见的起始元素。

    只需在Settings->UML...->Stereotypes中新建一个Stereotype,将名称设置为hidden,apply to,并将shape script设置为:

    shape main {
    }
    

    然后将此原型应用于您的初始元素。它应该呈现为不可见。

    B) 我不确定如何手动设置消息标签。您知道邮件编号设置吗?

    • 右键单击其中一条消息 标记一个选择“序列 通讯信息”。

    • 在 消息属性->序列 表达式部分。

    【讨论】:

    • 我还不知道是哪个对象在这样做。也许是演员。难道就没有办法根本不用放任何东西吗? EA 似乎相当严格。那么编号系统呢?我的意思是,我可以很好地接受 a),但我确实需要一种能够以不同方式处理消息编号的方法。
    • 可能从 Activity 工具箱中的 Initial 元素或交互工具箱中的 End Point 元素发送。
    • 关于 B),我希望我的第一条消息不计入总编号,所以我只希望 User.create() 成为我的 1. 消息。我似乎无法做到这一点。
    • 嗯 - 是的,这似乎很棘手。我已经能够将 start() 消息 0.1 和 create() 设置为 1。这看起来很老套,但它是:最后创建启动消息关联 - 然后将其移动到“序列通信消息”中的第一条消息" 对话框。
    • 难道没有办法把那个 0.1 去掉吗?:(
    【解决方案2】:

    您是否正在尝试绘制一个使用前端控制器或外观来处理传入请求的架构? 如果是这样,那么客户端将调用 start()。例如。对于 ASP.net 应用程序,它将是 UI 代码或表示逻辑。

    Client/User/Customer ---start()---> RGBController--- create() ---> u: User

    【讨论】:

    • 我不明白你的意思。是的,客户端将调用 RGController.start()。但是我怎样才能让消息突然出现?它总是迫使我在 2 个对象之间发送消息。
    • 在 UML 中,消息是从一个对象/参与者到另一个对象/参与者。它不会在真实软件中凭空出现,因此在模型中也不会凭空出现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 2011-09-03
    相关资源
    最近更新 更多