
- •Тема 1. Основні елементи мови uml
- •Загальна характеристика моделей об'єктно-орієнтованого аналізу і проектування
- •Пакети в мові uml
- •Канонічні діаграми мови uml
- •Особливості графічного зображення діаграм мови uml
- •Рекомендації по графічному зображенню діаграм мови uml
- •Тема 2. Елементи графічної нотації діаграми класів.
- •Графічне зображення класу, його атрибутів і операцій
- •Конкретні і абстрактні класи
- •Тема 3. Відношення та їх графічне зображення на діаграмі класів
- •Тема 4. Елементи графічної нотації діаграми кооперації
- •Призначення діаграми кооперації
- •Об'єкти та їх графічне зображення
- •Тема 5. Елементи графічної нотації діаграми послідовності
- •Призначення діаграми послідовності.
- •Об'єкти та їх зображення на діаграмі послідовності
- •Лінія життя та фокус управління
- •Особливості зображення моментів створення і знищення об'єктів.
- •Повідомлення на діаграмі послідовності
- •Рекомендації з побудови діаграм послідовності
- •Тема 6. Елементи графічної нотації діаграми станів
- •Особливості моделювання поведінки об'єктів у вигляді діаграм станів
- •Стан та його графічне зображення
- •Графічне зображення станів на діаграмі станів
- •Тема 7. Елементи графічної нотації діаграми діяльності
- •Тема 7. Елементи графічної нотації діаграми компонентів
- •Лабораторні роботи.
- •Змістовний модуль і. Введення в моделювання програмного забезпечення
- •Змістовний модуль іі. Вступ до мови uml
- •Змістовний модуль ііi. Основи моделювання поведінки
- •Змістовний модуль IV. Основи архітектурного моделювання
Лінія життя та фокус управління
Лінія життя об'єкту (object lifeline) - вертикальна лінія на діаграмі послідовності, яка представляє існування об'єкта протягом певного періоду часу.
Лінія життя об'єкту зображується пунктирною вертикальною лінією, асоційованою з єдиним об'єктом на діаграмі послідовності. Лінія життя служить для позначення періоду часу, протягом якого об'єкт існує в системі і, отже, може потенційно брати участь у всіх її взаємодіях. Якщо об'єкт існує в системі постійно, то і його лінія життя повинна продовжуватися по всій робочій області діаграми послідовності від самої верхньої її частини до самої нижньої (об'єкт 1 і анонімний об'єкт Класу 2 на рис. 8.1).
Окремі об'єкти, закінчивши виконання своїх операцій, можуть бути знищені, щоб звільнити займані ними ресурси. Для таких об'єктів лінія життя обривається в момент його знищення. Для позначення моменту знищення об'єкта в мові UML застосовується спеціальний символ у формі латинської букви "X". На рис. 8.2 цей символ використовується для знищення анонімного об'єкта, утвореного від Класу 3. Нижче цього символу пунктирна лінія не зображується, оскільки відповідного об'єкта в системі вже немає, і цей об'єкт повинен бути виключений з усіх наступних взаємодій.
Рис. 8.2. Графічне зображення ліній життя і фокусів управління об'єктів
Зовсім не обов'язково створювати всі об'єкти в початковий момент часу. Окремі об'єкти в системі можуть створюватися у міру необхідності, істотно заощаджуючи ресурси системи і підвищуючи її продуктивність. У цьому випадку прямокутник такого об'єкту зображується не у верхній частині діаграми послідовності, а в тій, яка відповідає моменту створення об'єкта (анонімний об'єкт, утворений від Класу 3 на рис. 8.2). При цьому прямокутник об'єкта вертикально розташовується в тому місці діаграми, яке по осі часу збігається з моментом його виникнення в системі. Об'єкт створюється зі своєю лінією життя а, можливо, і з фокусом управління.
У процесі функціонування об'єктно-орієнтованих систем одні об'єкти можуть перебувати в активному стані, безпосередньо виконуючи певні дії, або в стані пасивного очікування повідомлень від інших об'єктів. Фокус управління - символ, застосовуваний для того, щоб явно виділити подібну активність об'єктів на діаграмах послідовності.
Фокус управління (focus of control) - спеціальний символ на діаграмі послідовності, який вказує період часу, протягом якого об'єкт виконує деяку дію, перебуваючи в активному стані.
Фокус управління зображується у формі витягнутого вузького прямокутника (об'єкт а на рис. 8.1), верхня сторона якого позначає початок отримання фокусу управління об'єкта (початок активності), а її нижня сторона - закінчення фокусу управління (закінчення активності). Цей прямокутник розташовується нижче позначення відповідного об'єкта і може заміняти його лінію життя (об'єкт a на рис. 8.2), якщо на всьому її протязі він активний.
Особливості зображення моментів створення і знищення об'єктів.
Періоди активності об'єкта можуть чергуватися з періодами його пасивності або очікування. У цьому випадку у такого об'єкта фокуси управління змінюють своє зображення на лінію життя і навпаки (об'єкт сирота ob2 на рис. 8.2). Важливо розуміти, що отримати фокус управління може тільки об'єкт, у якого в цей момент є лінія життя. Якщо ж об'єкт був знищений, то знов виникнути в системі він вже не може. Замість нього може бути створений лише екземпляр цього ж класу, який, строго кажучи, буде іншим об'єктом.
В окремих випадках ініціатором взаємодії в системі може бути актор або зовнішній користувач. При цьому актор зображується на діаграмі послідовності найпершим об'єктом зліва зі своїм фокусом управління (рис. 8.3). Найбільш часто актор і його фокус управління будуть існувати в системі постійно, відзначаючи характерну для користувача активність в ініціюванні взаємодій з системою. Актор може мати власне ім'я або залишатися анонімним.
В окремих випадках об'єкт може посилати повідомлення самому собі, ініціюючи так звані рефлексивні повідомлення. Для цієї мети служить спеціальний зображення (повідомлення в об'єкта а на рис. 8.3). Такі повідомлення зображуються у формі повідомлення, початок і кінець якого стикаються з лінією життя або фокусом управління одного і того ж об'єкта. Подібні ситуації виникають, наприклад, при обробці натискань на клавіші клавіатури при введенні тексту в редагований документ, при наборі цифр номера телефону абонента.
Якщо в результаті рефлексивного повідомлення створюється новий підпроцес або нитка управління, то говорять про рекурсивному або вкладеному фокусі управління. На діаграмі послідовності рекурсія позначається невеликим прямокутником, приєднаним до правої сторони фокусу керування того об'єкту, для якого зображується дане рекурсивне взаємодія (анонімний об'єкт Класу 2 на рис. 8.3).
Рис. 8.3. Графічне зображення актора, рефлексивного повідомлення та рекурсії на діаграмі послідовності