Схема взаимодействия UML для системы аварийной отчетности

Я работаю над домашним заданием по моделированию / проектированию программного обеспечения, и мне трудно понять, как превратить этот конкретный вариант использования в диаграмму сотрудничества. Я нашел это отличное руководство, но вариант использования, который я изучаю, вводит "UI "компонент, которому я не могу найти аналогии.

Цитируется данная проблема:

Название варианта использования: Сообщить об участии в аварийной ситуации: инициируется офицером и связывается с соответствующим потоком событий:

  1. Офицер активирует функцию «Сообщить о чрезвычайной ситуации» на своем терминале.
  2. Система отвечает представлением формы офицеру
  3. Офицер заполняет форму, выбирая уровень чрезвычайной ситуации, тип, место и краткое описание ситуации. Офицер также описывает возможные действия в аварийной ситуации. После заполнения формы сотрудник на местах отправляет ее.
  4. Система получает форму и уведомляет корреспондента.
  5. Корреспондент просматривает предоставленную информацию и создает инцидент в базе данных. Корреспондент выбирает ответ и подтверждает отчет.
  6. Система отображает подтверждение и выбранный ответ офицеру. Предварительное условие: Сотрудник зарегистрирован в системе. Постусловие: Сотрудник получил подтверждение и выбранный ответ от корреспондента, ИЛИ сотрудник получил объяснение, указывающее, почему транзакция не может быть обработана.

Насколько я понимаю, ассоциации на диаграмме сотрудничества указывают на поток сообщений между объектами и не обязательно отражают физические отношения между тем, что моделируют объекты. Если это так, то какой объект должен отвечать за метод newEmergencyForm () и какой объект должен вызывать этот метод? Нельзя ли объединить метод newEmergencyForm () и метод reportEmergency () в один?


person Jefferson Hudson    schedule 05.04.2014    source источник


Ответы (1)


  • Теперь (текущий стандарт UML - 2.4.1) диаграмма называется диаграммой взаимодействия, а не диаграммой сотрудничества. Коллаборации остаются элементами одних диаграмм, но имеют другой смысл.

  • Насколько я понимаю, Report Emergency заполняет форму. И newEmergencyForm предоставляет форму для заполнения. Это два разных действия, вы уже знаете разницу между ними, поэтому вам не нужно не замечать эту разницу и подсчитывать их за одну операцию. Но если по какой-то причине вы хотите отложить показ темы для последующих диаграмм, вы можете это сделать. Это НЕ противоречит стандарту.

  • Я бы не стал называть то, что создает эти сообщения «объектами». На этом уровне абстракции мы скорее говорим о компонентах.

  • Вы не можете сказать, какой компонент создает какое-либо сообщение, пока не определите все компоненты. Вы можете сделать это в уме, это нормально, но тогда мы не сможем вам помочь с выбором. Что такое «система»? (на этом уровне мы не говорим о системе в целом, это термин для варианта использования. Что такое «корреспондент»? Это то же самое, что и офицер, или может быть таким же? Или это подсистема? Какие еще компоненты у вас есть ?

  • В противном случае вы должны предоставить нам диаграмму компонентов в качестве источника. Кстати, я почти уверен, что после правильного определения всех компонентов вы сами найдете решение.

person Gangnus    schedule 05.04.2014