Alex_Bob писал(а):
Согласен с Владимиром Даниеловичем. В данном варианте алгоритм становится даже яснее. Это подтверждается также и тем, что вновь получившимся веткам удается дать осмысленные названия. Ветку W я бы назвал "Авторизация", а ветку ZZ "Закрытие сессии".
Согласен.
Alex_Bob писал(а):
Однако далеко не всегда можно без ущерба для понимания разбить алгоритм на такие равномерные и однородные кусочки.
Не согласен вот в чем. При делении ветки на части надо постараться найти МИНИМАЛЬНОЕ ЧИСЛО точек обрыва. Если удастся минимизировать число точек обрыва, то ущерба для понимания, наверно, не будет.
А равномерные и однородные кусочки, скорее всего, не играют большую роль.
Alex_Bob писал(а):
Поэтому я бы предложил делать так: выделять в длинной ветке часть, которой можно дать короткое наименование и выделять ее в отдельную ветку.
Не согласен вот в чем. При делении ветки на части надо постараться найти МИНИМАЛЬНОЕ ЧИСЛО точек обрыва. Если удастся минимизировать число точек обрыва, то все будет хорошо.
А выделять в длинной ветке часть, которой можно дать короткое наименование -- это не суть важно. Важно, чтобы название было не КОРОТКОЕ, а ОСМЫСЛЕННОЕ.
ПОЯСНЕНИЕ 1 (ОДНА ТОЧКА ОБРЫВА)Простейший случай -- если точка обрыва одна. В этой точке и надо рвать ветку на две части.
Верхняя часть исходной ветки превратится в первую ветку преобразованной схемы.
Нижняя часть исходной ветки превратится во вторую ветку преобразованной схемы.
ПОЯСНЕНИЕ 2 (ДВЕ ТОЧКИ ОБРЫВА)1. Более сложный случай -- если точек обрыва две. Первую точку обозначим W. В точке W надо разорвать ветку на две части. О точке W см. ниже.
2. Рассмотрим первую ветку исходной дракон-схемы.
viewtopic.php?p=18467#p18467Это двухадресная ветка.
Первый адрес "Холостой режим".
Второй адрес "Конец сессии".
3. Первая ветка исходной схемы делится на две части следующим образом.
Из иконы "вопрос" ПОДКЛЮЧЕНИЕ ВОЗМОЖНО? выходим по да.
Эту точку обозначим W.
4. Точка W играет двоякую роль.
В преобразованной схеме в первой ветке точка W помещается в икону адрес.
В преобразованной схеме точка W начинает вторую ветку.
5. Обозначение КС означает Конец сессии.
6. Обозначение ХР означает Холостой режим
7. Вторая точка обрыва -- это вход иконы адрес "Конец сессии" в первой ветке исходной схемы.
viewtopic.php?p=18467#p184678. Обработка второй точки обрыва (см. пункт 7) состоит в дублировании иконы адрес "Конец сессии".
9. Как производится дублирование иконы адрес "Конец сессии"?
Первая икона адрес "Конец сессии" помещается в первой ветке преобразованной схемы.
Вторая икона адрес "Конец сессии" помещается во второй ветке преобразованной схемы.
(см. рисунок ниже)