Что относится к информационным объектам компьютера
Информационные объекты различных видов
Информационный объект – обобщающее понятие, описывающее различные виды объектов; это предметы, процессы, явления материального или нематериального свойства, рассматриваемые с точки зрения их информационных свойств.
Простые информационные объекты: звук, изображение, текст, число. Комплексные (структурированные) информационные объекты: элемент, база данных, таблица, гипертекст, гипермедиа.
Информация содержится везде. Дерево содержит собственную генетическую информацию, и только благодаря этой информации от семечка берёзы вырастает только берёза. Для деревьев источником информации является воздух, именно по уровню состояния воздуха дерево может определить время распускания почек. Перелетные птицы знают свой маршрут перелёта, и каждая стая идёт только своим заданным в генах маршрутом.
Стремление зафиксировать, сохранить надолго свое восприятие информации было всегда свойственно человеку. Мозг человека хранит множество информации, и использует для хранения ее свои способы, основа которых — двоичный код, как и у компьютеров. Человек всегда стремился иметь возможность поделиться своей информацией с другими людьми и найти надежные средства для ее передачи и долговременного хранения. Для этого в настоящее время изобретено множество способов хранения информации на внешних (относительно мозга человека) носителях и ее передачи на огромные расстояния.
Основные виды информации по ее форме представления, способам ее кодирования и хранения:
· графическая или изобразительная — первый вид, для которого был реализован способ хранения информации об окружающем мире в виде наскальных рисунков, а позднее в виде картин, фотографий, схем, чертежей;
· звуковая — мир вокруг нас полон звуков, и задача их хранения и тиражирования была решена с изобретением звукозаписывающих устройств в 1877 г.
Разновидностью звуковой информации является музыкальная информация — для этого вида был изобретен способ кодирования с использованием специальных символов, что делает возможным хранение ее аналогично графической информации;
· текстовая— способ кодирования речи человека специальными символами — буквами, причем разные народы имеют разные языки и используют различные наборы букв (алфавиты) для отображения речи; особенно большое значение этот способ приобрел после изобретения бумаги и книгопечатания;
· числовая— количественная мера объектов и их свойств в окружающем мире; особенно большое значение приобрела с развитием торговли, экономики и денежного обмена; аналогично текстовой информации для ее отображения используется метод кодирования специальными символами — цифрами, причем системы кодирования (счисления) могут быть разными;
· видеоинформация — способ сохранения «живых» картин окружающего мира, появившийся с изобретением кино.
Существуют также виды информации, для которых до сих пор не изобретено способов их кодирования и хранения — это тактильная информация, передаваемая ощущениями, органолептическая, передаваемая запахами и вкусами и др.
Для передачи информации на большие расстояния первоначально использовались кодированные световые сигналы, с изобретением электричества — передача закодированного определенным образом сигнала по проводам, позднее — с использованием радиоволн.
Создатель общей теории информации и основоположник цифровой связи Клод Шеннон впервые обосновал возможность применения двоичного кода для передачи информации.
С появлением компьютеров (или, как их вначале называли в нашей стране, ЭВМ — электронные вычислительные машины) вначале появилось средство для обработки числовой информации. Однако в дальнейшем, особенно после широкого распространения персональных компьютеров (ПК), компьютеры стали использоваться для хранения, обработки, передачи и поиска текстовой, числовой, изобразительной, звуковой и видеоинформации. С момента появления первых персональных компьютеров (80-е годы XX века) — до 80 % их рабочего времени посвящено работе с текстовой информацией.
Хранение информации при использовании компьютеров осуществляется на магнитных дисках или лентах, на лазерных дисках (CD и DVD), специальных устройствах энергонезависимой памяти (флэш-память и пр.). Эти методы постоянно совершенствуются, изобретаются новые устройства и носители информации.
Особым видом информации в настоящее время можно считать информацию, представленную в глобальной сети Интернет. Здесь используются особые приемы хранения, обработки, поиска и передачи распределенной информации больших объемов и особые способы работы с различными видами информации.
С помощью компьютера возможно создание, обработка и хранение информационных объектов любых видов, для чего служат специальные программы.
Информационный объект:
· обладает определенными потребительскими качествами (т.е. он нужен пользователю);
· допускает хранение на цифровых носителях в виде самостоятельной информационной единицы (файла, папки, архива);
· допускает выполнение над ним определенных действий путем использования аппаратных и программных средств компьютера.
В таблице приведены основные виды программ и соответствующие информационные объекты, которые с их помощью создаются и обрабатываются.
Программы | Информационные объекты |
Текстовые редакторы и процессоры | Текстовые документы |
Графические редакторы и пакеты компьютерной графики | Графические объекты: чертежи, рисунки, фотографии |
Табличные процессоры | Электронные таблицы |
СУБД – системы управления базами данных | Базы данных |
Пакеты мультимедийных презентаций | Компьютерные презентации |
Клиент-программа электронной почты | Электронные письма, архивы, адресные списки |
Программа-обозреватель Интернета (браузер) | Web-страницы, файлы из архивов Интернета |
Универсальность дискретного (цифрового) представления информации. Дискретное (цифровое) представление текстовой информации
Что такое дискретность? Дискретное множество состоит из отделенных друг от друга элементов. Например, песок дискретен, поскольку он состоит из отдельных песчинок. Вода – непрерывна (рамках наших ощущений, поскольку отдельные молекулы мы ощутим не можем).
В компьютере для представления информации используется дискретное (цифровое) двоичное кодирование, так как удалось создать надежно работающие технические устройства, которые могут со стопроцентной надежностью сохранять и распознавать не более двух различных состояний (цифр):
ü электромагнитные реле – замкнуто/разомкнуто (широко использовались в первых ЭВМ);
ü участок поверхности магнитного носителя информации – намагничен/размагничен;
ü участок поверхности лазерного диска – отражает/не отражает;
ü триггер – может устойчиво находиться в одном из двух состояний, используется в оперативной памяти ПК.
Все виды информации в компьютере кодируются на машинном языке, в виде логических последовательностей нулей и единиц:
Вид информации: Числовая Текстовая Графическая Звуковая Видео |
1 1 0 0 1 1 1 0 0 1 1 1 1 |
Информация в компьютере представлена в двоичном коде, алфавит которого состоит из двух цифр – 0 и 1. Цифра двоичной системы называется битом (от английских слов binary digit – двоичная цифра).
Дискретное (цифровое) представление текстовой информации
Текстовая информация дискретна – состоит из отдельных знаков. За каждой буквой алфавита, цифрой, знаком препинания и иным символом закрепляется определенный двоичный код. В популярных системах кодировки (ASCII, KOI8, Windows, MS-DOS, Mac, ISO) каждый символ заменяется на 8-разрядное целое положительное двоичное число (1 байт). Это число является порядковым номером символа в кодовой таблице. Согласно главной формуле информатики N = 2 I определяем, что размер алфавита, который можно закодировать,
равен 2 8 = 256. Этого количества достаточно для размещения двух алфавитов естественных языков (английского и русского) и всех необходимых дополнительных символов.
Для обработки текстовой информации на компьютере необходимо представить ее в двоичной знаковой системе. Каждому знаку необходимо поставить в соответствие уникальный 8-битовый двоичный код, значения которого находятся в интервале от 00000000 до 11111111 (в десятичном коде от 0 до 255).
Поскольку в мире много языков и много алфавитов, то постепенно совершается переход на международную 16-битовую систему кодировки Unicode. В ней каждый символ занимает 2 байта, что обеспечивает 2 16 = 65 536 кодов для различных символов.
Такого количества символов оказалось достаточно, чтобы закодировать не только русский и латинский алфавиты, цифры, знаки и математические символы, но и греческий, арабский, иврит и другие алфавиты.
Не следует представлять себе текст, хранимый в памяти компьютера или на внешнем носителе, лишь как поток байтов, каждый из которых является лишь кодом символа текста. Форматы хранения текстовой информации определяются форматами текстовых файлов, используемых той или иной программой обработки текстов. Файлы, создаваемые с помощью текстовых процессоров (например, Microsoft Word), включают в себя не только коды символов алфавита, но и данные формата: тип и размер шрифта, положение строк, поля и отступы и прочую дополнительную информацию.
Информационные объекты различных видов
Дата добавления: 2014-04-22 ; просмотров: 50105 ; Нарушение авторских прав
Информационный объект – обобщающее понятие, описывающее различные виды объектов; это предметы, процессы, явления материального или нематериального свойства, рассматриваемые с точки зрения их информационных свойств.
Простые информационные объекты: звук, изображение, текст, число. Комплексные (структурированные) информационные объекты: элемент, база данных, таблица, гипертекст, гипермедиа.
Информация содержится везде. Дерево содержит собственную генетическую информацию, и только благодаря этой информации от семечка берёзы вырастает только берёза. Для деревьев источником информации является воздух, именно по уровню состояния воздуха дерево может определить время распускания почек. Перелетные птицы знают свой маршрут перелёта, и каждая стая идёт только своим заданным в генах маршрутом.
Стремление зафиксировать, сохранить надолго свое восприятие информации было всегда свойственно человеку. Мозг человека хранит множество информации, и использует для хранения ее свои способы, основа которых — двоичный код, как и у компьютеров. Человек всегда стремился иметь возможность поделиться своей информацией с другими людьми и найти надежные средства для ее передачи и долговременного хранения. Для этого в настоящее время изобретено множество способов хранения информации на внешних (относительно мозга человека) носителях и ее передачи на огромные расстояния.
Основные виды информации по ее форме представления, способам ее кодирования и хранения:
· графическая или изобразительная — первый вид, для которого был реализован способ хранения информации об окружающем мире в виде наскальных рисунков, а позднее в виде картин, фотографий, схем, чертежей;
· звуковая — мир вокруг нас полон звуков, и задача их хранения и тиражирования была решена с изобретением звукозаписывающих устройств в 1877 г.
Разновидностью звуковой информации является музыкальная информация — для этого вида был изобретен способ кодирования с использованием специальных символов, что делает возможным хранение ее аналогично графической информации;
· текстовая— способ кодирования речи человека специальными символами — буквами, причем разные народы имеют разные языки и используют различные наборы букв (алфавиты) для отображения речи; особенно большое значение этот способ приобрел после изобретения бумаги и книгопечатания;
· числовая— количественная мера объектов и их свойств в окружающем мире; особенно большое значение приобрела с развитием торговли, экономики и денежного обмена; аналогично текстовой информации для ее отображения используется метод кодирования специальными символами — цифрами, причем системы кодирования (счисления) могут быть разными;
· видеоинформация — способ сохранения «живых» картин окружающего мира, появившийся с изобретением кино.
Существуют также виды информации, для которых до сих пор не изобретено способов их кодирования и хранения — это тактильная информация, передаваемая ощущениями, органолептическая, передаваемая запахами и вкусами и др.
Для передачи информации на большие расстояния первоначально использовались кодированные световые сигналы, с изобретением электричества — передача закодированного определенным образом сигнала по проводам, позднее — с использованием радиоволн.
Создатель общей теории информации и основоположник цифровой связи Клод Шеннон впервые обосновал возможность применения двоичного кода для передачи информации.
С появлением компьютеров (или, как их вначале называли в нашей стране, ЭВМ — электронные вычислительные машины) вначале появилось средство для обработки числовой информации. Однако в дальнейшем, особенно после широкого распространения персональных компьютеров (ПК), компьютеры стали использоваться для хранения, обработки, передачи и поиска текстовой, числовой, изобразительной, звуковой и видеоинформации. С момента появления первых персональных компьютеров (80-е годы XX века) — до 80 % их рабочего времени посвящено работе с текстовой информацией.
Хранение информации при использовании компьютеров осуществляется на магнитных дисках или лентах, на лазерных дисках (CD и DVD), специальных устройствах энергонезависимой памяти (флэш-память и пр.). Эти методы постоянно совершенствуются, изобретаются новые устройства и носители информации.
Особым видом информации в настоящее время можно считать информацию, представленную в глобальной сети Интернет. Здесь используются особые приемы хранения, обработки, поиска и передачи распределенной информации больших объемов и особые способы работы с различными видами информации.
С помощью компьютера возможно создание, обработка и хранение информационных объектов любых видов, для чего служат специальные программы.
Информационный объект:
· обладает определенными потребительскими качествами (т.е. он нужен пользователю);
· допускает хранение на цифровых носителях в виде самостоятельной информационной единицы (файла, папки, архива);
· допускает выполнение над ним определенных действий путем использования аппаратных и программных средств компьютера.
В таблице приведены основные виды программ и соответствующие информационные объекты, которые с их помощью создаются и обрабатываются.
Информационные объекты или причина одного заблуждения
Введение
В прошлой статье мы рассмотрели понятие функциональный объект и посмотрели, как моделируются его части. Сегодня я хочу рассказать про то, как в логической парадигме трактуется информационный объект, и что из этого следует. Помимо этого, мы увидим, как родилось одно занятное заблуждение: идея о том, что термины объект и экземпляр объекта якобы указывают на разные объекты предметной области. И поймем причины этого заблуждения.
Термины
Сразу замечу, что я не претендую на их правильность. Беда в том, что мне не удалось найти согласованных определений модели и информации ни в одном из словарей. Поскольку область психических функций человека — не моя стихия, то я, скорее всего, не знаю точных определений этих терминов. Однако мне важно было подчеркнуть ту мысль, что информация и модель – это то, что существует в воображении у субъекта, а в объектной реальности – только их представления. Поэтому я ввожу рабочие определения, не претендуя на их точность.
Примеры информационных объектов
Модели существуют только в сознании людей, но обмен моделями происходит, как правило, при помощи физических объектов, исполняющих роль информационных (мы рассматриваем общепринятые европейские способы передачи информации, и не рассматриваем мистические). Эти физические объекты называются представлениями информации, или представлениями модели.
Напомню, что мы работаем в 4-Д пространстве, где объекты существуют во времени, а время не существует без объектов. Примером информационных объектов могут быть Договор, Билет, Рекламный щит, Купюра, Книга, Электрические напряжения на выводе контактной группы, Произнесенная речь, Фильм. Например, речь – это звуковые колебания, поэтому тоже является физическим 4-Д объектом. С каждым годом количество физических объектов, которые были созданы с единственной целью — нести информацию, становится все больше и больше. В первобытном обществе количество информации, передаваемой от субъекта к субъекту, было небольшим. Сейчас это огромный поток. Однако даже сейчас природа информационных объектов для многих остается тайной. Я предлагаю попробовать разобраться с этим вопросом.
В мире мы работаем исключительно с информационными объектами, которые есть лишь представления моделей, но не сами модели. Это отличие ввел в употребление стандарт ИСО 15926, чтобы различить модель в головах от ее представления в виде материального носителя. Хотя очень часто модель в головах и информационный объект мы не различаем и называем одним именем – модель.
Например, купюра – есть информационный объект, который призван хранить информацию о том, что может себе позволить сделать владелец этой купюры. И это не обязательно возможность совершать покупку товара в магазине. Это также может быть возможность совершать какие-то другие действия. Информация о том, что может позволить себе владелец существует у нас в головах, сама купюра – лишь представляет эту информацию в виде материального объекта. Сама бумажка в отрыве от социального соглашения по ее поводу не имеет никакой ценности. Для того чтобы купюра имела ценность, должна существовать некая общепризнанная модель в головах людей, составляющих некую социальную группу. В этом проявляется ее информационная природа. С другой стороны, сама бумажка – есть физический объект. Эта бумажка вполне может стать причиной гибели мухи, если воспользоваться купюрой как мухобойкой. Кстати, тогда бумажка исполнит роль функционального объекта мухобойка. Это будет означать, что одни и те же атомы бумаги в одно и то же время исполняли роль и информационного объекта и функционального. Но это еще не все. Пусть у вас есть купюра и пусть эта купюра порвалась. Вы идете в банк, и вам дают взамен утратившей свой внешний вид купюры новую купюру. Информация о том, что позволительно Вам, не изменилась. Носитель же этой информации изменился. Следовательно, много информационных объектов могут представлять одну модель.
Со всем этим пересечением объектов должна была справиться логическая парадигма, которая пришла на смену Аристотелевской логике.
Другой пример. Пусть есть договоренность между двумя юридическими лицами. Моделью этой договоренности является модель в головах у тех, кто участвовал в достижении этой договоренности. Представлением этой модели является бумажный документ, на котором стоят подписи должностных лиц. Таких бумажных документов может быть множество: как минимум два — по одному на каждую сторону. Вопрос: эти два бумажных документа есть один объект, или два? Вопрос, кажущийся простым, оказывается очень сложным для современных аналитиков. Мы вернемся к нему чуть позже.
Что хранится в базе данных?
Информационный объект – это объект, который хранит информацию об объектах (в том числе об информационных объектах). В базе данных хранятся только информационные объекты. Эти объекты являются объектами в виде намагниченных доменов, например. Они призваны хранить информацию о других объектах. О чем хранят информацию те объекты, которые в базах данных называются договор и накладная? О договорах и о накладных? Тогда это будет значить, что в системе хранятся информационные объекты, которые хранят информацию о других информационных объектах – договорах и накладных. Или о реальных договоренностях и о реальных поставках? Тогда это будет значить, что в системе хранятся информационные объекты, которые хранят информацию о реальных объектах: договорах и поставках. О чем они на самом деле хранят информацию? Разобраться в этих вопросах очень непросто. Возможно, в одной из статей я расскажу про то, как информация о разных частях предметной области, перемешиваясь с информацией о других ее частях и информацией об информационных объектах, «размазывается» по структуре данных. И о причинах, по которым это происходит.
4 модели для создания информационного объекта
Давайте посмотрим, какие модели нам нужны для создания модели договоренности (у себя в голове).
Разница между терминами объект и экземпляр объекта
Сидит напротив меня бизнес-аналитик и просто человек с улицы. Я показываю аналитику операцию: подношу ко рту чашку чая и делаю глоток. Спрашиваю аналитика: «Можно ли назвать это операцией?» — Да, конечно. Тогда я повторяю те же действия и спрашиваю аналитика: Можно ли назвать и это действие операцией? Ответ утвердительный. Я спрашиваю: а это разные операции, или одна? Аналитик бодро отвечает: одна, конечно! Операция одна, а экземпляров ее много. Человек с улицы немного двинул бровь. Тогда я спрашиваю далее: Перед нами 100 спортсменов все как один в одних трусах и майках. Это один спортсмен, или много спортсменов? Ответ: много спортсменов? А что у них общего спрашиваю я. Внешний вид у них — общий, был ответ. Хорошо, а почему тогда операция-то одна? Аналитик задумался. Я поясняю: операций много, но внешний вид у них одинаковый! Правильно? Сомнения… Тогда я продолжаю: у них общее описание, а операции разные. Ну конечно! Описание операции — одно, а операций, удовлетворяющих этому описанию — много.
Если задуматься, то ответ аналитика кажется стороннему наблюдателю нелепым. Проверено! Однако к этой трактовке часто прибегают современные аналитики, и это стало похоже на заблуждение, принявшее массовый характер. Я все чаще слышу тезис о том, что надо различать термины договор и экземпляр договора, например. При этом авторы этих тезисов так и не смогли мне объяснить, чем эти термины отличаются. Они намекали, что два термина указывают на совершенно разные объекты, но в какой парадигме термины экземпляр договора и договор указывают на разные объекты, мне так и не сказали. Я считаю это очень серьезным заблуждением и попытаюсь объяснить причины его возникновения.
В логике Аристотеля, у которого мы позаимствовали слово экземпляр, термины рыба и экземпляр рыбы – это обозначения одного и того же объекта. При этом я сознательно не говорю, что экземпляр – это термин. Слово экземпляр в логике Аристотеля неотделимо от второго слова, образую вместе с ним неделимый термин. Однако, за пределами логики Аристотеля термины рыба и экземпляр рыбы, указывая нам на один и тот же объект (рыбу), тем не менее, отличаются друг от друга. Вопрос чем?
Мы должны выяснить, чем они отличаются, и откуда в головах появилась мысль о том, что эти термины отличаются чем-то иным. Разобраться в этом меня подвигла задача описания имитационного моделирования бизнес-систем. О том, с какими терминологическими трудностями я столкнулся, и как пришлось их преодолевать – рассказать можно лишь в отдельной книге. Сейчас же я сконцентрируюсь только на одном вопросе: что такое объект и что такое экземпляр объекта?
Пусть есть высказывание: «я держу экземпляр книги «Три мушкетера». Оно интерпретируется следующим образом:
Однако данное высказывание может быть сокращено до следующего: «Я держу книгу «Три мушкетера». Это высказывание может интерпретироваться уже двумя способами:
Один объект, или много?
Вернемся к вопросу о том, что есть разные бумажки с надписью договор? Ответы, как мы видели, могут быть такими:
Мне приходится проводить экскурс в историю и объяснять аналитику, что термин экземпляр связан с термином тип. И что термин экземпляр книги имеет такую трактовку: существует тип книг, и есть конкретный экземпляр этого типа книг, — конкретная книга. И нет такой трактовки: есть объект книга, и есть ее экземпляр.
Напомню: мы помним, что тип у Аристотеля – это набор параметров. Экземпляр – это значения этих параметров.
После того, как аналитик решает продолжить исследование, мы продолжаем двигаться с ним, полагаясь теперь только на логику.
Мы можем также считать, что существуют одновременно два термина: экземпляр договора купли-продажи и экземпляр договора купли-продажи от 30-го июня. Понятно, что одна и та же бумажка может быть экземпляром договора купли-продажи и экземпляром договора от 30-го июня. Это значит, что мы допустили существование двух типов, к которым может относиться один объект реального мира! Но этот парадокс был одним из тех, который в итоге привел к появлению теории множеств. Аристотелевская модель не смогла дать ответ на множественность типов.
Можно переформулировать вопрос и так: какими параметрами обладает тот тип договоров, на который ссылается аналитик, употребляя термин экземпляр договора? Тогда я использую следующий сценарий опроса:
Далее я задаю второй вопрос: какими параметрами обладает тот тип договоров, о котором упомянул аналитик, предлагая на выбор:
Пример представления модели предметной области
Давайте посмотрим, как обычно аналитики моделируют стандартные предметные области. Например, такую:
Мы видим, что все множество вооружений делится на классы. Каждый класс вооружений, в свою очередь, делится на подклассы. Мы видим, что класс подлодок – есть подмножество класса вооружений, а класс Акула – есть подмножество класса подлодок.
Часто встречающаяся реализация этой модели в виде таблиц такая:
Модель предметной области в парадигме Аристотеля
Вспоминая то, о чем я говорил в статье о том, что в Аристотелевской логике таблица – есть описание типа объектов, а запись в таблице – это описание объекта, нарисуем модель предметной области в парадигме типов и экземпляров. (В этой парадигме чаще всего происходит обсуждение предметной области и именование таблиц). Для этого применим формальный подход, который я озвучил в статье. То есть таблица – обозначает тип объектов, а записи в ней – экземпляры.
Полученная модель выглядит так:
Таблица 3 моделирует тип подводных лодок. Запись в таблице моделирует экземпляр подводной лодки. Связь с записью в таблице 2 моделирует тот факт, что подводная лодка принадлежит определенному классу подводных лодок. Но с таблицей 2 мы не можем определиться. Что за тип объектов моделирует эта таблица? Экземпляр чего есть запись в этой таблице? Терминов в Аристотелевской логике для этих сущностей не предусмотрено. Мы можем попытаться придумать сами название тому типу объектов, которые хранятся в таблице 2, например: тип классов. Тогда Класс Акула будет экземпляром класса. (Замечу, что экземпляр класса указывает на класс, а не на объект класса, как некоторые могли бы подумать. На объект класса указывает ЭЛЕМЕНТ КЛАССА, а не ЭКЗЕМПЛЯР КЛАССА!). Полученная модель выглядит теперь так:
Проблема в том, что одновременно в одной модели мы видим и типы объектов и классы. (Я иногда встречал таблицы, озаглавленные: типы классов, виды типов, виды классов и так далее…) Надо понимать, что типы существуют только в Аристотелевской логике, а классы – только в логической. И они не смешиваются. Поэтому класс Акула нам следует переименовать в тип подводных лодок Акула. Риторика была бы такая: наряду с экземпляром подводной лодки у нас появляется экземпляр Акулы, где под Акулой понимается тип подводных лодок. Однако в данной статье я предлагаю остановиться и посмотреть, что будет с другими моделями – собак и сварных швов.
Ограничения парадигмы Аристотеля
В случае с собаками таблица 2 – есть описание типа пород. И в случае со швами – типа типов. И вот тут засада возникла. Представляете: на совещании аналитиков мы обсуждаем структуру таблиц и у нас возникают термины: тип типов. Это мало кто поймет. Это слишком сложно для обыденной речи и обыденного понимания. Лично я, если встречал такой термин, то крайне редко. Проблема в том, что Аристотель не проработал терминологию для описания структур сложнее классов, например, класса классов. Это сделала теория множеств много позже. Но наши аналитики пока не знают о существовании теории множеств и пытаются выкрутиться в рамках Аристотелевской логики. Для этого они меняют риторику. Новая риторика была заимствована из описания информационных объектов. В описании информационных объектов задолго до возникновения проблемы с типами типов, было найдено «решение». «Решение» возникло само собой, поскольку никто не задумывался над этим.
Постановка задачи
Давайте посмотрим, как выглядит оно в применении к сварным швам. Сначала была такая структура таблиц, описывающая такую модель предметной области:
В такой модели шов №234 можно назвать двумя способами: экземпляр сварного шва и экземпляр стыкового шва. Оба эти термина являются корректными терминами, и объяснить их удобно в рамках теории множеств. Понятно, что шов №234 принадлежит классу сварных швов. Понятно, что шов №234 принадлежит также классу стыковых швов, являющимся подклассом сварных швов:
В структуре данных это отражено так: запись в таблице «сварные швы» говорит нам о первой классификации объекта, а связь с записью в таблице «типы сварных швов» говорит нам о второй классификации.
Замечу, что две разные формы моделирования одной и той же связи «классификация», которая есть между швом и классом сварных швов и между швом и классов стыковочных швов, говорит нам о том, что моделирование при помощи таблиц не создано для корректного моделирования предметной области.
Но вот объяснить, что тип стыковых швов есть экземпляр типов сварных швов, становится уже неловко.
«Решение»
Чтобы избавиться от столь замысловатых терминов, иногда рисуют вот такую структуру:
Теперь у нас в разговорной речи все нормально. Можете проверить.
Конструкция на первый взгляд кажется разумной, но ровно до тех пор, пока не нарисуем модель терминов:
Теперь у нас появилось несколько сюрпризов:
Другой пример подобного «Решения»
Теперь приведем пример подобного рода моделирования, которое мы встречаем повсюду. Возьмем наши любимые договора. В любой системе мы найдем такой справочник:
Каждая запись в этом справочнике моделирует… А что она моделирует? Название предполагает, что запись в этом справочнике либо является договором, либо моделирует договора. Запись в базе не содержащая подписи сторон, не может быть договором. Поэтому здесь хранится информация о договорах, то есть, информация о других информационных объектах. Мы знаем, что одна запись в базе данных соответствует множеству экземпляров договора от 30-го июня, отличающихся тем, кому они принадлежат: Заказчику или Подрядчику. Давайте попробуем нарисовать модель терминов:
Мы видим ту самую картину, которую анализировали ранее. Вот откуда пришли к нам понятия объект и его экземпляр! Из некорректного моделирования информационных объектов! Мы видим в этой модели разные экземпляры одного договора. Что и требовалось показать. Только в некорректной модели могут родиться некорректные термины: объект и его экземпляр.
Причина такого рода заблуждений кроется в незнании логики и в неправильном понимании сути информационных объектов.
Правильное решение
Давайте применим правильный подход к моделированию договоров и посмотрим, как должна выглядеть структура данных непротиворечивым образом с точки зрения Аристотелевской логики (не считая типов типов и наличие множественности типов).
Итак, в базе данных в таблице Договора, оказывается, хранилась информация о типе договоров, а не о договоре! Заметьте, существует устойчивое мнение, что мы храним информацию об информационном объекте, а не о множестве информационных объектов! Справочники, с которыми мы работаем каждый день, так и называются: Договора, Накладные, Счета-фактуры, и так далее. А не типы договоров, типы накладных и типы счетов-фактур. Это привело к массовому заблуждению, которое проявилось сейчас в убежденности многих аналитиков, что существует объект и есть его экземпляр. Вспомните, стандарты моделирования бизнес-процессов! Это заблуждение проникло и в стандарты!
А как же тогда называют справочник, в котором хранится информация о договорах (в Таблице 3, если придерживаться в нашей практике обозначений)? Я видел много названий, среди которых: Подписанные договора (как будто есть не подписанные), Экземпляры договоров (как будто есть объект и его экземпляры), Разосланные договора, Сформированные договора, Выполненные договора, Распечатанные договора. Каждый, кто сталкивался с необходимостью учета реальных информационных объектов, придумывает свои названия.
Наконец, мы пришли к ответу на вопрос, заданному ранее: разные бумажки с печатями и подписями — это разные объекты, или это разные экземпляры? Ответ очевиден — это разные объекты! Мы видим, что существующая практика именования таблиц не выдерживает никакой критики. Теперь, когда мы выяснили, что у нас каждый документ – это отдельный документ, нам предстоит построить корректную модель этих объектов. Чтобы понять, как это сделать, не исковеркав язык (порождая виды, типы, классы, рода и прочее), нам придется обратиться к теории множеств.
Решение в логической парадигме
В теории множеств есть три класса объектов: объекты, классы и классы классов, а также классы отношений между объектами и классами. Всех возможных конструкций я перечислять не буду, но по мере необходимости буду давать пояснения.
Пусть у нас есть множество всех договоров (в смысле каждая бумажка – отдельный договор). Каждый договор принадлежит классу договоров.
Тогда говорят, что договор связан с классом договоров связью классификация.
Класс договоров купли-продажи есть подмножество всех договоров.
Связь между классом всех договоров и классом договоров купли-продажи – называется специализация.
Класс договоров купли-продажи, класс договором аренды и проч. – есть объекты множества, которое есть множество всех подмножеств класса договоров.
Множество всех подмножеств класса договоров – есть класс классов, и связывает его с классом всех договоров, классом договоров купли продажи связь классификация.
Среди всех подмножеств множества договоров можно выделить те подмножества, которые относятся к одной сделке. Объединив эти подмножества в один класс, назовем его подклассы класса договоров. То есть, договора одного класса представляют модель одного объекта – одной сделки.
Теперь мы готовы нарисовать структуру таблиц и дать им имена.
Модель предметной области в логической парадигме выглядит так:
А структура таблиц, реализующая эту модель, такая:
Как это будет звучать на практике?
Чтобы завершить разговор об информационных объектах и о их моделировании, я предлагаю обратить внимание на «размазанность» информации об объекте предметной области по структуре данных. Это дает нам основания говорить, что нет однозначного соответствия между объектами предметной области и объектами в системе. Более того, часто одна запись в таблице хранит одновременно данные об объекте и о классе объектов! Всего этого лишена логическая модель данных. Поэтому она иногда называется моделью данных в последней нормальной форме.