Онлайн образование
Правила вебинара
Евгений Путилин
Проработка интеграционного взаимодействия
Цели вебинара
Маршрут вебинара
Проектирование интеграции
Разработка интеграционного решения
Что нужно сделать для проектирования интеграции?
Что нужно сделать для проектирования интеграции?
Описание потоков данных
Способы описания потоков данных
Sequence Diagram
Зачем нужна диаграмма?
Уровни абстракции
Описание системных функций
Описание логики взаимодействия сервисов и приложений
Описание логики взаимодействия классов
Элементы
Элементы
Линии жизни (Lifelines)
Объекты диаграммы
Сообщения (Messages)
Создание и удаление
Создание и удаление, рекурсия
Внешние сообщения
Альтернативные потоки
Опциональное выполнение
Цикл
Прочие Frame (практически не используются в реальной жизни)
Live
Схема архитектуры
Задача
Рефлексия
Рефлексия
Заполните, пожалуйста, опрос о занятии по ссылке в чате
3.08M
Категория: ОбразованиеОбразование

Онлайн образование. Правила вебинара

1. Онлайн образование

otus.ru

2.

Проверить, идет ли запись
Меня хорошо видно
&& слышно?

3. Правила вебинара

Активно
участвуем
Условные
обозначения
Индивидуально
Off-topic обсуждаем
в Slack #ca-2022-04
или #general
Время, необходимое
на активность
Пишем в чат
Задаем вопрос
в чат или голосом
Говорим голосом
Документ
Вопросы вижу в чате,
могу ответить не сразу
Ответьте себе или
задайте вопрос

4. Евгений Путилин

Старший аналитик в продуктовой компании
Балансирую между системным и бизнес
анализом.
Сейчас занимаюсь в основном
интеграциями

5. Проработка интеграционного взаимодействия

Путилин Евгений
Senior Analyst at Freedom Holding Corp. (FRHC)
[email protected]
Tg: @eputilin89

6. Цели вебинара

1.
Познакомиться с методами описания интеграции
2.
Разобраться с Sequence диаграммой
3.
Описать взаимодействие со сторонним сервисом

7. Маршрут вебинара

Моделирование интеграции
Практика
Диаграмма
последовательности
Рефлексия
Уровни абстрактности
Sequence диаграммы
Элементы Sequence
диаграммы

8. Проектирование интеграции

9. Разработка интеграционного решения

Шаблон интеграции
Моделирование
Реализация

10. Что нужно сделать для проектирования интеграции?

5 минут
Напишите в чат
Скажите голосом

11. Что нужно сделать для проектирования интеграции?

Понять цели
интеграции
Уточнить
возможные
способы обмена
Определить
концептуальный
набор данных
для обмена
Описать потоки
данных
Описать
преобразования
данных

12. Описание потоков данных

13. Способы описания потоков данных

FlowChart
Квадратики
и
стрелочки
Data Flow
Diagram
Sequence
Diagram
BPMN

14. Sequence Diagram

15. Зачем нужна диаграмма?

actor "Student" as S
box "OTUS" #transparent
participant "Lections" as L
participant "Homework" as H
participant "Diploma" as D
participant "Certificate" as C
end box
autonumber "<b>[00]"
activate S
S -> L++: Посетить лекции
S <-- L: Лекции посещены
L-loop Пока ДЗ не было принято
S -> H++: Сделать домашние задания
S <-- H: Домашние задания сделаны
H-end
opt
S -> D++: Сделать домашние задания
S <-- D: Домашние задания сделаны
D-End
……

16. Уровни абстракции


Описание системных
функций
Описание логики
взаимодействия сервисов
и приложений
Описание логики
взаимодействия классов

17. Описание системных функций


