Пользователь
0,0
рейтинг
8 декабря 2014 в 15:46

Разработка → В поисках Святого Грааля бизнес-анализа

Пою что вижу, или вижу, что пою?


Основная задача бизнес-аналитика при разработке нового ПО – изучение предметной области и формальное описание полученных сведений в виде модели (Domain Model). Аналитик должен петь то, что он видит и то, что он хочет увидеть. Для этого у него должен быть язык, на котором он исполнит свою песню. Однако, аналитик не всегда знаком с подходящим языком, и потому часто пользуется другими языками. Отчасти это происходит по причине того, что управление проектом ведется не с точки зрения предметной области, а с точки зрения реализации. И тогда с аналитиком может произойти несчастье: он может перестать видеть то, что надо петь и начать видеть лишь то, для чего есть слова в словарном запасе используемого им языка. Все остальное перестает для него существовать. Тогда, вместо того, чтобы петь, что он видит, аналитик начинает видеть то, что поет. Должен сразу заметить, я не против языков, я против сужения области анализа, которое возникает по причине недостаточности этих языков.

Структура таблицы



Что надо помнить?


Для изучения и описания предметной области аналитик должен знать:

  • Как мы мыслим?
  • Как мы структурируем результаты мышления? Для этого надо знать формальный язык, который подходит для записи результатов нашего мышления ФМ

Поскольку, для записи результатов у аналитика не всегда есть возможность использовать ФМ, то аналитик должен знать еще и это:

  • Области знаний, в которых существуют другие языки моделирования. Например, при помощи SQLможно создавать таблицы. Какие-то части этого языка могут быть отражены в ER модели. UML создан для моделирования программ, написанных на объектных языках программирования.
  • Как использовать язык, созданный для других целей, в рамках задачи моделирования предметной области? Для этого аналитик должен уметь отмаппиться с ФМ на другой язык. То есть, он должен понимать, как происходит перекладывание тех или иных конструкций, записанных на языке ФМ, в конструкции другого языка, например, UML.


Нерешенные проблемы


  • Существует разрыв между ФМ и языками моделирования, которые используются в программировании.
  • При этом есть претенденты на звание ФМ, но ни один из них пока не стал общепризнанным. Пока в программах ВУЗов нет курсов, посвященных этой теме. А пока нет темы, нет вопросов.

Следствие:

Принято считать, что языки UML, а также ER –модели можно использовать для моделирования предметных областей без ограничений. Поэтому аналитики пытаются моделировать предметную область в UML, или ER даже тогда, когда ограничения, накладываемые языком моделирования, не позволяют сделать это корректно.

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

Экскурс в историю


В Европе первым, кто попытался дать ответ на вопрос о том, как мы структурируем результаты нашего мышления, был Аристотель. Он решил, что наше сознание работает так: все предметы, которые мы видим, мы относим к определенным типам. Тип – это, по Аристотелю, перечень атрибутов, которыми описываются экземпляры этого типа. Каждый экземпляр представлен в модели упорядоченными значениями этих атрибутов. Предположение Аристотеля родилось на основании того, что запись об объектах нашего мира изначально велась в виде табличек с данными. Аристотель дал картину, но он не обладал теми знаниями, которыми мы обладаем сейчас, и потому его картина типов должна быть дополнена еще одним свойством. Это свойство я пока не озвучу, оставив его вам. Таким образом:

  • таблица – это свод знаний о типе и экземплярах этого типа
  • строка параметров — это тип
  • заголовок в строке параметров — это название параметра
  • строка значений – это экземпляр данного типа
  • значение в строке значений — конкретный признак данного экземпляра

Если вы видите пустую таблицу, значит перед вами тип и его описание, видите заполненную таблицу, то, помимо типа и его описания, — описание конкретных экземпляров этого типа. Такая картина приведена в начале статьи.

Также мы встречаем такие таблицы:



Что изображено на этой таблице? Ответ на вопрос можно дать двумя способами. И оба будут верны. Я дам вам самим подумать над вопросом: что моделирует эта таблица? И что значат данные в этой таблице?

Два разных значения одного и того же высказывания


В итоге Аристотель подарил нам термины: тип объектов и экземпляр типа объектов. Как только вы слышите термин экземпляр, значит, речь идет о типах. Например, пусть есть высказывание: «я держу экземпляр книги «Три мушкетера». Оно интерпретируется следующим образом: есть тип книг «Три мушкетера», и есть конкретный экземпляр этого типа объектов – конкретная книга. Данное высказывание может быть сокращено до: «Я держу книгу «Три мушкетера». Это высказывание может интерпретироваться уже двумя способами:

  • Можно сказать, что объект, который я держу в руках, имеет свойство. Это свойство объекта — быть книгой под названием «Три мушкетера (интенсиональный контекст)
  • Можно сказать, что перед нами объект (элемент) класса книг «Три мушкетера». Такое высказывание говорит об экстенсиональном контексте

В представлении Аристотеля мы работаем только в интенсиональном контексте, где все объекты имеют определенные свойства. Данный класс представлений зафиксирован в онтологическом стандарте MOF. На этом стандарте строится и ER-модели, и ООП. Вопрос: действительно ли данный метод типизации объектов дает нам представление о том, как мы мыслим и о том, как структурируем свои знания? Для того чтобы разобраться так ли это, нам понадобится провести эксперимент.

Сотрудники и эксперименты


Пусть есть группа сотрудников лаборатории экспериментальной физики, и серия экспериментов, которые проводят сотрудники лаборатории. Зададимся вопросом: как смоделировать в терминах Аристотелевской логики эту предметную область? Первое, что приходит на ум, — это у каждого сотрудника завести признак «Эксперимент», дата начала и дата конца, в которых будет прописано, с какое время по какое и в каком эксперименте занят сотрудник. То есть, в логике Аристотеля эксперимент стал бы признаком сотрудника. Это значит, что на вопрос «Это какой сотрудник?» можно ответить: «Занятый в эксперименте».



Ровно до тех пор, пока сотрудник не станет работать над двумя экспериментами сразу. Тогда мы не сможем завести параметр «Эксперимент», потому что отношения между сотрудниками и экспериментами сразу становятся многие ко многим.
Моделировать эту связь в терминах признаков уже не удается. Придется создавать новый тип сущности «Связь», который хранит ссылку на сотрудника и на эксперимент, но сам по себе ничего не значит. Таких объектов просто нет в природе!



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

Возможно, ООП даст нам ответ на вопрос о том, как моделировать мир? Для этого рассмотрим другой пример. Попробуем смоделировать яблони, сорта яблонь и ареалы их произрастания.

Яблони и ареалы


Пусть у нас есть яблони и необходимо смоделировать ареал их произрастания. Напомню, что конкретные яблони не могут знать об ареале ничего. Они знают только координаты своего места произрастания. Ареал определяется на классе яблонь и только на классе. Вопрос: какой объект в модели ООП будет хранить значение параметра «Ареал»? ООП позволяет сделать это множеством способов.
Неоднозначность реализации модели
То, что это реализуется разными способами, уже говорит нам о том, что ООП не моделирует наше видение мира. Наше видение однозначно. Мы выстраивали это видение веками совместно всем европейским миром, и пришли к определённым моделям. Эти модели однозначны. Поэтому, если существует методология проектирования, которая приводит нас к разным моделям, то эта методология не подходит нам для моделирования предметной области.

Первый вариант реализации


Можно создать статическую переменную у класса «Яблони». Что значит эта переменная? Эта переменная создается для объектов данного класса одна на всех. Вопрос: эта переменная класса, или объектов класса? Логически мы можем сделать вывод: если значение переменной доступно объектам класса, то это переменная объектов класса, а не класса объектов! То есть, создание статической переменной не решит задачу создания переменной класса. Таким образом, мы приходим ко второму способу реализации задачи.

Второй вариант реализации


Создаем класс «Подклассы яблонь», у которого объявим параметр «Ареал». Объект «Класс яблонь», являющийся объектом класса «Подклассы яблонь», будет содержать значение параметра «Ареал». Добавим у класса «Подклассы яблонь» параметр «Список яблонь». Тогда у объекта «Класс яблонь» появится список ссылок на объекты класса «Яблони». Что мы можем делать теперь, благодаря новой структуре? Мы заведем новый объект класса «Подклассы яблонь» под названием «Грушовка» и свяжем с этим объектом список объектов класса «Яблони», которые нам надо отметить как грушовки. Таким образом, мы сможем спроектировать подкласс яблонь – класс грушовок, а, добавив нужные операции над списками, сможем оперировать классами, а не только объектами классов. Это даст нам возможность изучать пересечения ареалов произрастания разных сортов яблонь, а также их объединение. Что же не так в этом подходе?

Что не так?


  • Во-первых, мы вручную создали объект «Класс яблонь» в то время как ООП постулировало тезис о том, что мы можем работать с классами объектов. Однако, ООП имеет встроенный механизм работы с объектами класса, а с классом – нет. То есть, когда вы объявляете класс, вы на самом деле описываете объекты этого класса, а не сам класс! Есть стандартные операции над классами объектов: пересечение, объединение. В ООП нет встроенных механизмов реализации таких операций. Чтобы их реализовать, необходимо моделировать их вручную. Например, в случае с яблонями для моделирования грушовок нам пришлось воспользоваться вспомогательным классом — «Подклассы яблонь».
  • Во-вторых, в языке UML нет возможности нарисовать связь между объектом «Классы яблонь» и объектами класса «Яблони». Эта связь называется классификация. Вы не найдете ее в моделях ООП.
  • В-третьих, в UML нельзя создать объект, и лишь потом его классифицировать. А также нельзя переклассифицировать объект, если результат классификации нас не устроил. В этом фундаментальное ограничение ООП от реального моделирования предметной области. Это ограничение равносильно ограничению логики Аристотеля.

А был ли мальчик?
Вы сейчас глядите на монитор. Правда? На самом деле вы глядите в никуда. Просто ум интерпретирует сигналы, получаемые от глаз, дешифрует их и производит сравнение с теми образами, которые у него хранятся в памяти. Выбрав нужный, он проверяет, не противоречит ли полученный образ сигналам с других каналов восприятия. Если сигналы от разных каналов не противоречат друг другу, то есть не вызывают диссонанса, то ум выдает решение: перед нами объект, который по своим характеристикам можно отнести к классу мониторов. Но может случиться и так, что мозг выдаст другое решение, отнеся объект к классу помидор. И тогда субъект будет тыкать в монитор пальцем со словами – помидор. Но объект не изменит своих свойств, изменится восприятия этого объекта. Поэтому в природе нет ни собак, ни кошек, ни мониторов. Есть сущее, которое мы интерпретируем как множество частей, части называем объектами, а потом мы классифицируем их и отношения между ними.


