我正在进行一些软件建模/设计作业,而我无法解决如何将这个特定用例转化为协作图的问题。我找到了this优秀的教程,但我正在研究的用例引入了一个“UI”组件,我无法找到它的类比。
引用的问题是:
用例名称:报告紧急情况 参与演员:由警官发起并与通讯员沟通 事件流程:
- 该官员激活其终端的“报告紧急”功能
- 系统通过向主管人员提交表格来回应
- 官员通过选择紧急级别,类型,位置和填写表格来填写表格 情况简要说明。该官员还描述了可能的回应 紧急情况。表格填写完成后,现场官员提交 形成。
- 系统收到表格并通知通讯员。
- 通讯员审核提交的信息并在邮件中创建事件 数据库。通讯员选择回复并确认报告。
- 系统显示确认和 选择对该官员的回应。 前提条件:该人员已登录系统 后置条件:该官员已收到确认和所选答复 来自记者,或官员已经收到解释说明为什么 交易无法处理。
醇>
据我了解,协作图中的关联表示对象之间的消息流,并不一定反映对象建模之间的物理关系。如果是这种情况,那么哪个对象应该负责newEmergencyForm()方法,哪个对象应该调用该方法? newEmergencyForm()方法和reportEmergency()方法不能汇总成一个吗?
答案 0 :(得分:1)
现在(当前的UML标准是2.4.1)该图称为通信图,而不是协作图。合作仍然是一些图表的元素,但它们还有其他意义。
据我了解,Report Emergency正在填写表格。 newEmergencyForm提供了要填写的表单。这是两个不同的动作,你已经知道它们之间的区别,所以,你没有必要不注意这个差异并计算它们的一个操作。但是如果由于某种原因你希望推迟显示以后图表的主题,你可以这样做。这不符合标准。
我不会说出创建这些消息“对象”的内容。在这个抽象层次上,我们宁愿谈论组件。
在定义所有组件之前,您无法说明哪个组件会创建一些消息。你可以在头脑中做到这一点,没关系,但是我们无法帮助你做出选择。什么是'系统'? (在这个级别上,我们不讨论系统整体,它是用例的术语。什么是çorrespondent'?它与官员相同还是可以相同?或者它是一个子系统?你还有什么其他组件? ?
否则,您必须向我们提供组件图作为来源。顺便说一句,我几乎可以肯定,在正确定义所有组件后,您将自己找到解决方案。