Фізичні і функціональні об'єкти (Продовження)

Опис сущого
Я продовжую серію статей, присвячених питанням моделювання бізнес-аналітиком предметних областей. У минулих статтях я показав, як ми виробляємо опис сущого. Давайте повторимо це ще раз.



Природа простору-часу

Почнемо з того, що сприймається нами світ — це чотиривимірний простір-час. Але не той простір-час, який використовують математики у своїх міркуваннях. Скоріше це той простір, який використовують фізики. Різниця в тому, що у фізичному світі немає точок. Є об'єкти, які з точки зору спостерігача можна вважати точковими. Але при найближчому розгляді ці точки можуть розглядатися як нескінченні простору. Ми часто не розрізняємо сприймається нами світ і математичну абстракцію, створену для опису цього сприйняття. В абстракції, створеної для опису сприйманого світу, є поняття точка. У реальному світі немає точок. У цьому величезна різниця між модельованим світом і його моделлю. У неразличении цих двох сутностей криється причина частини холиваров, що виникли на основі колишньої статті. Наприклад, ми не здатні сприйняти зріз просторово-часового континууму поперек тимчасової осі, як нам пропонує вчинити ISO 15926, для визначення поняття подія. Тому далі я продовжу міркування, не відволікаючись на такі поняття як точки, зрізи просторово-часового континууму та інші абстрактні об'єкти. Ми будемо працювати тільки з реально сприймаються нами об'єктами 4-Д простору-часу.

Визначення меж экстента

У 4-Д просторі-часі нами вибирається будь-який довільний об'єм (экстент). Цей экстент може мати зв'язаність, (як наприклад — камінь), або непов'язаним, (як, наприклад, школа, якщо її побудували, потім зруйнували і знову побудували на новому місці). Для зображення небачених часто використовують діаграму, на якій три просторові координати злиті в одну — вертикальну вісь, а координата часу представлена у вигляді осі абсцис. У цьому поданні зв'язаний об'єкт виглядає так:



А непов'язаний так:



Перший крок у дослідженні экстента

Зв'язність обсягу або відсутність цієї пов'язаності не має значення для визначення экстента. Далі ми називаємо экстент тим, чим ми хочемо його уявити:

Об'єктом — значить назвемо його об'єктом,



Подією — значить назвемо його подією,



Операцією, — значить назвемо його операцією.



Назвавши экстент подією, ми описуємо його як подію, маючи на увазі те, що ширина экстента по часу дорівнює з точки зору оповідача нулю. Назвемо його об'єктом, отже, нам доведеться описати геометричні розміри экстента, а тимчасові вже не будуть мати значення, але можуть бути описані додатково. Назвемо операцією, — доведеться вказати часові межі, тому що операція описується початком і кінцем операції у часі, а просторові вже не мають значення, але можуть бути описані додатково.
Далі ми ділимося своїм уявленням про экстенте з іншими суб'єктами. Починаємо опис экстента тільки з фактів, оскільки факти — це опис экстента з погляду його фізичних властивостей. Якщо ми починаємо опис одразу з суб'єктивної точки зору, то це буде суб'єктивне опис, позбавлене фактичної основи.
Факти і їх трактуванняМи часто стикаємося з опис суб'єктивної оцінки замість опису фактів. Наприклад, на співбесіді кандидат повідомляє нам інформацію: мій шеф був справжній трудівник! Цей кандидат забуває описати факти, відразу переходячи до опису суб'єктивного сприйняття цих фактів. Зрозуміло, що не всі будуть згодні з такою оцінкою, і тому краще завжди дотримуватися фактів і тільки фактів, трактування яких віддавати на відкуп слухачеві. Після того, як факти описані та вивчені, можна переходити до трактування цих фактів.

Другий крок у дослідженні экстента

Суб'єктивне трактування экстента — це опис його з якоїсь точки зору. Наприклад, экстент з якоїсь точки зору може бути молотком, а з іншого — обценьками. Молоток і обценьки — це суб'єктивні опису одного і того ж экстента — залізяки. Зрозуміло, що точок зору на экстент — безліч. Тому в одного фізичного об'єкта може бути безліч трактувань.

Трактування можна об'єднувати, віднімати, знаходити перетину. Наприклад, якщо у події є два трактування: одна — перемога і інша — поразка, то існує об'єднання цих трактувань: перемога і поразка.



Об'єднання трактувань використовується при опис функцій підприємства. Але про це я розповім після того, як ми класифікуємо опису розміри (не в цій статті).

Синтез і аналіз

