Методология разработки на основе визуального моделирования Дмитрий Рыжов Менеджер по продукту d.ryzhov@swd.ru Методология MDD 1 SWD, Об SWD Telelogic, Software, i-Logix... Telelogic и iLogix Методология MDD 2 SWD Software Самый ЭФФЕКТИВНЫЙ инструментарий для разработки надёжных ВСТРАИВАЕМЫХ СИСТЕМ 16 лет на рынке Продукты: QNX, Telelogic Rhapsody, Realflex Дистрибьюция, поддержка, обучение, консультации Методология MDD 3 Telelogic входит в десятку на 7-ю позицию в своём выборе 10 самых значимых компаний в области программной индустрии Computer Business Review поместил Telelogic Методология MDD 1. 2. 3. 4. 5. 6. Microsoft IBM BEA Oracle Borland Sun 7. Telelogic 8. 9. 10. Mercury Compuware Novell 4 Основные направления деятельности Telelogic Предоставить нашим пользователям возможность связать цели организации с инвестициями в технологии путём автоматизации и интеграции Оптимизация бизнес процессов (BPO) Управление жизненным циклом продуктов (ALM) Разработка на основе визуального моделирования (MDD) Бизнес процессы… BPO ALM …и разработка MDD Методология MDD 5 Управление жизненным циклом организации в действии “Содиняя BPO, ALM, and MDD” Бизнес домен Домен разработки Анализ и проектирование Бизнес процессы и архитектура организации Управление продуктами Управление требованиями Управление версиями и изменениями Контроль работ Реализация Управление релизами Производство Интеграция и тестирование BPO ALM MDD Методология MDD 6 i-Logix I-Logix – самая быстро растущая компания на планете, которая занимается MDD “Теперь i-Logix является частью Telelogic” “i-Logix фокусируется исключительно на встраиваемых системах и приложениях реального времени…также как и ранее, но теперь с ещё большими ресурсами и в более тесной интеграции с семейством продуктов Telelogic” MANAGE >> AUTOMATE >> Нужды пользов ателей Проектиро вание организаци й Разработка встраиваемы х систем и приложений Разработки бизнес приложений ALIGN >> COMPLY >> Бизнес цели OPTIMIZE >> Методология MDD 7 Области компетенции i-Logix UML • Фокус на вопросах реального времени Моделирование и проверка поведения • Системы и Программное обеспечение Генерация кода Формальная верификация моделей Совместная работа в команде Методология MDD 8 Предпосылки MDD Предпосылки MDD при разработке при разработке встраиваемых систем ивстраиваемых приложенийсистем и приложений реального времени реального времени Методология MDD 9 Роли меняются Hardware software Hardware Hardware software Software Hardware Software Hardware Software Hardware Software Hardware Software Hardware Hardware Методология MDD Software Software 10 Усложнение встраиваемого ПО «Закон Мура» и встраиваемые приложения: Этапы: - начало 90-х - конец 90-х - 2005 г. Источник: Andreas Willert, Walter van der Heiden (Willert Software Tools GmbH ) Доклад на конференции «Embedded World 2005» Методология MDD 11 Процесс создания программно-аппаратных систем основанный на проектной документации Так это должно работать … Сбор и анализ требований Функциональное тестирование Техническое задание Системный анализ и проектирование Эскизный проект Интеграция подсистем и тестирование .exe .doc Проектирование ПО Интеграция ПО и интегральное тестирование Технический проект .exe .doc Реализация ПО и элементарное тестирование Методология MDD 12 Процесс создания программно-аппаратных систем основанный на проектной документации Так это работает … Цена исправления ошибок Количество вносимых ошибок Время Сбор и анализ требований Функциональное тестирование Техническое задание Системный анализ и проектирование Эскизный проект Проблема коммуникации создаёт перегородки Интеграция подсистем и тестирование .exe .doc Проектирование ПО Интеграция ПО и интегральное тестирование Технический проект .exe .doc Реализация ПО и элементарное тестирование Методология MDD 13 Проблемы… Проблемы становятся известны только в момент интеграции системы ПО становится основой отличия функциональности продуктов и определяет успех на рынке Проектная документация не синхронизована с реализацией Большинство существующих методов генерации кода очень устарели (Black Box) Наработки очень редко используются повторно Для обнаружения ошибок требуется экстенсивное (и дорогое) тестирование после окончания разработки Процессы разработки не учитывают современных реалий оутсорсинга и суб-контрактов. Программы повышения качества позволяют чётко специфицировать процесс, но не улучшают продуктивность Внедрение стандартов улучшают процесс только на бумаге Методология MDD 14 Как компании справляются со сложностью разработки ? Раньше компании увеличивали штат, теперь же уменьшают функциональность (87%) Задерживают выпуск продукта (72.8%) Избавляются от проекта (18%) Внедряют MDD и совершенствуют процесс Source: Electronics Market Forecasters Методология MDD 15 MDD: Составляющие решения MDD Язык Инструмент Методология MDD Процесс 16 MDD устраняет перегородки, обеспечивая возможность совместной работы Системный инжиниринг Softwareинжиниринг Engineering Программный Интеграция и тестирование Сбор и анализ требований Функциональное тестирование Системный анализ и проектирование Интеграция подсистем и тестирование Проектирование ПО Интеграция ПО и интегральное тестирование Реализация ПО и элементарное тестирование Методология MDD 17 MDD обеспечивает получение обратных связей на всех этапах разработки Системный инжиниринг Softwareинжиниринг Engineering Программный Интеграция и тестирование Сбор и анализ требований Функциональное тестирование Системный анализ и проектирование Интеграция подсистем и тестирование Проектирование SW Design ПО Интеграция ПО и интегральное тестирование Реализация ПО и элементарное тестирование Методология MDD 18 MDD позволяет устранять ошибки на ранних этапах разработки Количество вносимых ошибок System Цена исправления ошибок Количество ошибок уменьшается за счет Engineering валидации модели до начала реализации Software Engineering Software Engineering Test Engineering Время Сбор и анализ требований Функциональное тестирование Системный анализ и проектирование Интеграция подсистем и тестирование Проектирование SW Design ПО Интеграция ПО и интегральное тестирование Реализация ПО и элементарное тестирование Методология MDD 19 Что MDD позволяет делать лучше? Поведение системы и программного обеспечения определяются графически Мы имеем возможность исполнять графические модели, тем самым позволяя обнаруживать ошибки на этапе определения требований, разработки архитектуры, проектирования, а не откладывать их на последнюю фазу тестирования Поведение системы проверяется гораздо раньше момента, когда аппаратура становится доступна, так что неожиданности во время системной интеграции случаются гораздо реже Генерируемый код понятен, может использоваться в конечном устройстве, генерируется для всего приложение и что важно динамически связан с моделью, так что модель, документация и код всегда синхронизованы Методология MDD 20 Что MDD позволяет делать лучше? Так как код полностью соответствует модели, то отлаженная модель означает отлаженный код и наоборот, тем самым уменьшается необходимость в тестировании Возможность тестирования гарантирует правильность модели, независимо от её сложности. Автоматическая генерация тестов позволяет сблизить этапы проектирования и тестирования, тем самым способствуя повышению качества Несмотря на то, что Rhapsody является независимой от процесса, мы рекомендуем использовать процесс Harmony, специально разработанный для использования Rhapsody на всех стадиях разработки: от спецификации требований до приёмочного тестирования Методология MDD 21 Ключевые технологии Rhapsody для поддержи методологии MDD Методология MDD 22