обработка данных

Нажмите сюда, если долго загружается,
либо "ESC" - отмена
 
Заказ обратного звонка
Заказать звонок
Наш специалист свяжется с Вами и ответит на все вопросы
Обработка данных
Наш специалист свяжется с Вами и ответит на все вопросы.
OK

Марк Мельник: Как давать определения

Источник: https://habrahabr.ru
Время чтения: ~12 мин
Марк Мельник: Как давать определения
Статьи
633
Изображение носит иллюстрационный характер. Источник: esin-expert.ru
Есть определенные правила, которые необходимо соблюдать, когда мы даем определение понятию. Я познакомился с этими правилами давно. Спасибо отцу! Когда-то он подарил мне книгу Сахарного Л.В. Как устроен наш язык. Книга написана для детей и потому очень понятна и проста:
Марк Мельник: Как давать определения
Обложка книги "Как устроен наш язык" Сахарного Л.В. Источник: habrahabr.ru
Поскольку как аналитики мы вынуждены давать определения постоянно, неплохо было вспомнить эти правила.

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

Я видел множество определений процесса, каждое из которых противоречит другому. Вот одно из них:
Процесс — это совокупность последовательных действий, направленных на достижение определенного результата.
Причина противоречий в том, что одним термин «процесс» обозначает очень много разных понятий (я досчитал в свое время до 30-ти и остановился), а определений ему стараются дать только одно. Если бы все они были перечислены отдельно, было бы 30 определений разных понятий, обозначенных одним словом.

Хорошо, если слово имеет всего несколько смыслов, которые легко читаются из контекста. Например, смысл термина «коса» легко угадывается из контекста. Значения этого термина украшают книгу Сахарного.

Хуже, если из контекста мы не можем понять, о каком понятии идет речь. Их место в проектировании информационных систем. Проблема его в том, что не ясно, что сейчас имеется ввиду: объект, или множество объектов, потому что и то и другое обозначено одним именем: конструкция. Например, если сказать, что взвод окопался, то понятно, что в данном контексте речь идет о системе взвод, рассматриваемом нами как объект. Если же сказать, что взвод состоит из 20 бойцов, то речь идет о взводе, который рассматривается нами как множество объектов. При этом первое значение термина «взвод» никак не связано со вторым значением того же слова «взвод». Однако, если не уточнять контекст, то невозможно понять, о чем сейчас идет речь: о множестве, или об объекте? Как сказал наш знакомый филолог, тема известная, и произошло так не случайно. Чтобы не перегружать язык лишними терминами, некоторые из них могут обозначать разные понятия. Однако, при формализации высказываний, мы сталкиваемся с трудностями перевода, поскольку тут мы вынуждены различать их явно.

Еще хуже, когда понятий два, а определение одно, как произошло с термином система. У системных инженеров отняли одно из определений термина система, и я не знаю, как они теперь их различают. И совсем плохо, когда понятий много, а определение одно, как у термина процесс. Это и функция, и функциональная структура, и класс функций, и тип функций, и операция, и последовательность операций, и типовая последовательность операций, и класс последовательностей операций, и класс операций и тд. В итоге, почти все, кто занимаются процессным подходом, не могут отличить функцию от сценария, не могут сказать, что они моделируют при помощи нотации IDEF0, чем модели в нотации IDEF0 отличаются от моделей в нотации BPMN, а модели в нотации BPMN от диаграмм Ганта. Поэтому каждый раз, когда я слышу этот термин, сильно напрягаюсь, потому что для его перевода мне приходится одновременно держать в сознании все множество возможных понятий, чтобы из контекста понять, о чем сейчас говорит собеседник. Очень часто собеседник использует термин процесс в разных смыслах, иногда в одном предложении. Понять такого собеседника невозможно, а разговор можно прекращать. Есть и другая ошибка, когда термин процесс, обозначающий функцию, противопоставляют термину функция, обозначающему функцию. И говорят буквально следующее: видите, функция — это плохо, а процесс (в смысле функции) — хорошо. Фактически, на этой эквилибристике терминами основана манипуляция с «изобретением» процессного подхода в управлении. О том, как это выглядит со стороны, я расскажу в отдельной статье, ведь теперь, после определения термина конструкция, у нас есть все необходимое для этого. В данной статье я рассмотрю лишь небольшой фрагмент, касающийся определения термина «процесс» в той его части, которая перекликается с текущей темой разговора: конструкциями и правилами подачи определений.

Напомню, что процессом мы решили называть совокупность последовательных действий, направленных на достижение определенного результата. Совокупность, состав и проч. — это обозначение множества. То есть, в данном определении процесс определен как множество объектов — действий. Сам термин действие не прост, но мы пока оставим его в стороне. Пока посмотрим на следующий тезис: множество действий кем-то направлено на достижение результата. Понятно, что множество не может обладать таким свойством. Множество может обладать свойствами: количество элементов в множестве, средняя продолжительность действий, входящих в данное множество и тд. (Это ровно то же, что мы видели в определении термина поезд. Это — множество вагонов, ведомых локомотивом. Понятно, что множество не может двигаться. Двигаться могут элементы этого множества, или синтезированный из этого множества объект. Когда мы говорим, что поезд движется, мы имеем ввиду, что движется объект, а не множество). В определении процесса направить на результат можно лишь тот объект, который синтезирован из последовательности действий. Следовательно, когда речь идет о направлении объекта на результат, имелся ввиду процесс как объект. Получается, что процессу, как объекту определение не дано, а ссылка на него имеется. Узнаете проблему с определением системы? Термины система, конструкция, процесс одновременно обозначают и множество объектов, и объект. Если в определении конструкции эти понятия разведены, то в определении системы, а теперь, как мы видим, и процесса — они слиты в одном флаконе. Но не стоит пенять только на эти определения. Все определения в словарях грешат этим. В них дается только одно определение термина, но не указывается другое. Например, когда говорят, что самолет — это транспортное средство, не говорят, что самолет — это множество {хвост, фюзеляж, крылья, шасси, моторы}. Когда говорят, что поезд — это множество вагонов, не говорят, что поезд — это транспортное средство. Наш знакомый филолог подтвердил, что в лексикографии эта проблема известна. Если она известна филологам, то почему мы о ней ничего не знаем? И как наше незнание влияет на то, как мы строим модели?