У процесі дослідження предметної області може виявитися так, що з точки зору цілей моделювання, межі экстента вибрані невірно. Тоді суб'єкт виділяє інші межі досліджуваного экстента і повторює процес його опису, а потім дає суб'єктивну оцінку цьому экстенту. Може так статися, що одного суб'єкта зручно описувати экстент як подія, а іншому — як операцію. Тоді виникає конфлікт, ніж вважати экстент? Подією або операцією? Насправді повинна бути можливість розгляду экстента і з однієї і з іншої точок зору. Така можливість повинна бути зашита в методологію опису предметної області. Наприклад, в ARIS є можливість на одній діаграмі зобразити экстент як подія, а на іншій зобразити його у вигляді операції. Наприклад, подія здача готової продукції на склад при певною мірою деталізації може перетворитися на операцію здача готової продукції на склад. Тому те, що ми вважаємо экстент, які методи ми використовуємо для опису цього простору, — вирішувати нам в залежності від поставлених цілей моделювання. А оскільки кожен экстент крім того, що може розглядатися як об'єкт, подія або операція, має безліч суб'єктивних трактувань, то моделювання цих точок зору також має підтримуватися методологією моделювання предметної області. Зараз ця можливість в нотаціях відсутня, що змушує аналітиків використовувати якісь релігійні міркування, щоб з безлічі можливих трактувань вибрати одну. На цьому моделювання предметної області закінчується і це завершує опис нашої картини світу.

Події
У даній статті я продовжу вивчати термін подія. Але тепер я розгляну не просто фізична подія, як було в минулій статті, а розгляну функціональне подія.

Функціональні події

Це подія, яка відрізняється від фізичного наявністю точки зору на нього.
Згадаймо, як у минулій статті роботу маяка описує доглядач. Він ділить маяк на класи станів: «Вогнище гаситься» і «Багаття розпалюється». Події між цими станами він описує як «Гасіння припинено» і «Розпалювання припинений».
Опис станів виглядає так:



Цю активність можна зобразити у вигляді діаграми процесів, зв'язавши стану розділяють їх подіями.



З цієї діаграми видно, що стан і операція — об'єкти однієї природи, тому що і те і інше описується двома подіями: початком стану (операції) і завершенням стану (операції).
Циклічність процесівТут я трохи забіг наперед і показав вам діаграми процесів, які можна назвати циклічними (стан системи циклічно проходить через стану одних і тих же класів («потух», «горить»). Але якщо ви уважно подивитеся на реальні процеси, то побачите там ті ж властивості. Наприклад, операцію «Прийом заявки» передує операція «Очікування клієнта із заявкою». Починається вона з події «Клієнт звернувся» і закінчується операцією — «Очікування прийому заявки», яке, в свою чергу, закінчується подією «Клієнт звернувся». Сансара, мати її)).

Причина, по якій мало хто на це звертає увагу те, що автоматизовані системи не моделюють очікування клієнта, але виконують цю операцію.



Ніч, вулиця, ліхтар, аптека,
Безглуздий і тьмяне світло.
Живи ще хоч чверть століття — Все буде так. Результату немає.

Помреш — почнеш знову спочатку
І повториться все, як у давнину:
Ніч, крижана брижі каналу,
Аптека, вулиця, ліхтар.

Питання: проміжні події на наведеній нами діаграмі, — це фізичні або функціональні події? Відповісти на це питання нам допоможе інша діаграма, на якій ті ж події мають зовсім інше назва:



Таким чином, ми бачимо, що на діаграмах зображуються функціональні події. Якщо згадати, що трактування подій можна об'єднувати, то можна перемалювати діаграму так, щоб врахувати обидві точки зору:



Фізична подія

А що ж таке в нашому випадку фізична подія? Це подія, коли доглядач маяка сидить на дровне і медитує. У цей короткий час він збирається з силами, щоб продовжити свою роботу. При цьому багаття або горить, або погашено. Всі ці факти разом складають фізична подія.

Операції
Тепер розглянемо операції. Для них діють ті ж закони, що і для подій: поділ на фізичні та функціональні. І ми повинні пам'ятати, що на діаграмах пишуться назви функціональних операцій, але не фізичних.

Функціональні операції

Нехай у нас 3 аналітика, які знаходяться перед кава-машиною. У них стоїть завдання описати взаємодію ось цього конкретного суб'єкта з даними автоматом. Підходить суб'єкт, аналітики беруть ручки і починають записувати.

Перший аналітик намалював таку схему взаємодії:



Другий — таку:



А третій таку:



Всі діаграми правильні, але в них різні назви позначають різні функціональні операції, що належать одному экстенту. Наприклад, операція «Заплатити гроші» та операція «Прийняти гроші» — є дві функціональні операції, які описують одну фізичну операцію з різних точок зору. Перша точка зору — це точка зору суб'єкта. Друга точка зору — це точка зору виробників кави-машини. Третя точка зору — точка зору естафетної палички, яка (точка зору) концентрується на питанні, якою актор якого актора чекає. В залежності від цілей моделювання ми використовуємо ту, чи іншу точку зору. Якщо ми моделюємо поведінку суб'єкта, то першу. Якщо моделюємо роботу автомата, — то другу. Якщо зображуємо об'єктивність, то третю. Я говорив, що можна об'єднувати точки зору. Потренуйтеся в цьому самостійно.

Фізична операція

