DRAKON.SU

Текущее время: Четверг, 28 Март, 2024 22:08

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: Вторник, 15 Сентябрь, 2009 15:14 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
ЧТО ТАКОЕ ЭРГОНОМИЧЕСКАЯ ОПТИМИЗАЦИЯ?

Эргономическая оптимизация дракон-схем "силуэт"-- это графическое
преобразование веток силуэта, при котором:
-- алгоритмическая и программная часть дракон-схем не меняется;
-- производится дробление веток, при котором одна ветка заменяется
на две или три ветки с целью их упрощения.

ПОСТУЛАТ

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

ПРИМЕР

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

В качестве примера выбрана первая из четырех схем, приведенных в теме:
"Дракон для спецификаций: протокол XML-СУБД Sedna ".
http://forum.oberoncore.ru/viewtopic.php?f=62&t=1148

ВВЕДЕМ ТЕРМИНОЛОГИЮ

Исходная схема -- первая из четырех схем, приведенных в теме:
"Дракон для спецификаций: протокол XML-СУБД Sedna "
http://forum.oberoncore.ru/viewtopic.php?f=62&t=1148

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

ПОЯСНЕНИЕ

Исходная схема имеет три ветки:
-- инициация сессии;
-- холостой режим;
-- конец сессии.

Исходная схема
Изображение

Первые две ветки сложные (инициация сессии, холостой режим).
Третья ветка (конец сессии) -- простая. Она состоит всего из двух икон.

ЗАДАЧА

Задача состоит в том, чтобы упростить две сложные ветки
-- инициация сессии,
-- холостой режим.

РЕШЕНИЕ ЗАДАЧИ

Задача решается за два шага.

Шаг 1. Ветку "инициация сессии" делим на две ветки.
Шаг 2. Ветку "холостой режим" делим на две ветки.

После выполнения двух шагов исходная схема превращается
в преобразованную схему, содержащкю 5 веток.
Зато каждая ветка становится более простой.

ВЫВОД

Таким образом, хотя число веток увеличивается (с трех до пяти),
но в итоге задача становится более простой и более легкой для
понимания.


Вложения:
желтый цвет.png
желтый цвет.png [ 69.55 КБ | Просмотров: 15257 ]


Последний раз редактировалось Владимир Паронджанов Четверг, 17 Сентябрь, 2009 11:09, всего редактировалось 7 раз(а).
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Сентябрь, 2009 15:54 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
ПОЯСНЕНИЕ К РИСУНКУ

1. На рисунке показаны четыре широкие ритмические линии. Каждая ритмическя линия отделяет
ветки друг от друга. Промежуток между ветками облегчает чтение.

2. Рассмотрим первую ветку исходной дракон-схемы. Это двухадресная ветка.
Первый адрес "Холостой режим".
Второй адрес "Конец сессии".

3. Первая ветка исходной схемы делится на две части следующим образом.
Из иконы "вопрос" ПОДКЛЮЧЕНИЕ ВОЗМОЖНО? выходим по да.
Эту точку обозначим W.

4. Точка W играет двоякую роль.
В преобразованной схеме в первой ветке точка W помещается в икону адрес.
В преобразованной схеме точка W начинает вторую ветку.

5. Обозначение КС означает Конец сессии.

6. Обозначение ХР означает Холостой режим

7. Вторая ветка исходной схемы делится на две части следующим образом.
Из правого выхода иконы "вариант" se_CloseConnection выходим в точку ZZ.

8. Точка ZZ играет двоякую роль.
В преобразованной схеме в третьей ветке точка ZZ помещается в икону адрес.
В преобразованной схеме точка ZZ начинает четвертую ветку.

9. Обозначение КС означает Конец сессии.

ВЫВОД

Чтобы облегчить чтение веток силуэта, надо:
-- отделять ветки друг отдруга широкими ритмическими полосами;
-- преобразовывать сложные и громоздкие ветки в простые и удобные для чтения;
для этого надо заменять сложную ветку на две или три простых.

Вложение:
без цвета.png
без цвета.png [ 29.98 КБ | Просмотров: 15254 ]