На базе Use
Case
Система как
черный ящик
Описать
основные
доступные
операции
Process Sale Scenario
:System
: Cashier
makeNewSale()
loop
[ more items ]
enterItem(itemID, quantity)
these input system events
invoke system operations
description, total
the system event enterItem
invokes a system operation
called enterItem and so forth
endSale()
this is the same as in objectoriented programming when
we say the message foo
invokes the method (handling
operation) foo
total with taxes
makePayment(amount)
change due, receipt

18. Описание логики взаимодействия сервисов и приложений


На базе Use Case
Расписываются
внутренние
взаимодействия
Описываются
логические методы

19. Описание логики взаимодействия классов


Описывают
внутреннюю
логику
Содержат
методы
классов
Не рисуются
аналитиками

20. Элементы

21. Элементы

22. Линии жизни (Lifelines)


Lifeline – линия жизни объекта в
рамках последовательности
Activation Bar – плашка активации
– период активности объекта в
рамках времени жизни

23. Объекты диаграммы


Имя объекта – участника взаимодействия (модуль,
интерфейс, сервис), если тип не принципиален
Актор (активный пользователь) – запустивший
взаимодействие, если есть связь с Use Case
Ограничение или Интерфейс – граница системы,
модуля или приложения, например, UI или API
(форма запроса свободных столиков)
Контроллер – служебная сущность, управляющая
прикладными сущностями, например, сервис
проверки свободных столиков
Сущность – прикладная сущность, например, заказ
или ресторан

24. Сообщения (Messages)


Синхронное сообщение –
отправитель ожидает ответа от
получателя
Асинхронное сообщение отправитель не ожидает ответа от
получателя и может выполнять свою
последовательность дальше
Ответное сообщение – ответ на
синхронное сообщение

25. Создание и удаление


Create – создание объекта в ходе
последовательности
Destroy – уничтожение объекта из
памяти

26. Создание и удаление, рекурсия


Create – создание объекта в ходе
последовательности
Destroy – уничтожение объекта из
памяти
Self-message – вызов объектом
самого себя: другого метода или
рекурсивный вызов

27. Внешние сообщения


Lost message – сообщение, отправленное
адресату вне диаграммы, т.е. событие
приема сообщения отсутствует или не
имеет значения
Found message – сообщение, полученное
от адресата вне диаграммы, т.е. событие
отправки сообщения отсутствует или не
имеет значения

28. Альтернативные потоки

29. Опциональное выполнение

Opt Frame аналогичен Alt, однако в
нем отсутствует блок else.
Таким образом, при выполнении
условия – блок выполняется, при
невыполнении – ничего не
происходит
Ref Frame – ссылка на связанную
диаграмму последовательности

30. Цикл

Loop Frame позволяет описать
цикл обработки запросов, пока
выполняется определенное
условие.
Работает по принципу while в
языках программирования.

31. Прочие Frame (практически не используются в реальной жизни)


Break – работает аналогично opt, однако предназначено для обработки исключений
(ошибок).
Parallel – описание параллельных потоков последовательности
Weak sequencing – сообщения внутри фрейма могут быть выполнены в
произвольном порядке
Strict sequencing - сообщения внутри фрейма должны быть выполнены в строгом
порядке
Negative – набор недопустимых сообщений
Critical – критически важный блок, допускает только один поток выполнения
Ignore – блок сообщений, который должен быть проигнорирован, например,
сообщение в шине, полученное в этот момент не должно влиять на
последовательность
Consider – обратно ignore. Любое сообщение не из этого списка игнорируется
Assertion – блок проверки на условия согласованности с другими диаграммами

32. Live

33. Схема архитектуры

34. Задача


Понять, как устроена
авторизация, какие задачи стоят
перед ней
Описать полностью
взаимодействие в виде
системных функций
Описать взаимодействие с
сервисом авторизации

35. Рефлексия

36. Рефлексия

С какими основными мыслями
и инсайтами уходите с вебинара?
Достигли ли вы цели вебинара?

37. Заполните, пожалуйста, опрос о занятии по ссылке в чате

English     Русский Правила