Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Метод побудови об’єктної моделі предметної області

Поиск

Найбільше поширення серед методів аналізу ПрО одержав метод OOAS Шлеєра і Меллора [1], призначений для подання ПрО за допомогою таких моделей:

– інформаційна модель системи;

– модель станів об’єктів, що може будуватися для будь-якого з об’єктів інформаційної моделі;

– модель процесів, що відображає процеси і дії, які відбуваються в системі при проходженні моделей станів через життєві цикли

– одержання, породження і завершення подій у системі.

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

Зв’язки об’єктів визначаються на процесі інформаційного моделювання, а поведінка – на процесі моделювання станів.

Модель станів відображає динамічні стани об’єктів системи і їхню поведінку. На третьому процесі визначаються дії і процеси, що породжують події. Дії мають функціональну природу. Ціль моделювання процесів полягає в тому, щоб розділити процеси на дії, які разом визначають функціональний зміст системи. Охарактеризуємо кожну модель докладніше.

Під інформаційною моделлю розуміється сукупність об’єктів (сутностей) ПрО, їхніх характеристик (атрибутів) і зв’язків між ними. Вона створюється за реляційним принципом: подання зв’язків між об’єктами і їхніми атрибутами у вигляді відношень.

Аналіз ПрО полягає у виявленні об’єктів, наданні їм унікальних імен, що відповідають важливим поняттям цієї предметної області. Об’єктами можуть бути:

– абстракції реально існуючих об’єктів ПрО;

– ролі як абстракції цілей або призначення людини в системі;

– взаємодії об’єктів, одержувані шляхом установлення зв’язків між ними і частинами системи;

– специфікації для подання правил, критеріїв і обмежень на застосування об’єктів у системі. Таким чином, елементами інформаційної моделі можуть бути об’єкти, їхні атрибути й ідентифікатори, а також зв’язки між об’єктами.

Для об’єктів ПрО визначаються їхні характерні ознаки або властивості, що називають атрибутами. Кожен атрибут – це абстракція певної характеристики об’єкта, властива всім представникам класу об’єктів, яка одержує унікальне ім’я. Розрізняються описові, додаткові атрибути та атрибути-посилання.

Описовий атрибут встановлює реальну характеристику, що може визначатися одним з таких можливих способів:

– заданням числового діапазону;

– перерахуванням можливих значень, що може набувати атрибут;

– посиланням на документ, що визначає можливі значення;

– – встановленням правил генерації припустимих значень.

Додатковий атрибут може набувати значень не в усіх об’єктах класу. Наприклад, для об’єктів класу «персональний комп’ютер» атрибут «тип монітора» є обов’язковим, а «тип принтера» — додатковим.

Атрибут-посилання визначає призначення або посилання на інший об’єкт. Наприклад, наукова стаття може містити у собі посилання на інші статті, книги тощо. В об’єктах є один або кілька атрибутів, значення яких дозволяють однозначно виділити екземпляр об’єкта в даному класі (наприклад, табельний номер співробітника, номер паспорта й ін.).

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

– кожен об’єкт – екземпляр одного класу або більш ніж одного класу, характеризується набором значень своїх атрибутів,

– ідентифікатор об’єкта може складатися з кількох імен атрибутів, розділених крапками. Наприклад, викладач.стаж–роботи.заробітна–плата.

Між об’єктами предметної області можуть існувати семантичні зв’язки. Наприклад, у певному розумінні студент зв’язаний з професором, який викладає в його групі.

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

Зв’язки між об’єктами класифікуються за множинністю. Відповідно до цієї класифікації виділяють три різновиди зв’язків: один до одного (1:1) існує тоді, коли у зв’язку беруть участь по одному екземпляру від цих об’єктів (наприклад, проект ведеться менеджером, менеджер веде один проект); один до багатьох (1:N), існує тоді, коли один екземпляр об’єкта деякого класу може бути зв’язаний одночасно більш ніж з одним екземпляром іншого або того самого класу (наприклад, проект має виконавців, виконавці зайняті у проекті); багато до багатьох (M:N) існує тоді, коли у зв’язку можуть брати участь по декілька екземплярів об’єктів з кожного класу, тобто один або більше екземплярів одного класу зв’язані з одним або декількома екземплярами іншого або того самого класу (наприклад, проект має виконавців, виконавці зайняті одночасно у кількох проектах). Ці зв’язки можуть бути статичними (постійними) – такі, що не змінюються або змінюються рідко, і динамічними, що можуть змінюватися під час функціонування системи.

Зв’язки між об’єктами з часом можуть еволюціонувати й істотно впливати на хід розв’язання задачі. Для таких випадків зв’язку будується асоціативний об’єкт і визначається модель станів цього об’єкта шляхом додавання атрибута, що фіксує поточний стан. Серед дій, що супроводжують переходи об’єктів у інші стани, повинні бути дії зі створення нового екземпляра асоціативного об’єкта, якщо нова пара екземплярів вступає в зв’язок, або зі знищення, якщо об’єкт або зв’язок перестають існувати.

