DRAKON.SU
https://forum.drakon.su/

[Помощь зала] Как отобразить таблицу решений в ДРАКОН-схемы?
https://forum.drakon.su/viewtopic.php?f=78&t=5489
Страница 2 из 2

Автор:  Ильченко Эдуард [ Четверг, 15 Октябрь, 2015 12:17 ]
Заголовок сообщения:  Re: [Помощь зала] Как отобразить таблицу решений в ДРАКОН-сх

Alexey_Donskoy писал(а):
Ильченко Эдуард, всё развлекаетесь?
Да, а шо?

Alexey_Donskoy писал(а):
Разберите вон лучше телевизор и наслаждайтесь красивым видом печатных плат.
Пройденный этап : )

Alexey_Donskoy писал(а):
Вот это всё, что тут наворотили, ВООБЩЕ НИКОМУ ПОКАЗЫВАТЬ НЕ НАДО (тем более "заказчику, далёкому от программирования").
Потому что это совершенно внутренний, технический вопрос, который не содержит полезного человеку знания и по идее не нужен человеку для работы.
Всё это должно делаться автоматически, системой программирования, которая поддерживает декларативные описания вроде таблицы решений или логической схемы.
Мы не знаем, что скрывается за буквенными обозначениями X, Y, F, P, B. Возможно, вполне человекопонятные вещи, доступные заказчику. А теперь и наглядно доступные : )
Ну и вообще, причём здесь программирование? Заказчик должен знать, что происходит в его системе. Видит две записи: таблицу и схему-силуэт. Как Вы думаете, где информация представлена нагляднее-понятнее?

Alexey_Donskoy писал(а):
Вся беда здешних любителей алгоритмов в том, что они сути своей деятельности не понимают.
Вам то тогда откуда знать суть их деятельности, чтобы советы давать?

Автор:  Ильченко Эдуард [ Четверг, 15 Октябрь, 2015 13:58 ]
Заголовок сообщения:  Re: [Помощь зала] Как отобразить таблицу решений в ДРАКОН-сх

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

Автор:  Alexey_Donskoy [ Четверг, 15 Октябрь, 2015 14:42 ]
Заголовок сообщения:  Re: [Помощь зала] Как отобразить таблицу решений в ДРАКОН-сх

andr писал(а):
Вы известный в наших на этом форуме кругах жесткий критик Дракон-системы и ее программной поддержки.
Это не совсем верно.
Я критикую попытки неадекватного, неуместного использования инструмента. И необоснованные претензии сделать из инструмента панацею.

Цитата:
Здесь могут быть такие заказчики...
Разумеется, мы не берём адекватные случаи - когда обсуждаются вопросы программной реализации, например, и т.п.

Обычно иерархия понятий такова.
- язык для заказчика: найдём численное решение;
- язык технического задания: составим и решим квадратное уравнение;
- язык кодировщика: 1) высислим дискриминант, 2) найдём оба корня... эй, а как ошибки с отрицательным корнем обрабатывать?

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

Цитата:
Как здешний большой любитель алгоритмов спешу доложить, что кое-что соображаю-таки в своей деятельности.
"Кое-что соображать" и "адекватно понимать смысл" - вещи разные.
Выше говорил, и ещё раз повторю: все проблемы, о которых я говорю, рождаются при неадекватных попытках выйти из сферы своей деятельности со своим стандартным подходом. То есть либо пытаться решить чужую задачу привычным для себя инструментом, либо, наоборот, под влиянием рекламы попробовать чужой инструмент, не понимая, что здесь он неуместен.


Ильченко Эдуард писал(а):
Alexey_Donskoy писал(а):
Ильченко Эдуард, всё развлекаетесь?
Да, а шо?
Я оценил элегантность примера, показывающего наглядность алгоритма и неудобство ТР.
Но квалифицирую это как демагогию (ну, развлечение, если угодно). ;)
Почему?
Да потому что уводит в сторону от сути и смысла.
И шутку кто-то может воспринять всерьёз.

Цитата:
Заказчик должен знать, что происходит в его системе.
Повторю сказанное выше: знать, что происходит - не означает знать, что происходит правильно.

Цитата:
Вам то тогда откуда знать суть их деятельности, чтобы советы давать?
Метаинформация. ;)
Методологический подход.
В увлечении красивыми наглядностями о нём так заманчиво забыть.

