Pull to refresh
  • by relevance
  • by date
  • by rating

Информационные объекты или причина одного заблуждения

SemanticsSystem Analysis and Design

Введение


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


Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Views25.8K
Comments 23

Знакомство с парадигмами построения моделей предметной области

SemanticsSystem Analysis and DesignMathematics

Введение


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

Давайте зададим аналитикам простой вопрос.

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



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

  • Бумажка с печатью
  • Бумажки с печатью
  • Класс бумажек с печатью
  • Договор
  • Договоренность
  • Информация о договоренности
  • Файл MS Word с названием договор
  • Запись в базе данных
  • Поток каких-то объектов

Пока я наблюдаю отсутствие согласия между аналитиками на предмет того, что же все-таки передается, и что значат термины «договор», «поток», «договоренность», «информация», «данные». Чтобы ответить на этот вопрос, мне пришлось копать глубоко и в сторону парадигм. Причем, ответ потребовал разбиения вопроса на два. Первый вопрос был: «Как корректно сформулировать вопрос?» А второй был: «Как на него ответить?». Для правильной формулировки нужно было выбрать подходящую парадигму. Эта статья посвящена рассказу о двух парадигмах: Аристотелевской и логической, и почему я выбрал логическую в качестве рабочей. Ответа на поставленный вопрос в этой статье я не дам. Ответ я дам в другой статье.
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Views21K
Comments 76

Что такое событие, или зачем четырехмерная геометрия бизнес-аналитику?

SemanticsSystem Analysis and DesignMathematics
Петька, ну как? Сдал экзамен?
Нет, Василий Иванович! Меня попросили квадратный трехчлен разложить. А я его не то что разложить, я его представить не могу!




Постановка вопроса


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

Посмотрите на диаграмму. На ней кружочками что-то изображено. В нотации BPMN это что-то называется «Событие». Но что есть само событие? И почему операция по отправке сообщения в одном случае обозначено как событие, а в другом как операция?



Чем ИСО 15926 мне не понравился


В прошлых статьях я давал определения физического объекта.

Физический объект — это любое подмножество 4-Д пространства-времени.

Кроме того, я давал определения функционального и информационного объектов.

Физический и информационный объекты — это физические объекты в 4-Д пространстве-времени, которые с точки зрения наблюдателя выполняют определенные функции, или служат определенным целям.

Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Views20.1K
Comments 166

Физические и функциональные объекты (Продолжение)

SemanticsSystem Analysis and DesignMathematics
Есть три способа описания процесса:







Чем они отличаются?

Описание сущего


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



Природа пространства-времени


Начнем с того, что воспринимаемый нами мир – это четырехмерное пространство-время. Но не то пространство-время, которое используют математики в своих рассуждениях. Скорее это то пространство, которое используют физики. Разница в том, что в физическом мире нет точек. Есть объекты, которые с точки зрения наблюдателя можно считать точечными. Но при ближайшем рассмотрении эти точки могут рассматриваться как бесконечные пространства. Мы часто не различаем воспринимаемый нами мир и математическую абстракцию, созданную для описания этого восприятия. В абстракции, созданной для описания воспринимаемого мира, есть понятие точка. В реальном мире нет точек. В этом огромная разница между моделируемым миром и его моделью. В неразличении этих двух сущностей кроется причина части холиваров, возникших на основе предыдущей статьи. Например, мы не способны воспринять срез пространственно-временного континуума поперек временной оси, как нам предлагает поступить ИСО 15926, для определения понятия событие. Поэтому далее я продолжу рассуждения, не отвлекаясь на такие понятия как точки, срезы пространственно-временного континуума и прочие абстрактные объекты. Мы будем работать только с реально воспринимаемыми нами объектами 4-Д пространства-времени.
Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Views21.8K
Comments 79

BPMN: Моделирование физических событий

SemanticsSystem Analysis and DesignMathematics
Я нередко слышу тезис о том, что есть термины: событие и экземпляр этого события, или переменная и экземпляр этой переменной. Уважаемые аналитики, у меня убедительная просьба к тем, кто использует эти термины, прочитайте конец статьи и подумайте над тем, что там написано. Возможно, вы поймете, что так говорить нельзя.

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



Определение события


Для начала вспомним, что такое физическое и функциональное событие в предметной области.
Событие — это экстент плюс субъективная точка зрения на него.

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

В итоге мы имеем такую иерархию объектов:


Читать дальше →
Total votes 20: ↑13 and ↓7 +6
Views28K
Comments 103

Особенности моделирования предметной области с помощью ООП

SemanticsSystem Analysis and DesignООP


Введение


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

Адепту ООП очень трудно понять, что термин экземпляр класса в русском языке указывает на класс объектов, а не на созвучный этому термину элемент класса – объект класса. Для многих, кто изучал ООП, термины экземпляр и элемент – неразличимы. Давайте разберемся с этими терминами внимательно.
Читать дальше →
Total votes 19: ↑10 and ↓9 +1
Views30.2K
Comments 555

На тему моделирования предметной области в терминах ООП

Website developmentSemanticsProgrammingSystem Analysis and DesignООP

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


К актуальности изложенных в статье идей, приходишь подспудно (не имея возможности выразить по причине того, что парадигме моделирования в терминах теории множеств не учат в вузах, будущих «программистов», по крайней мере), долго работая с ООП и реляционными базами данных:

Каждый раз при моделировании предметной области, оперируя терминами ООП (сейчас говорим не об этапе бизнес-анализа, а о последующем этапе реализации модели в коде), для всех сущностей предметной области приходится реализовывать в коде и схеме БД следующий паттерн, состоящий их «подсущностей», связанных между собой:
  • класс/таблицу вида «Машины» (здесь и далее класс употребляю в терминах ООП);
  • класс/таблицу вида «Список машин»;
  • класс/таблицу вида «Машина».

Далее с помощью механизмов ООП и реляционной модели «подсущности» связываются между собой.

Причем термины «сущность» и «подсущность» применимы именно к модели предметной области в терминах теории множеств,
а в терминах ООП/реляционной модели уместны термины «метасущность» и «сущность» соответственно.
Надеюсь, понятно, почему? — ООП/реляционная модель являются более низкоуровневыми механизмами, и сущность предметной области приходится конструировать, нет в них средств, которые нативными образом позволили бы отразить сущность предметной области.

А далее следуют ожидаемые проблемы:

Читать дальше →
Total votes 13: ↑8 and ↓5 +3
Views14.3K
Comments 44

Класс объектов или объекты класса?

SemanticsSystem Analysis and DesignООPMathematics
Устраиваясь на новую работу, я придумал новый вопрос для собеседования. Хочу задать его и вам.

Пусть у нас есть конкретная машина. КОНКРЕТНАЯ! Не тип и не класс машин, А именно конкретная машина, на которую я указываю своим указательным пальцем. Хозяин этой машины утверждает, что его машина состоит из множества компонентов, в том числе из колес. Он говорит, что его машина состоит из пяти колес (одно запасное). Замечу сразу, что хозяин говорит: «состоит из», а не «включает в себя».

Вопрос: слушая хозяина машины, что мы себе представляем: то, что машина состоит из колес одного класса?



Или то, что машина состоит из класса колес?



Читать дальше →
Total votes 40: ↑7 and ↓33 -26
Views13.2K
Comments 147

Имитационная модель логистического центра

System Analysis and DesignData MiningData visualization
Sandbox
Предлагаю вниманию хабрапользователей небольшую статью, описывающую практическую сторону применения такой области, как имитационное моделирование.

Постановка задачи (описание процесса)


В логистический центр по согласованному с поставщиком календарю поставок прибывает известное количество товаров одного типа. При переполнении склада заявка на поставку товаров заведомо отменяется. Товар поступает, хранится и передается в розничную точку продаж в упаковках по 8 шт. По прибытию машину встречает сотрудник центра (кладовщик), проверяет наличие необходимой сопроводительной документации, актов соответствия/качества, первичной бухгалтерской документации и сопровождает машину в зону разгрузки.

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

Комплектовщики при помощи погрузочного оборудования (электрический погрузчик) комплектуют в зоне отгрузки поставку в розничную точку продаж. Комплектация проводится при достижении остатка товара в розничной точке продаж точки восполнения запаса (точки перезаказа).

После комплектации стандартной партии отгрузки товар передается в точку розничных продаж для реализации.
Необходимо разработать модель представленного процесса для дальнейшего проведения оптимизационных экспериментов (например, определения точки перезаказа при условии отсутствия нулевого остатка в розничной точке продаж).
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views12.3K
Comments 0

Моделирование функциональных и физических событий в логической парадигме

SemanticsSystem Analysis and DesignООPMathematics
Добрый день, коллеги!

Я предлагаю вам прочитать статью, которая является логическим продолжением начатой мной серии статей, посвященных моделированию предметных областей.



В этой статье я продолжаю давать определения терминам в рамках логической парадигмы. Я развиваю мысль о том, что такое реальность и о том, как мы ее моделируем. Я подчеркиваю тот факт, что мир, в котором мы живем, — это иллюзия. Мы даже не знаем, есть ли мы на самом деле, или наше существование — тоже иллюзия. Наше «Я» думает, что существует, но существует оно в мире иллюзий. Все, что мы видим, и что моделируем, — мы видим иллюзию и моделируем иллюзию.
Читать дальше →
Total votes 17: ↑10 and ↓7 +3
Views5.3K
Comments 32

Субъектно-событийный подход к моделированию сложных систем

SemanticsSystem Analysis and Design
Александр Болдачев, 2015

Вещная (объектная) онтология


Традиционным для современного человека – и в быту, и в науке, и в философии – является вещное мышление, для которого свойственно описание мира как множества пространственно локализованных объектов-вещей. Сами вещи определяются через совокупность предикатов. Взаимосвязь объектов описывается через отношения и классификации, что формально фиксируется в виде таблиц и графов. Современные методы описания/моделирования сложных систем придерживаются вещной онтологии: сначала декомпозиция – выделение объектов, затем их классификация с приписыванием объектам свойств и установлением между ними отношений («часть-целое», «род-вид», «зависит» и т.д.)
Читать дальше →
Total votes 21: ↑15 and ↓6 +9
Views16.8K
Comments 26

Сравнение субъектно-событийного подхода с существующими BPM системами

SemanticsSystem Analysis and Design
Изложенный в тексте «Субъектно-событийный подход к моделированию сложных систем» способ анализа и фиксации данных, прежде всего предназначен для моделирования бизнеc-систем. Наиболее близкими по названию и, конечно же, по содержанию к предлагаемому субъектно-событийно подходу следует признать два метода описания бизнес-систем: EPC диаграммы (event-driven process chain, событийная цепочка процессов) и субъектно-ориентированный подход (s-BPM) компании Metasonic. Попробуем сделать сравнительный анализ этих методов моделирования предприятия.
Читать дальше →
Total votes 11: ↑8 and ↓3 +5
Views8.8K
Comments 7

Особенности концептуального моделирования предметной области

SemanticsSystem Analysis and DesignООPMathematics
Я продолжаю серию статей, посвященных особенностям концептуального моделирования предметных областей. В прошлой статье я показал. как возможно связать объект с классом объектов семантической связью. В статье я рассказал о том, что понимается под термином класс в ООП. Сегодня я расскажу, почему я предпочитаю строить концептуальные модели в виде ER диаграмм.

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

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



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



Посмотрим внимательно на предметную область и напишем, как будет выглядеть представление модели предметной области в терминах логической парадигмы.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views17.5K
Comments 142

Концептуальное моделирование: How Many? How Much?

SemanticsSystem Analysis and DesignООPMathematics
Вопрос о том, что такое класс объектов, существует ли он в природе, обсуждается мной вот уже на протяжении двух статей: Класс объектов или объекты класса? , Особенности концептуального моделирования предметной области . Я задаюсь вопросом: можно ли, описывая предметную область, связать семантической связью объект и класс объектов?

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

Моделирование при помощи UML подливает масла в огонь, потому что во-первых, не позволяет моделировать классы объектов (Моделирование функциональных и физических событий в логической парадигме), а во-вторых, не позволяет связать семантикой класс объектов и объект. Таким образом, в области моделирования предметных областей наблюдается пока не изученное пустое пространство. Я позволю себе немного порезвиться на этом поле, чтобы показать, как на самом деле это забавно. Сегодня я расскажу про то, как мой вопрос связан с понятием исчисляемости и неисчисляемости существительного.

Читать дальше →
Total votes 10: ↑4 and ↓6 -2
Views4.5K
Comments 96

Классы, множества, группы, системы