Крім зв’язків розглянутих типів, між класами об’єктів ПрО може існувати відношення наслідування, що дозволяє визначити їх спільності та розбіжності. Коли клас B містить у собі усі атрибути й операції класу A і, можливо, має ще додаткові атрибути або операції, він (клас B) називається підкласом або нащадком, а клас A – суперкласом, або предком.

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

 

 

Рис. 4.5. Зображення класу дійсних чисел (а) та його екземплярів (б)

 

Між об’єктами може існувати також відношення частина до цілого, яке ділиться на два різновиди: композиція (час існування об'єкта-частини не виходить за межі часу існування об'єкта-цiлого) та агрегація (для якої вказана вище умова щодо часу існування не є обов’язковою). Крім того, може бути взаємна залежність (асоціація) між об'єктами різних класів, кожен з яких є рівноправним членом такого зв’язку. Існують різні види залежностей між класами. Зокрема деякий клас-клiєнт може використовувати певний сервiс (операцію) іншого класу; наприклад, клас об’єктів аналізу перетворюється у клас об’єктів проекту, а потім у клас компонентів реалізації.

На діаграмі, де наведено інформаційну модель, зв’язки між об’єктами зображуються стрілками. Зв’язок 1:1 позначається двонаправленою стрілкою, що має по одному «наконечнику» з кожного боку; зв’язок 1:N показується стрілкою, що має один «наконечник» з боку об’єкта, який має зв’язок з декількома об’єктами, і два «наконечники» з боку іншого об’єкта; і, нарешті, по два «наконечники» з кожної сторони має стрілка, що характеризує зв’язок N:M.

Над стрілкою вказується ім’я зв’язку. Зв’язки можуть бути умовними. Коли окремі екземпляри певного класу об’єктів можуть не брати участь у зв’язку, то відповідний кінець стрілки позначається літерою у.

За звичайну назву зв’язку використовують літеру R, за якою міститься номер елемента. Приклад інформаційної моделі з діаграмним відображенням зв’язків наведено на рис. 4.6. У ньому зв’язок R3 є логічним наслідком зв’язків R1 і R2.

 

 

Рис. 4.6. Приклад діаграми інформаційної моделі

 

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

Модель станів призначена для відображення динамічної поведінки, зміни станів об’єктів інформаційної моделі і життєвого циклу поведінки об’єктів. Стан моделі залежить від ситуації, обумовленої правилами і лінією поведінки об’єкта.

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

– станом, залежним від поточних значень окремих його атрибутів;

– станом, що змінюється внаслідок виконаних над об’єктами дій;

– станом ПрО, залежним від сукупності станів її об’єктів;

– деякими процесами і діями, що змінюють стан об’єкта протягом його життєвого циклу.

Побудова моделі станів починається з виділення в інформаційній моделі об’єктів, що мають динамічну поведінку (наприклад, зміна стану з часом), визначення часу створення екземпляра об’єкта або його видалення (наприклад, електрична лампочка перегоріла, закінчився її ЖЦ). У даному методі передбачені дві нотації для подання динамічних аспектів поведінки об’єктів: діаграма переходу станів і таблиця переходу в стани.

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

1) множина станів, у яких об’єкт може перебувати;

2) множина інцидентів або подій, що примушують екземпляри класу змінювати свій стан; 86

3) правила переходу об’єкта з зафіксованого стану в новий стан за умови, що відбудеться деяка подія з множини подій;

4) дія, що виконується при переході об’єкта в новий стан.

Ця інформація подана на діаграмі переходу станів таким чином:

– кожний стан для класу об’єктів одержує назву, номер та унікальний ідентифікатор (ІD);

– стан позначається рамкою, що містить у собі номер і назву;

– початковий стан позначається стрілкою у напрямку до об’єкта, який змінює стан;

– перехід від стану до стану зображується дугою, позначеною міткою і назвою події, пов’язаною з цим переходом;

– заключний стан позначається штриховою лінією;

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

 

 

Рис. 4.7. Модель станів для обслуговування клієнтів

 

Зміна стану об’єкта відбувається при виконанні таких дій:

– обробка інформації, переданої в систему, що може вплинути на подію;

– визначення атрибута або зміна поведінки атрибута;

– виконання деякої операції для екземплярів або подій, повідомлення про які передається зовнішньому об’єкту;

– взаємодія з таймером, настання певного моменту часу, за якого відбувається деяка подія.

Для деякого екземпляра об’єкта може бути встановлений таймер для оцінки значення, відповідального за зміну стану.

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

 

Номер події Стан події А1 Стан події А2 Стан події А3
1. Чекання клієнта   Подія ігнорується Не може відбутися
2. Чекання вільного клерка Подія ігнорується   Не може відбутися
3. Визначення клерком клієнта Подія ігнорується Подія ігнорується  

 

