Лабораторна робота 6 Діаграма взаємодії та діаграма класів
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Мета:Визначити складові діаграми взаємодії. Закріпити навички по будуванню діаграм в UML. Навчитися будувати діаграму взаємодії і класу

Теоретична частина

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

Спільними елементами діаграм є:

- Екземпляри акторів та об'єкти, що беруть участь у взаємодії;

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

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

- Ім'я об'єкта: Ім'я класу (наприклад, Вася: Програміст);

-: Ім'я класу (наприклад,: Програміст) - анонімний об'єкт;

- Ім'я об'єкта (наприклад, Вася) - передбачається, що ім'я класу відомо;

- Ім'я об'єкта: (наприклад, Вася :) - об'єкт-сирота. Вважається, що ім'я класу невідомо.

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

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

- Синхронне повідомлення (англ. Synchronous message). Клієнт посилає повідомлення серверу і чекає, поки той прийме і обробить повідомлення. Як правило, один об'єкт передає синхронне повідомлення другому, другий - третьому і т.д., утворюючи вкладений потік повідомлень. У будь-якому випадку клієнт, який ініціює потік повідомлень, повинен дочекатися завершення вкладеного потоку, тобто повернення управління. Це найпоширеніший тип повідомлень;

- Асинхронне повідомлення (англ. Asynchronous message). Клієнт посилає повідомлення серверу і, не чекаючи відповіді, продовжує виконувати наступні операції;

 

- Повертає повідомлення (англ. Reply message), що позначає повернення значення або управління від сервера назад клієнтові. Стрілки цього виду часто відсутні на діаграмах, оскільки неявно передбачається їх існування після закінчення процесу виконання операції.

Рисунок 6.1 Графічні примітиви для побудови діаграми послідовності

 

Розглянемо приклад побудови діаграми послідовності телефонної розмови.

Рисунок 6.2 Початковий фрагмент діаграми послідовності для телефонної розмови

 

Процес взаємодії в цій системі починається з підняття трубки телефонного апарату першим абонентом. Тим самим він посилає повідомлення телефонному апарату с, яке переводить цей апарат в активний стан і викликає дію - подачу тонового сигналу в телефонну трубку для першого абонента. Наступна дія також ініціюється першим абонентом - набір цифр телефонного номера. Це представлено у формі ітеративного повідомлення із знаком "*" зліва від його імені.

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

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

Рисунок 6.3 Діаграма послідовності телефонної розмови

 

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

Діаграма класів (Class diagram) відображає онтологію домену, за змістом еквівалентна структурі інформаційної моделі методу С.Шлєєра і С.Мелора, визначає склад класів об'єктів і їх зв’язків. Діаграма задається зображенням, на якому класи позначаються поділеними на три частини прямокутниками, а зв’язки — лініями, що з’єднують прямокутники. Це відповідає візуальному зображенню понять і зв'язків між ними. Верхня частина прямокутника — обов'язкова, в ній записується ім'я класу. Друга і третя частини прямокутника визначають відповідно список операцій і атрибутів класу.

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

 

Класи можна перебудувати в наступних відношеннях або зв'язках.

Асоціація – взаємна залежність між об'єктами різних класів, кожний з яких це рівноправний її член. Вона може позначати кількість екземплярів об'єктів кожного класу, які беруть участь у зв'язку (0 – якщо жодного, 1 – якщо один, N – якщо багато).

Залежність – відношення між класами, при якому клас-клієнт може використовувати певну операцію або сервіс іншого класу; класи можуть бути зв'язані відношеннями трасування, якщо один клас трансформується в іншій внаслідок виконання певного процесу ЖЦ.

Екземпляризація – залежність між параметризованим абстрактним класом-шаблоном (template) і реальним класом, який ініціює параметри шаблону (наприклад, контейнерні класи мови С++).

 

Рисунок 6.4 Діаграма класу

 

Порядок виконання роботи

1. Вивчити теоретичну частину.

2. За власним завданням з лабораторної роботи №5 побудувати діаграму комунікації та послідовності.

3. Обрати будь-який навчальний заклад або підприємство чи установу, здійснити аналіз його структури. Описати структуру.

4. Побудувати діаграму класу за темами:

- Система навчального закладу.

- Система підприємства або установи.

 

Дата: 2016-10-02, просмотров: 364.