Методичні вказівки
до лабораторної роботи № 6
«Діаграми станів»
з дисципліни
«Основи автоматизованого проектування складних об’єктів та систем»
для студентів базового напрямку підготовки по спеціальності
“Комп’ютерні науки” (шифр 0804)
Львів-2009
Методичні вказівки до лабораторної роботи № 6 “Моделювання станів” з дисципліни “Основи автоматизованого проектування складних об’єктів та систем ” для студентів спеціальності - шифр 0804 “Комп’ютерні науки” Укл. Скрибайло-Леськів Д.Ю.,
Львів: Національний університет “Львівська політехніка”, 2012.
Методичні вказівки обговорено та схвалено на засіданні кафедри АСУ Протокол № ___________ від «___»___________2012 р.
Завідувач кафедрою АСУ ______________ Рашкевич Ю. М.
Методичні вказівки обговорено та схвалено на засіданні методичної комісії базового напрямку підготовки
Протокол № ___________ від «___»___________2012 р.
Мета: Оволодіти навичками моделювання діаграм станів та навчитися реалізовувати їх.
Завдання: Здійснити моделювання діаграм станів за допомогою середовища розробки діаграм Enterprise Architect або в Borland Together.
Теоретичні відомості
Поняття стану (state) є фундаментальним не тільки в метамоделі мови UML, але і в прикладному системному аналізі. Вся концепція динамічної системи грунтується на понятті стану системи. Проте семантика полягання в мові UML має цілий ряд специфічних особливостей.
У мові UML під станом розуміється абстрактний метаклас, використовуваний для моделювання окремої ситуації, протягом якої має місце виконання деякої умови. Стан може бути задане у вигляді набору конкретних значень атрибутів класу або об'єкту, при цьому зміна їх окремих значень відбиватиме зміну стану модельованого класу або об'єкту.
Слід відмітити, що не кожен атрибут класу може характеризувати його стан. Як правило, мають значення тільки такі властивості елементів системи, які відображають динамічний або функціональний аспект її поведінки. В цьому випадку стан характеризуватиметься деякою інваріантною умовою, що включає тільки значущі для поведінки класу атрибути і їх значення.
Наприклад, інваріант може представляти статичну ситуацію, коли об'єкт знаходиться в стані очікування виникнення деякої зовнішньої події. З іншого боку, інваріант використовується для моделювання динамічних аспектів, коли в ході процесу виконуються деякі дії. В цьому випадку модельований елемент переходить в даний стан у момент початку відповідної діяльності і покидає даний стан у момент її завершення.
Рис. 1 Графічне зображення перебувань на діаграмі станів
Перебування на діаграмі зображається прямокутником з вершинами, що округляють (Рис. 1). Цей прямокутник, у свою чергу, може бути роздільний на дві секції горизонтальною лінією. Якщо вказана лише одна секція, то в ній записується тільки ім'я стану (Рис. 1 а). Інакше в першій з них записується ім'я стану, а в другій — список деяких внутрішніх дій або переходів в даному стані (Рис. 1 би). При цьому під дією в мові UML розуміють деяку атомарну операцію, виконання якої приводить до зміни стану або повернення деякого значення (наприклад, "істина" або "брехня").
Ім'я стану
Ім'я стану є рядком тексту, який розкриває змістовний сенс даного стану. Ім'я завжди записується із заголовної букви. Оскільки стан системи є складовою частиною процесу її функціонування, рекомендується як ім'я використовувати дієслова в теперішньому часі (дзвенить, друкує, чекає) або відповідні дієприкметники (зайнятий, вільний, передано, отримано). Ім'я у стану може бути відсутнім, тобто воно є необов'язковим для деяких станів. В цьому випадку стан є анонімним, і якщо на діаграмі станів їх декілька, то всі вони повинні розрізнятися між собою.
Список внутрішніх дій
Ця секція містить перелік внутрішніх дій або деятельностей, які виконуються в процесі знаходження модельованого елементу в даному стані. Кожна з дій записується у вигляді окремого рядка і має наступний формат:
<мітка – дія '/' вираз – дія >
Мітка дії ука...