ОБЪЕКТНО-
ОРИЕНТИРОВАННОЕ
ПРОЕКТИРОВАНИЕ ИС
(ЛОГИЧЕСКАЯ МОДЕЛЬ)
д.т.н. Емельянов Виталий Александрович
: v.yemelyanov@gmail.com
2
Объектно-ориентированное
проектирование ИС
Модель использования
(функциональные требования)
Логическая модель
(логическое проектирование)
Модель реализации
(физическое проектирование)
Емельянов В.А.: Проектирование ИС 2
3
Модель использования
Логическая модель
Классы, обеспечивающие
функциональность
Модель реализации
Состояние элементов
Взаимодействие элементов
Статическое представление
Динамическое представление
Объектно-ориентированное
проектирование ИС
Емельянов В.А.: Проектирование ИС
4
Классы,
обеспечивающие
функциональность
Диаграмма кооперации
(Collaboration diagram)
Диаграмма классов
(Class diagram)
Логическая модель
Диаграмма
последовательности
(Sequence diagram)
Диаграмма деятельности
(Activity diagram)
Состояние
элементов
Взаимодействие
элементов
Статическое
представление
(Логическая
структура ИС или ПО)
Динамическое
представление
(Описание поведения
программы,
взаимодействие
объектов между собой и
с актерами c целью
достижения заданной
функциональности) Диаграмма состояний
(Statechart diagram)
5
Классы,
обеспечивающие
функциональность
Диаграмма кооперации
(Collaboration diagram)
Диаграмма классов
(Class diagram)
Логическая модель
(динамическое представление)
Диаграмма
последовательности
(Sequence diagram)
Диаграмма деятельности
(Activity diagram)
Состояние
элементов
Взаимодействие
элементов
Статическое
представление
(Логическая
структура ИС или ПО)
Динамическое
представление
(Описание поведения
программы,
взаимодействие
объектов между собой и
с актерами c целью
достижения заданной
функциональности) Диаграмма состояний
(Statechart diagram)
Назначение:
Диаграммы последовательности действий отображают
взаимодействие объектов, упорядоченное во времени.
Элементы диаграммы:
▶ объекты – экземпляры класса;
▶ линии жизни;
▶ фокус управления – указывает временной интервал
активности объекта, Объект, находящийся в фокусе управления,
активен и выполняет определенные действия.
▶ сообщения – законченный фрагмент информации, который
отправляется одним объектом другому;
6
Диаграммы последовательности действий
(Sequence diagram)
Емельянов В.А.: Проектирование ИС
7
объектА:
КлассВ
объектС :КлассD
Линия
жизни
Символ
уничтожения
объекта
Фокус
управления
Сообщение
Диаграммы последовательности действий
(Sequence diagram)
Емельянов В.А.: Проектирование ИС
8
Виды сообщений:
<<call>> команда (синхронное сообщение) –
Команда-требование одной части системы
выполнить операцию, определенную в другой части
системы (в программировании соответствует
вызову метода)
<<send>> сигнал (асинхронное сообщение) –
передача сообщения, не требующего ответа (в
программировании соответствует отправке
сообщения о событии);
<<return>> возврат – передача управления в точку
вызова и возврат результатов (возврат из метода)
Диаграммы последовательности действий
(Sequence diagram)
Емельянов В.А.: Проектирование ИС
9
Client: Personal Customer
Cart: Order«create»
NewProd: Product
«destroy»
Dispatch()
CreateOrd(name:string)
AddPosition(pID:integer)
Return(Price)
Calc()
Диаграммы последовательности действий
(Sequence diagram)
Емельянов В.А.: Проектирование ИС
10
Диаграммы коопераций
(Collaboration diagram)
Диаграмма кооперации:
 поведение системы описывается на уровне отдельных
объектов, которые обмениваются между собой
сообщениями, чтобы достичь определенной цели или
реализовать некоторый вариант использования
Элементы диаграммы:
 объекты – экземпляры класса;
 связи;
 сообщения;
Емельянов В.А.: Проектирование ИС
11
Сущность «Объект»:
 является отдельным экземпляром класса, который
создается на этапе реализации модели (выполнения
программы)
Виды объектов:
 активный объект;
 пассивный объект;
 мультиобъект;
 составной объект.
Диаграммы коопераций
(Collaboration diagram)
Емельянов В.А.: Проектирование ИС
Мультиобъект:
 Представляет собой множество объектов, которые могут быть
образованы на основе класса
12
Мультиобъект
Диаграммы коопераций
(Collaboration diagram)
Емельянов В.А.: Проектирование ИС
Активный и пассивный объекты:
 имеет свой собственный поток управления и может
