Автор Тема: Аннулирование сущности в любой момент времени. Как отобразить?  (Прочитано 2758 раз)

Julia_London

  • Newbie
  • *
  • Сообщений: 2
  • Рейтинг читателей: 0
    • Просмотр профиля
Всем привет! Вопрос по аналитике в IT отрасли. Сейчас разрабатываю процесс для одной системы и очень нужна квалифицированная помощь в его ЮМЛ описании.
Есть система в которой создаются сущности. У сущности есть свои состоянии и переход между ними. Как правило это все у нас называется рабочим циклом и описывается Активити диаграммой, ибо все ее понимают больше и она наиболее соответствует ожиданиям всех сторон.
После определенного времени пришло требование иметь возможность с любого статуса(состояния) этой сущности иметь возможность ее обнулять. Так вот вопрос собственно в том, рисовал ли кто то когда то похожие вещи. То есть как то надо отобразить возможность обнуления сущности в любой момент времени ее жизни.

Подскажите пожалуйста был у вас такой опыт и как бы вы это реализовали?


Григорий Печенкин

  • Member of CAR
  • Hero Member
  • *****
  • Сообщений: 1327
  • Рейтинг читателей: 58
    • Просмотр профиля
    • http://www.greesha.ru
Обнулять - это возвращать в исходное состояние? Вообще "обнуление" - это состояние?

Я бы диаграмму не перегружал, а включал это в текстовое описание.
(И даже бы всяких "бы" - я прямо сейчас именно это и делаю. Рисую диаграмму в Confluence с помощью PlantUML в составе страницы с текстовыми требованиями.)
greesha.ru

Реальность - это убийство прекрасной теории бандой мерзких фактов. (Роберт Гласс)

Леонид

  • Hero Member
  • *****
  • Сообщений: 504
  • Рейтинг читателей: 61
    • Просмотр профиля
Я бы диаграмму не перегружал, а включал это в текстовое описание.

Делаю аналогично. Из тех же соображений.

log

  • Newbie
  • *
  • Сообщений: 31
  • Рейтинг читателей: 2
    • Просмотр профиля
У сущности есть свои состоянии и переход между ними.

Для описания так сюда и напрашивается Диаграмма состояний объекта.

После определенного времени пришло требование иметь возможность с любого статуса(состояния) этой сущности иметь возможность ее обнулять. Так вот вопрос собственно в том, рисовал ли кто то когда то похожие вещи. То есть как то надо отобразить возможность обнуления сущности в любой момент времени ее жизни.

Кто мешает нарисовать переходы в начальное нулевое состояние из всех других состояний?

Galogen

  • Member of CAR
  • Hero Member
  • *****
  • Сообщений: 6049
  • Рейтинг читателей: 192
  • Аксакал
    • Просмотр профиля
    • Профиль в Моем Круге
Подскажите пожалуйста был у вас такой опыт и как бы вы это реализовали?

Я бы посмотрел в сторону Interrupting Edge (http://www.uml-diagrams.org/activity-diagrams.html). Другой способ все-таки использовать не диаграммы деятельностей, а диаграммы автоматов. Там есть исторические состояния, вложенные и т.п. средства решения вашей задачи (http://www.uml-diagrams.org/state-machine-diagrams.html).

ВладимирЗ0

  • Newbie
  • *
  • Сообщений: 1
  • Рейтинг читателей: 0
    • Просмотр профиля
Здравствуйте, Юлия.

Если я корректно понял контекст вашей проблемы, указанная вами задача более удобно решается в диаграмме состояний (statechart), - рекомендую попробовать осуществить переход на эту нотацию, ведь она в основном также интуитивно понятна, как и диаграммы деятельности (activity).
На диаграмме состояний для создания перехода обнуления из любого имеющегося состояния вам нужно создать комплексное надсостояние с переходом из псевдосостояния выхода в само себя (см. пример во вложении).

Если же вы хотите решать задачу исключительно применяя нотацию диаграмм деятельности, то решение здесь будет зависеть от того, как вы отображаете ваш т.н. рабочий цикл на этих диаграммах, - фантазия и нотация позволяют делать это множеством путей. Т.о., чтобы предложить вам на этот счёт опыт, применимый в ваших условиях, было бы здорово, если бы вы привели пример одной из диаграмм, с которыми вы имеете дело.

С уважением, Зотов В. С.

[прилетело НЛО и...]

  • Full Member
  • ***
  • Сообщений: 198
  • Рейтинг читателей: 26
    • Просмотр профиля
нужно создать комплексное надсостояние с переходом из псевдосостояния выхода в само себя (см. пример во вложении).
Не оправдано использование псевдосостояния выхода, в которое не входит никакой переход. Смысл диаграммы без него будет ровно таким же.
[...и улетело НЛО.]

Андрей Сенченко

  • Jr. Member
  • **
  • Сообщений: 77
  • Рейтинг читателей: 5
    • Просмотр профиля
    • Linkedin
Есть система в которой создаются сущности. У сущности есть свои состоянии и переход между ними. Как правило это все у нас называется рабочим циклом и описывается Активити диаграммой, ибо все ее понимают больше и она наиболее соответствует ожиданиям всех сторон.

Если уж все хорошо понимают Activity - значит им не составит труда понять State Machine, которая является фактически изнанкой  Activity и как раз подходит под Ваши условия (аннулирование сущности - это одно из финальных состояний)

davvol

  • Full Member
  • ***
  • Сообщений: 208
  • Рейтинг читателей: 33
    • Просмотр профиля
Мне кажется тут диаграмма автоматов ни к месту.
Насколько я понял автора, речь идет о всем многообразии сущностей, порожденных системой. Нигде не написано что это одна и та же сущность или что состояния и переходы одинаковые у всех.
В таком случае рисовать диаграмму состояний для каждой бессмысленно. Проще указать текстом в сноске к диаграмме активности.

[прилетело НЛО и...]

  • Full Member
  • ***
  • Сообщений: 198
  • Рейтинг читателей: 26
    • Просмотр профиля
Я бы посмотрел в сторону Interrupting Edge (http://www.uml-diagrams.org/activity-diagrams.html). Другой способ все-таки использовать не диаграммы деятельностей, а диаграммы автоматов.
Дельный совет как по части возможностей диаграмм деятельности для решения обозначенной задачи, так и по части переосмысления выбора вида диаграмм.
В сети есть пример, поясняющий использование interrupting edge:
[...и улетело НЛО.]