MDD в Rhapsody - SWD Software Ltd.

advertisement
Введение в Rhapsody
Дмитрий Рыжов
1
Model Driven Development with Rhapsody
© Telelogic AB
Поддержка MDD в Rhapsody
Моделирование
Генерация
документации
Совместная
работа
MDD
в Rhapsody
Разработка
приложений
Управление
требованиями
Проверка
модели
2
Model Driven Development with Rhapsody
© Telelogic AB
Поддержка языков
моделирования
Моделирование
Генерация
документации
Совместная
работа
MDD
в Rhapsody
Разработка
приложений
Управление
требованиями
Проверка
модели
3
Model Driven Development with Rhapsody
© Telelogic AB
UML 2
Диаграммы UML
•
Структура
–
Structure diagram
–
Package diagram
–
Component diagram
–
Object model diagram
• Class and Object
–
•
•
Rhapsody является лучшим средством
разработки на основе UML 2 для
встраиваемых систем
•
Поведение
–
Statecharts
–
Activity diagrams
–
Use case diagram
Взаимодействие
–
4
Model Driven Development with Rhapsody
Deployment diagram
Sequence diagram
© Telelogic AB
SysML
•
Профиль UML 2.0 для
системн. инженеров
•
Виды SysML
– Требования
• Диагр. требований
• Диагр. прецедентов
– Структура
• Диагр. блоков
• Диагр.
– Поведение
• Диагр. состояний
• Диагр. активности
• Диагр. последоват.
– Ограничения
• Диагр. ограничений
5
Model Driven Development with Rhapsody
© Telelogic AB
Моделирование предметной области
• Расширения Rhapsody
– Профилирование UML для артифактов предметной области
– Режим белой доски
– Использование графических примитивов
• Примеры: SysML, DoDAF, Autosar, Functional C
DoDAF
Functional C
6
Model Driven Development with Rhapsody
© Telelogic AB
Использование существующих моделей
• Rhapsody позволяет импортировать существующие модели
из Rational®, Tau и XMI совместимых средств
7
Model Driven Development with Rhapsody
© Telelogic AB
Генерация документации
Моделирование
Генерация
документации
Совместная
работа
MDD
в Rhapsody
Разработка
приложений
Управление
требованиями
Проверка
модели
8
Model Driven Development with Rhapsody
© Telelogic AB
Документирование: Rhapsody ReporterPLUS™
9
Model Driven Development with Rhapsody
© Telelogic AB
Управление требованиями
Моделирование
Генерация
документации
Совместная
работа
MDD
в Rhapsody
Разработка
приложений
Управление
требованиями
Проверка
модели
10
Model Driven Development with Rhapsody
© Telelogic AB
Управление и трассировка требований
•
•
•
11
Импорт требований из множества источников
Создание связей между моделью и требованиями
Генерация документации о связях
Model Driven Development with Rhapsody
© Telelogic AB
Моделирование требований
12
Model Driven Development with Rhapsody
© Telelogic AB
Анализ покрытия требований
• Восходящий и нисходящий анализ покрытия
13
Model Driven Development with Rhapsody
© Telelogic AB
Анализ внесения изменений
• Восходящий и нисходящий анализ внесения изменений
14
Model Driven Development with Rhapsody
© Telelogic AB
Проверка модели
Моделирование
Генерация
документации
Совместная
работа
MDD
в Rhapsody
Разработка
приложений
Управление
требованиями
Проверка
модели
15
Model Driven Development with Rhapsody
© Telelogic AB
Проверка модели
•
Возможность проверки моделей позволяет обеспечить процес по
непрерывному и эффективному тестированию в процессе разработки
– Гарантирует удовлетворение проекта требованиям
– Устраняет ошибка на ранних стадиях проекта
Исполнение модели
+
Тестирование на основе сценариев
+
Автом. тестирование
Finding & Correcting Errors
Статическая проверка модели
16
Model Driven Development with Rhapsody
© Telelogic AB
Статическая проверка модели
17
Model Driven Development with Rhapsody
© Telelogic AB
Исполнение & Анимация
•
Исполнение для проверки модели
– Лучший способ избежать ошибок и уменьшить стоимость разработки
•
•
18
Анимация диаграмм
– последовательности
– состояния
– активности
Отладка на хосте и
целевом устройстве
Model Driven Development with Rhapsody
© Telelogic AB
Создание web интерефейсов
• Быстрое прототипирование
• Совместная отладка через web
• Повышает
• Продуктивность
команды
• Качество продукта
19
Model Driven Development with Rhapsody
© Telelogic AB
Тестирование на основе требований
•
•
•
Валидация модели на основе сценариев
Автоматический прогон множества тестов
Результаты тестирования
Легкое обнаружение ошибок
Тестовый сценарий
Исполнение модели
Ошибка
Несоответствие
Множество тестов
Обнаруживаем и устраняем ошибки
20
Model Driven Development with Rhapsody
© Telelogic AB
Автоматическая генерация тестов
•
•
•
•
Автоматически генерирует тесты на основе модели
– Генерация сценариев с высоким покрытием модели
– Совместим с UML Testing Profile
Автоматически генерирует тесты на основе модели
– Покрытие состояний, переходов, операций, событий
– Осуществление MC/DC анализа
Производит регрессионное тестирование модели
Экспорт тестов для тестирования реализации
Сбор и анализ
требований
Приёмочное
тестирование
Проверенная модель
Системный анализ и
проектирование
Интеграция подсистем
и тестирование
ATG
Проектирование ПО
Интеграция ПО и
интегр. тестирование
.exe
Реализация ПО и элем.
тестирование
21
Непрерывное
тестирование
устройства
.doc
Model Driven Development with Rhapsody
Непрерывное
тестирование
ПО
© Telelogic AB
Разработка приложения
Моделирование
Генерация
документации
Совместная
работа
MDD
в Rhapsody
Разработка
приложения
Управление
требованиями
Проверка
модели
22
Model Driven Development with Rhapsody
© Telelogic AB
Полная генерация кода приложения
• Rhapsody использует все структурные и поведенческие виды
модели при генерации кода приложения
•
•
•
•
Структурные модели
Диаграммы состояний: поведение на основе событий
Диаграммы активности: алгоритмы и последовательность выполнения
Компоненты и артифакты
• Rhapsody генерирует очень чистый, читабельный код, легко
отлаживаемый стандартными средствами для отладки
• Возможность генерации “white-box” кода
• Высокая производительность, низкая стоимость поддержки
• Rhapsody генерирует все файлы, необходимые для сборки
•
приложения в Rhapsody
Понятные технологии генерации кода
• На основе объектов / функций
• На основе стереотипов
• На основе правил : Редактор правил/ Отладчик правил
23
Model Driven Development with Rhapsody
© Telelogic AB
Динамическая синхронизация модели и кода
• Изменение кода приводит к изменению модели и наоборот
• Модель и код всегда синхронизированы
24
Model Driven Development with Rhapsody
© Telelogic AB
Каркас приложений реального времени
•
Каркас – это набор базовых классов и интерфейсов,
используемых в коде, сгенерированном из модели
Каркас состоит из двух частей:
•
•
•
•
Object Execution Framework (OXF)
•
Animation and Tracing Framework
Сущствуют несколько облегчённых версий каркаса (IDF,
Synchronous, No Framework)
Каркас может быть адаптирован
Сгенерированный код
Каркас
Lightweight
Framework
Процессор
Target
Target
: VxWorks
Host
: OSE
: :Windows
/ INTEGRITY
QNX / Custom
// Linux
/ Linux
/ …/ …/ …
RTOS
Small
Target
ThreadX
Nucleus
Процессор
25
Model Driven Development with Rhapsody
© Telelogic AB
Использование существующего кода
Существующий код может быть:
•
Визуализирован
 Бри сборке приложения существующий код подключается как внешний
 Появляется возможность ссылаться на существующий код в модели
 Постепенный переход к процессу разработки на основе модели