Автор:  Роман М. [ Четверг, 15 Октябрь, 2015 17:17 ]
Заголовок сообщения:  Re: [Помощь зала] Как отобразить таблицу решений в ДРАКОН-сх

Alexey_Donskoy писал(а):
hothing писал(а):
Мне вот эту таблицу принятия решений надо показать людям весьма далеким от информатики.
Компактнее, нагляднее и удобнее таблицы решений как таковой ничего не придумаешь.
Не надо притягивать за уши алгоритмические решения, какими бы они ни были.
По очень простой причине - это совершенно разные вещи!

Таблица решений даёт полное описание задачи - все состояния и решения.

Алгоритм возникает исключительно как попытка оптимизировать исполнение этой таблицы.
И делать это можно самыми различными способами.

Таблица содержит ЗНАНИЕ о предметной области.
Любое алгоритмическое её решение содержит СПОСОБ работы с этим знанием.

Таблица первична, алгоритм вторичен.
Объяснять знание с помощью алгоритма здесь просто методически неверно.

Согласен с Алексеем.
Нет смысла отображать таблицу решений в другой нотации. Получится только хуже.
Таблица решений и есть самая оптимальная форма для обмена знаниями для данного случая.

P.S.
У меня таблицы решений почему-то ассоциируются с картами Карно - для минимизации логических функций.

Автор:  Ильченко Эдуард [ Четверг, 15 Октябрь, 2015 17:51 ]
Заголовок сообщения:  Re: [Помощь зала] Как отобразить таблицу решений в ДРАКОН-сх

Alexey_Donskoy писал(а):
Цитата:
Заказчик должен знать, что происходит в его системе.
Повторю сказанное выше: знать, что происходит - не означает знать, что происходит правильно.

Каков критерий правильности?

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

Автор:  Ильченко Эдуард [ Четверг, 15 Октябрь, 2015 17:57 ]
Заголовок сообщения:  Re: [Помощь зала] Как отобразить таблицу решений в ДРАКОН-сх

Роман М. писал(а):
Нет смысла отображать таблицу решений в другой нотации. Получится только хуже.
Таблица решений и есть самая оптимальная форма для обмена знаниями для данного случая.

Здесь хорошо бы узнать мнение заказчика.

Таблица решений хороша для учёта всех значений.
А силуэт для понимания (не разработчиком этой таблицы) что происходит при разных значениях,
хотя бы потому, что все комбинации значений, приводящие к одному и тому же результату, собраны в одном месте.

Автор:  Alexey_Donskoy [ Четверг, 15 Октябрь, 2015 21:56 ]
Заголовок сообщения:  Re: [Помощь зала] Как отобразить таблицу решений в ДРАКОН-сх

Ильченко Эдуард писал(а):
Каков критерий правильности?
В данном случае прежде всего - полнота анализа.

Цитата:
Если заказчик знает, что происходит в его системе и это соответствует его ожиданиям, то система работает правильно.
Угу. Как называется такой вариант "тестирования": ;)

Цитата:
Таблица решений - для разработки. Силуэт - для демонстрации.
Вот так можно, да.

Автор:  Степан Митькин [ Вторник, 20 Октябрь, 2015 13:16 ]
Заголовок сообщения:  Ветвление алгоритма

Есть фундаментальная проблема: как отобразить ветвление алгоритма?

Для вопросов, на которые можно ответить "да" или "нет", всё просто.
В ДРАКОНе для этого есть икона "Вопрос".

Если ответов несколько, следует взять икону "Выбор".

Если ответов много, лучше применять таблицы принятия решений.

Очень большие таблицы, где сотни и тысячи строк, нельзя вместить в диаграмме.
Для просмотра таких огромных таблиц требуются специальные средства.
Эти средства должны уметь быстро фильтровать и сортировать таблицу.

Но если строк не так уж и много (меньше 50, например), то таблицу принятия решений можно вставить в ДРАКОН-схему.
Это позволит убить двух зайцев:
1. Ветвление с большим количеством выходов отображается наглядно — при помощи таблицы.
2. Не нужно переключаться на другое окно для чтения таблицы. Она прям в диаграмме.

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

Уважаемые коллеги, как вам такое моё предложение?

Вложения:
Как-отобразить-ветвление(1).png
Как-отобразить-ветвление(1).png [ 23.44 КБ | Просмотров: 10702 ]

