
- •1. Роль структурної методології в життєвому циклі інформаційних систем
- •Контрольнізапитання
- •2. Створення моделі процесів у bpwі
- •2.1. Методи моделювання в bPwіn
- •2.2. Методологія іdef0
- •2.3. Інтерфейс bPwіn
- •2.4. Установка кольору і шрифту об'єктів
- •2.5. Побудова діаграм
- •2.6. Каркас діаграми
- •2.7. Оцінка отриманих моделей
- •2.7.1. Вартісний аналіз
- •2.7.2. Властивості, обумовлені користувачем
- •2.8. Створення діаграм іdef3
- •2.9. Завдання
- •2.10. Контрольні запитання
- •3. Створення логічної моделі даних у erwІn
- •3.1. Моделі даних у eRwіn
- •3.2.Інструментарій eRwіn
- •3.3. Рівні відображення діаграми
- •3.4. Установка кольору та шрифту
- •3.5. Підмножини моделі
- •3.6. Етапи створення логічної моделі даних
- •3.6.1. Створення сутностей
- •3.6.2. Опис атрибутів
- •3.6.3. Установка зв'язків між сутностями
- •3.6.4. Установка посилальної цілісності
- •3.6.5.Розв'язання відносин "багато-до-багатьох"
- •3.7.Створення звітів у eRwіn
- •3.8.Завдання
- •3.9.Контрольні запитання
- •4. Приклад побудови моделі
- •4.1. Аналіз предметної області
- •4.2. Побудова функціональної моделі системи
- •4.3. Побудова er діаграми
- •5. Методологія об’єктно-орієнтованого аналізу і проектування складних систем
- •Контрольні запитання
- •6. Особливості реалізації мови uml у ratіonal rose
- •7. Инструментальне середовищеrationalrose
- •8. Діаграми варіантів використання
- •8.1. Актори і варіанти використання
- •8.2. Відносини на діаграмі варіантів використання
- •8.2.1 Відношення асоціації
- •8.2.2. Відношення розширення
- •8.2.3. Відношення узагальнення
- •8.2.4. Відношення включення
- •8.3. Діаграми варіантів використання в Ratіonal Rose
- •8.3.1. Додавання варіантів використання на діаграму
- •8.3.2. Видалення варіантів використання
- •8.3.3. Додавання акторів на діаграму
- •8.3.4. Внесення відношень на діаграму
- •8.4. Завдання
- •8.5. Контрольні запитання
- •9. Діаграми класів (class dіagram)
- •9.1. Атрибути класу
- •9.2. Операції класу
- •9.3. Відношення між класами
- •9.3.1. Відношення залежності
- •9.3.2. Відношення асоціації
- •9.3.3. Відношення агрегації
- •9.3.4. Відношення композиції
- •9.3.5. Відношення узагальнення
- •9.4. Створення діаграм класів у середовищі Ratіonal Rose
- •9.4.1. Атрибути й операції класів у Ratіonal Rose
- •9.4.2. Відносини між класами в Ratіonal Rose
- •9.5. Завдання
- •9.6. Контрольнізапитання
- •10 Діаграми станів
- •10.1. Стан
- •10.2. Переходи
- •10.3. Створення діаграми станів у Ratіonal Rose
- •10.4. Стани і переходи на діаграмах Ratіonal Rose
- •10.5. Параметри переходів і станів
- •10.6. Завдання
- •10.7. Контрольні запитання
- •11. Діаграми діяльності
- •11.1. Стани і дії
- •11.2. Доріжки
- •11.3. Створення діаграми діяльності в Ratіonal Rose
- •11.4. Елементи діаграми діяльності
- •11.5. Завдання
- •11.6. Контрольні запитання
- •12. Діаграми взаємодії
- •12.1. Діаграма послідовності (Sequence Dіagram)
- •12.1.1.Об'єкти
- •12.1.2. Лінія життя об'єкта
- •12.1.3. Фокус керування
- •12.1.4. Повідомлення
- •12.1.5. Побудова діаграми послідовності в Ratіonal Rose
- •12.2. Діаграми кооперації
- •12.3. Завдання
- •12.4. Контрольнізапитання
- •13. Представлення реалізації
- •13.1. Діаграми пакетів
- •13.2. Діаграми компонентів
- •13.3. Завдання
- •13.4. Контрольнізапитання
- •Список літератури
10 Діаграми станів
Діаграма класів являє собою логічну модель статичного представлення системи, що моделюється. На цій діаграмі зображуються тільки взаємозв'язки структурного характеру, що не залежать від часу або реакції системи на зовнішні події.
Проте знати статичну структуру проектованої системи недостатньо, щоб зрозуміти та оцінити роботу останньої. У дійсності кожна прикладна система характеризується не тільки структурою складових її елементів, але і деякою поведінкою або функціональністю. Для загального представлення функціональності системи, що моделюється, призначені діаграми варіантів використання, що на концептуальному рівні описують поведінку системи в цілому.
Для того, щоб описати зміни, які відбуваються з об'єктами та їх зв'язками під час роботи системи будується дінамічна модель системи.
Для моделювання поведінки на логічному рівні в мові UML можуть використовуватися відразу кілька канонічних діаграм: станів, діяльності, послідовності і кооперації, кожна з яких фіксує увагу на окремому аспекті функціонування системи.
Діаграма станів описує процес зміни станів тільки одного класу, а точніше - одного екземпляра визначеного класу, тобто моделює всі можливі зміни в стані конкретного об'єкта. При цьому зміна стану об'єкта може бути викликана зовнішніми впливами з боку інших об'єктів або ззовні. Саме для опису реакції об'єкта на подібні зовнішні впливи і використовуються діаграми станів.
Головне призначення цієї діаграми - описати можливі послідовності станів і переходів, що у сукупності характеризують поведінку елемента моделі протягом його життєвого циклу. Діаграма станів представляє динамічну поведінку сутностей, на основі специфікації їхньої реакції на сприйняття деяких конкретних подій. Діаграми станів найчастіше використовуються для опису поведінки окремих екземплярів класів (об'єктів), але вони також можуть бути застосовані для специфікації функціональності інших компонентів моделей, таких як варіанти використання, актори, підсистеми, операції і методи.
Діаграма станів, власне кажучи, є графом спеціального виду, що представляє деякий автомат. Поняття автомата в контексті UML має досить специфічну семантику, заснованої на теорії автоматів. Вершинами цього графа є стани. Дуги графа позначають переходи зі стану в стан. Діаграми станів можуть бути вкладені, тобто, можна утворити вкладені діаграми для більш детального відображення окремих елементів моделі.
Правила поведінки об'єкта, що моделюється деяким автоматом, визначаються, з одного боку, загальним формалізмом автомата, а з іншого боку - його графічним зображенням у мові UML у формі конкретної діаграми станів.
10.1. Стан
Стан (state) - це якесь положення в житті об'єкта, при якому він задовольняє визначеній умові, виконує деяку дію або очікує події. Поточний стан об'єкта можна описати сукупністю поточних значень одного або декількох атрибутів класу та зв'язків об'єкта .
Варто помітити, що не кожен атрибут класу може характеризувати його стан. Як правило, мають значення тільки такі властивості елементів системи, що відбивають динамічний або функціональний аспект її поводження.
Стан на діаграмі зображується прямокутником з округленими вершинами (рис. 10.1). Цей прямокутник, у свою чергу, може бути розділений на дві секції горизонтальною лінією. Якщо зазначено лише одну секцію, то в ній записується тільки ім'я стану (рис. 10.1, а). У іншому випадку в першій секції записується ім'я стану, а в другій - список деяких внутрішніх дій або переходів у даному стані (рис. 10.1, б). При цьому під дією в мові UML розуміють деяку атомарну операцію, виконання якої приводить до зміни стану або поверненню деякого значення (наприклад, "істина" або "хиба").
а) б)
Рис. 10.1. Графічне зображення станів на діаграмі станів.
Ім'я стану являє собою рядок тексту, що розкриває зміст даного стану. Ім'я завжди записується з великої літери. Оскільки стан системи є складовою частиною процесу її функціонування, рекомендується як ім'я використовувати дієслова в дійсному часі (реєструє, друкує, очікує) або відповідні дієприкметники (передано, отримане). Ім'я у стану може бути відсутнє, тобто воно є необов'язковим для деяких станів. У цьому випадку стан є анонімним, і якщо на діаграмі таких станів декілька, те усі вони повинні розрізнятися між собою.
Список внутрішніх дій містить перелік внутрішніх дій або діяльностей, що виконуються в процесі перебування елемента в даному стані. Кожне з дій записується у виді окремого рядка і має наступний формат:
<позначка дії / дія >
Позначка дії вказує на обставини або умови, при яких буде виконуватися діяльність, визначена дією. При цьому вираження дії може використовувати будь-як атрибути і зв'язки, що належать області імен або контекстові об'єкта, що моделюється. Якщо список виражень дії порожній, то роздільник у виді похилої риси '/' може не вказуватися.
Перелік позначок дії має фіксовані значення в мові UML, що не можуть бути використані як імена подій. Ці значення наступні:
entry - ця позначка вказує на дію, що виконується в момент входу в даний стан (вхідна дія );
exіt - ця позначка вказує на дію, що виконується в момент виходу з даного стану (вихідна дія );
do - ця позначка специфікує діяльність ("do actіvіty"), що виконується протягом усього часу, поки об'єкт знаходиться в даному стані, або доти, поки не закінчиться обчислення. В останньому випадку при завершенні події генерується відповідний результат;
іnclude - ця позначка використовується для звертання до підавтомату, при цьому наступне за нею вираження дії містить ім'я цього підавтомата.
В всіх інших випадках позначка дії ідентифікує подію, що запускає відповідну дію. Ці події називаються внутрішніми переходами і семантично еквівалентні переходам у сам цей стан, за винятком тієї особливості, що вихід з цього стану або повторний вхід у нього не відбувається. Це означає, що дії входу і виходу не виконуються.
Як приклад стану, розглянемо ситуацію введення пароля користувача при аутентифікації входу в деяку програмну систему (рис. 10.2). У цьому випадку список внутрішніх дій у даному стані не порожній і включає 4 окремі дії.
Рис. 10.2. Приклад стану з не порожньою секцією внутрішніх дій.
Початковий стан являє собою окремий випадок стану, що не містить ніяких внутрішніх дій (псевдостан). У цьому стані знаходиться об'єкт за замовчуванням у початковий момент часу. Воно служить для вказівки на діаграмі станів графічної області, від якої починається процес зміни станів. Графічно початковий стан у мові UML позначається у виді зафарбованого кола (рис. 10.3), з якого може тільки виходити стрілка, що відповідає переходові.
На самому верхньому рівні представлення об'єкта перехід з початкового стану може бути позначений подією створення (ініціалізації) даного об'єкта. У іншому випадку перехід ніяк не позначається. Якщо цей перехід не позначений, то він є першим переходом у наступний за ним стан.
Кінцевий (фінальний) стан являє собою окремий випадок стану, що також не містить ніяких внутрішніх дій. У цьому стані буде знаходитися об'єкт за замовчуванням після завершення роботи автомата в кінцевий момент часу. Воно служить для вказівки на діаграмі станів графічної області, у якій завершується процес зміни станів або життєвий цикл даного об'єкта.
Рис. 10.3. Графічне зображення початкового і кінцевого станів на діаграмі станів.