1 © Luxoft Training 2012 Введение в UML Модуль #3.

Презентация:



Advertisements
Похожие презентации
Программная инженерия Андрей Дмитриев ©2009.
Advertisements

The UML Тимофеев Никита
Проектирование архитектуры ИСО 1. UML 2 Структура определения языка 4.
Унифицированный язык моделирования UML является графическим языком для визуализации, конструирования и документирования систем, в которых большая роль.
1 Диаграммы реализации (implementation diagrams).
WORK WITH UML Универсальный язык моделирования (UML) Studybook for students Author Dudnik Oxana.
Разработка объектно- ориентированного ПО Итеративная модель разработки (развитие водопадной модели) анализ проектирование кодирование тестирование.
2. UML – унифицированный язык моделирования систем.
Кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 9.
Докладчик: Проектирование информационных систем всегда начинается с определения цели проекта. Основная задача любого успешного проекта.
Диаграммы UML Диаграмма классов (Class Diagram). Основные вопросы Что такое диаграмма классов Компоненты диаграммы классов и их назначение Пример диаграммы.
4. Моделирование функциональных требований к системе.
Диаграммы UML Диаграмма вариантов использования. Основные вопросы Назначение диаграммы вариантов использования Компоненты диаграммы вариантов использования.
Разработка программного обеспечения при объектном подходе Объектно-ориентированный подход.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Семинар 2. Знакомство с построением диаграмм вариантов.
Этап моделирования предметной области в методологии RUP.
9. Моделирование поведения системы на логическом уровне.
Презентация дисциплины по выбору Для студентов, обучающихся по направлению «Прикладная информатика» (магистерская программа «Прикладная информатика.
UML МИЭМ, План лабораторной UML Краткий обзор средств моделирования Паттерны проектирования Практическая часть 2.
8. Моделирование логической структуры системы Диаграмма классов Диаграмма классов служит для моделирования классов и отношений между ними.
Транксрипт:

1 © Luxoft Training 2012 Введение в UML Модуль #3

2 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм

3 © Luxoft Training 2012 Введение в UML Является стандартом в ООП. UML принадлежит OMG. UML – унифицированный язык моделирования. Унифицированный, т.к. вобрал в себя черты нотаций Грейди Буча, Джима Румбаха, Айвара Якобсона и многих других.

4 © Luxoft Training 2012 Введение в UML

5 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм

6 © Luxoft Training 2012 Проблемы проектирования

7 © Luxoft Training 2012 Проблемы проектирования Проблемы с коммуникацией и пониманием, вызванные отсутствием четкой спецификации создаваемого продукта. Объектно-ориентированные языки моделирования предназначены для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых в ходе разработки.

8 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм

9 © Luxoft Training 2012 Нотация Нотация (или синтаксис в других языках) – подчеркивает, что UML – язык графический и модели не «записывают», а рисуют. В UML используется 4 вида элементов нотации: фигуры линии значки надписи

10 © Luxoft Training 2012 Специальное ПО Существует ПО, позволяющее осуществлять проектирование и рисование UML диаграмм на компьютере (CASE средство): IBM Rational Rose Borland Together Gentleware Poseidon Microsoft Visio Telelogic TAU G2

11 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм

12 © Luxoft Training 2012 Виды диаграмм В UML определяется 13 типов диаграмм, разделенных на 3 группы: 7 типов диаграмм представляют статическую структуру приложения (статические диаграммы). 3 представляют поведенческие аспекты системы (поведенческие диаграммы). 3 представляют физические аспекты функционирования системы(диаграммы взаимодействия).

13 © Luxoft Training 2012 Задача-пример: отдел кадров Создадим проект системы учета для отдела кадров компании. Система должна будет вести список кандидатов, учитывать процесс прохождения собеседования и приема на работу.

14 © Luxoft Training 2012 Диаграмма прецедентов (Use case) Сущности, с которыми взаимодействует система в процессе своей работы, называются actor. Прецедент (use-case) – описание отдельного аспекта поведения системы с точки зрения пользователя.

15 © Luxoft Training 2012 Use case диаграмма В диаграмме use case должны быть только лица (Actors), инициирующие работу системы: живые люди или действия, выполняемые по таймеру; пока такое лицо не "пнет" систему, она будет спать-отдыхать.

16 © Luxoft Training 2012 Use case диаграмма для отдела кадров

17 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм

18 © Luxoft Training 2012 Диаграмма классов Класс на диаграмме отображается в виде прямоугольника, разделенного горизонтальными линиями на три части. В первой части указывается название класса Вторая часть содержит перечень атрибутов класса, которые характеризуют тот или иной объект класса. Третья часть содержит перечень операций, отражающих его поведение в модели предметной области.

19 © Luxoft Training 2012 Диаграмма классов При проектировании класса, он выступает в роли черного ящика. В UML не специфицируется тело методов класса. Требование инкапсуляции объектов класса диктует необходимость указания модификаторов видимости. + (public) – открытый доступ. - (private) – только из операции того же класса # (protected) – только из операций этого же класса и классов, создаваемых на его основе.

20 © Luxoft Training 2012 Диаграмма классов

21 © Luxoft Training 2012 Диаграмма классов Обобщение – это отношение между более общей сущностью, называемой суперклассом, и ее конкретным воплощением, называемым подклассом.

22 © Luxoft Training 2012 Диаграмма классов Зависимость – тип отношений между объектами класса, когда реализация класса одного объекта зависит от спецификации операций класса другого объекта.

23 © Luxoft Training 2012 Диаграмма классов Ассоциация – связь между объектами, по которой можно между ними перемещаться.

24 © Luxoft Training 2012 Диаграмма классов композиция агрегация Композиция более строгий вариант агрегирования, когда включаемый объект может существовать только как часть контейнера. Если контейнер будет уничтожен, то и включённый объект тоже будет уничтожен. Агрегация (агрегирование по ссылке) отношение «часть-целое» между двумя равноправными объектами, когда один объект (контейнер) имеет ссылку на другой объект. Оба объекта могут существовать независимо: если контейнер будет уничтожен, то его содержимое нет.

25 © Luxoft Training 2012 Диаграмма классов

26 © Luxoft Training 2012 Диаграмма классов

27 © Luxoft Training 2012 Диаграмма классов: отдел кадров Диаграмма классов: должен быть единый объект-точка входа в программу (например, вся компания, весь ресторан, итд); отношения часть-целое: не товар связан с покупателем, но есть чек, в нем есть строки чека, в каждом - связь с товаром - цена на момент продажи.

28 © Luxoft Training 2012 Диаграмма классов: отдел кадров

29 © Luxoft Training 2012 Модуль 3 Введение в UML Введение Проблемы проектирования Нотация Средства проектирования Виды диаграмм Диаграмма классов Диаграмма последовательности Обзор прочих диаграмм

30 © Luxoft Training 2012 Диаграмма последовательности Линия жизни объекта – это линия, которая изображает существование объекта на протяжении некоторого промежутка времени.

31 © Luxoft Training 2012 Диаграмма последовательности

32 © Luxoft Training 2012 Диаграмма взаимодействий Почта Диаграмма взаимодействий: описывает какой-то метод внутри системы, например процесс продажи товара; действующее лицо - программа, а не человек, который ею пользуется. Диаграмма взаимодействий демонстрирует, как взаимодействуют пользователи и компоненты программы.

33 © Luxoft Training 2012 Диаграмма взаимодействий: отдел кадров

34 © Luxoft Training 2012 Диаграмма объектов Диаграмма объектов: используется для инициализации системы и тестирования. пример: наполнения системы тестовыми данными, чтобы потом прогнать unit-тесты. Диаграммы объектов представляет статический вид системы с точки зрения проектирования и процессов.

35 © Luxoft Training 2012 Диаграмма состояний Объекты характеризуются поведением и состоянием, в котором находятся. Диаграмма состояний применяется для того чтобы показать каким образом работают сложные объекты.

36 © Luxoft Training 2012 Диаграмма состояний Диаграмма состояний: состояние объекта в программе, а не действующего лица - например, не состояния посетителя ресторана, но состояния столика, или состояние счета (выписан->оплачен); состояние посетителя систему не интересует, это его личное дело; состояние посетителя может заинтересовать разве что службу охраны, если посетитель слишком пьян, и охрана решила отметить это в системе title Диаграмма состояний: Сотрудник [*] -> Прошел Собеседование Прошел Собеседование --> Подал Заявление Подал Заявление: подал заявление о приеме на работу Подал Заявление --> Одобрен Директором Подал Заявление --> [*]: не одобрен директором Одобрен Директором --> Выходит НаРаботу: ожидает дату начала работы Выходит НаРаботу --> Работает: приступил к работе Работает --> Увольняется: подал заявление об увольнении Увольняется --> Уволен: заявление одобрено Уволен -> [*]: удален из БД title Диаграмма состояний: Сотрудник [*] -> Прошел Собеседование Прошел Собеседование --> Подал Заявление Подал Заявление: подал заявление о приеме на работу Подал Заявление --> Одобрен Директором Подал Заявление --> [*]: не одобрен директором Одобрен Директором --> Выходит НаРаботу: ожидает дату начала работы Выходит НаРаботу --> Работает: приступил к работе Работает --> Увольняется: подал заявление об увольнении Увольняется --> Уволен: заявление одобрено Уволен -> [*]: удален из БД

37 © Luxoft Training 2012 Диаграмма активностей Диаграммы активности применяют для визуализации алгоритмов, по которым работают операции классов.

38 © Luxoft Training 2012 Диаграмма активностей: отдел кадров

39 © Luxoft Training 2012 Диаграмма активностей: отдел кадров

40 © Luxoft Training 2012 Диаграмма активностей: отдел кадров

41 © Luxoft Training 2012 Диаграмма развертывания В случаях сложной архитектуры (база данных, веб-сервисы и т. д.), полезно иметь графическое представление этой инфраструктуры.

42 © Luxoft Training 2012 Упражнение 4 Проектирование приложения на UML. Примеры задач для проектирования: 1)Университет: необходимо создать систему для учета студентов, посещаемости занятий, успеваемости. Дополнительно: в ней должны содержаться отзывы на преподавателей. 1)Магазин: необходимо обеспечить хранение информации о товарах, а также учет продаж товаров. Дополнительно: система должна предоставлять скидки постоянным покупателям. 1)Поликлиника: создать систему для записи на прием к врачам, с учетом времени работы врачей. Дополнительно: ведение карты больного врачами. 1)Аэропорт: необходимо обеспечить прием авиалайнеров, с распределением их по времени и по взлетно-посадочным полосам. Дополнительно: уведомление пассажиров о задержках рейса с помощью SMS. 1)Ресторан: создать систему учета занятости столиков, выбора блюд из меню, оплаты счета. Дополнительно: обеспечить возможность бронирования столиков.

43 © Luxoft Training 2012 Упражнение 4: используйте jRunner для создания UML-диаграмм

44 © Luxoft Training 2012 PlantUML: инструмент для построения диаграмм