Автор:  Степан Митькин [ Вторник, 20 Октябрь, 2015 13:24 ]
Заголовок сообщения:  Пример таблицы принятия решений внутри ДРАКОН-схемы

Вот пример таблицы принятия решений, вставленной внутрь ДРАКОН-схемы.
Данная схема содержит алгоритм обработки мышиных событий в графическом редакторе.
Это задача из реальной жизни, как любит Эдуард Ильченко.

Как заметили самые внимательные читатели, это конечный автомат. :)

Входные параметры:
Состояние? — текущее состояние обработчика.
Событие? — событие мыши, полученное от операционной системы.

Выходные параметры:
Действие! — процедуру, которую следует выполнить для комбинации данного состояния и события.
Следующее! — следующее состояние обработчика.

Вложения:
drakon-table.png
drakon-table.png [ 48.35 КБ | Просмотров: 10701 ]

Автор:  Степан Митькин [ Вторник, 20 Октябрь, 2015 13:29 ]
Заголовок сообщения:  Re: [Помощь зала] Как отобразить таблицу решений в ДРАКОН-сх

Таблицы принятия решений вовсе не должны означать наличие конечного автомата.
Более того, они пригодятся не только для программирования.

Рассмотрим действия водителя по дорожным знакам.
В таблицах на данной картинке имеет смысл поместить также и внешний вид знаков.

Вложения:
trafikkskilt.png
trafikkskilt.png [ 85.29 КБ | Просмотров: 10701 ]

Автор:  Владимир Паронджанов [ Вторник, 20 Октябрь, 2015 13:54 ]
Заголовок сообщения:  Re: Пример таблицы принятия решений внутри ДРАКОН-схемы

Степан Митькин писал(а):
Вот пример таблицы принятия решений, вставленной внутрь ДРАКОН-схемы.
Данная схема содержит алгоритм обработки мышиных событий в графическом редакторе.
Это задача из реальной жизни, как любит Эдуард Ильченко.

Степан, большое спасибо. Вы открываете новую эру — эру таблиц.

У меня два замечания.

Замечание 1. Чтобы таблица вписалась в дракон-схему, она должна быть небольшой.
Как это сделать?
Очень просто. Приведу примеры, как я это понимаю.

а) оставить два левых столбца, а два правых убрать. Но если щелкнуть, они появятся.

б)оставить шесть строк, а остальные убрать. В шестой строке написать "Читать дальше"
(Read more). Если щелкнуть, появятся все строки.

Замечание 2. В заголовке таблицы убрать знаки препинания, это перебор

Автор:  Alexey_Donskoy [ Вторник, 20 Октябрь, 2015 15:33 ]
Заголовок сообщения:  Re: Пример таблицы принятия решений внутри ДРАКОН-схемы

Степан Митькин писал(а):
Вот пример таблицы принятия решений, вставленной внутрь ДРАКОН-схемы.
По-моему, разветвляться для определения состояний, а потом сливаться в общую таблицу, где состояния перемешаны друг с другом - верх конгитивного безобразия.

Разделили состояния - так разделили. Это уже большое дело. С ними дальше и работаем. По отдельности.

Автор:  Степан Митькин [ Вторник, 20 Октябрь, 2015 16:00 ]
Заголовок сообщения:  Re: Пример таблицы принятия решений внутри ДРАКОН-схемы

Alexey_Donskoy писал(а):
Разделили состояния - так разделили. Это уже большое дело. С ними дальше и работаем. По отдельности.

Да, это верное замечание.

Автор:  Рэйлвэй Каген [ Вторник, 20 Октябрь, 2015 20:18 ]
Заголовок сообщения:  Re: Пример таблицы принятия решений внутри ДРАКОН-схемы

Степан Митькин писал(а):
Вот пример таблицы принятия решений, вставленной внутрь ДРАКОН-схемы.
Степан, у Вас же было замечательное решение с лямбдами на for. Я немного пофотошопил. Надеюсь, не за гранью разумного :)
Ну и "Полки" использовать для задания именованных таблиц. Тогда, в сложных случаях, их имена можно будет просто писать внизу форыча.
Вложение:
drakon-table-for.png
drakon-table-for.png [ 56.69 КБ | Просмотров: 10670 ]

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/