DRAKON.SU

Текущее время: Суббота, 27 Февраль, 2021 04:30

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




Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Четверг, 15 Октябрь, 2015 12:17 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Alexey_Donskoy писал(а):
Ильченко Эдуард, всё развлекаетесь?
Да, а шо?

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 15 Октябрь, 2015 13:58 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Отображение таблицы решений в силуэте позволило собрать все условия (для конкретного результата) в одном месте (ветке), как и сами результаты.
Что само по себе полезно.
Не нужно блудить взглядом по разным ячейкам таблицы, в попытке осознать, что же там происходит и в каких случаях.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 15 Октябрь, 2015 14:42 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1095
Откуда: Россия, Чебоксары
andr писал(а):
Вы известный в наших на этом форуме кругах жесткий критик Дракон-системы и ее программной поддержки.
Это не совсем верно.
Я критикую попытки неадекватного, неуместного использования инструмента. И необоснованные претензии сделать из инструмента панацею.

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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


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

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Alexey_Donskoy писал(а):
Цитата:
Заказчик должен знать, что происходит в его системе.
Повторю сказанное выше: знать, что происходит - не означает знать, что происходит правильно.

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

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


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

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Роман М. писал(а):
Нет смысла отображать таблицу решений в другой нотации. Получится только хуже.
Таблица решений и есть самая оптимальная форма для обмена знаниями для данного случая.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 15 Октябрь, 2015 21:56 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1095
Откуда: Россия, Чебоксары
Ильченко Эдуард писал(а):
Каков критерий правильности?
В данном случае прежде всего - полнота анализа.

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Ветвление алгоритма
СообщениеДобавлено: Вторник, 20 Октябрь, 2015 13:16 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 550
Есть фундаментальная проблема: как отобразить ветвление алгоритма?

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

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

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

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

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

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

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


Вложения:
Как-отобразить-ветвление(1).png
Как-отобразить-ветвление(1).png [ 23.44 КБ | Просмотров: 7118 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Октябрь, 2015 13:24 
Аватара пользователя

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

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

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

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


Вложения:
drakon-table.png
drakon-table.png [ 48.35 КБ | Просмотров: 7117 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Октябрь, 2015 13:29 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 550
Таблицы принятия решений вовсе не должны означать наличие конечного автомата.
Более того, они пригодятся не только для программирования.

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


Вложения:
trafikkskilt.png
trafikkskilt.png [ 85.29 КБ | Просмотров: 7117 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Октябрь, 2015 13:54 

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

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

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

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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Октябрь, 2015 15:33 
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Октябрь, 2015 16:00 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 550
Alexey_Donskoy писал(а):
Разделили состояния - так разделили. Это уже большое дело. С ними дальше и работаем. По отдельности.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Октябрь, 2015 20:18 

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2

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


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

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


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

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