Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Підручник КНУ-4кк11.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
16.18 Mб
Скачать

2.2.6. Опис параметрів інтерфейсу ом

Операції з використанням інтерфейсу це такі:

– введення, збереження, видалення об’єктів тощо, тобто це операції життєвого циклу об’єктів;

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

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

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

Загальна форма опису операції має вигляд

operation_name (param1,..., paramn)

returns (res1,..., resm)

parami ::= parameter_name : parameter_type

resi ::= result_name : result_type

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

w: (x1:s1, x2:s2, ..., xn:sn) (y1:r1, y2:r2, ..., ym :rm),

де w – ім'я операції;

x1, x2, ..., xn – вхідні параметри, а x1 – керуючий оператор;

s1, s2, ..., sn – типи вхідних параметрів;

y1, y2, ..., ym – вихідні параметри;

r1, r2, ..., rm – типи вихідних параметрів.

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

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

Зміна реалізації якого-небудь об'єкта або додавання йому нових функцій не впливає на інші об'єкти системи. Чітка відповідність між реальними об'єктами (наприклад, апаратними засобами) і керуючими об'єктами ПС полегшує розуміння і реалізацію системи за її моделлю і об'єктами.

Означення. Декларована в класі змінна називається керованою щодо доступу до її значення з боку інших класів, якщо вона є public-змінна або для неї реалізований доступ за допомогою public-методів класу.

Теорема.. Для кожної об’єктної моделі OSyst, зовнішня взаємодія з класами якої відбувається на основі public-методів та керованих змінних, існує єдине інтерфейсне подання ISyst з еквівалентною функціональністю.

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

2.3. Парадигма uml-метода моделювання

UML-метод проектування складних ПС сприяє розбиттю її на частини, кожна з яких потім реалізується окремо. Таке розбиття ПС на підсистеми проводиться шляхом структурного (функціонального) проектування та і об'єктної (компонентної) декомпозиції. Суть функціонального роздроблення проводиться за відомою формулою: "Програма = Дані + Алгоритми".

Структура ПС при функціональній декомпозиції може бути описана блок-схемами, вузли яких представляють собою "обробні функції, а зв'язки між вузлами описують просування даних між ними (см. Ріс. 2.2).

Об'єктне розбиття зводиться до розробки, заснованої на зіставленні методу виділеного об'єкта компонентному, що відповідає спеціальному терміну: "розробка, заснована на компонентах" (Component Based Development – CBD). При цьому використовується інший принцип декомпозиції – система розбивається на "активні сутності" – об'єкти або компоненти, які взаємодіють один з одним, обмінюючись запитами чи повідомленнями та звертаючи один до одного в середовищі "клієнт / сервер". Повідомлення, які може приймати чи видавати об'єкт, формуються з їх інтерфейсів, т.е. посилка повідомлення "об'єкту-серверу" еквівалентна виклику відповідного методу об'єкта.

Якщо при проектуванні інформаційна система розбивається на об'єкти (компоненти), то UML може бути використаний для її візуального моделювання. При використанні функціональної декомпозиції ПС, UML не потрібний, і необхідно використовувати інші (структурні) нотації.

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

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

Мова моделювання UML (Unified Modeling Language) дозволять описувати класи, об'єкти і компоненти для різних предметних областей, які відрізняються один від одного. Тобто UML, як підхід до проектування різних систем як мова візуального моделювання систем, шляхом подання у вигляді діаграм їхніх статичних і динамічних моделей на всіх процесах ЖЦ розглядається детальніше у [6, 7].

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

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

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

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

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

Мова моделювання UML підтримує статичні і динамічні моделі, зокрема модель послідовностей – одну з найкорисніших і наочних моделей, в кожному вузлі якої є взаємодіючі об'єкти. Всі моделі зображуються діаграмами, коротка характеристика яких дається нижче.