ГРАФИЧЕСКАЯ ОШИБКА

В исходной схеме во второй ветке есть две иконы вопрос:
--Администратор остановил базу?
--Произошла аварийная отановка базы?

Ошибка заключется в том, что нижняя вертикаль присоединена к правой иконе вопрос.
Это неверно. Нижняя вертикаль должа быть присоединена к ЛЕВОЙ иконе вопрос.

Чтобы убедиться в этом, посмотрите на третью ветку преобразованной схемы.


Последний раз редактировалось Владимир Паронджанов Четверг, 17 Сентябрь, 2009 11:39, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Сентябрь, 2009 17:11 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Ярослав Романченко писал:

Цитата:
Красиво! Но, я честно-говоря побольше-бы сделал веток

viewtopic.php?p=18504#p18504

Это был комментарий Ярослава к теме "Дракон для спецификаций: протокол XML-СУБД Sedna"

С учетом этого, предлагаю называть изложенное выше правило
(о целесообразности дробления веток для повышения их наглядности)
ПРАВИЛОМ ЯРОСЛАВА РОМАНЧЕНКО


Последний раз редактировалось Владимир Паронджанов Четверг, 17 Сентябрь, 2009 11:21, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 16 Сентябрь, 2009 07:49 

Зарегистрирован: Вторник, 18 Август, 2009 12:34
Сообщения: 17
Откуда: Липецк
Согласен с Владимиром Даниэлевичем. В данном варианте алгоритм становится даже яснее. Это подтверждается также и тем, что вновь получившимся веткам удается дать осмысленные названия. Ветку W я бы назвал "Авторизация", а ветку ZZ "Закрытие сессии". Однако далеко не всегда можно без ущерба для понимания разбить алгоритм на такие равномерные и однородные кусочки. Поэтому я бы предложил делать так: выделять в длинной ветке часть, которой можно дать короткое наименование и выделять ее в отдельную ветку.
Дело тут осложняется также тем, что инструмент (и.с. ДРАКОН Г.Тышова) пока не так совершенен как хотелось бы и такие преобразования в нем делать довольно трудоемко. Кстати, Владимир Даниэлевич, а чем, если не секрет пользуетесь Вы, чтобы рисовать такие симпатичные иллюстрации?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 16 Сентябрь, 2009 17:44 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Alex_Bob писал(а):
Кстати, Владимир Даниелович, а чем, если не секрет пользуетесь Вы, чтобы рисовать такие симпатичные иллюстрации?


Уважаемый Alex_Bob!

Использую CorelDraw X3 (13 версия). Потом экспортирую в PNG (для OberonCore).
Почему Corel? Потому что я делаю иллюстрации к моим книгам сам. И мне нужны иллюстрации высокого качества и высокой точности.
Освоив Corel, использую его и в некоторых других случаях.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 17 Сентябрь, 2009 10:31 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
СТАТИСТИКА ЭРГОНОМИЧЕСКОЙ ОПТИМИЗАЦИИ

Попытаемся отыскать количественный критерий эргономической
оптимизации (хотя бы в первом приближении).

ВВЕДЕМ ОБОЗНАЧЕНИЯ ДЛЯ ПЕРВОЙ ВЕТКИ ИСХОДНОЙ СХЕМЫ,
А ТАКЖЕ ДЛЯ ПЕРВОЙ И ВТОРОЙ ВЕТКИ ПРЕОБРАЗОВАННОЙ СХЕМЫ

P -- число икон в первой ветке исходной схемы
Q -- число икон в первой ветке преобразованной схемы
R -- число икон во второй ветке преобразованной схемы

ЧЕМУ РАВНО P?

Ответ P = 16
Число икон можно подсчитать в первой ветке здесь
viewtopic.php?p=18467#p18467

ЧЕМУ РАВНО Q?

Ответ P = 11
Число икон можно подсчитать в первой ветке (см. рисунок внизу)

ЧЕМУ РАВНО R?

Ответ R = 9
Число икон можно подсчитать во второй ветке (см. рисунок внизу)