•
Подвергнут обратному проектированию и сделан частью модели
Внеш.
код
Сгенерированный код
Каркас
ОСРВ
26
Model Driven Development with Rhapsody
© Telelogic AB
Совместная работа
Моделирование
Генерация
документации
Совместная
работа
MDD
в Rhapsody
Разработка
приложений
Управление
требованиями
Проверка
модели
27
Model Driven Development with Rhapsody
© Telelogic AB
Управление версиями
• Rhapsody хранит модели в текстовых файлах, которые можно
хранить в системе контроля версий, также как исходники
• Rhapsody может взаимодействовать со многими системами
контроля версий по SCC интерфейсу, такими как Synergy, PVCS
Dimensions, PVCS Version Manager, ClearCase, Visual
SourceSafe, SourceIntegrity, …
• Rhapsody позволяет разбить модель на части и управлять
версиями каждой части независимо от других
• Для работы с Subversion и CVS используется специальный
плагин PushOk
28
Model Driven Development with Rhapsody
© Telelogic AB
Сравнение и объединение различных версий
• Сравнение и объединение различных версий модели
• Визуальное сравнение и слияние диаграмм
29
Model Driven Development with Rhapsody
© Telelogic AB
Основные отличительные особенности
• Исполнение и тестирование на уровне модели
• Генерация всего кода приложения, а не только структуры
• Динамическая синхронизация модели и кода
• Адаптируемый каркас приложений реального времени
• Визуализация кода
30
Model Driven Development with Rhapsody
© Telelogic AB
MDD в Rhapsody
31
Model Driven Development with Rhapsody
© Telelogic AB
•
•
•
Открытая система
Управление требованиями
–
–
–
–
–
–
32
Cantata, TestBed
Continuous Modeling
Simulink/Matlab, Labview & MatrixX
Tool interoperability
XMI, Rose import
IDEs
–
SDK
OSs
Eclipse CDT, MULTI, Workbench, Tornado, pRISM
COM
RTOS и OS
–
Rhapsody
Управление требованиями
•
Altia, Internet Explorer, Mozilla
Тестирование
-
•
Word/Framemaker/HTML/rtf/plain text/PowerPoint
Панельная графика / HMI
-
•
Документирование
HMI
Управление конфигурац.
•
SYNERGY, ClearCase, Source Integrity, PVCS
Any SCC compliant tool
Документирование
–
•
Тестирование
Управление конфигурациями
–
•
DOORS, CalibreRM, RequisitePRO
Word, Excel, PDF, Framemake, Powerpoint, Visio
XML, ASCII Text files
VxWorks, INTEGRITY, QNX Neutrino, LynxOS, ThreadX,
Nucleus, OSE Delta, WindowsCE, Linux (MontaVista &
RedHat), Solaris, Itron, No Operating System
CORBA
Поддержка CORBA (Tao) и COM
Model Driven Development with Rhapsody
© Telelogic AB
Rhapsody для системных инженеров
• Проверка корректности требований с использованием
•
•
•
•
•
•
33
исполняемых моделей
Эффективное донесение требований до всех участников
проекта
Чёткое и непротиворечивое определение системных
требований и архитектуры системы с использованием
языков UML и SysML
Проверка полноты и корректности модели
Устранение поведенческих ошибок в архитектуре на
ранних этапах проекта
Трассировка между требованиями и элементами модели
Генерация проектной документации
Model Driven Development with Rhapsody
© Telelogic AB
Rhapsody для разработчиков ПО
• Полная разработка приложений на языках C, C++, Java для
•
•
•
34
8, 16, 32 и 64-х разрядного оборудования
Обеспечение переносимости приложений
Разработка на основе модели и кода
Синхронность модели, кода и документации
Model Driven Development with Rhapsody
© Telelogic AB
Семейство продуктов Rhapsody
Rhapsody для
системных инженеров:
•
•
System Architect
System Designer
Rhapsody для
разработчиков ПО:
•
•
Software Architect
Software Developer
– на языке С
– на языке С++
– на языках С, C++, Java
35
Дополнительные модули
•
•
•
Gateway
Test Conductor
ATG
Productivity Packs
•
•
•
•
•
•
VBA Pack
Tools & Utilities Pack
Interfaces Pack
Value Pack
Gateway Value Pack
DoDaf Pack
Model Driven Development with Rhapsody
© Telelogic AB
Комплектация Rhapsody
Документирование
Value Pack
Совместная работа
Value Pack
Управление
требованиями
Моделирование
Gateway
SE/SW
Architect
System
Designer
Software
Developer
Test
Conductor
Test
Conductor
Исполнение
модели
Разработка
приложения
Тестирование
36
Model Driven Development with Rhapsody
© Telelogic AB
Rhapsody Demo
37
Model Driven Development with Rhapsody
© Telelogic AB
Download