- •6.050103 – “Програмна інженерія”
- •Міністерство освіти і науки, молоді та спорту україни харківський національний університет радіоелектроніки
- •6.050103 – “Програмна інженерія”
- •Харків 2012
- •1 Ознайомлення з мовою uml. Створення статичних діаграм класів та прецедентів
- •1.1 Мета роботи
- •1.2 Завдання для самостійної підготовки
- •1.3 Методичні вказівки до лабораторної роботи
- •1.4 Завдання на лабораторну роботу
- •1.5 Порядок виконання роботи
- •1.7 Контрольні запитання та завдання
- •Тема 1.
1 Ознайомлення з мовою uml. Створення статичних діаграм класів та прецедентів
1.1 Мета роботи
Ознайомлення з уніфікованою мовою моделювання UML (Unified Modeling Language) та основними різновидами предметів, відношень та діаграм. Набуття практичних навичок створення статичних діаграм класів та прецедентів, за допомогою мови UML, з використанням атрибутів, характеристик та операцій.
1.2 Завдання для самостійної підготовки
Під час підготовки до виконання лабораторної роботи необхідно:
вивчити лекційний матеріал з використання базових об’єктно-орієнтованих блоків, різновидів поведінки предметів, статичних моделей об’єктно-орієнтованих програмних систем та методичні вказівки до лабораторної роботи;
відповісти на контрольні запитання й виконати контрольні завдання;
підготувати звіт з виконання роботи.
Для одержання додаткової інформації рекомендовано використовувати літературу [__].
1.3 Методичні вказівки до лабораторної роботи
UML – стандартный язык для написания моделей анализа, проектирования и реализации объектно-ориентированных программных систем, который может быть использован для визуализации, спецификации, конструирования и документирования результатов программных проектов [__].
UML использует три вида строительных блоков: предметы, отношения и диаграммы. Предметы являются базовыми объектно-ориентированными блоками, которые используются для написания моделей, включающие такие разновидности: структурные (классы, интерфейсы, кооперации, актеры, элементы Use Case, компоненты, узлы и активные классы); предметы поведения (взаимодействия и конечные автоматы); группирующие (пакеты) и поясняющие (примечания).
В UML существуют четыре разновидности отношений: зависимость (семантическое отношение между двумя предметами, в котором изменение в одном предмете (независимом предмете) может влиять на семантику другого предмета (зависимого предмета)); ассоциация (структурное отношение, которое описывает набор связей, являющихся соединением между объектами); обобщение (объекты специализированного элемента (потомка, ребенка) могут заменять объекты обобщенного элемента (предка, родителя)); реализация (семантическое отношение между классификаторами, где один классификатор определяет контракт, который другой классификатор обязуется выполнять (к классификаторам относят классы, интерфейсы, компоненты, элементы Use Case, кооперации)).
Диаграмма – графическое представление множества элементов, наиболее часто изображается как связный граф из вершин (предметов) и дуг (отношений). В языке UML используются статические и динамические типы диаграмм. К статическим диаграммам относятся: диаграмма классов (показывает набор классов, интерфейсов, сотрудничеств и их отношений); диаграмма объектов (показывает набор объектов и их отношения) и диаграмма Use Case (показывает набор элементов Use Case, актеров и их отношений).
Статические диаграммы представляют собой структурные описания и описания операций, реализующих заданное поведение системы.
Основным средством для представления статических моделей являются диаграммы классов. Вершины диаграмм классов нагружены классами, а дуги (ребра) — отношениями между ними. Класс включает в себя имя класса, свойства и операции. Общий синтаксис представления свойства имеет вид:
Видимость Имя [Множественность]: Тип = НачальнЗначение {Характеристики}
В языке UML определены три уровня видимости: public (любой клиент класса может использовать свойство (операцию), обозначается символом +); protected (любой наследник класса может использовать свойство (операцию), обозначается символом #); private (свойство (операция) может использоваться только самим классом, обозначается символом –).
Существуют три вида характеристик: changeable (нет ограничений на модификацию значения свойства); addOnly (дополнительные значения могут быть добавлены, но после создания значение не может удаляться или изменяться); frozen (после инициализации объекта значение свойства не изменяется).
Общий синтаксис представления операции имеет вид:
Видимость Имя (Список Параметров): ВозвращаемыйТип {Характеристики}
Диаграмма Use Case определяет поведение системы с точки зрения пользователя. Она рассматривается как главное средство для первичного моделирования динамики системы, используется для выяснения требований к разрабатываемой системе, фиксации этих требований в форме, которая позволит проводить дальнейшую разработку. Вершинами в диаграмме Use Case являются актеры и элементы Use Case. Актер – это роль объекта вне системы, который прямо взаимодействует с ее частью – конкретным элементом (элементом Use Case). Элемент Use Case – это описание последовательности действий (или нескольких последовательностей), которые выполняются системой и производят для отдельного актера видимый результат. Между актером и элементом Use Case возможен только один вид отношения – ассоциация, отображающая их взаимодействие.
Для создания UML диаграммы классов и прецедентов (диаграмма Use Case) в лабораторном практикуме был использован графический редактор диаграмм Microsoft Visio 2007.
Вікно проекту UML у редакторі Microsoft Visio 2007 активізується за допомогою вибору з категорії шаблонів вкладки Программное обеспечение и базы данних>Схема модели UML (рис.1.1). . Рисунок 1.1 – Основна екранна форма Microsoft Visio 2007 |
У вікні проекту наведена ієрархічна структура предметів та відношень існуючої (або яка створюється) схеми моделі UML. Використовуючи панель інструментів Панель элементов у вкладці Фигури користувач обирає предмети, відношення та діаграми. (рис. 1.2а). При обиранні предметів автоматично створюються його атрибути та відношення (рис. 1.2.б)
а) б)
Рисунок 1.2 – Панель елементів моделі UML (а) та властивості классу (б).