- •1. Складність, властива програмному забезпеченню. Учасники проекту. Мова (uml) і засоби моделювання. Етапи життєвого циклу програмного забезпечення.
- •2. Основи об’єктної технології. Класи і об’єкти. Відношення між класами.
- •3. Діаграма варіантів використань (прецедентів). Відношення на діаграмі використань. Документування прецедентів.
- •4. Діаграма класів. Відношення асоціації, агрегації, композиції, узагальнення. Поліморфізм. Інтерфейси, абстрактні класи.
- •5. Діаграма станів. Стани. Переходи. Події. Складені стани. Паралельні стани. Переходи між станами.
- •6. Діаграма діяльності. Моделювання видів діяльності. Специфікація видів діяльності.
- •7. Діаграма послідовностей. Об’єкти. Лінії життя об’єктів. Повідомлення.
- •8. Діаграма кооперації. Об’єкти на діаграмі кооперації. Зв’язки. Повідомлення. Автоповідомлення.
- •9.Діаграма компонентів. Компоненти. Пакети. Інтерфейси.
- •10.Діаграма розгортання. Проект розгортання. Клієнт. Вузол. З’єднання.
4. Діаграма класів. Відношення асоціації, агрегації, композиції, узагальнення. Поліморфізм. Інтерфейси, абстрактні класи.
Діаграма класів (class diagram) – для подання статичної структури моделі системи в технології класів об’єктно-орієнтованого програмування. Може відображати, зокрема, різні взаємозв’язки між окремими сутностями предметної області (об’єкти і підсистеми), а також описує їх внутрішню структуру і типи відношень. Тут не вказується інформація про тимчасові аспекти функціонування системи.
ДК – деякий граф, вершини якого – елементи типу “класифікатор”, зв'язані різними типами структурних відношень. Може містити інтерфейси, пакети, відношення і навіть окремі екземпляри, такі як об’єкти і зв’язки.
Клас – гол. ел-т на ДК, що відображає сукупність однотипних об’єктів зі спільними атрибутами, асоціаціями та семантикою. Зображується у вигляді прямокутника, який додатково може бути розділений горизонтальними лініями на розділи або секції. Виокремлюють три секції, в яких послідовно записують назву, атрибути та операції. Навіть якщо секції атрибутів і операцій є порожніми, вони виділяються горизонтальними лініями. Назва класу має бути унікальною в межах пакета, в якому розташовано клас.
Якщо клас не має екземплярів або об’єктів, він – абстрактний (позн. курсивом).
Кількість екземплярів класу – кратність (задають у специфікації класу).
Атрибут – позначене місце (слот), в якому може/можуть зберігатися значення. Загальний формат атрибутів:
[<видимість>] <назва> [<кратність>] [:<тип>][=<поч.значення>][<властивості>]
Видимість визначає рівень доступу до атрибута і набуває наступних значень: відкритий (public), захищений (protected), закритий (private).
Назва атрибута – унікальна для певного класу. Кратність – к-ть конкретних атрибутів певного типу з окремого класу. Може бути вказано початкове значення.
Властивості атрибута: changeable, addOnly, frozen.
Статичні атрибути належать класу загалом, і позначаються на ДК підкресленням.
Операції – закладають в клас та його об’єкти поведінку. Формат операцій: [<видимість>]<назва>([список парам.])[:<тип результату>]
Видимість – аналогічно. Назва – унікальна. Список параметрів дає змогу специфікувати інтерфейс операцій. Кількість параметрів у списку довільна. Параметр записують так: [<напрям>]<назва>[:<тип>][=<знач. за замовч.>]
Напрям використання параметра в операції: in – вхідний; out –вихідний; inout – вхідний і вихідний одночасно.
Абстрактні операції позначаються курсивом. Якщо клас має хоча б одну абстрактну операцію, його вважають абстрактним. Статичні операції позначаються підкресленням.
Відношення асоціації на ДК зустрічаються найчастіше. Позначається суцільною лінією між класами. Об’єкт 1 класу може надсилати повідомлення об’єкту ін. класу, зокрема, активізувати операцію або прочитати/змінити значення відкритого атрибута. Об’єкти асоційованих класів – полюси асоціації.
Доповнення UML для асоціації: Назва асоціації (посередині над/під лінією; ідентифікатор асоціації у моделі), роль полюса асоціації (конкретизує асоціацію щодо певного класу: [<видимість>]<назва ролі>[:<тип>]), кратність полюса асоціації (к-ть об’єктів певного класу в асоціації), сортування на полюсі асоціації (тип упоряди. об’єктів на полюсі з кратн. >1), змінюваність на полюсі (можливість зміни кількості екземплярів класу з боку полюса під час роботи програми), напрям навігації на полюсі асоціації (можливість доступу до екземплярів класу з боку полюса за допомогою певної асоціації).
Найпопул. бінарні асоціації – між 2 класами (або рефлексивне відношення класу із собою). Зв’язок між екземплярами одного класу – само асоціація.
Багатополюсна асоціація – зв’язок між >=3 класами (зображ. ромбом).
Агрегація та композиція – часткові випадки відношення асоціації.
Агрегація від кл. А до В означає: об’єкти кл. А входять до складу об’єкта кл. В. На ДК: асоціації, у яких з боку цілої частини намальовано ромб.
Композиції — це асоціації, які відповідають дуже сильній агрегації. (Співвідношення ціле-частина, але зв’язок настільки сильний, що частини не можуть існувати без цілого)
Узагальнення – відношення між двома сутностями, одна з яких є частковим випадком іншої.
Інтерфейс – клас, який не має реалізації.
