Скачать презентацию OMG Essence единая теория программной инженерии ЮРИЙ КУПРИЯНОВ Скачать презентацию OMG Essence единая теория программной инженерии ЮРИЙ КУПРИЯНОВ

Юрий Куприянов - omgessence.pptx

  • Количество слайдов: 35

OMG! Essence: единая теория программной инженерии? ЮРИЙ КУПРИЯНОВ SECON’ 2016 22/04/2016 OMG! Essence: единая теория программной инженерии? ЮРИЙ КУПРИЯНОВ SECON’ 2016 22/04/2016

В мире много методов приемов практик идеологий разработки ПО Dev. Ops Model Driven Development В мире много методов приемов практик идеологий разработки ПО Dev. Ops Model Driven Development Literate Programming V-model DSDM SCRUM Agile RUP ISO 12207 Use Cases Scrum. Ban UML Definition of Done PRINCE 2 ГОСТ 34 Automate Testing User Story Open. UP ISO 24744 Personas Test Driven Development BDD Lean UX MSF Kanban UX centered design XP Feature Driven Development Continious Integration Lean BPMN Waterfall Pair Programming

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

Software Engineering Method And Theory Software Engineering Method And Theory

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

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

Подписанты призыва Подписанты призыва

Подписанты призыва Подписанты призыва

Обучение Теория Практика Обучение Теория Практика

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

Области интереса Потребитель Customer Решение Solution Деятельность Endeavor Области интереса Потребитель Customer Решение Solution Деятельность Endeavor

Внутри областей интереса Альфы ALPHA α Abstract-Level Progress Health Attribute Поле деятельности Activity Space Внутри областей интереса Альфы ALPHA α Abstract-Level Progress Health Attribute Поле деятельности Activity Space Компетенции Competence

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

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

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

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

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

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

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

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

Wiki. Vote! 2012 22 Wiki. Vote! 2012 22

Чек-листы для состояний Требования Выявлены 1/6 q. Стейкхолдеры согласны, что система должна быть создана. Чек-листы для состояний Требования Выявлены 1/6 q. Стейкхолдеры согласны, что система должна быть создана. q Выявлены стейкхолдеры, которые будут пользоваться системой. q. Выявлены стейкхолдеры, которые будут финансировать создание системы. q. Ясно, какую возможность будет использовать будущая система.

Чек-листы для состояний Требования Определены 2/6 q. Выявлены стейкхолдеры, вовлеченные в разработку новой системы. Чек-листы для состояний Требования Определены 2/6 q. Выявлены стейкхолдеры, вовлеченные в разработку новой системы. q Все стейкхолдеры согласны с назначением новой системы. q. Ясно, что будет являться показателем успешности системы. q. Все стейкхолдеры разделяют понимание объема предложенного решения. q. Согласован способ описания требований. q. Имеется механизм для управления требованиями. q. Ясна схема приоритезации требований. q. Выявлены и признаны ограничения. q. Ясно сформулированы все предположения.

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

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

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

Что дает Ядро? • Фокусирует внимание на состоянии альф; • Разделяет роли по областям Что дает Ядро? • Фокусирует внимание на состоянии альф; • Разделяет роли по областям интереса; • Предоставляет высокоуровневые последовательности состояний ключевых альф и чек-листы для их диагностики; • Задает базовые элементы для описания практик и методов.

Для чего использовать Ядро? • Для оценки состояния проекта (без привязки к конкретной методологии); Для чего использовать Ядро? • Для оценки состояния проекта (без привязки к конкретной методологии); • Для планирования; • Для сравнения двух методологий и проектирования процессов изменения; • Для обучения; • Для масштабирования; • Для оптимизации методов; • Для подбора людей.

Немедленная польза 1. Применять чек-листы. 2. Раскладывать пасьянсы/покер. 3. Включать пункты из чек-листов сразу Немедленная польза 1. Применять чек-листы. 2. Раскладывать пасьянсы/покер. 3. Включать пункты из чек-листов сразу в договоры и проектные документы.

Дальнейшие исследования Моделирование практик в терминах ядра: Дальнейшие исследования Моделирование практик в терминах ядра:

Дальнейшие исследования Моделирование практик в терминах ядра: Дальнейшие исследования Моделирование практик в терминах ядра:

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

Ссылки Страница стандарта на сайте OMG: http: //www. omg. org/spec/Essence/ Глоссарий на русском: http: Ссылки Страница стандарта на сайте OMG: http: //www. omg. org/spec/Essence/ Глоссарий на русском: http: //goo. gl/zfyzjt Инициатива SEMAT: http: //www. semat. org/ Карты Essence на английском: https: //www. ivarjacobson. com/alphastatecards

Спасибо за внимание! Давайте пробовать! yksi 12@gmail. com http: //facebook. com/yksi 12 skype: yury. Спасибо за внимание! Давайте пробовать! yksi 12@gmail. com http: //facebook. com/yksi 12 skype: yury. kupriyanov 8 -903 -617 -4283