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

2.3.3. Побудова пс засобами uml

Побудова ПС методом UML здійснюється у наступні етапи ЖЦ..

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

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

Це важливе для великих систем, що нараховують сотні, а іноді і тисячі елементів, і тому вимагають ієрархічного структурування.

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

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

2.4. Парадигма компонентного програмування

За оцінками експертів в інформаційному світі 75 % напрацювань із програмування дублюються (наприклад, програми складського обліку, нарахування зарплати, розрахунку витрат на виробництво продукції і т.п.). Більшість з цих програм типові, але кожного разу знаходяться особливості ПрО, що призводять до їх повторної розробки.

Компонентне програмування дозволяє уникнути цих проблем. Воно є подальшим розвитком ООП, заснованим на повторному використанні, специфікації компонентів і їхніх інтерфейсів, композиції та конфігурації компонентів. Зв’язки між компонентами містять у собі підтипи й еквівалентність, а об'єктні зв’язки — класи і суперкласи. Сформульовано багато визначень поняття «компонент». Наведемо одне з них.

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

Об'єкти розглядаються на логічному рівні проектування ПС, а компоненти – це безпосередня фізична, тобто програмна реалізація об'єктів. Співвідношення між об'єктами і компонентами неоднозначне. Один компонент може бути реалізацією декількох об'єктів або навіть деякої частини системи, отриманої при проектуванні. Зворотне співвідношення, тобто компонент – об’єкт, як правило, не виконується [8–13].

2.4.1. Теоретичні аспекти компонентного програмування

Компонентне програмування (КП) з момента його появи був системним і не мав теоретичного обгрунтовання. В межах виконання фундаментальних проектів (2002–2011) в ІПС НАНУ було розроблено математичний апарат КП – теорія, моделі, методи, компонентна алгебра об’єднання компонентів. повторного використання (КПВ), їх змінювання та алгебраїчної системи перебудови типів даних різнорідних КПВ тощо.

Теорія КП створена на множині компонентів С=(С0, С1, …, Сn), які мають загальні та особисті властивості і характеристики, які відображаються в інтерфейсах методів компонентів, і утворюють множину відповідних інтерфейсів I =(I0, I1,…,In) для цієї множини компонентів С.

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

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

Аксіома 1. Предметна область, що моделюється з компонентів множини С, сама є компонентом.

Аксіома 2. Предметна область, що моделюється, може бути окремим компонентом С у складі іншій ПрО.

Виходячи з теорії множин, якщо С=(С0, С1, …, Сn) – множина компонентів ПрО і С0 відповідає самій ПрО, то для елементів С виконується відношення:

i[(i>0) & (СiÎ С0)]. (1)

Кожен з компонентів подається як елемент певної множини. У цьому випадку вираз (1) трансформується у такий

i $ j[(i>0)&( j≥0)& (i j)& (СiÎ Сj)]. (2)

До кожного компонента (крім С0), тобто елементів певної множини, застосовуються операції теоретико–множинної алгебри та відношення “частина-ціле”, екземпляризація, агрегація тощо.

Аксіома 3. Якщо C=(C1, C2, …,Cn) – сукупність компонентів ПрО, а P'=(P1, P2, … Pr) – множина унарних предикатів, що пов’язані із властивостями компонентів множини компонентів С, то компоненту Ci відповідає множина тверджень на основі предикатів з P', що приймають значення істини Pk(,Ci) = true, де Pik є твердженням для Ci виходячи з предикату Pk та відношенням типу “рід–вид”.

Побудова компонентних ПС, сімейств систем з елементів цих множин виконується методом збирання КПВ за даними інтерфейсу, які відповідають означеним властивостям і характеристикам множин компонентів, які накопичуються в репозиторіях (інтерфейсів і реалізацій) у компонентному середовище [10–15]. І так, зупинимося на визначеннях.

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

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

Компонентна модель ПрО визначається на множині С, I, Р за допомогою математичного апарату: моделей компоненту і інтерфейсу, компонентної програми, компонентного середовища, зовнішній і внутрішній компонентної алгебри побудови ПС та алгебраїчні системи перетворення типів даних компонентів на сигнатури операцій інтерфейсу завдання їх взаємодії [16]. Цей апарат слугує формальної побудові компонентних ПС з КПВ на множині компонентів і інтерфейсів репозиторієв. [10, 13–16].