0

我正在做一些软件建模/设计作业,但我在思考如何将这个特定用例转换为协作图时遇到了麻烦。我找到了这个优秀的教程,但是我正在研究的用例引入了一个我找不到类比的“UI”组件。

引用了有问题的问题:

用例名称:报告紧急事件参与参与者:由官员发起并与相应的事件流进行通信:

  1. 警官启动终端的“紧急报告”功能
  2. 系统通过向官员出示表格来响应
  3. 官员通过选择紧急情况级别、类型、位置和情况的简要描述来填写表格。该官员还描述了对紧急情况的可能反应。表格填写完毕后,现场官员提交表格。
  4. 系统收到表格并通知通讯员。
  5. 通讯员审查提交的信息并在数据库中创建一个事件。通讯员选择一个响应并确认该报告。
  6. 系统向官员显示确认和选择的响应。前置条件:该官员已登录系统 后置条件:该官员已收到通讯员的确认和选定的回复,或者该官员已收到说明交易无法处理的原因的解释。

据我了解,协作图中的关联表示对象之间的消息流,不一定反映对象模型之间的物理关系。如果是这种情况,那么应该由哪个对象负责 newEmergencyForm() 方法,哪个对象应该调用该方法?不能 newEmergencyForm() 方法和 reportEmergency() 方法合二为一吗?

4

1 回答 1

1
  • 现在(当前的 UML 标准是 2.4.1)该图称为通信图,而不是协作图。协作仍然是某些图表的元素,但它们具有其他意义。

  • 据我了解,报告紧急情况正在填写表格。newEmergencyForm 正在提供要填写的表格。这是两个不同的动作,你已经知道它们之间的区别,所以,你没有必要不注意这个区别并将它们计算为一个操作。但是,如果出于某种原因您希望推迟显示主题以供以后的图表使用,您可以这样做。这并不违反标准。

  • 我不会将创建这些消息的事物命名为“对象”。在这个抽象级别上,我们更愿意谈论组件。

  • 在定义所有组件之前,您不能说是哪个组件创建了一些消息。你可以在头脑中做,没关系,但我们无法帮助你做出选择。什么是“系统”?(在这个层面上,我们不讨论整个系统,它是用例的术语。什么是çorrespondent?它和官员一样还是可以一样?或者它是一个子系统?你还有什么其他组件?

  • 否则,您必须向我们提供组件图作为来源。顺便说一句,我几乎可以肯定,在正确定义所有组件之后,您会自己找到解决方案。

于 2014-04-05T20:51:16.493 回答