инициировать деятельность по управлению другими
объектами
13
:Customer
:Customer
:Products
:Product
1:Выбрать категорию
товара
2:Заказать конкретный товар
Диаграммы коопераций
(Collaboration diagram)
Емельянов В.А.: Проектирование ИС
Составной объект:
 Предназначен для представления объекта, имеющего
сложную структуру и внутренние потоки управления
14
O1:Order
:Cart
:Customer
Диаграммы коопераций
(Collaboration diagram)
Емельянов В.А.: Проектирование ИС
15
Cart: Order
P: Product
Client: Personal Customer
Диаграммы коопераций
(Collaboration diagram)
Емельянов В.А.: Проектирование ИС
16
Cart: Order
P: Product
Client: Personal Customer
1:CreateOrd()
5:Pay()
2:AddPosition(pID)
3:Calc()
4:Dispatch()
6:Close()
Диаграммы коопераций
(Collaboration diagram)
Емельянов В.А.: Проектирование ИС
17
Диаграммы деятельности
(Activity diagram)
Диаграмма деятельности:
 Отражает динамику системы и представляет собой схемы
потоков управления в системе от действия к действию, а
также параллельные действия и альтернативные потоки .
 В контексте языка UML деятельность представляет собой
некоторую совокупность отдельных вычислений, выполняемых
автоматом
Элементы диаграммы деятельности:
 деятельность (действие);
 переход;
 элемент выбора;
 линия синхронизации.
Емельянов В.А.: Проектирование ИС
18
Действие (деятельность):
 исполнение определенного поведения в потоке управления
системой
Элемент выбора (ветвление):
 позволяют задавать альтернативные пути потока управления
Имя может быть записано на естественном языке … или на языке программирования
Заказать товар AddPosition(pID)
условие
условие
Диаграммы деятельности
(Activity diagram)
Емельянов В.А.: Проектирование ИС
19
Линии синхронизации:
Точка слияния потоков представляет собой механизм синхронизации
нескольких параллельных потоков выполнения. Выше точки слияния
деятельности, ассоциированные с приходящими в нее путями,
выполняются параллельно.
В точке слияния параллельные потоки синхронизируются, то есть
каждый из них ждет, пока все остальные достигнут этой точки, после
чего выполнение продолжается в рамках одного потока.
Диаграммы деятельности
(Activity diagram)
Емельянов В.А.: Проектирование ИС
20
Дорожки (Swimlane):
 разновидность пакетов, описывающие связанную
совокупность работ
Деятельность 1
Деятельность 2
Деятельность 3
Подразделение 1 Подразделение 2 Подразделение 3
Диаграммы деятельности
(Activity diagram)
Емельянов В.А.: Проектирование ИС
21
Заказать товар
Отдел обслуживания
клиентов
Отдел продаж Склад
Заказать товар
Закрыть заказ
Отгрузить
Получить заказ Выставить счет
Диаграммы деятельности
(Activity diagram)
22
Диаграммы состояний
(Statechart diagram)
Диаграмма состояний:
 показывает автомат, фокусируя внимание на потоке
управления от состояния к состоянию
 используется для моделирования динамических аспектов
системы
 предназначены для моделирования поведения одного
объекта на протяжении его жизненного цикла. Если
диаграммы деятельности моделируют поток управления от
деятельности к деятельности, то диаграммы состояний -
поток управления от события к событию.
Автомат - это описание последовательности состояний, через которые
проходит объект на протяжении своего жизненного цикла, реагируя на
события, - в том числе описание реакций на эти события.
Емельянов В.А.: Проектирование ИС
23
Элементы диаграммы состояний:
 состояния;
 переходы.
Состояние - это ситуация в жизни объекта, на протяжении которой
он удовлетворяет некоторому условию, выполняет определенную
деятельность или ожидает какого-то события.
Переход – отношение между двумя последовательными состояниями,
которое указывает на факт смены одного состояния другим.
•Синтаксическая метка перехода состоит из трех частей, каждая из которых является
необязательной:
<событие> [<условие>] / <действие>
Диаграммы состояний
(Statechart diagram)
Емельянов В.А.: Проектирование ИС
24
Ожидает
Наименование
состояния
Список внутренних
действий
Имя состояния – законченное предложение,
начинается с заглавной буквы
Секция имени
Начальное состояние
Конечное состояние
Формат:
<метка действия ‘/’ выражение действия>
Метки:
entry;
exit;
do;
Диаграммы состояний
(Statechart diagram)
Емельянов В.А.: Проектирование ИС
25
Инициализация
заказа
Наполнение
Заказа
do/добавить товар
exit/сформировать
счет
Оплата
заказа
Закрытие
заказа
[квитанция
получена]
[корзина]
Передача
на оплату
Диаграммы состояний
(Statechart diagram)
Емельянов В.А.: Проектирование ИС