ВВЕДЕМ ОБОЗНАЧЕНИЯ ДЛЯ ВТОРОЙ ВЕТКИ ИСХОДНОЙ СХЕМЫ,
А ТАКЖЕ ДЛЯ ТРЕТЬЕЙ И ЧЕТВЕРТОЙ ВЕТКИ ПРЕОБРАЗОВАННОЙ СХЕМЫ

S -- число икон во второй ветке исходной схемы
T -- число икон в третьей ветке преобразованной схемы
U -- число икон в четвертой ветке преобразованной схемы

ЧЕМУ РАВНО S?

Ответ S = 24
Число икон можно подсчитать во второй ветке здесь
viewtopic.php?p=18467#p18467

ЧЕМУ РАВНО T?

Ответ T = 18
Число икон можно подсчитать в третьей ветке (см. рисунок внизу)

ЧЕМУ РАВНО U?

Ответ U = 10
Число икон можно подсчитать во второй ветке (см. рисунок внизу)

Вложение:
без цвета.png
без цвета.png [ 29.98 КБ | Просмотров: 15247 ]


ВЫВОДЫ

1. Крупные ветки исходной схемы превратились в малые ветки
преобразованной схемы.

2. Первая ветка исходной схемы (17 икон) превратилась в две малые
ветки (11 икон и 9 икон соответственно).

3. Вторая ветка исходной схемы (24 иконы) превратилась в две малые
ветки (18 икон и 10 икон соответственно).

4. Уменьшение числа икон в преобразованных ветках делает ветки
более легкими для чтения.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 17 Сентябрь, 2009 17:21 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
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#p18467

8. Обработка второй точки обрыва (см. пункт 7) состоит в дублировании иконы адрес "Конец сессии".

9. Как производится дублирование иконы адрес "Конец сессии"?
Первая икона адрес "Конец сессии" помещается в первой ветке преобразованной схемы.
Вторая икона адрес "Конец сессии" помещается во второй ветке преобразованной схемы.
(см. рисунок ниже)


Вложения:
без цвета.png
без цвета.png [ 29.98 КБ | Просмотров: 15231 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Май, 2013 18:38 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Эта ветка не привлекла к себе внимания. А жаль.

Потому что эргономическая оптимизация дракон-схем — это важная вещь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 03 Май, 2013 18:50 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Вопрос деления веток в схеме Силуэт имеет практическое решение в ИС Дракон.

Деление ветки может производиться в процессе формирования алгоритма в целях:
1. Разделение ветки на отдельные функционально самостоятельные части,
2. Разделение чрезмерно большой ветки.

Предусмотрен контроль допустимости разрыва в выбранной точке. При разрыве не должна возникать связь между образовавшимися ветками минуя иконы Ветка и Адрес.

Есть и обратная операция по слиянию веток.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 14 Октябрь, 2013 14:09 

Зарегистрирован: Понедельник, 14 Октябрь, 2013 11:56
Сообщения: 34
Владимир Паронджанов писал(а):
Эта ветка не привлекла к себе внимания. А жаль.

Потому что эргономическая оптимизация дракон-схем — это важная вещь.


Ну почему же не привлекла. Очень интересно. Но есть только рисунки. Но нет файлов, которые можно сразу открыть на своем компьютере. И поработать с ними.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 30 Январь, 2014 18:13 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Пример эргономического замечания (см. внизу) viewtopic.php?p=85647#p85647

Цитата:
У меня вопрос к Степану Митькину. Мне кажется, что правило ритма и метра (по вертикали) не реализовано в должной степени. А именно: ритм перед иконой конец увеличен. Почему?

Еще два замечания.

1. Ширина иконы "Начало" должна быть равна или больше, чем ширина остальных икон. Но никак не меньше.

2. Роль иконы "Конец" преувеличена. По-моему, нужно уменьшить ее вдвое и по ширине, и раза в полтора по высоте.



Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 19 Апрель, 2018 17:41 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Эргономическая оптимизация дракон-схем,
точнее, эргономическая оптимизация алгоритмов —
это принципиально новая тема,
тема величайшей важности


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB