Как стать автором
Обновить

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

Семантика *Анализ и проектирование систем *

Введение


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


Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 29K
Комментарии 23

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

Семантика *Анализ и проектирование систем *Математика *

Введение


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

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

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



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

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

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

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

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




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


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

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



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


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

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

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

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

Читать дальше →
Всего голосов 16: ↑12 и ↓4 +8
Просмотры 20K
Комментарии 166

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

Семантика *Анализ и проектирование систем *Математика *
Есть три способа описания процесса:







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

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


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



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


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

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

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

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



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


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

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

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


Читать дальше →
Всего голосов 20: ↑13 и ↓7 +6
Просмотры 28K
Комментарии 103

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

Семантика *Анализ и проектирование систем *ООП *


Введение


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

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

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

Разработка веб-сайтов *Семантика *Программирование *Анализ и проектирование систем *ООП *

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


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

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

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

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

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

Читать дальше →
Всего голосов 13: ↑8 и ↓5 +3
Просмотры 15K
Комментарии 44

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

Семантика *Анализ и проектирование систем *ООП *Математика *
Устраиваясь на новую работу, я придумал новый вопрос для собеседования. Хочу задать его и вам.

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

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



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



Читать дальше →
Всего голосов 40: ↑7 и ↓33 -26
Просмотры 14K
Комментарии 147

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

Анализ и проектирование систем *Data Mining *Визуализация данных *
Из песочницы
Предлагаю вниманию хабрапользователей небольшую статью, описывающую практическую сторону применения такой области, как имитационное моделирование.

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


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

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

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

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

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

Семантика *Анализ и проектирование систем *ООП *Математика *
Добрый день, коллеги!

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



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

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

Семантика *Анализ и проектирование систем *
Александр Болдачев, 2015

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


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

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

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

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

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

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

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



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



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

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

Семантика *Анализ и проектирование систем *ООП *Математика *
Вопрос о том, что такое класс объектов, существует ли он в природе, обсуждается мной вот уже на протяжении двух статей: Класс объектов или объекты класса? , Особенности концептуального моделирования предметной области . Я задаюсь вопросом: можно ли, описывая предметную область, связать семантической связью объект и класс объектов?

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

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

Читать дальше →
Всего голосов 10: ↑4 и ↓6 -2
Просмотры 4.7K
Комментарии 96

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

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

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

Семантика *Анализ и проектирование систем *

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


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

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

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

Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 17K
Комментарии 66

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

Семантика *Анализ и проектирование систем *


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



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

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

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

Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 8.2K
Комментарии 51

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

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

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

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


Читать дальше →
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 2.5K
Комментарии 2

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

Блог компании ГК «Современные технологии управления» Терминология IT Бизнес-модели *


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

Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 7K
Комментарии 3