Фізична ж операція — це экстент, що включає суб'єкта, який кидає монети в монетоприймач, що працює автомат з розпізнавання монет і лічильник, який нарощується.

Один экстент — різні об'єкти?
Повторю, що один і той же экстент може вважатися подією, так і операцією так і об'єктом. Тому можна вважати, що тимчасова частину дверної ручки, — це об'єкт, якщо ми ходимо описати її геометричні розміри, подія, якщо ми описуємо подія «Двері відчинилися» та операція, якщо ми описуємо операцію по відкриванню дверей.

Перетин небачених
Є думка, що стан або операція описується початковим і кінцевим подіями. Я з цим погоджуся, але з одним застереженням. Якщо під подією розуміти момент часу (як прийнято в ІСО), то суперечність виникає при спробі визначення точного моменту, коли воно відбулося. Наприклад, коли точно сталося подія «Куликовська битва»? Немає такого моменту. Якщо ж ми припускаємо, що подія — це 4-Д экстент, то виходить інша суперечність. Виходить, що экстент операції має загальні частини з экстентом подія. І це означає, що опис у вигляді операції, яка має початок і кінець, — це лише приблизний опис реальності. Ось тут я і погоджуся. Всі наші опису — це лише якісь приблизні моделі, що описують реальні об'єкти досить спрощено. Це спрощення дозволяє нам скоротити опис до прийнятного рівня деталізації, необхідної з точки зору цілей моделювання. В результаті реальність і її модель співвідносяться приблизно наступним чином:



Іноді протяжність того, що ми називаємо подія, одно протяжності операції, яку ця подія описує. Приклади придумайте самі.

Способи опису подій
Отже, ми зрозуміли, що один із способів використання подій — це поділ простору-часу на тимчасові частини. Кожна частина — це стан, або операція, а подія — це умовна межа між ними. Є кілька способів описати подію.

Перший спосіб опису подій

Повна класифікація описів розміри поки не дана, і тому на даному етапі можна просто погратися. Наприклад, події можуть бути описані за допомогою граничних станів. Є одне стан системи, тобто друге, і обидва вони описані. Подія декларується як перехід з одного стану в інший, що зображують стрілками на діаграмі станів. Наприклад, є стан помідор зелений і стан помідор червоний. Перехід між цими станами і є подія. Ми прекрасно розуміємо, що перехід має ненульовий часовий інтервал. Однак, з точки зору оповідача ширина інтервалу несуттєва. Опис події включає в себе опис двох станів: помідор зелений і помідор червоний, а також часового інтервалу, протягом якого відбулася зміна станів. Наприклад, в ніч з 5-го серпня на 6-е помідор поспів.
Помилка ПартріджаСаме так і треба було Крісу Партріджа в книзі Business Objects: Re-Engineering for Re-Use надійти при описі події «Помідор поспів». Він же придумав якесь «Складне подія», яке відрізняється від простого тим, що воно нібито складається з простих, але автор не зміг це описати ясно. Ось приклад з його книги, в якій він наводить діаграму простору — часу.



Другий спосіб опису подій

Інший спосіб опису події — це опис його як стану. Наприклад, подія «Розпал розпочато» можна описати так: «Доглядач відпочиває».

Що мені не подобається в ISO 15926
В ІСО 159126 під подією розуміється момент часу. І трактування моменту часу наступна: це зріз 4-Д простору-часу перпендикулярно осі часу. Тобто, — це весь всесвіт в момент часу t. Чим це відрізняється від визначення, даного нами? По-перше, навіщо нам весь всесвіт? Ми працюємо на обмеженій ділянці простору. І одночасність на цій ділянці визначається нами візуально (на одній галявині), хронометрами (на Земній кулі) і якийсь там теорією относительностью в межах ближнього космосу. Але, як тільки ми починаємо розбиратися в тому, що таке одночасність взагалі, ми отримуємо колізію і неможливість цього визначення. По-друге, зріз всесвіту — це геометрична абстракція, від якої ми всіма силами намагалися позбутися. Адже те визначення, яке дав я, зрозуміло з точки зору здорового глузду. А те, що дає ІСО, йде не від здорового глузду, а від математичної абстракції (те, що й казав Колмогоров у своєму підручнику з геометрії для 6-го класу!) Якщо взяти визначення ISO 15926, то постає питання: який з моментів вважати подією? Наприклад, аналітик може поставити запитання: «Що є подія «клієнт прийшов?» Відповідь може бути таким: «Це той момент, коли його верхівка перетнула площину дверного отвору офісу» Вам подобається таке визначення події? Мені — ні, тому що я відразу поцікавлюся, «а що таке верхівка?» і «що таке дверний отвір?» і так далі. Тому ИСОшное визначення події перевернуте з ніг на голову. Воно включає в себе те, що нам не треба — весь всесвіт, та ще й абстракцію, з якою працювати немислимо! Моє ж цілком виправдано, тому що завжди локально (обмежена рамками модельованого простору), і зрозуміло.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.