Введення
- Терміни
- Приклади інформаційних об'єктів
- Що зберігається в базі даних?
- 4 моделі для створення інформаційного об'єкта
- Різниця між термінами об'єкт та екземпляр об'єкта
- Один об'єкт, чи багато?
- Ще один приклад міркування
- Приклад представлення моделі предметної області
- Модель предметної області в парадигмі Арістотеля
- Обмеження парадигми Арістотеля
- Показ завдання
- «Рішення»
- Інший приклад такого «Рішення»
- Правильне рішення
- Рішення в логічній парадигмі
У минулій статті ми розглянули поняття функціональний об'єкт і подивилися, як моделюються його частини. Сьогодні я хочу розповісти про те, як у логічній парадигмі трактується інформаційний об'єкт, і що з цього випливає. Крім цього, ми побачимо, як народилася одна цікава омана: ідея про те, що терміни об'єкт і примірник об'єкта нібито вказують на різні об'єкти предметної області. І зрозуміємо причини цієї омани.
Терміни
Відразу зауважу, що я не претендую на їх правильність. Біда в тому, що мені не вдалося знайти узгоджених визначень моделі та інформації в жодному зі словників. Оскільки область психічних функцій людини - не моя стихія, то я, швидше за все, не знаю точних визначень цих термінів. Однак мені важливо було підкреслити ту думку, що інформація і модель - це те, що існує в уяві у суб'єкта, а в об'єктній реальності - тільки їх подання. Тому я вводжу робочі визначення, не претендуючи на їх точність.
- Модель - це те, що якимось чином відповідає на питання про об'єкт, який нас цікавить, і мати різний ступінь деталізації. Навіть назва буде нами вважатися моделлю, тому що вона несе важливу інформацію про об'єкт. Воно говорить про те, що об'єкт існує.
- Інформація - це модель якоїсь частини реальності, що існує у свідомості людей (людини).
- Інформаційний об'єкт - це подання моделі в матеріальному вигляді, необхідному для зберігання інформації та передачі її іншим людям.
Приклади інформаційних об'єктів
Моделі існують тільки у свідомості людей, але обмін моделями відбувається, як правило, за допомогою фізичних об'єктів, що виконують роль інформаційних (ми розглядаємо загальноприйняті європейські способи передачі інформації, і не розглядаємо містичні). Ці фізичні об'єкти називаються поданнями інформації, або уявленнями моделі.
Нагадаю, що ми працюємо в 4-Д просторі, де об'єкти існують у часі, а час не існує без об'єктів. Прикладом інформаційних об'єктів можуть бути Договір, Квиток, Рекламний щит, Купюра, Книга, Електричні напруги на виведенні контактної групи, Виголошена промова, Фільм. Наприклад, мова - це звукові коливання, тому теж є фізичним 4-Д об'єктом. З кожним роком кількість фізичних об'єктів, які були створені з єдиною метою - нести інформацію, стає все більше і більше. У первісному суспільстві кількість інформації, що передається від суб'єкта до суб'єкта, була невеликою. Зараз це величезний потік. Однак навіть зараз природа інформаційних об'єктів для багатьох залишається таємницею. Я пропоную спробувати розібратися з цим питанням.
У світі ми працюємо виключно з інформаційними об'єктами, які є лише уявлення моделей, але не самі моделі. Цю відмінність ввів у вживання стандарт ІСО 15926, щоб розрізнити модель в головах від її подання у вигляді матеріального носія. Хоча дуже часто модель в головах та інформаційний об'єкт ми не розрізняємо і називаємо одним ім'ям - модель.
Наприклад, купюра - є інформаційний об'єкт, який покликаний зберігати інформацію про те, що може собі дозволити зробити власник цієї купюри. І це не обов'язково можливість здійснювати купівлю товару в магазині. Це також може бути можливість здійснювати якісь інші дії. Інформація про те, що може дозволити собі власник існує у нас в головах, сама купюра - лише представляє цю інформацію у вигляді матеріального об'єкта. Сам папірець у відриві від соціальної угоди з її приводу не має ніякої цінності. Для того щоб купюра мала цінність, повинна існувати якась загальновизнана модель в головах людей, що становлять якусь соціальну групу. У цьому проявляється її інформаційна природа. З іншого боку, сам папірець - є фізичний об'єкт. Цей папірець цілком може стати причиною загибелі мухи, якщо скористатися купюрою як мухобійкою. До речі, тоді папірець виконає роль функціонального об'єкта мухобійка. Це означатиме, що одні й ті самі атоми паперу в один і той самий час виконували роль і інформаційного об'єкта та функціонального. Але це ще не все. Нехай у вас є купюра і нехай ця купюра порвалася. Ви йдете в банк, і вам дають натомість втратила свій зовнішній вигляд купюри нову купюру. Інформація про те, що дозволено Вам, не змінилася. Носій цієї інформації змінився. Отже, багато інформаційних об'єктів можуть представляти одну модель.
З усім цим перетином об'єктів мала впоратися логічна парадигма, яка прийшла на зміну Арістотелівській логіці.
Інший приклад. Нехай є домовленість між двома юридичними особами. Моделлю цієї домовленості є модель в головах у тих, хто брав участь у досягненні цієї домовленості. Поданням цієї моделі є паперовий документ, на якому стоять підписи посадових осіб. Таких паперових документів може бути безліч: як мінімум два - по одному на кожну сторону. Питання: ці два паперові документи є один об'єкт, або два? Питання, що здається простим, виявляється дуже складним для сучасних аналітиків. Ми повернемося до нього трохи пізніше.
Що зберігається в базі даних?
Інформаційний об'єкт - це об'єкт, який зберігає інформацію про об'єкти (в тому числі про інформаційні об'єкти). У базі даних зберігаються тільки інформаційні об'єкти. Ці об'єкти є об'єктами у вигляді спробованих доменів, наприклад. Вони покликані зберігати інформацію про інші об'єкти. Про що зберігають інформацію ті об'єкти, які в базах даних називаються договір і накладна? Про договори і про накладні? Тоді це означатиме, що в системі зберігаються інформаційні об'єкти, які зберігають інформацію про інші інформаційні об'єкти - договори та накладні. Чи про реальні домовленості і про реальні поставки? Тоді це означатиме, що в системі зберігаються інформаційні об'єкти, які зберігають інформацію про реальні об'єкти: договорах і поставках. Про що вони насправді зберігають інформацію? Розібратися в цих питаннях дуже непросто. Можливо, в одній зі статей я розповім про те, як інформація про різні частини предметної області, перемішуючись з інформацією про інші її частини та інформацією про інформаційні об'єкти, «розмазується» за структурою даних. І про причини, через які це відбувається.
4 моделі для створення інформаційного об'єкта
Давайте подивимося, які моделі нам потрібні для створення моделі домовленості (у себе в голові).
- Модель домовленості спирається на галузеві норми і правила. У цих правилах зафіксовані ті терміни, які необхідно використовувати при створенні моделі домовленості, ті події, які необхідно обумовити сторонам (поставку деталей), і ті події, які настануть незалежно від того, будуть вони прописані в договорі чи ні (підписання накладних, наприклад). Ці норми - модель 1 (її ще можна назвати контекстом). Цими моделями володіють юристи і бухгалтера. Представлені вони в законодавчих актах.
- На основі моделі 1 ми створюємо модель 2 - модель самої домовленості.
- Тепер необхідно модель домовленості зафіксувати у вигляді подання, тобто, на матеріальному носії. Які моделі необхідно знати, щоб зробити це? Для цього нам знадобиться мати модель, яка описує, як модель домовленості повинна бути представлена. Цю інформацію можна знайти в спеціальній нормативній документації. Це - модель 3.
- І четверте - треба знати, як ми будемо розрізняти договори, які моделюють одну домовленість (Різні екземпляри договору) - модель 4.
Маючи ці чотири моделі, ми можемо створити конкретне подання моделі 2 конкретної домовленості (примірник договору). Використовувані терміни, зв'язки між ними, події за замовчуванням будуть взяті з моделі 1, юридичні реквізити та інші дані - з моделі 2, структура тексту та його оформлення - з моделі 3, облік підписаних примірників - з моделі 4. Отже 4 моделі необхідні, щоб створити один примірник договору. Дві з них належать до моделі предметної області. А дві - до подання моделі. Такий поділ на моделі є універсальним для представлення будь-якого інформаційного об'єкта. Якщо у вас є інформаційний об'єкт, шукайте 4 моделі, які лежать завжди десь поруч.
Різниця між термінами об'єкт та екземпляр об'єкта
Так, все-таки, різні папірці з печатками - це різні об'єкти або однакові? Останнім часом я чую таку відповідь: це один об'єкт, але екземпляри цього об'єкта - різні! Причину, через яку відбулася деформація, що призвела до такого роду відповіді, нам слід з'ясувати.
Історія:
Сидить навпроти мене бізнес-аналітик і просто людина з вулиці. Я показую аналітику операцію: підношу до рота чашку чаю і роблю ковток. Питаю аналітика: «Чи можна назвати це операцією?» - Так, звичайно. Тоді я повторюю ті ж дії і питаю аналітика: Чи можна назвати і цю дію операцією? Відповідь ствердна. Я питаю: а це різні операції, чи одна? Аналітик бадьоро відповідає: одна, звичайно! Операція одна, а примірників її багато. Людина з вулиці трохи рушила брову. Тоді я питаю далі: Перед нами 100 спортсменів всі як один в одних трусах і майках. Це один спортсмен, чи багато спортсменів? Відповідь: багато спортсменів? А що у них спільного питаю я. Зовнішній вигляд у них - загальний, була відповідь. Добре, а чому тоді операція-то одна? Аналітик задумався. Я пояснюю: операцій багато, але зовнішній вигляд у них однаковий! Правильно? Сумніви... Тоді я продовжую: у них загальний опис, а операції різні. Ну звичайно! Опис операції - один, а операцій, що задовольняють цьому опису - багато.
Якщо задуматися, то відповідь аналітика здається сторонньому спостерігачеві безглуздою. Перевірено! Однак до цього трактування часто вдаються сучасні аналітики, і це стало схоже на оману, яка прийняла масовий характер. Я все частіше чую тезу про те, що треба розрізняти терміни договір і примірник договору, наприклад. При цьому автори цих тез так і не змогли мені пояснити, чим ці терміни відрізняються. Вони натякали, що два терміни вказують на зовсім різні об'єкти, але в якій парадигмі терміни примірник договору і договір вказують на різні об'єкти, мені так і не сказали. Я вважаю це дуже серйозною помилкою і спробую пояснити причини його виникнення.
У логіці Арістотеля, у якого ми запозичили слово екземпляр, терміни риба і екземпляр риби - це позначення одного і того ж об'єкта. При цьому я свідомо не кажу, що екземпляр - це термін. Слово примірник у логіці Арістотеля невіддільне від другого слова, утворюю разом з ним неподільний термін. Однак, за межами логіки Арістотеля терміни риба і екземпляр риби, вказуючи нам на один і той же об'єкт (рибу), тим не менш, відрізняються один від одного. Питання чим?
Ми повинні з'ясувати, чим вони відрізняються, і звідки в головах з'явилася думка про те, що ці терміни відрізняються чимось іншим. Розібратися в цьому мене спонукало завдання опису імітаційного моделювання бізнес-систем. Про те, з якими термінологічними труднощами я зіткнувся, і як довелося їх долати - розповісти можна лише в окремій книзі. Зараз же я сконцентруюся тільки на одному питанні: що таке об'єкт і що таке екземпляр об'єкта?
Нехай є висловлювання: "я тримаю примірник книги" Три мушкетери ". Воно інтерпретується наступним чином:
- Є тип книг «Три мушкетери», і є конкретний екземпляр цього типу об'єктів - конкретна книга. Слово примірник дає нам сувору вказівку на контекст, який ми використовуємо. Контекстом буде логіка Арістотеля, або філологи використовують термін інтенсійний контекст.
Однак дане висловлювання може бути скорочено до наступного: "Я тримаю книгу" Три мушкетери ". Це висловлювання може інтерпретуватися вже двома способами:
- Можна сказати, що об'єкт, який я тримаю в руках, має властивість. Ця властивість об'єкта - бути книгою під назвою "Три мушкетери (логіка Арістотеля, або інтенсійний контекст). Дане трактування збігається з тим трактуванням, яке породжує термін примірник книги.
- А можна сказати, що перед нами об'єкт (елемент) класу книг «Три мушкетери». Таке висловлювання говорить про те, що ми знаходимося в рамках логічної парадигми або, як кажуть філологи, в екстенсійному контексті.
Вивід: Термін ЕКЗЕМПЛЯР ОБ'ЄКТА вказує нам на інтенсійний контекст явно, а термін ОБ'ЄКТ передбачає, що контекст ми вільні вибрати самі (інтенсіональний, або екстенсійний).
Один об'єкт, чи багато?
Повернемося до питання про те, що є різні папірці з написом договір? Відповіді, як ми бачили, можуть бути такими:
- це два різних договори,
- це один договір, але примірники його різні.
Якщо аналітик наполягає на другій інтерпретації, я ставлю запитання: де, в якій парадигмі існують об'єкти та їх екземпляри? Відповісти на це питання аналітик не може, оскільки такої парадигми не існує. Однак у деяких книгах існує плутанина в термінах, завдяки якій такий вираз з'явився на світ і активно поширився.
Мені доводиться проводити екскурс в історію і пояснювати аналітику, що термін екземпляр пов'язаний з терміном тип. І що термін примірник книги має таке трактування: існує тип книг, і є конкретний примірник цього типу книг, - конкретна книга. І немає такого трактування: є об'єкт книга, і є її примірник.
Нагадаю: ми пам'ятаємо, що тип Аристотеля - це набір параметрів. Екземпляр - це значення цих параметрів.
Після того, як аналітик вирішує продовжити дослідження, ми продовжуємо рухатися з ним, покладаючись тепер тільки на логіку.
Ми можемо також вважати, що існують одночасно два терміни: примірник договору купівлі-продажу та примірник договору купівлі-продажу від 30-го червня. Зрозуміло, що один і той самий папірець може бути примірником договору купівлі-продажу та примірником договору від 30 червня. Це означає, що ми допустили існування двох типів, до яких може відноситися один об'єкт реального світу! Але цей парадокс був одним з тих, який у підсумку призвів до появи теорії безліч. Аристотелівська модель не змогла дати відповідь на множинність типів.
Ще один приклад міркування
Можна переформулювати питання і так: якими параметрами володіє той тип договорів, на який посилається аналітик, вживаючи термін примірник договору? Тоді я використовую наступний сценарій опитування:
Далі я ставлю друге запитання: якими параметрами володіє той тип договорів, про який згадав аналітик, пропонуючи на вибір:
- Перший тип належить тільки до тих об'єктів, які зафіксували інформацію про конкретну домовленість. Він містить параметр «Чий екземпляр?» (підрядника, замовника). Приклад використання даного типу: примірник договору від 30-го квітня.
- Другий містить параметри: дата підписання, предмет угоди, юридичні особи, і так далі. Приклад використання даного типу: примірник договору купівлі-продажу.
Якщо аналітик дає першу відповідь, то я ставлю запитання: чи допускає він існування такого типу договорів, який включає в себе всі примірники всіх договорів купівлі-продажу? Якщо так, то як ми відрізняємо в розмові, про який тип йдеться? І виходить, що один і той же примірник може відноситися до двох різних типів договорів? Але це модернізація Арістотелівської логіки, про яку ми нічого не знаємо. Виходить, що об'єкт може бути одночасно і машиною і кораблем. На це логіка Арістотеля не змогла дати відповідь, і тому нам довелося винаходити теорію безліч.
Якщо аналітик відповідає другим чином, я ставлю друге запитання: Чи містить згаданий тип параметра «Чий екземпляр?» Відповідей може бути дві:
- Так, містить
- Ні, не містить. Це найпоширеніша відповідь, оскільки у всіх системах документообігу та обліку саме цей тип активно підтримується.
Якщо я отримую першу відповідь, то я ставлю запитання: а що є той тип, примірником якого є примірник договору від 30-го червня?
Якщо я отримую другу відповідь, то я уточнюю, а що є об'єкти, які містять цей параметр? Відповідь ви чули: об'єкт один, а примірників його багато, що повертає нас до питання про логічність і коректність такої тези.
Приклад представлення моделі предметної області
Давайте подивимося, як зазвичай аналітики моделюють стандартні предметні області. Наприклад, таку:
Ми бачимо, що всі безліч озброєнь ділиться на класи. Кожен клас озброєнь, у свою чергу, ділиться на підкласи. Ми бачимо, що клас підводних човнів - є підмножина класу озброєнь, а клас Акула - є підмножина класу підводних човнів.
Реалізація цієї моделі, яка часто зустрічається, у вигляді таблиць така:
Таблиця 1 моделює підкласи класу зброю. Таблиця 2 - підкласи класу підводних човнів. Зв'язок між таблицею 1 і таблицею 2 моделює спеціалізацію озброєнь. Таблиця 1 моделює підводні човни, а зв'язок між таблицею 2 і таблицею 1 моделює класифікацію підводних човнів. (Терміни спеціалізація та класифікація взяті з логічної парадигми і не випадкові). Зрозуміло, що одному підкласу озброєнь «підводний човен» відповідає багато підкласів класу підводних човнів і зрозуміло, що одному підкласу підводних човнів може належати багато підводних човнів, що позначено «Вороньєю лапкою» на кінці зв'язку між таблицями. Прийнято вважати, що структура таблиць і є модель предметної області, але, як ви бачите, інформації в структурі таблиць набагато менше, ніж у моделі предметної області.
Ця модель дуже схожа на інші, подібні їй:
Модель предметної області в парадигмі Арістотеля
Згадуючи те, про що я говорив у статті про те, що в Арістотелівській логіці таблиця - є опис типу об'єктів, а запис у таблиці - це опис об'єкта, намалюємо модель предметної області в парадигмі типів і примірників. (У цій парадигмі найчастіше відбувається обговорення предметної області та іменування таблиць). Для цього застосуємо формальний підхід, який я озвучив у статті. Тобто таблиця - позначає тип об'єктів, а записи в ній - екземпляри.
Отримана модель виглядає так:
Таблиця 3 моделює тип підводних човнів. Запис у таблиці моделює екземпляр підводного човна. Зв'язок із записом у таблиці 2 моделює той факт, що підводний човен належить певному класу підводних човнів. Але з таблицею 2 ми не можемо визначитися. Що за тип об'єктів моделює ця таблиця? Екземпляр чого є запис у цій таблиці? Термінів в Арістотелівській логіці для цих сутностей не передбачено. Ми можемо спробувати придумати самі назву тому типу об'єктів, які зберігаються в таблиці 2, наприклад: тип класів. Тоді Клас Акула буде екземпляром класу. (Зауважу, що примірник класу вказує на клас, а не на об'єкт класу, як деякі могли б подумати. На об'єкт класу вказує ЕЛЕМЕНТ КЛАСУ, а не ПРИМІРНИК КЛАСУ!). Отримана модель виглядає тепер так:
Проблема в тому, що одночасно в одній моделі ми бачимо і типи об'єктів і класи. (Я іноді зустрічав таблиці, названі: типи класів, види типів, види класів тощо...) Треба розуміти, що типи існують тільки в Арістотелівській логіці, а класи - тільки в логічній. І вони не змішуються. Тому клас Акула нам слід перейменувати на тип підводних човнів Акула. Риторика була б така: поряд з екземпляром підводного човна у нас з'являється екземпляр Акули, де під Акулою розуміється тип підводних човнів. Однак у цій статті я пропоную зупинитися і подивитися, що буде з іншими моделями - собак і зварних швів.
Обмеження парадигми Арістотеля
У випадку з собаками таблиця 2 - є опис типу порід. І у випадку зі швами - типу типів. І ось тут засідка виникла. Уявляєте: на нараді аналітиків ми обговорюємо структуру таблиць і у нас виникають терміни: тип типів. Це мало хто зрозуміє. Це занадто складно для буденної мови і буденного розуміння. Особисто я, якщо зустрічав такий термін, то вкрай рідко. Проблема в тому, що Арістотель не пропрацював термінологію для опису структур складніше класів, наприклад, класу класів. Це зробила теорія безліч багато пізніше. Але наші аналітики поки не знають про існування теорії безліч і намагаються викрутитися в рамках Арістотелівської логіки. Для цього вони змінюють риторику. Нова риторика була запозичена з опису інформаційних об'єктів. В описі інформаційних об'єктів задовго до виникнення проблеми з типами типів, було знайдено «рішення». «Рішення» виникло саме собою, оскільки ніхто не замислювався над цим.
Показ завдання
Давайте подивимося, як виглядає воно в застосуванні до зварних швів. Спочатку була така структура таблиць, що описує таку модель предметної області:
У такій моделі шов № 234 можна назвати двома способами: екземпляр зварного шва і екземпляр стикового шва. Обидва ці терміни є коректними термінами, і пояснити їх зручно в рамках теорії безліч. Зрозуміло, що шов № 234 належить класу зварних швів. Зрозуміло, що шов № 234 належить також класу стикових швів, що є підкласом зварних швів:
У структурі даних це відображено так: запис у таблиці «зварні шви» говорить нам про першу класифікацію об'єкта, а зв'язок із записом у таблиці «типи зварних швів» говорить нам про другу класифікацію.
Зауважу, що дві різні форми моделювання одного і того ж зв'язку «класифікація», яка є між швом і класом зварних швів і між швом і класів стикувальних швів, говорить нам про те, що моделювання за допомогою таблиць не створено для коректного моделювання предметної області.
Але ось пояснити, що тип стикових швів є екземпляр типів зварних швів, стає вже ніяково.
«Рішення»
Щоб позбутися настільки хитромудрих термінів, іноді малюють ось таку структуру:
Тепер у нас в розмовній промові все нормально. Можете перевірити.
Конструкція на перший погляд здається розумною, але рівно до тих пір, поки не намалюємо модель термінів:
Тепер у нас з'явилося кілька сюрпризів:
- Запис «Стиковий шов» моделює (сюрприз!) немає, не шов! Він моделює цілий клас швів!
- Таблиця ЗВАРНІ ШВИ містить (сюрприз!) не інформацію про зварних швах, ні! Вона містить інформацію про клас зварних швів!
- ТИП зварних швів не пов "язаний з типом зварних швів.
- ЕКЗЕМПЛЯР зварного шва - не є екземпляр зварного шва.
- ЕКЗЕМПЛЯР стикового шва - не є екземпляр стикового шва.
- Два терміни «Екземпляр зварного шва» і «зварний шов» до цього моменту вказували на один об'єкт - зварний шов. Однак тепер я іноді чую від деяких аналітиків, що треба розрізняти зварний шов і екземпляр зварного шва, ніби це різні речі!
Така конструкція є самопальною і помилковою. Причина в тому, що вона не спирається на жодну з онтологій і є з себе підміну понять. Як я вже говорив, в парадигмі Арістотеля терміни екземпляр стикового шва і стиковий шов вказують на один і той же об'єкт реального світу - на конкретний стиковий шов. У намальованій структурі об'єкт довідника Стиковий шов вказує не на об'єкт, а на клас об'єктів!
В результаті деяка кількість аналітиків починають мислити спотвореним способом: вони перестають розрізняти різні об'єкти, називаючи їх одним терміном: Стиковий шов. Риторика їх наступна: є один об'єкт «Стиковий шов» і є різні його ЕКЗЕМПЛЯРИ. У них у свідомості є один спортсмен і безліч його ЕКЗЕМПЛЯРІВ! Треба розуміти, що під терміном ЕКЗЕМПЛЯР ці аналітики розуміють щось таке, що не було відомо ні Арістотелю, ні кому б то не було ще. Це самопальний термін, який виглядає жахливо з будь-яких точок зору: з логічної та лінгвістичної точок зору. Тобто, ЕКЗЕМПЛЯР стикового шва для них позначає: є об'єкт СТИКОВОЇ ШОВ і є його ПРИМІРНИКИ. Добре, що Арістотель цього не чує!
Інший приклад такого «Рішення»
Тепер наведемо приклад подібного роду моделювання, яке ми зустрічаємо всюди. Візьмемо наші улюблені договори. У будь-якій системі ми знайдемо такий довідник:
Кожен запис у цьому довіднику моделює... А що вона моделює? Назва передбачає, що запис у цьому довіднику або є договором, або моделює договори. Запис у базі, що не містить підпису сторін, не може бути договором. Тому тут зберігається інформація про договори, тобто, інформація про інші інформаційні об'єкти. Ми знаємо, що один запис у базі даних відповідає безлічі примірників договору від 30-го червня, що відрізняються тим, кому вони належать: Замовнику або підряднику. Давайте спробуємо намалювати модель термінів:
Ми бачимо ту саму картину, яку аналізували раніше. Ось звідки прийшли до нас поняття об'єкт і його примірник! З некоректного моделювання інформаційних об'єктів! Ми бачимо в цій моделі різні екземпляри одного договору. Що і потрібно було показати. Тільки у некоректній моделі можуть народитися некоректні терміни: об'єкт і його примірник.
Причина такого роду помилок криється в незнанні логіки і в неправильному розумінні суті інформаційних об'єктів.
Правильне рішення
Давайте застосуємо правильний підхід до моделювання договорів і подивимося, як повинна виглядати структура даних непротиворечивым чином з точки зору Арістотелевської логіки (не рахуючи типів типів і наявність множинності типів).
Отже, в базі даних у таблиці Договору, виявляється, зберігалася інформація про тип договорів, а не про договір! Зауважте, існує стійка думка, що ми зберігаємо інформацію про інформаційний об'єкт, а не про безліч інформаційних об'єктів! Довідники, з якими ми працюємо щодня, так і називаються: Договори, Накладні, Рахунки-фактури, і так далі. А не типи договорів, типи накладних і типи рахунків-фактур. Це призвело до масової омани, яка проявилася зараз у переконаності багатьох аналітиків, що існує об'єкт і є його екземпляр. Згадайте, стандарти моделювання бізнес-процесів! Ця омана проникла і в стандарти!
А як же тоді називають довідник, в якому зберігається інформація про договори (в Таблиці 3, якщо дотримуватися в нашій практиці позначень)? Я бачив багато назв, серед яких: Підписані договори (начебто є не підписані), Примірники договорів (ніби є об'єкт і його примірники), Розіслані договори, Сформовані договори, Виконані договори, Роздруковані договори. Кожен, хто стикався з необхідністю обліку реальних інформаційних об'єктів, придумує свої назви.
Нарешті, ми прийшли до відповіді на питання, поставлене раніше: різні папірці з печатками і підписами - це різні об'єкти, чи це різні екземпляри? Відповідь очевидна - це різні об'єкти! Ми бачимо, що існуюча практика іменування таблиць не витримує ніякої критики. Тепер, коли ми з'ясували, що у нас кожен документ - це окремий документ, нам належить побудувати коректну модель цих об'єктів. Щоб зрозуміти, як це зробити, не викреслюючи мову (породжуючи види, типи, класи, роду та інше), нам доведеться звернутися до теорії безліч.
Рішення в логічній парадигмі
У теорії безліч є три класи об'єктів: об'єкти, класи і класи класів, а також класи відносин між об'єктами і класами. Всіх можливих конструкцій я перераховувати не буду, але в міру необхідності буду давати пояснення.
Нехай у нас є безліч всіх договорів (у сенсі кожен папірець - окремий договір). Кожен договір належить класу договорів.
Тоді кажуть, що договір пов'язаний з класом договорів зв'язком класифікація.
Клас договорів купівлі-продажу є підмножина всіх договорів.
Зв'язок між класом всіх договорів і класом договорів купівлі-продажу - називається спеціалізація.
Клас договорів купівлі-продажу, клас договором оренди тощо - є об'єкти безлічі, яка є безліч всіх підмножин класу договорів.
Безліч всіх підмножин класу договорів - є клас класів, і пов'язує його з класом всіх договорів, класом договорів купівлі продажу зв'язок класифікаці