Slide 1

Slide 1 text

SEMAT (OMG Essence) и моделирование метода ЮРИЙ КУПРИЯНОВ SECR’2018

Slide 2

Slide 2 text

В мире много методов приемов практик идеологий разработки ПО SCRUM Agile XP UML RUP MSF Use Cases Kanban Pair Programming Model Driven Development Jobs To Be Done V-model User Story Lean DevOps PRINCE2 ISO 12207 Continious Integration Waterfall BPMN OpenUP Definition of Done BDD Automate Testing Feature Driven Development Test Driven Development ГОСТ 34 ISO 24744 Literate Programming DSDM Lean UX ScrumBan ScrumButt

Slide 3

Slide 3 text

SCRUM

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Ивар Якобсон UML, RUP, аспектно-ориентированное программирование Бертран Мейер Eiffel, ООП, контрактное программирование Ричард Солей OMG, UML, CORBA, MDA

Slide 12

Slide 12 text

сегодня серьезно страдает от незрелых практик. Основные проблемы: • Погоня за модой. • Отсутствие прочной, признанной теоретической базы. • Огромное число методов и их вариаций, различия которых искусственно преувеличены. • Отсутствие надежной экспериментальной оценки и проверки. • Разрыв между индустриальной практикой и академическими исследованиями. “Программная инженерия

Slide 13

Slide 13 text

Мы поддерживаем процесс нового основания программной инженерии – на твердой теории, проверенных принципах и лучших практиках, которые: • Включают в себя ядро согласованных элементов, расширяемых для конкретных применений. • Решают как технологические, так и человеческие вопросы. • Поддержаны индустрией, наукой и пользователями. • Поддерживают расширение в условиях меняющихся требований и технологий.

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Software Engineering Method And Theory

Slide 17

Slide 17 text

Методы Methods Практики Practices Ядро The Kernel Язык The Language Методы состоят из практик Практики описаны элементами Ядра (как расширения) Методы, Практики и Ядро определены в терминах Языка OMG Essence: Kernel and Language

Slide 18

Slide 18 text

Поле деятельности Компетенция Дело Состояние альфы Рабочий продукт Имеет Требует Создает/изменяет Подтверждает Воплощается в Воплощается в Намечает Дело Дело Элементы языка: Альфа

Slide 19

Slide 19 text

Потребитель Решение Деятельность Альфы Возможность Стейкхолдер Требования Программная система Работа Технология работы Команда

Slide 20

Slide 20 text

Потребитель Решение Деятельность Связи Альф Возможность Стейкхолдер Требования Программная система Работа Технология работы Команда планирует и производит предоставляет удовлетворяет создает потребляет и использует задают ограничения поддерживает фокусирует

Slide 21

Slide 21 text

Потребитель Решение Деятельность Исследовать возможность Понять нужды Убедиться в удовлетворении Изучать использование системы Понять требова- ния Спроек- тировать систему Реализо- вать систему Обслу- живать систему Приготовиться выполнять работу Координи- ровать дела Поддерживать команду Отслеживать прогресс Протес- тировать систему Развер- нуть систему Прекратить работу Поля деятельности

Slide 22

Slide 22 text

Потребитель Решение Деятельность Анализ Разработка Представление интересов стейкхолдеров Лидерство Управление Тестирование Компетенции

Slide 23

Slide 23 text

SCRUM: Альфы и рабочие продукты

Slide 24

Slide 24 text

SCRUM: Дела

Slide 25

Slide 25 text

Потребитель Решение Деятельность Essence Kernel: Альфы Возможность Стейкхолдер Требования Программная система Работа Технология работы Команда

Slide 26

Slide 26 text

Собираем метод из практик Разработка мобильных приложений Kernel Метод разработки платформы Метод интеграции приложений Defect/Issue Tracking Git Flow Defect/Issue Tracking Git Flow Defect/Issue Tracking Git Flow Общие практики RUP Kanban Scrum Architecture Centric Emerging Architecture Emerging Architecture ТЗ по ГОСТ 34 Lean UX Use Cases Специфические практики DevOps DevOps DevOps Улучшения

Slide 27

Slide 27 text

Потребитель Решение Деятельность Возможность Стейкхолдеры Выявлены → Представлены → Вовлечены → В согласии → → Удовлетворены развертыванием Удовлетворены использованием Требования Прогр. система Архитектура выбрана → → → → Эксплуатируется → Готова к демонстрации Готова к использованию Готова к запуску Выведена из эксплуатации Работа Технология Команда Намечена → Сформирована → Сотрудничает → Производит → Распущена Замыслены → Ограничены → Непротиворечивы → Приемлемы → Адресованы → Удовлетворены Определена → → Оценена → Жизнеспособна → Адресована → Принесла выгоду Решается программной системой Принципы установлены → → Используется → Наличествует → → Основа положена Работает хорошо Выведена из употребления Инициирована → Подготовлена → Начата → Под контролем → Закончена → Закрыта

Slide 28

Slide 28 text

Состояние альфы Выявлены Представлены Вовлечены В согласии Удовлетворены развертыванием системы Удовлетворены работой системы Стейкхолдеры выявлены. Механизмы вовлечения стейкхолдеров согласованы, представители обозначены. Представители стейкхолдеров вовлечены в работу и выполняют свои обязанности. Представители стейкхолдеров находятся в согласии. Минимальные ожидания представителей стейкхолдеров удовлетворены. Система удовлетворяет или превышает минимальные ожидания стейкхолдеров.

Slide 29

Slide 29 text

Архитектура выбрана Готова к демонстрации Готова к использованию Готова к запуску Эксплуатируется Выведена из эксплуатации Выбрана архитектура, адресующая технические риски и удовлетворяющая организационным ограничениям. Работающая версия системы готова для демонстрации соответствия архитектуры и возможности тестирования. Система готова к использованию и демонстрирует заданные характеристики качества. Система была принята к развертыванию и запуску. Система используется в операционном окружении. Система больше не поддерживается. Система

Slide 30

Slide 30 text

Намечена Сформирована Сотрудничает Производит Распущена Чек-лист: Индивидуальные обязанности понимаются. Набрано достаточное число членов команды, чтобы работа продвигалась. Каждый член команды понимает, как команда организована, и какая у него индивидуальная роль. Все члены команды понимают, как выполнять их работу. Все члены команды встретились (возможно, виртуально) и начинают узнавать друг друга. Члены команды понимают их обязанности и как они увязаны с их компетенциями. Члены команды принимают работу. Любые внешние смежники (организации, команды и индивиды) определены. Механизмы общения в команде определены. Каждый член команды принял обязательство работать в команде, как определено. Команда была пополнена достаточным количеством людей с принятыми обязательствами, чтобы начать миссию. Команда

Slide 31

Slide 31 text

Software System Work Team Requirements http://www.slideshare.net/junesungpark/applying-essence-in-practiceberlin-ed

Slide 32

Slide 32 text

Достигнуты Не достигнуты http://www.slideshare.net/junesungpark/applying-essence-in-practiceberlin-ed

Slide 33

Slide 33 text

http://www.slideshare.net/junesungpark/applying-essence-in-practiceberlin-ed

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Страница стандарта на сайте OMG: http://www.omg.org/spec/Essence/ Страницы про Essence в Wiki по системной инженерии: http://sewiki.ru/OMG_Essence (на русском). Инициатива SEMAT: http://www.semat.org/ Карты Essence на английском: https://www.ivarjacobson.com/alphastatecards Ссылки

Slide 36

Slide 36 text

Спасибо за внимание! Давайте пробовать! [email protected] http://facebook.com/yksi12 skype: yury.kupriyanov 8-903-617-4283