Форум Сообщества Аналитиков

Общий раздел => Теория моделирования и нотации => Тема начата: Ukridge от 04 Августа 2016, 15:53:20

Название: Activity + хранилище данных с выдачей ID
Отправлено: Ukridge от 04 Августа 2016, 15:53:20
Коллеги, добрый день!

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

Как это отобразить, компактно и изящно? datastore, судя по всему, не очень подходит, т.к. как минимум, выдавать ID не умеет.
Название: Re: Activity + хранилище данных с выдачей ID
Отправлено: Ukridge от 04 Августа 2016, 16:38:15
Собственно вот, что придумал к этой минуте (в аттаче). Даже с фейловером на ручную обработку. Но очень неуклюже и разлаписто. Должен быть способ как-то проще это сделать :)

Кроме того, я не уверен, что можно вот так нарисовать помещение данных в <<datastore>> Clients, и параллельно с этим проверку - а успешно ли данные вставились?
Название: Re: Activity + хранилище данных с выдачей ID
Отправлено: Galogen от 04 Августа 2016, 21:32:58
Ну почему бы и нет, а так посмотрите здесь для справки http://www.uml-diagrams.org/activity-diagrams-objects.html
Название: Re: Activity + хранилище данных с выдачей ID
Отправлено: Ukridge от 05 Августа 2016, 10:27:25
Да, эту ссылку я изучал :) но сведения, приведённые там, не упрощают задачу. По сути, это соответствует нарисованному мной, а это вариант неуклюжий (хотя бы потому, что есть пересекающиеся линии :))
Название: Re: Activity + хранилище данных с выдачей ID
Отправлено: [прилетело НЛО и...] от 05 Августа 2016, 13:02:22
Недочёт диаграммы видится в том, что сохранение "происходит" в двух узлах. Т. е. Вы завели узел действия "Сохранение с присвоением" и объектный узел datastore, семантика которого состоит в том, чтобы сохранять. Налицо дублирование. Про то, где пролегает граница между добавлением и сохранением судить не берусь, отмечу лишь, что и тут видится неоднозначность, т. к. в каком-то смысле каждый входящий  в datastore объектный токен "добавляется" к его содержимому.
Второе замечание относится к тому, что на исходящие из datastore потоки нужно явно повесить select-ы, чтобы было видно, что из всех предлагаемых datastore токенов выбирается тот, id которого совпадает с только что добавленным. Без select-ов диаграмму можно трактовать так, что после каждого добавления на "дальнейшие действия" направляется всё, что накопилось в datastore.
Итого: добавление datastore на диаграмму лишь затруднило её прочтение [с оглядкой на стандарт].
Название: Re: Activity + хранилище данных с выдачей ID
Отправлено: Ukridge от 15 Августа 2016, 09:26:36
М-да.

Вообще, прихожу к выводу, что <<datastore>> так назван очень самонадеянно, т.к. это лишь некий своеобразный, ухудшенный аналог глобальных переменных.