SemanticsSystem Analysis and Design
Описание предметной области (создание ее онтологии) начинается с выделения объектов и их классификации, которая традиционно заключается в составлении дерева классов-подклассов и  приписывании к ним индивидов. При этом термин «класс», по сути, используется в значении «множество»:  отнесение объекта к классу мыслится как включение его в качестве элемента в соответствующее множество. Цель этого текста показать, что такой унифицированный подход к описанию структуры предметной области является сильным упрощением и не позволяет зафиксировать разнообразие семантических отношений объектов.
Читать дальше →
Total votes 16: ↑11 and ↓5 +6
Views15.5K
Comments 111

Концептуальное описание индивидов

SemanticsSystem Analysis and Design

Концептуальные и реляционные понятия


Описание предметной области начинается с выделения объектов, и мы вынуждены это делать еще не имея никакой классификации, которую мы могли бы использовать в качестве шаблона для их различения. У нас есть только свое представление о мире (и предметной области), своя понятийная сетка, в которой прошиты типовые указания: это собака, это машина, это договор. Причем примечательно, что для подведения индивида под понятия («собака», «машина», «договор») нам не требуется проводить анализ, фиксировать атрибуты – понятия фигурируют в нашем мышлении в виде  гештальт-образов, с которыми  и происходит сопоставление выделенного из среды индивида. Последнее замечание наводит на мысль, что любое описание предметной области должно начинаться с формирования списка понятий, с помощью которых мы сможем выделять объекты, не обращая внимания на их атрибутивное описание.
Читать дальше →
Total votes 7: ↑5 and ↓2 +3
Views6.3K
Comments 42

Отношение «часть – целое» в темпоральной/событийной онтологии

SemanticsSystem Analysis and Design
Исходная публикация цикла («Классы, множества, группы, системы») заканчивалась выводом, что традиционная классификация индивидов через приписывание их к тем или иным классам-множествам не может считаться однородной, и следует различать (1) включение индивидов как частей в сложный объект (целое) и (2) подпадание индивидов под понятия, которые можно разделить на концептуальные и реляционные. Во втором тексте («Концептуальное описание индивидов») была предложена оригинальная иерархия концептуальных понятий («категория – тип – концепт – род – вид – разновидность – индивид»). В текущей публикации речь пойдет о классификации отношений типа «часть –целое». В лингвистических тезаурусах и в онтологиях верхнего уровня (WordNet, РуТез, SUMO, CYC Ontology, DOLCE) описаны различные варианты выделения подвидов отношения «часть – целое». В тексте предлагается еще один способ классификации.

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views15.4K
Comments 66

Зачем нужно моделировать индивидуальные и типовые сценарии?

SemanticsSystem Analysis and Design


Постановка задачи



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

На уровне предприятия производятся следующие работы:

  • Формулируются требования к предприятию в целом и выявляются ограничения, накладываемые внешними условиями;
  • Определяются производственные мощности предприятия;
  • Формулируются стратегические цели предприятия и текущие планы (задания);
  • Задания для предприятия декомпозируются на задания для подразделений. При этом учитываются возможности отдельных подразделений;
  • Задания передаются подразделениям.

Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Views7.8K
Comments 51

Различия в моделировании планируемых и фактически свершившихся операций

CRM systemsIT Terminology
В предыдущей статье «Зачем нужно моделировать индивидуальные и типовые сценарии?» я рассказал про необходимость моделирования как типовых, так и индивидуальных сценариев в тех случаях, когда заказчик хочет автоматизировать три функции:

  1. Моделирование операций и сценариев на основе типовых схем.
  2. Сравнение полученных результатов с планируемыми.
  3. Корректировка планов.

Теперь я сконцентрирую свое внимание на разнице в моделировании предстоящих работ и свершившихся действий.


Читать дальше →
Total votes 6: ↑4 and ↓2 +2
Views2.4K
Comments 2

Диаграмма цикличной причинности как инструмент моделирования сложных систем

ГК «Современные технологии управления» corporate blogIT TerminologyBusiness Models


Антон Антипин
Генеральный директор компании «Business Set»
«Если вы хотите понять систему и быть в состоянии предсказать ее поведение, необходимо изучить ее в целом. При разделении её на части могут разрушиться связи и, следовательно, сама система».
Денис Шервуд

Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views6.5K
Comments 3