Лекция 3. UML (dynamic logical model)

  • 1.
    ОБЪЕКТНО- ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ ИС (ЛОГИЧЕСКАЯ МОДЕЛЬ) д.т.н.Емельянов Виталий Александрович : v.yemelyanov@gmail.com
  • 2.
    2 Объектно-ориентированное проектирование ИС Модель использования (функциональныетребования) Логическая модель (логическое проектирование) Модель реализации (физическое проектирование) Емельянов В.А.: Проектирование ИС 2
  • 3.
    3 Модель использования Логическая модель Классы,обеспечивающие функциональность Модель реализации Состояние элементов Взаимодействие элементов Статическое представление Динамическое представление Объектно-ориентированное проектирование ИС Емельянов В.А.: Проектирование ИС
  • 4.
    4 Классы, обеспечивающие функциональность Диаграмма кооперации (Collaboration diagram) Диаграммаклассов (Class diagram) Логическая модель Диаграмма последовательности (Sequence diagram) Диаграмма деятельности (Activity diagram) Состояние элементов Взаимодействие элементов Статическое представление (Логическая структура ИС или ПО) Динамическое представление (Описание поведения программы, взаимодействие объектов между собой и с актерами c целью достижения заданной функциональности) Диаграмма состояний (Statechart diagram)
  • 5.
    5 Классы, обеспечивающие функциональность Диаграмма кооперации (Collaboration diagram) Диаграммаклассов (Class diagram) Логическая модель (динамическое представление) Диаграмма последовательности (Sequence diagram) Диаграмма деятельности (Activity diagram) Состояние элементов Взаимодействие элементов Статическое представление (Логическая структура ИС или ПО) Динамическое представление (Описание поведения программы, взаимодействие объектов между собой и с актерами c целью достижения заданной функциональности) Диаграмма состояний (Statechart diagram)
  • 6.
    Назначение: Диаграммы последовательности действийотображают взаимодействие объектов, упорядоченное во времени. Элементы диаграммы: ▶ объекты – экземпляры класса; ▶ линии жизни; ▶ фокус управления – указывает временной интервал активности объекта, Объект, находящийся в фокусе управления, активен и выполняет определенные действия. ▶ сообщения – законченный фрагмент информации, который отправляется одним объектом другому; 6 Диаграммы последовательности действий (Sequence diagram) Емельянов В.А.: Проектирование ИС
  • 7.
  • 8.
    8 Виды сообщений: <<call>> команда(синхронное сообщение) – Команда-требование одной части системы выполнить операцию, определенную в другой части системы (в программировании соответствует вызову метода) <<send>> сигнал (асинхронное сообщение) – передача сообщения, не требующего ответа (в программировании соответствует отправке сообщения о событии); <<return>> возврат – передача управления в точку вызова и возврат результатов (возврат из метода) Диаграммы последовательности действий (Sequence diagram) Емельянов В.А.: Проектирование ИС
  • 9.
    9 Client: Personal Customer Cart:Order«create» NewProd: Product «destroy» Dispatch() CreateOrd(name:string) AddPosition(pID:integer) Return(Price) Calc() Диаграммы последовательности действий (Sequence diagram) Емельянов В.А.: Проектирование ИС
  • 10.
    10 Диаграммы коопераций (Collaboration diagram) Диаграммакооперации:  поведение системы описывается на уровне отдельных объектов, которые обмениваются между собой сообщениями, чтобы достичь определенной цели или реализовать некоторый вариант использования Элементы диаграммы:  объекты – экземпляры класса;  связи;  сообщения; Емельянов В.А.: Проектирование ИС
  • 11.
    11 Сущность «Объект»:  являетсяотдельным экземпляром класса, который создается на этапе реализации модели (выполнения программы) Виды объектов:  активный объект;  пассивный объект;  мультиобъект;  составной объект. Диаграммы коопераций (Collaboration diagram) Емельянов В.А.: Проектирование ИС
  • 12.
    Мультиобъект:  Представляет собоймножество объектов, которые могут быть образованы на основе класса 12 Мультиобъект Диаграммы коопераций (Collaboration diagram) Емельянов В.А.: Проектирование ИС
  • 13.
    Активный и пассивныйобъекты:  имеет свой собственный поток управления и может инициировать деятельность по управлению другими объектами 13 :Customer :Customer :Products :Product 1:Выбрать категорию товара 2:Заказать конкретный товар Диаграммы коопераций (Collaboration diagram) Емельянов В.А.: Проектирование ИС
  • 14.
    Составной объект:  Предназначендля представления объекта, имеющего сложную структуру и внутренние потоки управления 14 O1:Order :Cart :Customer Диаграммы коопераций (Collaboration diagram) Емельянов В.А.: Проектирование ИС
  • 15.
    15 Cart: Order P: Product Client:Personal Customer Диаграммы коопераций (Collaboration diagram) Емельянов В.А.: Проектирование ИС
  • 16.
    16 Cart: Order P: Product Client:Personal Customer 1:CreateOrd() 5:Pay() 2:AddPosition(pID) 3:Calc() 4:Dispatch() 6:Close() Диаграммы коопераций (Collaboration diagram) Емельянов В.А.: Проектирование ИС
  • 17.
    17 Диаграммы деятельности (Activity diagram) Диаграммадеятельности:  Отражает динамику системы и представляет собой схемы потоков управления в системе от действия к действию, а также параллельные действия и альтернативные потоки .  В контексте языка UML деятельность представляет собой некоторую совокупность отдельных вычислений, выполняемых автоматом Элементы диаграммы деятельности:  деятельность (действие);  переход;  элемент выбора;  линия синхронизации. Емельянов В.А.: Проектирование ИС
  • 18.
    18 Действие (деятельность):  исполнениеопределенного поведения в потоке управления системой Элемент выбора (ветвление):  позволяют задавать альтернативные пути потока управления Имя может быть записано на естественном языке … или на языке программирования Заказать товар AddPosition(pID) условие условие Диаграммы деятельности (Activity diagram) Емельянов В.А.: Проектирование ИС
  • 19.
    19 Линии синхронизации: Точка слиянияпотоков представляет собой механизм синхронизации нескольких параллельных потоков выполнения. Выше точки слияния деятельности, ассоциированные с приходящими в нее путями, выполняются параллельно. В точке слияния параллельные потоки синхронизируются, то есть каждый из них ждет, пока все остальные достигнут этой точки, после чего выполнение продолжается в рамках одного потока. Диаграммы деятельности (Activity diagram) Емельянов В.А.: Проектирование ИС
  • 20.
    20 Дорожки (Swimlane):  разновидностьпакетов, описывающие связанную совокупность работ Деятельность 1 Деятельность 2 Деятельность 3 Подразделение 1 Подразделение 2 Подразделение 3 Диаграммы деятельности (Activity diagram) Емельянов В.А.: Проектирование ИС
  • 21.
    21 Заказать товар Отдел обслуживания клиентов Отделпродаж Склад Заказать товар Закрыть заказ Отгрузить Получить заказ Выставить счет Диаграммы деятельности (Activity diagram)
  • 22.
    22 Диаграммы состояний (Statechart diagram) Диаграммасостояний:  показывает автомат, фокусируя внимание на потоке управления от состояния к состоянию  используется для моделирования динамических аспектов системы  предназначены для моделирования поведения одного объекта на протяжении его жизненного цикла. Если диаграммы деятельности моделируют поток управления от деятельности к деятельности, то диаграммы состояний - поток управления от события к событию. Автомат - это описание последовательности состояний, через которые проходит объект на протяжении своего жизненного цикла, реагируя на события, - в том числе описание реакций на эти события. Емельянов В.А.: Проектирование ИС
  • 23.
    23 Элементы диаграммы состояний: состояния;  переходы. Состояние - это ситуация в жизни объекта, на протяжении которой он удовлетворяет некоторому условию, выполняет определенную деятельность или ожидает какого-то события. Переход – отношение между двумя последовательными состояниями, которое указывает на факт смены одного состояния другим. •Синтаксическая метка перехода состоит из трех частей, каждая из которых является необязательной: <событие> [<условие>] / <действие> Диаграммы состояний (Statechart diagram) Емельянов В.А.: Проектирование ИС
  • 24.
    24 Ожидает Наименование состояния Список внутренних действий Имя состояния– законченное предложение, начинается с заглавной буквы Секция имени Начальное состояние Конечное состояние Формат: <метка действия ‘/’ выражение действия> Метки: entry; exit; do; Диаграммы состояний (Statechart diagram) Емельянов В.А.: Проектирование ИС
  • 25.