Выводы


  • Мы увидели, что моделирование в категориях типов или классов ООП приводит нас к тому, что построенные модели, нерасширяемы. То есть, необходимо построить структуру данных заранее на вырост, иначе потом уже не получится расширить функционал без поломки уже существующего функционала.
  • Анализ противоречий Аристотелевской логики привел к развитию теории множеств. Сначала примитивной теории, предложенной Кантором, а затем и современной. В одной из аксиоматик современной теории множеств термин множество заменен на термин класс, чтобы подчеркнуть различие между ними. Но это не те классы, к которым все привыкли (классы ООП).
  • Оказывается, что модель мира, которую мы создаем, много богаче той, которую мы обычно записываем на бумаге в виде текста, или таблицы. Было потрачено очень много усилий, чтобы понять, как работает наше сознание при создании модели сущего, и того, как ее следует записывать.

Давайте посмотрим, как теория множеств справляется с этими задачами (Продолжение следует).

P.S. Можно подумать, что я против моделирования предметной области в классических нотациях. Нет, я лишь хочу, чтобы мы умели мыслить, умели эти мысли доносить и отражать их в модели корректным способом.
Марк Мельник @maxstroy
карма
15,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (128)

  • +1
    Чуть глаза не вырвал себе, пытаясь прочитать, что написано желтым цветом на первой картинке.
    • 0
      Да, я рисовал на черном фоне. Надо перерисовать, конечно
      • 0
        Надо конечно. 9 декабря 2014 года.
        • 0
          сделал)
          • 0
            Тогда желательно и обводку «экземпляра» поправить. "№ п/п" в него входить не должен. :)
            • 0
              Это вопрос субъективный. Объект какой? третий по счету. Это допустимый параметр.
            • 0
              (да и с «типом объектов» то же самое)
              • 0
                Ответ тот же. Это вопрос субъективный. Можно сказать, что номер относится к типу. Мы можем считать, что экземпляр книги обязательно должен иметь номер индивидуальный. Иначе — это подделка
                • 0
                  Сейчас это порядковый номер в сформированной таблице. То есть, атрибут таблицы. Объект не в курсе, как таблица его разместит.

                  Если бы было что-то вроде «ID» (даже упорядоченного по возрастанию), то да, это был бы номер (идентификатор) объекта (а следовательно, его родной атрибут).
                  • 0
                    Это вопрос действительно субъективный. Экземпляр книги не знает, как его посчитали и кто это сделал. Но без номера — это подделка, а не экземпляр книги. Поэтому можно считать, что номер — это параметр типа, а можно считать, что и нет. Но тогда что это? Я над этим не думал.
                    • 0
                      Да нет, он вполне объективный. Это просто разные вещи.
                      Есть номер книги — это параметр (атрибут) типа «книга».
                      Есть порядковый номер в таблице с книгами — это «параметр» таблицы.

                      На картинке — классический «номер по порядку», т.е. атрибут таблицы.
                      • 0
                        То есть, номер по порядку — это параметр представления данных
                        • 0
                          Да. Причем конкретного экземпляра представления данных.
                          • 0
                            Еще раз огромное спасибо! Экземпляры представления данных существуют только у Аристотеля. Мы это понимаем? На языке теории множеств это должно было бы звучать так: Для конкретного представления данных. Это понятно почему?
                            • 0
                              Да не за что. :)

                              Экземпляры представления данных существуют только у Аристотеля.

                              Что значит только у Аристотеля? Вот давеча я распечатал вполне себе конкретный экземпляр представления недельных трудозатрат. Потом поменял сортировку, но печатать другой экземпляр не стал. Тем не менее, теперь он есть не только у Аристотеля, но и у меня. Как минимум.

                              На языке теории множеств это должно было бы звучать так: Для конкретного представления данных. Это понятно почему?

                              Теорию множеств я уже основательно подзабыл. Вы мне лучше скажите, как будут называться две одинаковых по форме и содержанию _распечатанных_ таблицы, разнящихся лишь сортировкой содержания? Поскольку «представлением данных» здесь можно назвать «Таблицу №45 Приложения 1 к Приказу Генерального директора от 15.04.2014 №35-ЛС» (а как в ней сортировать ЛС — дело текущих потребностей).

                              • 0
                                Хороший вопрос! В ИСО 15926 части 2 даны названия этим сущностям. Каждая из них называется представление. А вот чего, решать вам — обычно это называют представлением модели. Как и два договора — это два представления модели договоренности. То есть договоренность одна, а моделей ее может быть много, а у каждой модели — много представлений.
                                • 0
                                  обычно это называют представлением модели.

                                  Вот так точно нельзя. Это данные (т.е. продукт жизнедеятельности модели), но не модель.
                                  • 0
                                    все данные, хранимые в системе — есть информационные объекты. По определению информационного объекта — это объект, хранящий информацию о… Информация о… есть модель по определению модели
                                    • 0
                                      Справочник — это модель? А чего? А мастер-данные? А логи транзакций?
                                      • 0
                                        мастер-данные — не сталкивался с такими. А логи — это модель активности системы. Не активность, а именно ее модель.
                                        • 0
                                          Модель значительно богаче. Логи транзакций — лишь маленький аспект, который на модель никак не тянет. Даже на модель активности (которая не исчерпывается транзакциями).

                                          А главное, модель нужна для того, что бы уменьшить неопределенность в познаниях о предмете (в нашем случае — предмете автоматизации). Модель объяснит нам, чего ждать. Логи, в лучшем случае, объяснят что было.
                                          • 0
                                            модель бывает разной степени детализации. Не важно, полная она или нет, — она все равно модель.
                                            • 0
                                              Модель крыла = модели самолета?
                                              • 0
                                                в таком изложении — нет. Но если нам дали чертеж крыла и сказали, что это описание самолета, то да — это описание самолета. Модель — понятие субъективное. Нет никакого способа сказать, что есть модель. а что нет. Ни одна модель не будет полной и потому только субъект решает достаточно ли в ней информации, или нет
                                                • 0
                                                  Я к тому, что задача восстановления модели системы по логам сравнима с задачей восстановления модели социального поведения отдельно взятого человека по его, простите, помету.
                                                  • 0
                                                    Логи и есть модель. не надо восстанавливать модель. Если надо восстанавливать — то это знания о том, что происходило в тот или иной момент времени в системе. Эти знания логи содержат. Конечно, не в полном объеме. Но в полном объеме с учетом положения атомов и квантовых состояний электронов не даст информацию ни одна модель. Всегда есть границы модели и в заданных границах логи являются моделью. Та же модель, про которую говорите Вы, тоже не полная с точки зрения каких-то вопросов.
                                                    • 0
                                                      Эдак можно дойти и до выводов в духе братьев Стругацких (из «Понедельник начинается в субботу»).

                                                      Мол, поскольку любая модель по определению неполная, то что детализируй ее, что не детализируй… (и так сойдет)
                                                      • 0
                                                        Модель по ее определению — есть описание объекта, которое отвечает на вопросы об объекте. Логи отвечают на вопросы? да. Значит они — модель
                                                        • 0
                                                          Помните анекдот?
                                                          — Сэр, где мы?
                                                          — На воздушном шаре!

                                                          Не все ответы, даже взвешенные и абсолютно точные, одинаково полезны. :)
                                                          • 0
                                                            Еще раз — моделей много, они разные, но они модели. Какие мы пользуем в том или ином контексте — вопрос нашего предпочтения. Но другие модели от этого не перестают быть моделями
                                                    • 0
                                                      Это я так, поворчать. Ваша точка зрения понятна, но уж очень высоко витает. Вот бы к земле, к земле поближе. :)
                                                      • 0
                                                        Каждому свое). Мне лично надо понимать основы, чтобы строить выводы. Кому-то достаточно выводов. Я обсуждаю основы, чтобы были понятны выводы.
                                          • 0
                                            Модели бывают разные для разных задач. Если информационный объект несет информацию об объекте, то это модель. Вопрос о том, какие части объекта он описывает (функциональные, физические, информационные) и с какой степенью детализации не относится к определению понятия модель
                                            • 0
                                              Если информационный объект несет информацию об объекте, то это модель.


                                              Это не так. Информация — еще не модель. Носитель информации — тем более еще не модель.
                                              • 0
                                                это все равно, что обсуждать с какого конца бить яйцо. Кому-то модель. кому-то нет. Вам — нет, потому что Ваши вопросы она не покрывает, а кому-то да, потому что покрывает. Я же смотрю со всех позиций. Не с одной.
                  • 0
                    В данном контексте, если важен порядок фамилий, то — это атрибут, если не важен, то не атрибут. Но я не знаю, что это тогда)
                    • 0
                      В любом случае не атрибут. :) Вернее, атрибут, но не участника олимпиады. Фактически — нумерация строк, не более.
                  • 0
                    Задали Вы мне задачу. Теперь надо думать, к чему относится порядковый номер! Вы правы, для данного контекста порядок фамилий не важен. Следовательно, обводка неверна, но править ее не буду. А вам огромное спасибо за замечание!
              • 0
                Да, согласен! Спасибо за наблюдение!
              • 0
                Да, спасибо за замечание! Не зря мне говорили, что на Хабре не дадут расслабиться)
  • 0
    И тогда субъект будет тыкать в монитор пальцем со словами – помидор.

    Подобный случай описан в книге врача-нейропсихолога Оливера Сакса «Человек, который принял жену за шляпу».
    • 0
      Деление сущего на части продиктовано традицией, сложившейся годами в определенной культуре. Мы и китайцы совершенно по-разному делим человеческое тело на функциональные подсистемы. И называем их разными именами.
  • +2
    Поэтому в природе нет ни собак, ни кошек, ни мониторов. Есть сущее, которое мы интерпретируем как множество частей, части называем объектами, а потом мы классифицируем их и отношения между ними.

    Не-не-не, Дэвид Блейн, не так быстро. Вы совершенно чётко путаете онтологический аспект (чем нечто на самом деле является) и гносеологический (чем мы это нечто считаем).
    Понимаете, собака и кошка не могут иметь общее потомство, даже если какой-то человек не может отличить эту конкретную собаку от кошки и считает кошкой.

    Человек вполне спокойно может принять монитор за помидор и тыкать пальцем в него со словами «помидор», но от этого монитор не станет помидором. В частности, в нём по-прежнему не будет частей, которые можно посадить в землю и вырастить подобный объект.

    Вы правы в том, что то, что мы видим — это иллюзия, которую строит наш мозг. Но эта иллюзия в большинстве случаев совпадает с реальностью. А она есть, эта самая реальность — это то самое «сущее» в вашей терминологии.
    • 0
      Пока существуют объекты, которые общепризнанны, мы можем не сомневаться в их реальности. Но представьте себе, что в другом мире кто-то считает объектом не кошку отдельно от собаки, а собаку и кошку вместе взятые. Его не смущает. что эти части целого бегают порознь. Для него — это целое. И, если собака остается без кошки, то это просто целое — инвалид. Его надо полечить и добавить ему кошку, которая без собаки. Таким образом, мы восстанавливаем целостность объекта. Нет никаких оснований для выбора в виде объекта того или иного объема пространства- времени. Это делается исходя из удобства — функциональности. Другие люди с другими функциональными особенностями разделят сущее на другие части, чтобы назвать их объектами. А есть и такие, которые не будут делать этого вообще.
      • 0
        Но представьте себе, что в другом мире кто-то считает объектом не кошку отдельно от собаки, а собаку и кошку вместе взятые.

        Это гносеологическое представление. Понимаете, помимо этой гносеологии есть ещё и онтология. А на самом деле кошка и собака — единое целое или нет?

        Гносеологическое представление может быть непроверяемым, даже принципиально непроверяемым. Невозможно, например, как бы то ни было убедиться, будет ли спасена чья-либо душа. Гносеологическое представление может быть абсолютно безвредным. Но у каждого представления есть ещё и такая категория, как истинность. Истина существует :).

        И удобство/функциональность являются прямым следствием этой самой истинности. Система Птолемея может быть доработана так, что будет предсказывать видимое положение планет с любой наперёд заданной степенью точности. Но астрономы не используют её: неудобно, потому что система получается очень уж громоздкая. А получается она такой потому что, на самом деле в центре Солнечной системы — не Земля, орбиты планет — не окружности, а скорость движения планеты по орбите не постоянна.

        Нет никаких оснований для выбора в виде объекта того или иного объема пространства- времени.

        Да есть они, есть такие основания :). Понимаете, если высокая философия даёт сбой на тривиальных вопросах — значит, в ней что-то глубоко неправильно :). Когда вы в столовую приходите, у вас же нет никаких проблем с представлением о том, что там можно съесть, а что нельзя? :) Равно как и с тем, что можно унести с собой (зубочистку), а что нельзя (тарелку). Конечно, есть гуляш, а не тарелку, на которой он лежит, удобно/функционально. Но почему это удобно? Почему одни способы деления мира на объекты оказываются удобнее других?
        • 0
          Истина существует :).

          Не уверен, что с этим согласны философы. Да я тоже не соглашусь. Истина у каждого своя. ИМХО.
          на самом деле в центре Солнечной системы — не Земля,

          Понятие Солнечная система уже объект, придуманный человеком, и потому субъективен. На самом деле нет никаких систем. Это просто способ говорить о наших ощущениях.
          Почему одни способы деления мира на объекты оказываются удобнее других?

          Потому что сегодня мы исходим из одного культурного контекста, а застра контекст меняется. Сегодня нам удобно одно, завтра — другое. Нет ничего постоянного в этом мире. И завтра окажется, что есть винегрет — это очень стыдно. Есть такой рассказ про это. как люди заменили секс на еду и сделали из еды фетиш, точно как мы сейчас сделали фетиш из секса.
          • 0
            Не уверен, что с этим согласны философы. Да я тоже не соглашусь. Истина у каждого своя. ИМХО.

            Молекула воды состоит из двух атомов водорода и одного атома кислорода.
            Вдыхание концентрированного углекислого газа приводит к параличу органов дыхания.
            На Луне все тела падают с постоянным ускорением, независимо от массы. Точно так же падают тела и на земле в условиях отсутствия воздуха.
            Сергей Павлович Королёв умер в Москве 14 января 1966 года по местному времени.

            Вы всё ещё считаете, что истина у каждого своя? Ну найдите мне хоть кого-то, для кого эти высказывания будут ложны. Объективно ложны, разумеется, речь не идёт о мнении. То есть найти нужно человека, для которого вода на самом деле не будет состоять из 2 H и 1 O. Или тела в вакууме будут падать с разными ускорениями. Ведь не найдёте. Максимум — найдёте невежду, который будет считать, что на самом деле формула воды H2O2.

            Мнение у каждого может быть своим. Но знание — не то же самое, что мнение. Знание прошло проверку и очищено от субъективности — насколько оно может быть очищено. Для определения формулы воды можно применять любую методику, но вариантов только два: либо в методике будут найдены грубые ошибки, либо получится результат H2O.

            «Хвост или есть, или его нет вообще. Тут нельзя ошибиться!»

            Понятие Солнечная система уже объект, придуманный человеком, и потому субъективен. На самом деле нет никаких систем. Это просто способ говорить о наших ощущениях.

            Уй, как всё запущено-то. Ощущения, знаете ли, откуда-то берутся. И человек, знаете ли, неплохо умеет предсказывать эти самые ощущения, а также до некоторой степени умеет ими управлять. Вопрос об их источнике вы как-то ухитряетесь обойти как маловажный. Почему Солнце в наших широтах каждый день восходит и заходит? А почему за Полярным кругом это не так? А почему на Земле меняются времена года?

            Попробуйте разбежаться и врезаться головой в ближайшую стену. А потом найдите способ так «говорить о ваших собственных ощущениях», чтобы шишка на голове не образовалась. Можете попробовать заранее найти такой способ.
            Когда вы хотите спать, вы не говорите о том, что это просто такие ощущения — вы ложитесь спать. Когда вы голодны, вы едите. Когда съеденное требует выхода, вы испражняетесь. И соответствующие позывы в кишечнике для вас — не «просто ощущения», а совершенно несомненный сигнал того, что нужно посетить туалет.
            И когда вам зарплату выдают — ну или заказчик платит, я не знаю, откуда вы деньги берёте — количество денег у вас тоже является не «просто ощущениями». И хотя разных мнений о том, сколько денег у вас в кошельке, может существовать множество — истина одна.

            В быту каждый ведёт себя как материалист, потому что иной способ поведения — идиотизм. Но как только дело доходит до философии, всё сразу становится как-то зыбко и неочевидно. Ещё раз скажу: если выводы философии сбоят на повседневной жизни — это плохая философия и выводы её неверны. Один контрпример опровергает утверждение.

            Потому что сегодня мы исходим из одного культурного контекста, а застра контекст меняется. Сегодня нам удобно одно, завтра — другое. Нет ничего постоянного в этом мире.

            То есть вы на голубом глазу считаете, что завтра мы можем признать, что абсолютно лучшей едой является битый кирпич? И в ресторанах начнут его подавать? А люди будут есть и нахваливать?
            А вот заметьте. Нет ни одной, ни единой культуры, в которой самый желанный деликатес — рагу из бледных поганок. Думаете, это просто такая культурная условность? А изменится культура, и бледная поганка займёт почётное место в нашем меню?
            А вот ещё кое-что постоянное. Чтобы получился человек, нужна зигота с полным геномом человека. Миллион лет назад так было, и сейчас так же осталось. Обычно, кстати, этот геном дают сперматозоид и яйцеклетка. И поэтому в течение миллионов лет секс приводит к появлению новых людей. Так что есть, есть в мире островки стабильности, и изменения его совсем не произвольны.

            При этом вы совершенно не ответили на вопрос. Так почему одни способы деления мира на объекты оказываются удобнее других? Почему удобнее считать, что тела состоят из атомов, а не из комбинации четырёх стихий? Почему удобнее считать, что скорость света не зависит от скорости наблюдателя? Почему удобнее считать, что формула пропана — C3H8? Почему удобнее считать, что шампиньоны можно есть, а бледные поганки — нельзя?
            • 0
              Пару слов в защиту нашего философа… :)

              Попробуйте разбежаться и врезаться головой в ближайшую стену. А потом найдите способ так «говорить о ваших собственных ощущениях», чтобы шишка на голове не образовалась. Можете попробовать заранее найти такой способ.

              Так ведь найдет. Оранжевый.

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

              Ну, научились же жрать и нахваливать отходы рыболовства (мидий, кальмаров и прочее). В ресторанном деле, похоже, главное — непонятно назвать и «продвинуть». У Праттчетта, например, в одном из произведений эта тема подробно раскрыта.

              А вот заметьте. Нет ни одной, ни единой культуры, в которой самый желанный деликатес — рагу из бледных поганок.

              Зато есть культура (не будем показывать пальцем), где деликатесом считается рыба фугу. Боятся, но жрут-с.

              • 0
                Так ведь найдет. Оранжевый.

                По условиям требовалось головой врезаться в стену, а не головой в оранжевое, а уже оранжевым в стену :).

                Ну, научились же жрать и нахваливать отходы рыболовства (мидий, кальмаров и прочее)

                Есть некоторая разница между кальмарами и битым кирпичом :). И вы её наверняка знаете :) :).

                Зато есть культура (не будем показывать пальцем), где деликатесом считается рыба фугу

                Есть некоторая разница :) :) между фугу и бледной поганкой. Количество яда в фугу можно уменьшить до безопасного уровня правильным приготовлением, количество яда в бледной поганке уменьшить нельзя. Именно поэтому фугу — деликатес, а бледные поганки люди не едят :).
                • 0
                  Предлагаю закрыть тему, потому что на выводы эти тезисы не влияют. Во второй части я буду строить свои выводы на этих же постулатах, но сами выводы от них зависеть не будут.
                  • 0
                    Во второй части я буду строить свои выводы на этих же постулатах, но сами выводы от них зависеть не будут.

                    Не будете :). То есть статью вы пишите, дело хорошее, но на самом деле строить вы её будете совсем не на постулатах произвольности моделирования.

                    На самом деле спасает-то вас как раз стихийный материализм. Вы прекрасно понимаете, что для аналитика плохо перестать замечать то, что не отображается в его понятийный аппарат. Но вот попробуйте объяснить, почему это плохо — не уходя с позиции «модель произвольна, модель есть результат договорённости, истина для каждого своя, реальность нам недоступна». Ну вот такая у этого аналитика истина. И она ничем не хуже истины другого аналитика и ничем не хуже истины заказчика, правда же? Так почему же в таком случае плохо сужение области исследования?

                    Перечитайте комментарий questor'а. Он очень точно поставил вам диагноз.
                    • 0
                      Я не спорю — у каждого своя истина. Вам так удобнее. Это хорошо. Кому-то нет, Главное, чтобы был выбор у читателей. Этот выбор мы и предлагаем, не так ли?
            • 0
              Только что звонил одному философу по вопросам онтологии. Он же психолог и руководитель отдела кадров в конторе, насчитывающей 3000 человек. Он сказал, что ИТ специалисты настолько далеки от современной философии, что очень сложно с ними говорить об этом. Курица — есть курица по их мнению. И ничего с этим не сделать. Так что я Вас понимаю, но ничего сделать не могу — современная философия с Вами не согласна. Нет пространства, нет объектов — это лишь способ описать наше восприятие. Кант был первым, кто обратил на это внимание и с тех пор все философы и многие религии согласны с этим постулатом. Да и сложно представить иначе. Более того, наука сегодня строится на этих предположениях. Вы же предлагаете считать пространство абсолютом? Боюсь, здесь мы расходимся.
              • 0
                Итак, вы поняли, что сами справиться со мной не можете, и позвали старшего.
                Насколько я понимаю, ваш «философ по вопросам онтологии» поставил мне диагноз даже не по юзерпику, а по вашему описанию. Талантливый философ, наверное.

                Так что я Вас понимаю, но ничего сделать не могу — современная философия с Вами не согласна.

                Ой-ой-ой. Прямо напугали.

                Вы же предлагаете считать пространство абсолютом?

                Нет, не предлагаю. Я всего лишь отказываюсь считать наши ощущения результатом «договорённостей». Вас послушать, так стоит людям по-другому договориться, и курицы станут четвероногими. А двуногие они только потому, что «мы договорились» считать их двуногими.

                И какова магия слов! Вы не замечаете абсолютно очевидный абсурд того, что говорите. Не замечаете, насколько разительно ваша поседневная жизнь противоречит вашим убеждениям. Всё это просто потому, что вас научили очень умным словам. Ну давайте я скажу вам некоторые умные слова тоже.

                Наше восприятие существует не само по себе. Оно вызывается воздействием внешнего мира на наши органы чувств. Собственно, наше восприятие — это иллюзия, которую для нас строит наш мозг. «За вуалью Майи не скрывается что-то мистическое и неожиданное. За иллюзией парка находится лишь реальный парк, но тем не менее человек видит только иллюзию».
                Этот реальный парк совершенно не похож на наше восприятие. Там нет не то что деревьев или скамеек, но даже и атомов — есть лишь «облака амплитуд в пространстве состояний множества частиц». И то, что мы считаем скамейкой — это «не более чем гигантский множитель волновой функции».
                И вот из всего этого наш мозг строит иллюзию предметов. Строит он её потому, что с миром пространства и объектов куда проще работать, проще предсказывать его состояния, проще строить взаимодействия с ним.
                Но не нужно думать, что эта иллюзия произвольна, что она — результат договорённости. Сущее имеет совершенно объективные свойства, которые и позволяют описывать его в терминах 3-мерного пространства и объектов. А вот в терминах 1-мерного пространства его описать невозможно. Да, пространство есть способ описания сущего — но это не произвольный, не нами придуманный способ описания. Некоторые свойства сущего делают этот способ описания более пригодным к предсказаниям событий, чем прочие способы.

                Точно так же и с курицами. Объективные свойства сущего таковы, что мы можем довольно хорошо предсказывать состояние мира и воздействовать на него, если воспринимаем курицу как объект. Именно потому мы её и выделяем.

                Иллюзия, которую строит наш мозг, в основном совпадает с реальностью. Бывают случаи, когда мозг ошибается или не знает. Бывают даже случаи, когда он знает, но нам не говорит (на всякий случай уточню, что «самосознающее я» — это тоже мозг, отдельные его структуры — то есть именно эти структуры не получают некоторую информацию, хотя другие ей обладают). Но в основном мы вполне можем доверять тому, что видим.
                • 0
                  Иллюзия, которую строит наш мозг, в основном совпадает с реальностью.

                  Все шло хорошо ровно до этого места. Мы не знаем реальность и потому не можем говорить, что что-то совпадает с ней. И волны и все остальное — тоже еще одна интерпретация. У меня преподавателем был ученик Ландау, который любил ставить парадоксы на обсуждение. Поверьте, мы не находили ни одной причины, которая могла бы подтвердить истинность нашего восприятия. Зато опровергнуть — бесконечное количество. Просто мы настраиваем наше сознание на определенную парадигму и следуем ей, находя подтверждения. Собственно, не важно. Во-первых, это мои выводы, которые мне нужны для объяснения моего опыта. Если Вам они не нужны, то можно их пропустить. Во-вторых на конечный результат эти постулаты не влияют. Мы же потом все равно маппимся на наше восприятие. Иначе — дурка нам обеспечена. Поэтому не важно, что Вы или я думаем на этот счет. Результат один — мы строим модели.
                  • 0
                    Поверьте, мы не находили ни одной причины, которая могла бы подтвердить истинность нашего восприятия.

                    Знаете, вам несколько скромнее надо быть. Из того, что вы чего-то там не находили, совершенно не следует, что этого чего-то не существует. Вполне может быть, это у вас с находилкой проблемы.

                    — Что за грохот?
                    — Да это я в переулок заехать хотел.
                    — И что?
                    — Да нет там переулка...

                    Иллюзию для нас мозг строит не потому, что ему так нравится. Он строит её для того, чтобы наша деятельность в мире была более успешной. Модель, не соответствующая реальности, не позволяет делать правильные предсказания. Я понимаю, что в этом высказывании можно ловить блох, но это именно блохи. Если переулка нет, а вы попробовали туда въехать — это к ремонту машины. Если бы формула воды была не H2O, у нас бы не получался электролиз.

                    Мозги проходят сито естественного отбора на адекватность моделирования, и началось это вовсе не с людей. И те мозги, которые строили разительно неправильные модели, начисто вымирают в результате этого процесса, проигрывая конкуренцию более адекватным мозгам.

                    Мы не знаем реальность и потому не можем говорить, что что-то совпадает с ней.

                    Мы можем предсказывать события. Если бы наша модель реальности была бы неадекватна самой реальности, наши предсказания ломались бы то и дело.
                    А они уже довольно хороши. Знаете, как называется расхождение эксперимента и теоретического предсказания? Научное открытие.

                    Вот именно поэтому мы и можем говорить, что «сущее таково, что допускает своё описание в терминах атомов и полей». Именно это философ и имеет в виду, когда говорит, что «всё состоит из атомов», он просто «сворачивает» фразу, чтобы не городить громоздкую конструкцию каждый раз. А ваша ошибка состоит в том, что вы упорно атакуете «свёрнутую» фразу, не понимая, какой развёрнутый смысл в неё вложен. Вам кажется, что раз уж карта не тождественна территории, так она и вовсе никакого отношения к территории не имеет и вообще является результатом «договорённости». Типа, если мяч не красный, то всенепременно синий. «Это логическая ошибка».

                    Так вот, карта не тождественна территории. Но это верная карта именно этой территории!

                    Просто мы настраиваем наше сознание на определенную парадигму и следуем ей, находя подтверждения.
                    И в какой же это момент мы «настраиваем» наше сознание воспринимать пространство трёхмерным? Поверьте, во время этой «настройки» никакого «сознания», никакого «самосознающего разума» ещё нет, он сильно позже появится. Вы в курсе, в каком возрасте дети начинают использовать местоимение «я»?
                    Есть мозг, и есть опыт — и есть реальность, которая взаимодействует с мозгом так, что концепция пространства получается именно трёхмерного, а не 1-мерного и не 127-мерного.
                    Так что это не «мы настраиваем наше сознание», а «наш мозг находит верный способ восприятия мира». Верный в том смысле, что позволяет нам предсказывать состояния и воздействовать на них.
                    • 0
                      Я могу апеллировать к авторитетам? то есть к философам? Если Вы мне не верите, то им поверите? Или Вы не примите этот аргумент?
                      • 0
                        Вы — не можете. Ваша философия в принципе отрицает понятие истины — вы ни к кому не можете апеллировать :). Позиция философов с вашей точки зрения ничем не сильнее любой другой позиции :).
                    • 0
                      Вот именно поэтому мы и можем говорить, что сущее таково, что допускает своё описание в терминах атомов и полей"

                      А можем ли мы при этом говорить, что ни в каких других терминах оно своё описание не допускает?
                      • 0
                        нет, не можем(. Восприятие сущего не равно сущему, Кроме того, восприятие сущего может быть разным в зависимости от культуры, кроме того, описание восприятия при условии одинакового восприятия может быть разным. Версий бесконечно. Любое описание зиждется на метамодели. В основе нее лежат постулаты. В основе логической парадигмы, представленной в стандарте ИСО 15926 лежит постулат о предметности мира. И это не реальность, это просто постулат. На других постулатах мы получили бы другие модели реальности и другие представления этих моделей.
                        • 0
                          В основе нее лежат постулаты.

                          А вот теперь задумайтесь — откуда берутся эти постулаты.

                          Вот есть такой постулат, например — «инерциальные системы отсчёта существуют». Как по-вашему, откуда он взялся? И почему общепринят среди физиков оказался именно этот постулат, а не противоположный? Чем именно он лучше, чем противоположный?

                          И это не реальность, это просто постулат.

                          Так сказать может только человек, который понятия не имеет о том, откуда берутся постулаты :). Но мы уже выяснили, что вы вслед за Кантом этого не знаете.
                      • 0
                        Разумеется, не можем. Вариантов описания реальности много. Например, вполне можно описывать реальность в терминах Аристотеля («скорость пропорциональна приложенной силе»), Ньютона («ускорение пропорционально приложенной силе») или Эйнштейна. При определённых условиях из Эйнштейна получается Ньютон, а при других условиях — из Ньютона получается Аристотель. Но вот системы, в которой скорость обратно пропорциональна приложенной силе, построить не получится. Никак.
                        • 0
                          А истина, в вашем понимании, – это атрибут реальности или описания реальности?
                          • 0
                            В моём понимании истина вообще не является атрибутом. Есть реальность, есть наше описание таковой. Оно может быть верным в какой-то существенной для нас части, а может — не верным. В первом случае оно полезно, потому что мы можем эту модель использовать для предсказаний. Во втором случае модель для предсказаний использовать не получится, зато мы можем обнаружить проблему в наших представлениях — именно потому, что наши предсказания окажутся ошибочны.

                            «Истина существует» разворачивается не в утверждение о бытии такого особого объекта «истина». Это высказывание утверждает, что реальность такова, что позволяет строить адекватные модели себя.

                            И поэтому истина — это характеристика описания реальности. Это оно может быть истинным или не истинным. Рассчитывать на всеобъемлющее описание мы, кстати, не можем — и поэтому хорошие описания истинны там, где нам нужно. Например, в механике используется понятие материальной точки. В реальности нет материальных точек, но понятие полезное, позволяет нам предсказывать много интересных вещей и строить интересные машины.
                            • 0
                              Да, слово «атрибут» я выбрал неудачно, «характеристика» лучше.

                              Но если истина – характеристика описания реальности, а [адекватных] вариантов описания одной и той же реальности много, то, получается, истина не абсолютна? В том смысле, что если две разных модели позволяют делать одинаково хорошие предсказания, то они одинаково истинны.
                              • 0
                                Но если истина – характеристика описания реальности, а [адекватных] вариантов описания одной и той же реальности много, то, получается, истина не абсолютна?

                                Та истина, которой обладаем мы — разумеется, в общем случае не абсолютна. Вот есть такая система Птолемея — она хорошая, она даёт возможность предсказания с любой наперёд заданной степенью точности. И ей пользовались, и она в нужной нам степени была истинна. А потом оказалась заменена.

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

                                  Вы утверждаете, что не все модели реальности адекватно ее описывают, но признаете, что некоторые модели [одной и той же] реальности могут быть равноправны.

                                  Он же говорит, что, в зависимости от принятой парадигмы и поставленной задачи, может существовать несколько равноправных моделей, но нигде, как мне кажется, не утверждает, что в качестве таковой модели может быть произвольно признана любая.
                    • 0
                      Модель, не соответствующая реальности, не позволяет делать правильные предсказания.

                      А как проверить, соответствует модель реальности или нет?

                      Я знаю только один способ: предсказать с помощью модели, какие ощущения должна вызывать эта реальность, и сравнить их с фактически полученными.

                      Но тогда ваше утверждение превращается в тавтологию: «Модель, предсказания которой [регулярно] не совпадают с фактическими, не позволяет делать правильные предсказания».
                      • 0
                        Я знаю только один способ: предсказать с помощью модели, какие ощущения должна вызывать эта реальность, и сравнить их с фактически полученными.

                        Да, способ проверки именно таков.

                        Но тогда ваше утверждение превращается в тавтологию: «Модель, предсказания которой [регулярно] не совпадают с фактическими, не позволяет делать правильные предсказания».

                        Нет. Моё утверждение разворачивается иначе. «Модель, предсказания которой регулярно не совпадают с фактическими, не соответствует реальности». И да, из «не соответствует реальности» следует «не позволяет делать правильные предсказания» (с оговорками. потому что даже самый большой врун может случайно сказать правду). Вот так всё просто :).
                        • 0
                          Нет, извините. Ваше утверждение сводится к логическому следованию, начинающемуся со слов «и да». А то, что вы назвали здесь разверткой – не более чем определение понятия «соответствовать реальности», которым вы в своём утверждении пользуетесь.
                          • 0
                            то, что вы назвали здесь разверткой – не более чем определение понятия «соответствовать реальности», которым вы в своём утверждении пользуетесь.

                            Нет, не определение. Это критерий. Модель соответствует реальности. если правильно реальность описывает. Неправильность описания мы можем обнаружить по расхождению предсказаний. Правильность обнаружить не можем никак, но и ладно — на практике можно пользоваться «пока не опровергнутыми» моделями. Опыт показывает, что теория не может быть опровергнута полностью, для неё только будут установлены границы применимости.
                            • 0
                              Тогда дайте, пожалуйста, определение.
            • 0
              Потому что мы так договорились
              • 0
                Потому что мы так договорились

                Ага. И умирать мы, видимо, тоже договорились. И болеть разными болезнями мы договорились, вот дураки-то. А ещё мы договорились, что свежее мясо — вкусно, а несвежим можно отравиться. Разумеется, мы договорились, что если пальцы сунуть в розетку, то стукнет током, а если будет короткое замыкание, то может возникнуть пожар.

                Ещё мы договорились, что есть нужно хлеб, а не песок. Вот и нафиг? Песка же гораздо больше. Ещё мы договорились, что содержание кислорода в воздухе составляет почти 21% по объёму, а доля суши на Земле чуть больше 29%. Ещё мы с самого начала договорились, что Земля имеет форму геоида, хотя и пытались договориться иначе. Но в какое-то время культура изменилась, и считать, что Земля плоская, стало неприлично. Тут-то она, вероятно, и свернулась в шар, а затем шар вытянулся и стал геоидом.

                А вот знаете, как фармацевтические компании новые лекарства создают? Они пытаются договориться, что от чего помогает.

                Что смешнее всего, вы на голубом глазу считаете, что «все философы и многие религии» согласны с этой вот чушью.

                Снова и снова скажу. Если философское рассуждение в приложении к какому-то частному случаю даёт абсурд — значит, что-то очень неправильно в этом рассуждении.
                • 0
                  www.youtube.com/watch?feature=player_embedded&v=bJq7P-7cpz4 34 минута. Я не согласен с этим философом по многим пунктам, а того, который читал лекции в ВШЭ по этой теме, я не нашел, Но с тем, что на 34-ой минуте, согласны по-моему, все философы. Вы просто не замечаете разницы между утверждением: «я воспринимаю мир так и так». на утверждение «мир устроен так и так». Это логическая ошибка
                  • 0
                    1. Это вы не замечаете, что моё утверждение иное. Оно таково: «Я воспринимаю мир так-то потому, что он на самом деле устроен этак-то».

                    И именно «этак-тость» устроенности мира и делает возможной «так-тость» его восприятия. Именно поэтому мы в состоянии отличать нормальное восприятие от галлюцинации. И то, что у курицы 2 ноги, а бледные поганки нельзя есть — не результат наших произвольных «договорённостей», а некоторые объективно существующие свойства объективного мира.

                    Истина существует. Она не своя для каждого, потому что реальность у нас общая. Она — не результат договорённости. Она существует, и люди могут её искать.

                    2. И не надо, не надо говорить за «всех философов». Во-первых, ссылка на «всех» в принципе ничего доказать не может, это уровень аргументации бандерлогов: «мы велики, мы прекрасны, мы все так говорим — значит, это правда». Во-вторых, неверно, что так считают «все философы». И в-третьих, неверным является само утверждение — хотя бы потому, что понятия пространства и времени вовсе не являются «априорными». Ребёнок осваивает концепцию пространства, когда пытается схватить игрушку; когда следит за мобилем; когда ищет взглядом лицо мамы. Сами догадайтесь, как именно ребёнок знакомится с понятием времени. Эти понятия уже вполне сформированы к тому моменту, когда человек начинает говорить — потому Канту они и казались «априорными». Он не помнил себя в до-речевой период своей жизни (никто не помнит), а маленького ребёнка, на котором он мог бы пронаблюдать, как человек учится, у него не было.
                    • 0
                      Я понял Вашу позицию. Если Вы придерживаетесь своего тезиса, то мои рассуждения Вам не подходят.
            • 0
              Материализм закоренелый, а это научный подход, не может не признать субъективности восприятия. Именно на этом строятся современные научные теории. Мы предлагаем конструкции, а затем маппим их на наше восприятие. Конечно, отмаппившись, мы получаем известную нам картину мира, но за ширмой все намного сложнее.
              • 0
                О господи.

                Но понимать же надо, что оно отображается («маппится») не произвольно. «Всё намного сложнее», но бледные поганки есть нельзя, и этого нельзя изменить никакими «договорённостями». Поймите, что реальность есть, и именно её свойства определяют, что может появиться в наших ощущениях, а что — никак не может!
                • 0
                  Да, это так. Но поганки могут появиться только тогда, когда мы договоримся интерпретировать реальность так, чо в ней появятся поганки. Хотя… я понял, что Вы верите в абсолют. Есть ли абсолют, или его нет — никто ни доказать ни опровергнуть не может и потому бессмысленно принимать его существование или отрицать. И это не важно для наших выкладок. Можем ли мы отразить реальность или ее нет, — результат выкладок будет одинаковым.
                • 0
                  реальность есть, и именно её свойства определяют, что может появиться в наших ощущениях, а что — никак не может!


                  Эта гипотеза требует проверки. Проверить ее можно лишь зная реальность, то есть истину. Мы опять уперлись в веру. Кто-то верит, что истина познаваема, кто-то нет. Я считаю, что мы не способны понять реальность. Но на выводах это никак не сказывается. Я просто привожу свое видение, которое позволяет мне быстро построить нужные конструкции. Но на истинность этих убеждений я не претендую.
    • 0
      Есть область знаний, в которой произвольность деления сущего на части проявляется явно. Это моделирование активности предприятия. Там нам приходится делить сущее (предприятие) на части (функциональные единицы), и каждая такая часть — есть объект. Но вот делить предприятие на части можно бесконечным количеством способов, что и демонстрирует практика. Поэтому у одного есть собака и кошка а у другого — нет. Но все они смотрят на одну реальность
      • +1
        Вы и правда немного путаетесь в субъект-объект и онтология-гносеология. Смотрите, вы только что в начале статьи говорили об аналитике-инопланетянине, который не очень хорошо выбрал термины (инопланетян, что с него взять?) и поэтому «плохо» описал реальность.
        А сейчас вы говорите, что существует множество равноправных способов поделить предприятие на кошек и собак, либо на андрогинов… и все они по-вашему одинаковы. Но некоторые способы деления, некоторые абстракции вам милее, чем другие. Потому что они объективно ближе к реальности (критерий — приносят больше общепризнанных жёлтых кружочков и бумажных фантиков)
        Вы начинаете противоречить сами себе: с одной стороны говорите, что можно описать действительность множеством способов и все они равноправны, с другой стороны некоторые абстракции считаете более приближенными к некоторой гипотетической «истинной реальности».
        Шопенгауэр/индусы говорили о покрывале Майи, о том, что человек не сможет полностью отделить субъективный мир от объективно существующей реальности, вы же то согласны с этим, то отрицаете это. Поэтому я и говорю, что вы немного путаетесь.
        А статья очень хорошая, с нетерпением буду ждать второй части, мне кажется она будет ещё лучше.
        • 0
          Спасибо Вам огромное за комментарий! Я не претендую на истину. Возможно, я ошибаюсь. И скорее всего. Если у кого-то есть желание двигаться в направлении, которое я обозначил, я буду рад. Единственное замечание, которое я скажу. Слова — ложь. Нам очень сложно объяснить словами, что мы видим, еще сложнее понять. что сказал собеседник. И потому есть огромная пропасть между тем, что я хотел сказать и тем, что вы поняли. Кроме того, есть круг задач, которые я решаю, и которые могут не совпадать с вашим кругом задач. И все равно мы попробуем взлететь, да?
      • 0
        Есть область знаний, в которой произвольность деления сущего на части проявляется явно. Это моделирование активности предприятия.

        1. Там на самом деле нет «произвольности». Если вы моделируете активность юридической фирмы, в вашей модели не будет описания склада готовой продукции. Независимо от того, какой квалификации аналитик выполняет это моделирование.
        2. За «произвольность» вы принимаете существование многих, причём существенно разных моделей — вплоть до несводимости одной модели к другой. Надо сказать, ситуация типична. В той же физике наличие разных моделей для описания одного и того же явления — норма. И эти модели несводимы одна к другой, несоизмеримы — что и позволило Томасу Куну заговорить о «научных революциях» и «смене парадигм».

        Но нужно понимать, что есть реальное предприятие, которое модели описывают. И есть модели, которые описывают его более адекватно и модели, описывающие менее адекватно, и первые модели лучше вторых. Лучше именно потому, что описывают реальность точнее. Разные модели неравноправны, бывают модели отличные, модели хорошие, модели похуже, модели плохие, модели отвратительные.

        Более того, сама статья у вас — как раз точно подмеченная проблема, когда аналитик вместо того, чтобы петь о том, что он видит (то есть строит карту в соответствии с местностью) начинает видеть только то, о чём поёт (то есть подгоняет местность под карту). Если описания на самом деле произвольны — в этом поведении не было бы ничего плохого. Ну вот он «так видит». Но дело-то как раз в том, что не все видения, равно как и не все мнения, равноценны!
        • 0
          Там на самом деле нет «произвольности»

          Есть и еще какая! Я наблюдаю за моделированием активности предприятий вот уже два года и не видел ни одной повторяющийся модели. Одну и ту же активность разные моделлеры видят совершенно по-разному. И это правильно. Иначе, как мы узнаем слабые места одной модели и сильные другой? Не важно. что склада не появится, зато появится что-то другое. И самое главное — я заранее не знаю, что.

          За «произвольность» вы принимаете существование многих, причём существенно разных моделей — вплоть до несводимости одной модели к другой

          Я другой произвольности не знаю. Есть другая?

          есть модели, которые описывают его более адекватно и модели, описывающие менее адекватно

          Но дело-то как раз в том, что не все видения, равно как и не все мнения, равноценны!

          Адекватность модели оценивается теми задачами, которые ставятся перед ней. И как существует множество ходов в шахматах, которые приводят к нужному результату — победе, так и количество моделей, которые дают требуемый с точки зрения целей результат — очень много. И все они одинаково адекватны поставленной цели.
          • 0
            Есть и еще какая! Я наблюдаю за моделированием активности предприятий вот уже два года и не видел ни одной повторяющийся модели. И это правильно. Иначе, как мы узнаем слабые места одной модели и сильные другой? Не важно. что склада не появится, зато появится что-то другое. И самое главное — я заранее не знаю, что.

            Лично для меня как ответственного за аналитику со стороны исполнителя (а тем более — для заказчика от предприятия), было бы важно, чтобы появился именно склад, а не что-то другое. А слабые места моделей лучше познавать не на собственной шкуре.

            Одну и ту же активность разные моделлеры видят совершенно по-разному.

            Ну прям клуб авангардистов «я художник, я так вижу». :)
            • 0
              Вы претендуете на знание истины. Но это выходит за рамки той концепции, в которой нахожусь я. ИМХО, мы не можем знать истину. И потому есть варианты в описаниях реальности и количество этих вариантов — бесконечно. Если бы я верил в истину, я бы согласился с Вами.
              • 0
                Претендую на Истину? Да бросьте. Я просто зарабатываю себе аналитикой на кусочек хлеба. С маслом. Давно.
          • 0
            Не важно. что склада не появится, зато появится что-то другое.
            Вы не поняли пример. Если в компании нет производства и нет продукции — ни в какой модели, никогда и ни за что склада готовой продукции не будет.

            А знаете, почему?

            А потому, что его в реальности нет.

            Моделлеры описывают реальность. По-разному, но одну и ту же реальность. Описания могут получиться очень-очень разными, но им далеко до полной произвольности.

            И самое главное — я заранее не знаю, что.
            А вот тут, я полагаю, вопрос в вашем личном невежестве. Знай вы особенности конкретного консультанта — и вы бы неплохо представляли, что именно он сочинит в своей модели :).

            Иначе, как мы узнаем слабые места одной модели и сильные другой?
            А вот с этого момента поподробнее. И как же мы узнаем «слабые места одной модели и сильные места другой»? Вы, похоже, думаете, что это знание возникает у нас сакрально, когда мы сравниваем две модели.
            А на самом деле сравниваем мы не модели как таковые, а каждую из моделей с реальностью. Если бы у нас не было реальности, мы бы не смогли сказать, что в одной модели некоторое место проработано слабо, а в другой — сильно. Всё, что мы бы могли сказать — что в одной модели это так, а в другой — этак. То есть только констатировать различия.
            И для того, чтобы увидеть слабое место модели, совершенно не нужна другая модель. Достаточно посмотреть на реальность — и мы увидим, где у нас что провисает. Другая модель, в которой то же место сильное, позволяет нам сравнивать не модели, а методологии моделирования.
            • 0
              потому, что его в реальности нет

              Я не знаю, что такое реальность. Пока я видел.что у каждого есть свое представление о реальности, а саму реальность я не видел. Так вот представление у каждого свое. И мы работаем с представлениями. Что на самом деле происходит я понятия не имею.

              Я думаю, нам стоит остановить дискуссию. Нет смысла спорить о верованиях друг друга. Это называется holy war и результат такой дискуссии уже известен. Каждый остается при своем при потраченном времени и силах. Бессмысленное занятие.
  • 0
    Любопытно. :)

    Основная задача бизнес-аналитика при разработке нового ПО – изучение предметной области и формальное описание полученных сведений в виде модели (Domain Model).

    Не совсем. Его основная задача — сформировать систему требований к разрабатываемому ПО. И где-то там, среди прочего, может быть и Domain Model (а может и не быть). Причем не обязательно в качестве части системы требований — вполне может статься, что она так и останется «сырьем» для формирования требований.

    Аналитик должен петь то, что он видит и то, что он хочет увидеть.

    Обратно не согласен. Аналитик должен петь то, что уменьшит степень неопределенности для проектной команды. А «что видит» он вполне может бурчать себе под нос в ванной, почему бы и нет?

    Для этого у него должен быть язык, на котором он исполнит свою песню.

    Эх… Взашей гнать таких аналитиков, которые кроме как на своем птичьем языке петь не могут. Аналитик должен петь так, чтобы тот, для кого он поет (будь то заказчик, менеджер проекта, программисты и т.п.) восхищенно внимали и проникались каждой нотой и каждым куплетом.

    он может перестать видеть то, что надо петь и начать видеть лишь то, для чего есть слова в словарном запасе используемого им языка. Все остальное перестает для него существовать.

    Так это не аналитик, это тетерев. Общечеловеческое свойство, от профессии мало зависит.

    Мы увидели, что моделирование в категориях типов или классов ООП приводит нас к тому, что построенные модели, нерасширяемы.

    С фундаментом под многоэтажку примерно такая же фигня. Тенденция-с.

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

    «Мысль изреченная есть ложь.» (с) Ф.И. Тютчев, 1831. Внезапно, да.
    А уж если обратиться к самому определению «модель»…

    • 0
      Его основная задача — сформировать систему требований к разрабатываемому ПО

      Без знания предметной области это сделать невозможно. Пусть не всегда модель строится явно, но она всегда присутствует.

      Обратно не согласен. Аналитик должен петь то, что уменьшит степень неопределенности для проектной команды

      Борьбой со словом «обратно» занималась наша учительница. Она как-то сказала: Обратно покойника понесли. И мы стали использовать слово «Снова». Пусть и так, но он должен петь, а не спотыкаться, подыскивая слова.
      Взашей гнать таких аналитиков

      Представьте себе архитектора, который так будет петь. Он-то споет, только здание потом обрушится. Поэтому архитектор говорит только на специальном профессиональном языке. переводчиком для пользователя служит менеджер проекта. Это его задача заливать соловьем, а не аналитика. Бывает так, что две роли совмещает один человек. Это — да. Тогда он должен уметь говорить сразу на двух языках.
      • 0
        Без знания предметной области это сделать невозможно. Пусть не всегда модель строится явно, но она всегда присутствует.


        а) Увы, возможно. Наблюдаю сплошь и рядом.
        б) Неявную модель трудно назвать «основной задачей».

        Борьбой со словом «обратно» занималась наша учительница… И мы стали использовать слово «Снова».


        Молодец учительница. И, несомненно, авторитет для Вас (как для меня моя в свое время). Ну а мне милее язык Зощенко.

        Пусть и так, но он должен петь, а не спотыкаться, подыскивая слова.


        Это примечание было про то, что ему петь. По части «как» — совершенно согласен. О чем и написал в следующем комменте.

        Представьте себе архитектора, который так будет петь.


        Как — так? Жизнь меня сводила с архитекторами, которые были способны говорить «о своем» очень по-разному, в зависимости от аудитории (в т.ч. и писать).

        • 0
          Возможно, что есть такая практика — строить требования не зная, к чему они относятся. Это в высокосекретных проектах вполне допустимо. Но есть кто-то, кто держит проект в целости. И у него эта модель должна быть обязательно. Иначе не взлетит.

          Про архитектора. Он может петь на разных языках. Но это не исключает того, что официальным языком архитектора, или врача, или юриста, является отраслевой язык. То, ка врач потом рассказывает про операцию, нас уже не касается, главное, чтобы в процессе операции он не перешел на непрофессиональный язык.
          • 0
            Возможно, что есть такая практика — строить требования не зная, к чему они относятся.

            Нет, такой не видел. А вот без знания предметной области — запросто. На основании одних лишь поверхностных представлений. Например, приличная часть коммерческих предложений по «не своей» тематике пишется именно так.

            Но есть кто-то, кто держит проект в целости.

            В теории — да.

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

            У врача нет необходимости петь (т.е. выполнять информационные транзакции). А вот если бы он:
            1) программировал робота-хирурга,
            2) объяснял фельдшеру, что и где резать,
            3) рассказывал, что принимать пациенту (чтобы само отвалилось),
            … он бы, пожалуй, пользовался разными языками. Какой из них будет непрофессиональным?
            • 0
              Например, приличная часть коммерческих предложений по «не своей» тематике пишется именно так.

              Это значит, что используется типовая модель, из наработанных ранее

              У врача нет необходимости петь

              Есть книга Чек-лист, в которой описана работа хирурга. Он в процессе операции поет только на профязыке. Если запоет иначе — пациент может погибнуть.
              • 0
                Это значит, что используется типовая модель, из наработанных ранее

                Что-то вроде. Но знания предметной области при этом нет.

                описана работа хирурга. Он в процессе операции поет только на профязыке


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

                «Профессиональный» же язык аналитика тут подобен тому, на котором хирург будет писать статью в журнал. Коллеги-аналитики поймут в нюансах, остальные — вряд ли. Но аналитику платят не за то, чтобы он делился курьезами со своими собратьями по цеху, а за доведение информации до не-аналитиков.
                • 0
                  Доведение информации от одного профессионала до другого профессионала происходит на профессиональном языке. Иногда — на профессиональном сленге. Но, если аналитик пишет доки, то они должны быть написаны на профессиональном языке, а не на сленге, или ином.
                  • 0
                    На профессиональном языке аналитика? Вы представляете, что будет, если их попробует прочитать первое лицо заказчика? (перед тем, как поставить утверждающую подпись, например).

                    Кроме того, я не сильно много знаю программистов, способных в деталях понимать UML, PBMN или что-то похожее. Обычно диалог сводится к «ты не зю-зюкай, ты рукой покажи».
                    • 0
                      Вопрос не в том, на каком языке аналитик представляет данные наружу. Вопрос в том, на каком языке он мыслит.
                      • 0
                        Так давайте уже определимся — мыслит или выдает результат. По поводу «мыслит» у меня вообще никаких комментариев нет. В этом деле не то, что Аристотель, даже наши современники британские ученые еще не разобрались.
                        • 0
                          Если надо, выдает, если не надо, не выдает. Но умение писать и читать должно быть развито профессионально.
                          • 0
                            Да, это пара умений, потребность в которых никаких вопросов не вызывают. :)
    • 0
      Многие все же пытаются выдать желаемое за действительное и называют модели данных моделями предметной области. Для этого приведу один комментарий. Есть отличная книга по ООП, правда с огромными проблемами перевода: Крэг Ларман. Применение UML и шаблонов проектирования

      Так вот там на странице 36-37 написано:

      Программные объекты в некотором смысле соответствуют объектам реального мира, но не являются их точными моделями или копиями. Хотя полученная диаграмма классов проектирования не до конца соответствует модели предметной области, некоторые имена классов и их характеристики совпадают. Объектно-ориентированные проектные решения и языки позволяют уменьшить разрыв между представлением информации в виде программных компонентов и ментальными моделями предметной области. Это улучшает образность представления.
  • 0
    Пошел я, значит, перечитывать ваши ранние статьи, чтобы найти, а вдруг я все-таки что-то где-то недопонял. Выяснилось, что наоборот — не столько я недопонял, сколько постулаты, к которым вы позже отсылаетесь как к доказанным, ошибочны.

    Пойдем по очереди.

    >> «Я держу книгу «Три мушкетера»»
    >> Можно сказать, что объект, который я держу в руках, имеет свойство.
    >> Это свойство объекта — быть книгой под названием «Три мушкетера» (интенсиональный контекст)
    >> В представлении Аристотеля мы работаем только в интенсиональном контексте, где все объекты имеют определенные свойства.
    >> Данный класс представлений зафиксирован в онтологическом стандарте MOF.
    >> На этом стандарте строится и ER-модели, и ООП.

    Пожалуйста, подтвердите (или опровергните), что я правильно понял описанную вами логическую цепочку:
    «В представлении Аристотеля мы работаем только в интенсиональном контексте»
    -> данный класс зафиксирован в MOF
    -> ER и ООП строятся на MOF
    ---> ER и ООП используют только интенсиональный контекст
    ---> пример «свойство объекта — быть книгой под названием «Три мушкетера»» — относится к ER и ООП.

    Я правильно проследил вашу логическую цепочку, или нет?

    (а то мне очень сложно судить о том, что именно утверждал Аристотель, а так же совершенно нет желания обсуждать корректность всех последующих утверждений, особенно того, что ООП — парадигма, придуманная в 1960-ых, — основана на MOF, придуманном после 2000-ых, поэтому я просто хочу соотнести начало и конец логики)

    А пока я жду вашего ответа на этот вопрос, пойдем дальше по тексту статьи.

    >> Зададимся вопросом: как смоделировать в терминах Аристотелевской логики эту предметную область?
    У меня есть встречный вопрос: зачем моделировать эту предметную область в терминах аристотелевской логики, когда для этого есть более подходящие инструменты — например, привычная парадигма сущностей и связей?

    >> Моделировать эту связь в терминах признаков уже не удается. Придется создавать новый тип сущности «Связь», который хранит ссылку на сотрудника и на эксперимент, но сам по себе ничего не значит. Таких объектов просто нет в природе!
    Это, заметим, совершенно ошибочное движение. У Аристотеля в «Органоне», сочинение «Категории», глава седьмая, прекрасно описана категория *отношений", то есть способов, которым одна вещь может быть связана с другой. Вот «сотрудник проводит эксперимент» — это отношение между сущностью (субстанцией) «сотрудник» и сущностью «эксперимент».

    Теперь перейдем к ООП.

    >> То, что это реализуется разными способами, уже говорит нам о том, что ООП не моделирует наше видение мира.
    >> Наше видение однозначно.
    Это смелое, и, главное, ничем не подтвержденное утверждение. Наше видение мира неоднозначно, и зависит от множества факторов. Даже вы сам пишете, что восприятие субъективно — как же субъективное может быть однозначным? Но даже внутри субъекта восприятие неоднозначно — один и тот же человек в разное время и разной ситуации может рассматривать одни и те же события, явления и объекты совершенно различным образом.

    >> Можно создать статическую переменную у класса «Яблони». Что значит эта переменная? Эта переменная создается для объектов данного класса одна на всех. Вопрос: эта переменная класса, или объектов класса? Логически мы можем сделать вывод: если значение переменной доступно объектам класса, то это переменная объектов класса, а не класса объектов!

    Ваш вывод совершенно безграмотен с точки зрения ООП. Доступность не означает принадлежность. Так, значение публичного свойства (ООП не оперирует понятием «переменная») доступно *всем*, но это же не означает, что она всем принадлежит? Поэтому статические свойства — это именно свойства класса (и это, заметим, простое и фундаментальное знание).

    >> Однако, ООП имеет встроенный механизм работы с объектами класса, а с классом – нет. То есть, когда вы объявляете класс, вы на самом деле описываете объекты этого класса, а не сам класс!

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

    >> Во-вторых, в языке UML нет возможности нарисовать связь между объектом «Классы яблонь» и объектами класса «Яблони». Эта связь называется классификация. Вы не найдете ее в моделях ООП.

    Так вы говорите об ООП или об UML? Это разные вещи. В ООП прекрасно есть отношение между объектом и его классом, и оно, в зависимости от языка, может выражаться, скажем, typeof() или is instance of. Не говоря уже о том, что вы не обязаны рассматривать вашу сущность «класс яблонь» как класс в терминах ООП, и тогда все необходимые отношения прекрасно вернутся в модель.

    >> В-третьих, в UML нельзя создать объект, и лишь потом его классифицировать.
    >> А также нельзя переклассифицировать объект, если результат классификации нас не устроил.
    >> В этом фундаментальное ограничение ООП от реального моделирования предметной области.
    В UML, возможно, нельзя (не помню навскидку). А в ООП — можно, просто в этот момент мы переходим от языков со статической типизацией к языкам с динамической типизацией. И поэтому никакого «фундаментального ограничения ООП» нет.

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

    Это утверждение опровергается существующей практикой разработки програмного обеспечения; если быть точным, характеристикой «расширяемость».

    Жду ответа на вопрос, заданный в начале комментария.
    • 0
      У аналитиков есть тренировка: дайте 10 версий причин. И это навскид. После обдумывания HR обычно ждет до 50-ти вариантов. Зададимся вопросом: почему математикой занимаются несколько тысячелетий, а основы математики были сформулированы только в 20-м веке? Ответ на этот вопрос, возможно поможет нам понять, почему ООП занимались много лет, а обоснование ООП возникло недавно? Вариантов ответа может быть много, как я сказал вначале. Попробуйте сами придумать возможные причины.
      • 0
        Я правильно понял, что ни ответа на поставленый вопрос, ни реакции на возражения к вашему тексту не будет?
        • 0
          Это вопрос, ответ на который имеет множество ответов. Самый очевидный — таков закон развития науки. История науки говорит в пользу того, что накопление опытных данных в итоге приводит к попытке обосновать эти данные. MOF — это стандарт, к которому приведены все стандарты группы компаний OMG. Почему? потому что без приведения к онтологическому базису стандарт моделирования становится повисшим в пространстве и им пользоваться нельзя. Я до сих пор не знаю, привели ли к базису ER модели. Если не привели, то пользование ими — сугубо личное дело каждого, но узаконить работу при помощи них — нельзя. Поэтому я допускаю, что основа подведена, пусть я этого и не знаю. Почему MOF появился позже, а не раньше? Потому что никому это не надо было тогда. Сейчас надо. Вот и весь ответ. А вот почему раньше не было надо, а сейчас стало надо, — я не знаю, Только версии.
          • 0
            Понятно, вопроса вы не заметили. Повторю его еще раз:

            "
            Пожалуйста, подтвердите (или опровергните), что я правильно понял описанную вами логическую цепочку:
            «В представлении Аристотеля мы работаем только в интенсиональном контексте»
            -> данный класс зафиксирован в MOF
            -> ER и ООП строятся на MOF
            ---> ER и ООП используют только интенсиональный контекст
            ---> пример «свойство объекта — быть книгой под названием «Три мушкетера»» — относится к ER и ООП.

            Я правильно проследил вашу логическую цепочку, или нет?
            "

            Ну и поскольку на возражения вы не отвечаете, я вынужден считать, что вы с ними согласились и признали, что соответствующие утверждения в вашем тексте ошибочны.
            • 0
              Сконцентрируемся на ООП:
              Аристотель работает с типами и экземплярами.
              этот подход зафиксирован в MOF
              MOF является базисом для всех стандартов OMG, в том числе для всех нотаций ООП
              ООП строится только на описаниях типов, а не классов, как заявлено, оттого противоречия в терминологии.
              Свойство объекта быть книгой — это из ООП. И это Аристотель. В логической парадигме нет книг. Есть класс книг и есть объекты этого класса. Но книги не существует.
              • 0
                >> Свойство объекта быть книгой — это из ООП.
                Значит, я правильно понял вашу логическую цепочку.

                Так вот, в ООП *не так*. В ООП объект *есть* (is a) книга, и это определяет его дальнейшие свойства (точнее, может определять, если мы говорим о статической типизации).

                Давайте вы просто признаете, что об ООП вы слышали, но детально не изучали, поэтому ваши знания (и примеры) о нем некорректны? В конце концов, вы не программист и не архитектор, вам это позволительно.
                • 0
                  В ООП объект создается с определенным типом, а затем он не может изменить этот тип. Кроме того, в ООП нет классов, а есть только объекты. Моделированием классов ООП не занимается. Оно работает с типами. Пример: в ООП нет операций умножения, вычитания и сложения классов, то есть, нет базовых операций над классами. Книга в ООП создается. В логической парадигме создается не книга, а объект. Он имеет только ИДишник и более ничего. Лишь потом мы его классифицируем. В ООП это невозможно реализовать.
                  • 0
                    >> В ООП объект создается с определенным типом, а затем он не может изменить этот тип.
                    Это утверждение неверно (точнее, говоря, оно верно только для ОО-языков с ориентацией на классы и статической типизацией).

                    >> Моделированием классов ООП не занимается.
                    Правильная формулировка: в ООП в целом нет понятия «класс», однако ничего не мешает его смоделировать.

                    >> Книга в ООП создается. В логической парадигме создается не книга, а объект.
                    >> Он имеет только ИДишник и более ничего. Лишь потом мы его классифицируем.
                    >> В ООП это невозможно реализовать.
                    Да ну?

                    var smth = new {};
                    smth.title = 'The Very Basics of the Universe';
                    smth.classTag = Book;
                    • 0
                      Хорошо, тогда так: диаграмма классов, которая часто используется для моделирования предметной области, не позволяет на диаграмме изобразить класс объектов, объект и принадлежность этого объекта классу, А без этого нельзя моделировать тот факт, что объект в разное время может выполнять разные роли. Кодом я могу решить любую задачу, собственно так мы все и делаем. Вопрос же о моделировании предметной области методами ООП. Но не кодом.
                      • 0
                        >> диаграмма классов, которая часто используется для моделирования предметной области
                        Не надо использовать диаграмму классов для аналитического моделирования предметной области. Единственное применение диаграммы классов — это отображение существующей или предполагаемой реализации в рамках конкретного инструментария (языка или платформы).

                        >> Вопрос же о моделировании предметной области методами ООП. Но не кодом.
                        Вы не понимаете: ООП — это *и есть код*. Не диаграммы, а именно код. Потому что ООП — это объектно-ориентированное *программирование*. И поэтому «моделирование предметной области методами ООП» — это написание такого *кода* в объектно-ориентированной парадигме, который бы соответствовал предметной области с учетом ограничений конкретного языка.

                        (я сейчас не рассматриваю ООП-инструменты, не имеющие кода — например, графические системы программирования)
                        • 0
                          Вы точно заметили, что применять ООП к моделированию предметной области в лоб нельзя. Я об этом и говорю. Моя же задача — моделирование предметной области, а не кода
                          • 0
                            ООП нельзя применять для *анализа* предметной области (но прекрасно можно применять для построения полностью работающих реализационных моделей). Так ООП — это и не аналитическая дисциплина, что вы от нее хотите?

                            При этом — важно — ваши претензии к ООП все равно необоснованы: во-первых, потому, что они фактически неверны, а во-вторых, потому что вы применяете ООП неправильно. Не надо предъявлять к молотку претензии «забитые им шурупы держатся хуже, чем завинченные отверткой».
                            • 0
                              Я не имею предензий к молотку. Я пользуюсь ООП для построения моделей предметных областей очень осторожно, также как использую ER модели крайне внимательно, если такое понадобится. Просто меня часто спрашивают, зачем я так много рассказываю про логическую парадигму, если есть ER модели и ООП. Вот это мой ответ им, а не попытка рассказать про то, как я моделирую при помощи ООП предметную область
                              .
                              • 0
                                (а вы вообще пользуетесь ООП? вы программист?)

                                Пожалуйста, обратите внимание, что по результатам этого обсуждения в вашем посте не осталось ни одного неоспоренного утверждения (кроме тривиальных). В частности, этот пост не описывает ни одного реального ограничения существующих средств моделирования при их применении по назначению.
                                • 0
                                  Я не программист! Я аналитик. Я не моделирую код программы, я не пишу код. Я моделирую предметную область и проверяю, так ли меня поняли программисты, когда они создают свои классы. Кроме того, я делал карту, отображающую объекты кода в объекты предметной области. Но сам я не занимаюсь ни архитектурой приложений, ни кодом.
                                  • 0
                                    >> Я не программист! Я аналитик. Я не моделирую код программы, я не пишу код.
                                    Значит, вы не пользуетесь ООП.

                                    >> проверяю, так ли меня поняли программисты, когда они создают свои классы.
                                    А это работа архитектора/ведущего разработчика.

                                    >> мне хватает знаний, чтобы понять, что объявляя класс в ООП, я объявляю тип объектов, а не класс объектов.
                                    Извините за прямоту — не хватает вам знаний. Объявляя класс в ООП, вы объявляете класс. При этом вы объявляете еще и тип данных (потому что тип данных в ООП является более общим понятием, чем класс).

                                    >> ООП не работает с классами.
                                    >> Оно работает с типами.
                                    >> Это большой обман со стороны разработчиков ООП.
                                    О нет. Ориентированное на классы ООП (потому что есть и другое, например, прототипное, или вообще не имеющее системы типов) работает именно с классами. То, что *вы* под классом понимаете что-то другое — это ваша личная проблема, которую вы зачем-то несете в чужой контекст.

                                    И на этом, собственно, можно и подытожить этот участок дискуссии: ни одной обоснованной претензии к ООП у вас нет; неоспоренных утверждений в вашем посте тоже нет. So far, so good.
                                    • 0
                                      Ну. если я вижу название диаграммы: диаграмма классов (в математике под классом понимается множество), а на деле я вижу описание типов объектов, то я не понимаю на какой платформе стоит ООП. Если Вы скажете мне то, что они имели ввиду под классом, я может и пойму замысел разработчиков.
                                      • 0
                                        «In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions, methods).»
                                        • 0
                                          В математике под классом понимается множество объектов любой природы. В одном классе могут находиться крокодил, кенгуру, планета Нептун, класс зерен кукурузы. Класс в математике не задается его свойствами, он задан перечислением его объектов. И только так. В ОПП же под классом понимается шаблон! Но это определение типа по Аристотелю.
                                          На этой путанице проросли такие дикие термины. как: термин переменная и ее экземпляр!
                                          В английском языке нет термина экземпляр, там термин instance, который переводится как пример объекта. И мы должны были бы перевести всю конструкцию так: тип переменной и пример объекта данного типа переменной. Но в русском языке получилось совсем нехорошо. А все потому что мы плохо знаем математику и поверили разработчикам ООП.
                                          • 0
                                            >> В ОПП же под классом понимается шаблон!
                                            Не в ООП, а в ориентированном на классы ООП.

                                            >> Но это определение типа по Аристотелю.
                                            Вы, конечно, можете привести точную цитату из Аристотеля, подтверждающую ваши слова?

                                            >> На этой путанице проросли такие дикие термины. как: термин переменная и ее экземпляр!
                                            Термин «переменная» не имеет к описанному выше расхождению никакого отношения, он вообще старше ООП. Термина же «экземпляр переменной» не существует.

                                            >> В английском языке нет термина экземпляр, там термин instance, который переводится как пример объекта.
                                            Ох. Нет, термин instance не переводится как «пример». Instance — это вполне понятное английской слово, означающее пример *или* случай (как один из ряда), и именно из второго значения произрастает использование этого слова в компьютерной лексики. Слово «экземпляр» очень неплохо подходит к набору английских примеров употребления слова instance.

                                            >> А все потому что мы плохо знаем математику и поверили разработчикам ООП.
                                            А с чего вы вообще взяли, что ООП в частности, и программирование в общем должны следовать терминологии принятой в математике, причем не в общеупотребимой ее области? Есть область знания, есть присущая ей терминология, вы в этой области не работаете — какое вам дело до ее терминологии?
                                • 0
                                  Но мне хватает знаний, чтобы понять, что объявляя класс в ООП, я объявляю тип объектов, а не класс объектов. И на этом можно с классами расстаться. ООП не работает с классами. Оно работает с типами. Это большой обман со стороны разработчиков ООП.
            • 0
              В логической модели объект называется книгой ровно до тех пор, пока он принадлежит классу книг. Но как только субъект исключит его оттуда и перенесет в класс рыб, то объект будет называться рыбой с этого момента.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.