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

×


Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - [прилетело НЛО и...]

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 »
376
Клевая ссылка, спасибо.
В стандартной метамодели UML нет места, чтобы запомнить isDerived у класса. Можно без экзотики написать инвариант, запрещающий плохие комбинации наследования.

377
Интересно. Не припомню примеров derived классов.

378
Как реализуется цикличность обработки каждой заявки?
Сначала скажу, что моя версия диаграммы лишь демонстрировала, как я представляю себе цикличность "процесса клиента". Она полна недостатков. Например, можно составить вариант с одним, а не двумя datastore. Есть и другие пробелы.
Теперь по Вашему вопросу:
Никак. Перемещение заявок съедает все предлагаемые ему объектные токены и токен управления и разом их переваривает, выдавая на выход кучу токенов перемещённых заявок. Если важно/нужно, чтобы заявки перемещались по одной, то нужен явный цикл (похожий на клиентский). То же самое справедливо для "обработать заявки".

379
Замечание о необязательности initial node оказалось невполне уместно. ;D Без него не получится сделать цикл. Примерный вид диаграммы во вложении.
Loop на диаграммах деятельности, как мне кажется, нужен лишь в тех случаях, когда планируется генерировать структурированный код по диаграмме. Сделать кодогенератор, который породит код "без goto" по диаграмме из вложения не так просто, как генератор по loop. BPMN не знаю, поэтому не комментирую.

380
Эх. Если нужен цикл, значит нужно придумывать, когда его начинать, а когда заканчивать.
"Accept-флажок" внутри деятельности может не иметь входящих потоков. Т. е. initial node для "процесса клиента" заводить не обязательно. Если нужно учитывать время приёма заявки, можно завести [decision node и] сторожевое условие.

381

... непонятно  насколько корректна такая ДА
С точки зрения стандарта UML 2.5, если каждый из 3 процессов стартует из своего начального узла (initial node), то в рамках моделируемой деятельности "процесс клиента", "процесс перемещения" и "процесс обработки" отработает по одному разу. Т. е., скорее всего, в "процессе клиента" должен быть цикл, иначе в течение выполнения всей большой деятельности клиент будет лишь один (не более одного) и datastore не понадобится для его единственной заявки. 

382
А правильные то примеры с двумя асинхронными процессами встречаются? С удовольствием бы глянул. А то я похоже выразительные возможности диаграммы активности недооценивал
Конечно, проще искать ошибки, чем предложить что-то конструктивное. Если уточните, что нужно, попробую представить. В каком-то смысле, для асинхронных процессов достаточно диаграммы с форком.

383
Порекомендуйте пожалуйста, как можно улучшить понятность описания алгоритма?
Вы описываете алгоритм так, как-будто он -- сценарий. А он не сценарий. Используйте язык с полноценными "если-то-иначе" и понятность повысится.

384
Рисунок 19.9 из книжки про старый UML и на нём недостаёт одной стрелки, а другая нарисована сплошной вместо пунктирной.
Примеры по второй ссылке также не удачны (ЦБ с одним входным потоком и одним выходным; отсутствие select-а на потоке, идущем из datastore в "Обработать заказ").

385
Недочёт диаграммы видится в том, что сохранение "происходит" в двух узлах. Т. е. Вы завели узел действия "Сохранение с присвоением" и объектный узел datastore, семантика которого состоит в том, чтобы сохранять. Налицо дублирование. Про то, где пролегает граница между добавлением и сохранением судить не берусь, отмечу лишь, что и тут видится неоднозначность, т. к. в каком-то смысле каждый входящий  в datastore объектный токен "добавляется" к его содержимому.
Второе замечание относится к тому, что на исходящие из datastore потоки нужно явно повесить select-ы, чтобы было видно, что из всех предлагаемых datastore токенов выбирается тот, id которого совпадает с только что добавленным. Без select-ов диаграмму можно трактовать так, что после каждого добавления на "дальнейшие действия" направляется всё, что накопилось в datastore.
Итого: добавление datastore на диаграмму лишь затруднило её прочтение [с оглядкой на стандарт].

386
Ни ухом ни рылом в EA. Обычный приём для отображения на диаграмме -- заведение примечания.

387
Интересная ссылка, благодарю. Вот бы кто-нибудь не пошёл вслед за стандартом, и вместо добавления псевдосостояний двинутся в сторону "композитных" переходов. Сравнили бы результаты.

388
Если расширительно толковать параграф 14.2.3.2, то можно остаться в самом A, рассматривая его как простое, некомпозитное, раз внутри какая-то фигня.)

389
Если пуста, то не нужно проводить переходы к границе A.
С другой стороны, можно иметь в виду "запасной вариант", упоминаемый в стандарте. Когда неясно куда именно идти внутри A, тогда идём в само A, не углубляясь.

390
Не уловил.
Стандарт говорит, что initial transition является external transition. Буковки E и F у меня попутались. Указанное ограничение странно написано, но опять таки скобки у меня попутались. Рамбо в книжке интервью резко отзывался об IBM.
Приношу всем свои извинения.

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 »