Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка по информационным системам / ПЕРЕВОД_МЕТОДИЧКИ _полн.doc
Скачиваний:
114
Добавлен:
02.08.2013
Размер:
30.74 Mб
Скачать

12.1.2. Лінія життя об'єкта

Лінія життя об'єкта (object lіfelіne) зображується пунктирною вертикальною лінією, асоційованою з єдиним об'єктом на діаграмі послідовності. Лінія життя служить для позначення періоду часу, у плині якого об'єкт існує в системі і, отже, може потенційно брати участь у всіх її взаємодіях. Якщо об'єкт існує в системі постійно, то і його лінії життя повинна продовжуватися по всій площині діаграми послідовності від самої верхньої її частини до самої нижньої (об'єкти 1 і 2 на мал.12.1).

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

12.1.3. Фокус керування

У процесі функціонування об'єктно-орієнтованих систем одні об'єкти можуть знаходиться в активному стані, безпосередньо виконуючи визначені дії, або в стані пасивного чекання повідомлень від інших об'єктів. Для явного виділення подібної активності об'єктів, у мові UML застосовується спеціальне поняття, що одержало назву фокуса керування (focus of control). Фокус керування зображується у формі витягнутого вузького прямокутника (об’єкт 1 на мал. 12.1.), верхня сторона якого позначає початок одержання фокуса керування об'єкта (початок активності), а її нижня сторона - закінчення фокуса управління (закінчення активності). Цей прямокутник розташовується нижче позначення відповідного об'єкта і може заміняти його лінію життя, якщо на всьому її протязі він є активним.

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

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

12.1.4. Повідомлення

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

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

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

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

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

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