Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемРуслан Шеховцов
1 1 © Luxoft Training 2012 Введение в UML Модуль #3
2 2 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм
3 3 © Luxoft Training 2012 Введение в UML Является стандартом в ООП. UML принадлежит OMG. UML – унифицированный язык моделирования. Унифицированный, т.к. вобрал в себя черты нотаций Грейди Буча, Джима Румбаха, Айвара Якобсона и многих других.
4 4 © Luxoft Training 2012 Введение в UML
5 5 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм
6 6 © Luxoft Training 2012 Проблемы проектирования
7 7 © Luxoft Training 2012 Проблемы проектирования Проблемы с коммуникацией и пониманием, вызванные отсутствием четкой спецификации создаваемого продукта. Объектно-ориентированные языки моделирования предназначены для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых в ходе разработки.
8 8 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм
9 9 © Luxoft Training 2012 Нотация Нотация (или синтаксис в других языках) – подчеркивает, что UML – язык графический и модели не «записывают», а рисуют. В UML используется 4 вида элементов нотации: фигуры линии значки надписи
10 10 © Luxoft Training 2012 Специальное ПО Существует ПО, позволяющее осуществлять проектирование и рисование UML диаграмм на компьютере (CASE средство): IBM Rational Rose Borland Together Gentleware Poseidon Microsoft Visio Telelogic TAU G2
11 11 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм
12 12 © Luxoft Training 2012 Виды диаграмм В UML определяется 13 типов диаграмм, разделенных на 3 группы: 7 типов диаграмм представляют статическую структуру приложения (статические диаграммы). 3 представляют поведенческие аспекты системы (поведенческие диаграммы). 3 представляют физические аспекты функционирования системы(диаграммы взаимодействия).
13 13 © Luxoft Training 2012 Задача-пример: отдел кадров Создадим проект системы учета для отдела кадров компании. Система должна будет вести список кандидатов, учитывать процесс прохождения собеседования и приема на работу.
14 14 © Luxoft Training 2012 Диаграмма прецедентов (Use case) Сущности, с которыми взаимодействует система в процессе своей работы, называются actor. Прецедент (use-case) – описание отдельного аспекта поведения системы с точки зрения пользователя.
15 15 © Luxoft Training 2012 Use case диаграмма В диаграмме use case должны быть только лица (Actors), инициирующие работу системы: живые люди или действия, выполняемые по таймеру; пока такое лицо не "пнет" систему, она будет спать-отдыхать.
16 16 © Luxoft Training 2012 Use case диаграмма для отдела кадров
17 17 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм
18 18 © Luxoft Training 2012 Диаграмма классов Класс на диаграмме отображается в виде прямоугольника, разделенного горизонтальными линиями на три части. В первой части указывается название класса Вторая часть содержит перечень атрибутов класса, которые характеризуют тот или иной объект класса. Третья часть содержит перечень операций, отражающих его поведение в модели предметной области.
19 19 © Luxoft Training 2012 Диаграмма классов При проектировании класса, он выступает в роли черного ящика. В UML не специфицируется тело методов класса. Требование инкапсуляции объектов класса диктует необходимость указания модификаторов видимости. + (public) – открытый доступ. - (private) – только из операции того же класса # (protected) – только из операций этого же класса и классов, создаваемых на его основе.
20 20 © Luxoft Training 2012 Диаграмма классов
21 21 © Luxoft Training 2012 Диаграмма классов Обобщение – это отношение между более общей сущностью, называемой суперклассом, и ее конкретным воплощением, называемым подклассом.
22 22 © Luxoft Training 2012 Диаграмма классов Зависимость – тип отношений между объектами класса, когда реализация класса одного объекта зависит от спецификации операций класса другого объекта.
23 23 © Luxoft Training 2012 Диаграмма классов Ассоциация – связь между объектами, по которой можно между ними перемещаться.
24 24 © Luxoft Training 2012 Диаграмма классов композиция агрегация Композиция более строгий вариант агрегирования, когда включаемый объект может существовать только как часть контейнера. Если контейнер будет уничтожен, то и включённый объект тоже будет уничтожен. Агрегация (агрегирование по ссылке) отношение «часть-целое» между двумя равноправными объектами, когда один объект (контейнер) имеет ссылку на другой объект. Оба объекта могут существовать независимо: если контейнер будет уничтожен, то его содержимое нет.
25 25 © Luxoft Training 2012 Диаграмма классов
26 26 © Luxoft Training 2012 Диаграмма классов
27 27 © Luxoft Training 2012 Диаграмма классов: отдел кадров Диаграмма классов: должен быть единый объект-точка входа в программу (например, вся компания, весь ресторан, итд); отношения часть-целое: не товар связан с покупателем, но есть чек, в нем есть строки чека, в каждом - связь с товаром - цена на момент продажи.
28 28 © Luxoft Training 2012 Диаграмма классов: отдел кадров
29 29 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм
30 30 © Luxoft Training 2012 Диаграмма последовательности Линия жизни объекта – это линия, которая изображает существование объекта на протяжении некоторого промежутка времени.
31 31 © Luxoft Training 2012 Диаграмма последовательности
32 32 © Luxoft Training 2012 Диаграмма взаимодействий Почта Диаграмма взаимодействий: описывает какой-то метод внутри системы, например процесс продажи товара; действующее лицо - программа, а не человек, который ею пользуется. Диаграмма взаимодействий демонстрирует, как взаимодействуют пользователи и компоненты программы.
33 33 © Luxoft Training 2012 Диаграмма взаимодействий: отдел кадров
34 34 © Luxoft Training 2012 Диаграмма объектов Диаграмма объектов: используется для инициализации системы и тестирования. пример: наполнения системы тестовыми данными, чтобы потом прогнать unit-тесты. Диаграммы объектов представляет статический вид системы с точки зрения проектирования и процессов.
35 35 © Luxoft Training 2012 Диаграмма состояний Объекты характеризуются поведением и состоянием, в котором находятся. Диаграмма состояний применяется для того чтобы показать каким образом работают сложные объекты.
36 36 © Luxoft Training 2012 Диаграмма состояний Диаграмма состояний: состояние объекта в программе, а не действующего лица - например, не состояния посетителя ресторана, но состояния столика, или состояние счета (выписан->оплачен); состояние посетителя систему не интересует, это его личное дело; состояние посетителя может заинтересовать разве что службу охраны, если посетитель слишком пьян, и охрана решила отметить это в системе title Диаграмма состояний: Сотрудник [*] -> Прошел Собеседование Прошел Собеседование --> Подал Заявление Подал Заявление: подал заявление о приеме на работу Подал Заявление --> Одобрен Директором Подал Заявление --> [*]: не одобрен директором Одобрен Директором --> Выходит НаРаботу: ожидает дату начала работы Выходит НаРаботу --> Работает: приступил к работе Работает --> Увольняется: подал заявление об увольнении Увольняется --> Уволен: заявление одобрено Уволен -> [*]: удален из БД title Диаграмма состояний: Сотрудник [*] -> Прошел Собеседование Прошел Собеседование --> Подал Заявление Подал Заявление: подал заявление о приеме на работу Подал Заявление --> Одобрен Директором Подал Заявление --> [*]: не одобрен директором Одобрен Директором --> Выходит НаРаботу: ожидает дату начала работы Выходит НаРаботу --> Работает: приступил к работе Работает --> Увольняется: подал заявление об увольнении Увольняется --> Уволен: заявление одобрено Уволен -> [*]: удален из БД
37 37 © Luxoft Training 2012 Диаграмма активностей Диаграммы активности применяют для визуализации алгоритмов, по которым работают операции классов.
38 38 © Luxoft Training 2012 Диаграмма активностей: отдел кадров
39 39 © Luxoft Training 2012 Диаграмма активностей: отдел кадров
40 40 © Luxoft Training 2012 Диаграмма активностей: отдел кадров
41 41 © Luxoft Training 2012 Диаграмма развертывания В случаях сложной архитектуры (база данных, веб-сервисы и т. д.), полезно иметь графическое представление этой инфраструктуры.
42 42 © Luxoft Training 2012 Упражнение 4 Проектирование приложения на UML. Примеры задач для проектирования: 1)Университет: необходимо создать систему для учета студентов, посещаемости занятий, успеваемости. Дополнительно: в ней должны содержаться отзывы на преподавателей. 1)Магазин: необходимо обеспечить хранение информации о товарах, а также учет продаж товаров. Дополнительно: система должна предоставлять скидки постоянным покупателям. 1)Поликлиника: создать систему для записи на прием к врачам, с учетом времени работы врачей. Дополнительно: ведение карты больного врачами. 1)Аэропорт: необходимо обеспечить прием авиалайнеров, с распределением их по времени и по взлетно-посадочным полосам. Дополнительно: уведомление пассажиров о задержках рейса с помощью SMS. 1)Ресторан: создать систему учета занятости столиков, выбора блюд из меню, оплаты счета. Дополнительно: обеспечить возможность бронирования столиков.
43 43 © Luxoft Training 2012 Упражнение 4: используйте jRunner для создания UML-диаграмм
44 44 © Luxoft Training 2012 PlantUML: инструмент для построения диаграмм
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.