У цієї таблиці кожен стан подано рядком, а кожна подія, що впливає на об’єкт, – стовпцем.

Клітинка таблиці переходу станів – це стан об’єкта, якщо у відповідному стовпчику подія відбудеться (2, 3, 1), коли об’єкт знаходився в стані, що відповідає рядку. При цьому допускається, що деякі комбінації подія/стан не приведуть до зміни стану екземпляра об’єкта, тобто буде отримана вказівку – «подія ігнорується».

При виборі форми подання – діаграма або таблиця переходу станів – діаграмі перевагу слід віддавати, якщо важливі наочність і визначеність дій, тоді як таблична форма служить для фіксації всіх можливих комбінацій стан/подія. Цим забезпечується повнота і несуперечність заданих вимог до системи.

Важливий принцип об’єднання об’єктів і компонентів у систему – наявність у них спільних подій, один з об’єктів породжує подію, а інші реагують на неї. Взаємодії (зовнішні і внутрішні) об’єктів розглядаються через обмін повідомленнями. Зовнішній об’єкт посилає повідомлення, що приводить до запуску системи й утворення зовнішньої події. Цьому об’єкту направляється повідомлення про настання або відсутність події. Поведінка окремого об’єкта наведена в моделі діаграмою станів, а поведінка системи – у вигляді схеми взаємодії окремих діаграм, кожна з яких одержує назву, у відповідному овалі (рис.4.8).

 

Рис. 4.8. Схема взаємодії моделей поведінки об’єктів

 

Овали, що відображають окремі діаграми станів, зв’язані між собою стрілками з повідомленнями про подію (наприклад, С1, С2,..., С8), а їхній напрямок відповідає напрямкові передачі повідомлення.

Зовнішні об’єкти позначаються прямокутниками з назвами (наприклад, оператор системи). Події на стрілках схеми ініціюють діяльність згідно з моделями станів 1–5 шляхом надсилання відповідних повідомлень.

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

Дія — це реакція на подію, що ініціює виконання певних функцій системи. Кожна дія входить до складу процесу і визначається в термінах цього процесу і архівних даних об’єктів. Тобто в даній моделі процес – це сукупність дій (операцій), а архів даних – це атрибути об’єктів інформаційної моделі. Для кожної дії, вказаної на моделі станів, утворюється діаграма процесу, на якій відображається виникнення подій при виконанні функцій системи.

Як джерело даних процесів можуть бути:

– атрибути об’єктів, що продовжують існувати після завершення роботи системи;

– системний годинник;

– таймер;

– дані про події, що відбуваються;

– повідомлення від зовнішніх об’єктів.

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

– кожній діаграмі переходу станів може відповідати тільки одна діаграма дій;

– процес подається овалом із указівкою змісту або назви процесу;

– потоки даних процесів зображуються стрілками, на яких вказуються імена даних, переданих процесу;

– стрілка в напрямку до овалу процесу вказує на його вхідні дані, а від овалу – на вихідні дані;

– джерела даних зображуються прямокутниками;

– архівним даним відповідають потоки з назвами атрибутів об’єктів, що передаються цими потоками;

– деякі потоки даних відмічаються таймером або системним годинником (година, хвилина);

– подія, повідомлення про яку одержує процес, зображується стрілкою з назвами архівних даних.

У даній моделі розрізняються процеси загального призначення, а саме:

– доступ до архівів;

– підготовка і верифікація об’єктів ПрО;

– обробка потоків даних і генерація подій;

– накопичення об’єктів і їхніх атрибутів в архіві системи;

– організація визначення функцій системи тощо.

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

На рис. 4.9 наведено фрагмент діаграми, що відображає створення репозитарію для накопичення різних програмних компонентів та їхніх інтерфейсів.

До діаграм дій потоків даних додається неформальний опис функцій процесів, що входять у їхній склад. Для опису подробиць дій процесів нотація не регламентується.

Опис діаграми дій потоків даних для всіх об’єктів системи завершується загальною таблицею процесів із таких стовпчиків:

– ідентифікатор процесу;

– тип та назва процесу;

– назва стану, для якого визначений процес;

– назва дії процесу.

 

 

Рис. 4.6. Приклад діаграми процесу створення репозитарію

 

Таблиця процесів дає можливість перевірити:

– несуперечність назв і ідентифікаторів процесів;

– повноту визначених подій і відповідних процесів;

– генерацію події або її обробку відповідним процесом.

Результат моделювання процесів – це модель доступу до даних, діаграма потоків даних дій, таблиця процесів і їхній опис з упорядкуванням по ID. Модель доступу відображає взаємодію об’єктів через зв’язок з моделлю станів під час виконання певних дій процесів системи. Цей вид взаємодії вважається синхронним. Якщо подія одержана після того, як дія процесу завершилася, ця взаємодія є асинхронною.



Поделиться:


Последнее изменение этой страницы: 2016-12-14; просмотров: 859; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.114.8 (0.01 с.)