Синтез самолета как множества порождает самолет как объект. Синтез поезда как множества вагонов порождает поезд как объект. Синтез последовательности действий порождает что? Что такое процесс как объект? Для себя я решил, что это действие. То есть, как функции при синтезе порождают функции, так и действия при синтезе порождают действия. По аналогии с конструкцией процесс определяет два разных понятия:
1. Процесс — это множество последовательных действий, синтез которых образует действие, направленное кем-то на достижение определенного результата.
2. Процесс — это действие, направленное кем-то на достижение определенного результата, конструкция которого может быть представлена в виде множества действий.
Поскольку любое действие можно разделить на действия, то второе определение можно упростить. Получится:
Процесс — это действие, направленное кем-то на достижение определенного результата.
Мы получили ту же проблему, что и с определением термина система. Как мы выяснили, все объекты — это системы, а теперь мы поняли, что все действия — это процессы. Именно поэтому я бы не стал бы называть системой объект, а действие процессом. Я бы сказал, что есть объекты и их конструкции. Тогда мы смогли бы давать разные определения самолету и его конструкции, поезду и его конструкции явно.

Разобравшись с первой задачей, перейдем ко второй. Нам надо определить, что значит «направленное кем-то на достижение определенного результата»? То есть, в определении явно заложена субъективная точка зрения. Кто-то должен нам сказать, направлено ли данное действие на достижение результата, или нет? В любом определении есть ссылка на субъект. Например, плавательное средство — это объект, на котором можно плавать. Но кто решает, можно ли плавать на объекте? Какой-то субъект. До тех пор, пока все сходятся в том, что на данном объекте можно плавать, мы можем отнести его к плавательным средствам. Но как только появляется субъект, который скажет, что этого делать нельзя, у нас возникнет проблема: можно ли назвать этот объект плавательным средством, или нельзя? Если в плавательным средством мы можем еще договориться и случаи, когда лодку не признают плавсредством, можно пересчитать по пальцам, то с действиями все не так однозначно. Часто можно услышать что действие, со стороны одного стейкхолдера проекта считается полезным, а с точки зрения другого — нет. Если действие бесполезно, то его нельзя назвать процессом. Получается, что действие в одной ИС может одновременно быть и процессом и не быть оным. Ничего страшного в этом нет, но представьте себе ситуацию, когда заказчик знает, что действие бессмысленно, вредно, но он просит нас автоматизировать его. Может он идиот? Не знаю. Но как нам назвать то, что он просит нас автоматизировать? Процессом уже нельзя. Как называется действие, не направленное никем никуда?

Пришла пора вспомнить книгу Сахарного. Он пишет, что для определения нового понятия мы должны:
1. Назвать надкласс объектов. Например, мы говорим, что стул – это мебель. Мебель — это более широкий класс объектов, чем класс стульев.
2. Указать отличительные особенности (дифференциальные свойства) объектов данного класса от объектов более общего класса. Например, стул – это объект, у которого есть четыре ножки и спинка.
3. Описать класс задач, выполняемых функций и тд., решаемые (выполняемые) этими объектами: стул предназначен для сидения. Эти задачи должны объяснить, зачем были выделены указанные ранее дифференциальные признаки: 4 ножки – для устойчивости (а почему не три?) спинка – чтобы не напрягать спину при сидении на стуле и тд.
4. Описать ограничения, которые накладывают дифференциальные признаки на решаемые задачи, выполняемые функции. Например, в стуле нельзя хранить вещи.
Пример хорошего определения -это определение материальной точки, данное в физике. Материальная точка – это материальный объект, чьим размером в рамках решаемой задачи можно пренебречь.

1. Надкласс – это материальные объекты.
2. Дифференциальные свойства: с точки зрения субъекта размер материального тела равен нулю в отличие от других тел.
3. Решаемая задача – расчет траектории движения материального тела. Причина дифференциального свойства – упрощение вычислений.
4. Ограничения перечислять не буду, потому что в хороших учебниках физики много времени уделяется вопросу, когда можно представить материальное тело в виде точки, а когда – нет.

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

Вернемся к определению процесса. Напомню, что Процесс — это действие, направленное кем-то на достижение результата.

1. Надкласс процессов — класс действий
2. Дифференциальный признак — направленность на достижение результата.
3. Цель введения дифференциального признака мне неизвестна. Круг задач, которые помогает решить этот признак, — тоже не ясен.
4. Ограничения: если два стейкхолдера не сходятся во мнении насчет полезности действия, его нельзя назвать процессом.

Что меня смущает в этом определении? То, что не ясен гешефт от ограничения, накладываемого на действие: направленность на результат? Какой класс задач решается проще, если мы себя ограничиваем этим довольно тесным ограничением? Ответ: никакой! То есть ограничение есть, а гешефта — нет. Бессмысленное и вредное ограничение. Вот к этому тезису я подводил вас все это время. Есть определения, которые не дают нам ничего, кроме проблем. Они бессмысленны и контрпродуктивны. Нет смысла вводить ограничение, если оно нам не помогает решить наши задачи.
Поделиться
Поделиться
Поделиться
Поделиться
Поделиться
Поделиться
Поделиться
Подписка на новости. Получайте важное первым
ПОДПИСАТЬСЯ