40
Процесс разработки критических приложений HARMONY

Процесс разработки критических приложений HARMONY

  • Upload
    morna

  • View
    49

  • Download
    1

Embed Size (px)

DESCRIPTION

Процесс разработки критических приложений HARMONY. Что такое процесс?. С точки зрения Harmony процесс это: - PowerPoint PPT Presentation

Citation preview

Page 1: Процесс разработки критических приложений HARMONY

Процесс разработкикритических приложений

HARMONY

Page 2: Процесс разработки критических приложений HARMONY

Процесс HARMONY 2

Что такое процесс?

С точки зрения Harmony процесс это:

– Спецификация серии последовательных деятельностей, выполняемых группой взаимодействующих специалистов, в результате которой создается когерентное множество артефактов, одним из которых является требуемая система

Harmony – результат развития и совершенствования процесса ROPES (Rapid Object-Oriented Process for Embedded Systems).

Используется преимущественно а аэрокосмической и оборонной промышленности США

Page 3: Процесс разработки критических приложений HARMONY

Процесс HARMONY 3

Как выполняется разработка критичного ПО

Хорошо известен V-цикл проектирования и разработки критичного ПО:

Анализ требованийСпецификация

требований

Системный анализи проектирование

Спецификацияархитектуры

ПроектированиеПО

Детальнаяспецификация

Реализация ПО итестированиекомпонентов

Интегрированиемодулей ПО и их

тестирование

Интегрированиесистемы и еетестирование

Приемочноетестирование

ТЗ

ЭП

ТП

ПСИ

ПИ

Page 4: Процесс разработки критических приложений HARMONY

Процесс HARMONY 4

Приемочное тестированиеSystem Engineering

(HARMONY-SE)

Макроцикл HARMONY

Анализ требованийСпецификация

требований

Системный анализи проектирование

Спецификацияархитектуры

ПроектированиеПО

Детальнаяспецификация

Реализация ПО итестированиекомпонентов

Интегрированиемодулей ПО и их

тестирование

Интегрированиесистемы и еетестирование

Приемочноетестирование

ТЗ

ЭП

ТП

ПСИ

ПИ

Software Engineering(HARMONY-SWE)

Page 5: Процесс разработки критических приложений HARMONY

Процесс HARMONY 5

Обзор HARMONY-SE

Функциональный анализ системы

Анализ требований

Фиксация требований

Идентификация вариантовиспользования системы

Архитектурный дизайн

Проектирование архитектуры системы

Проектирование архитектуры подсистем

Варианты использованиясистемы

Операционные контракты(наборы функциональных требований)

Разработка АО/ПО

Реп

озит

арий

мод

ели

и тр

ебов

аний

Требования

UC системы

Модель системы как «Черный ящик»Операционные контракты

Реп

озит

. тес

товы

х д

анны

х

Сценарии UC «ЧЯ»

Модель системной архитектуры соперац. контрактами

Модели физич. подсистемс операц. контрактами АО/ПО

Сценарии UC «ЧЯ»

Сценарии UC «БЯ»

Page 6: Процесс разработки критических приложений HARMONY

Процесс HARMONY 6

Обзор HARMONY-SE

Анализ требований– Фиксирование требований и группировка их в варианты

использования.

Функциональный анализ системы– Идентификация и верификация/валидация операций

системы (т.е. множества функциональных требований) на основе вариантов использования.

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

их к (функциональным или физическим) подсистемам. Определение интерфейсов подсистем.

Проектирование архитектур подсистем– Разделение операций между компонентами системы

(программными и/или аппаратными). Определение интерфейсов компонентов подсистемы.

Page 7: Процесс разработки критических приложений HARMONY

Процесс HARMONY 7

HARMONY-SE: Анализ требований

Анализ требований

Фиксация требований

Идентификация вариантовиспользования системы

Реп

озит

арий

мод

ели

и тр

ебов

аний

Требования

UC системы

Требования фиксируются для их последующей трассировки

Возможно хранение требований в Word/Exel/RequisitePRO/DOORS (для трассировки требований используется Rhapsody Gateway)

Варианты использования идентифицируют на основе

Page 8: Процесс разработки критических приложений HARMONY

Процесс HARMONY 8

HARMONY-SE: Анализ требований

Фиксация требований

ADMS – Aircraft Defense Management System

Page 9: Процесс разработки критических приложений HARMONY

Процесс HARMONY 9

HARMONY-SE: Анализ требований

Фиксация требований

Page 10: Процесс разработки критических приложений HARMONY

Процесс HARMONY 10

HARMONY-SE: Анализ требований

Идентификация вариантов использования

Каждый вариант использования показывает один из аспектов функционирования системы, рассматриваемой как «черный ящик»

Page 11: Процесс разработки критических приложений HARMONY

Процесс HARMONY 11

HARMONY-SE: Анализ требований

Детализация вариантов использования

С любым визуальным объектом с помощью механизма anchor может быть сопоставлено требование.

Page 12: Процесс разработки критических приложений HARMONY

Процесс HARMONY 12

Обзор HARMONY-SE

Анализ требований– Фиксирование требований и группировка их в варианты

использования.

Функциональный анализ системы– Идентификация и верификация/валидация операций

системы (т.е. множества функциональных требований) на основе вариантов использования.

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

их к (функциональным или физическим) подсистемам. Определение интерфейсов подсистем.

Проектирование архитектур подсистем– Разделение операций между компонентами системы

(программными и/или аппаратными). Определение интерфейсов компонентов подсистемы.

Page 13: Процесс разработки критических приложений HARMONY

Процесс HARMONY 13

HARMONY-SE: Функциональный анализ

Функциональный анализ системы

Анализ требований

Фиксация требований

Идентификация вариантовиспользования системы

Варианты использованиясистемы

Реп

озит

арий

мод

ели

и тр

ебов

аний

Требования

UC системы

Модель системы как «Черный ящик»Операционные контракты

Реп

озит

. тес

товы

х д

анны

х

Сценарии UC «ЧЯ»

При функциональном анализе выполняются:

- Анализ «черного ящика» («ЧЯ», BB) для каждого варианта использования (UC)

- Анализ целостности вариантов использования

Page 14: Процесс разработки критических приложений HARMONY

Процесс HARMONY 14

HARMONY-SE: Функциональный анализ

Для артефактов функционального анализа целесообразно создавать пакет с подпакетами анализа каждого варианта использования

Page 15: Процесс разработки критических приложений HARMONY

Процесс HARMONY 15

HARMONY-SE: Функциональный анализ

Функциональный анализ – это преобразование функциональных требований в

операционные контракты

ОК (OpCon) задаются в виде сообщений (запросов сервиса).

На диаграмме последовательности OpCon могут включать:– Пред- и пост- условия (могут задаваться состояниями) – Кросс-ссылки на другие диаграммы последовательности– Ограничения

Page 16: Процесс разработки критических приложений HARMONY

Процесс HARMONY 16

HARMONY-SE: Функциональный анализ

OpCon изменения состояния/режима

OpCon деятельности

Page 17: Процесс разработки критических приложений HARMONY

Процесс HARMONY 17

HARMONY-SE: Функциональный анализ

Структура системы, необходимая для выполнения каждого UC, описывается с помощью диаграммы

определения блоков

Почему в SysML используют блоки?- Не нужно определять классы;- Позволяют анимировать модель.- Блоки взаимодействуют через порты – именованные точки соединения

Page 18: Процесс разработки критических приложений HARMONY

Процесс HARMONY 18

HARMONY-SE: Функциональный анализ

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

последовательностей

Диаграммы последовательности:- Сценарии «Солнечного дня»- Сценарии «Черного дня»

Page 19: Процесс разработки критических приложений HARMONY

Процесс HARMONY 19

HARMONY-SE: Функциональный анализ

Анализ целостности вариантов использования

1) Блоки, представляющие систему в каждом варианте использования, помещают на одну диаграмму

2) На эту диаграмму перетаскивают блоки, моделирующие актеров, и связывают соответствующие порты

Page 20: Процесс разработки критических приложений HARMONY

Процесс HARMONY 20

HARMONY-SE: Функциональный анализ

Поведение каждого блока удобно описывать в виде конечного автомата

Это позволяет верифицировать модель с помощью симуляции (анимации)

Page 21: Процесс разработки критических приложений HARMONY

Процесс HARMONY 21

HARMONY-SE: Функциональный анализ

Валидация и верификация моделина основе симуляции (анимации)

Сохранение модели

Запуск симуляции

Page 22: Процесс разработки критических приложений HARMONY

Процесс HARMONY 22

HARMONY-SE: Функциональный анализ

Валидация и верификация моделина основе симуляции (анимации)

Предыдущеесостояние

Текущеесостояние

Последний сработавший

переход

Page 23: Процесс разработки критических приложений HARMONY

Процесс HARMONY 23

HARMONY-SE: Функциональный анализ

Основные артефакты SysML, создаваемые в ходе модельно-управляемого системного инжиниринга

Взаимосвязь артефактов функционального анализа

Page 24: Процесс разработки критических приложений HARMONY

Процесс HARMONY 24

Обзор HARMONY-SE

Анализ требований– Фиксирование требований и группировка их в варианты

использования.

Функциональный анализ системы– Идентификация и верификация/валидация операций

системы (т.е. множества функциональных требований) на основе вариантов использования.

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

их к (функциональным или физическим) подсистемам. Определение интерфейсов подсистем.

Проектирование архитектур подсистем– Разделение операций между компонентами системы

(программными и/или аппаратными). Определение интерфейсов компонентов подсистемы.

Page 25: Процесс разработки критических приложений HARMONY

Процесс HARMONY 25

HARMONY-SE

Функциональный анализ системы

Анализ требований

Фиксация требований

Идентификация вариантовиспользования системы

Архитектурный дизайн

Проектирование архитектуры системы

Проектирование архитектуры подсистем

Варианты использованиясистемы

Операционные контракты(наборы функциональных требований)

Разработка АО/ПО

Реп

озит

арий

мод

ели

и тр

ебов

аний

Требования

UC системы

Модель системы как «Черный ящик»Операционные контракты

Реп

озит

. тес

товы

х д

анны

х

Сценарии UC «ЧЯ»

Модель системной архитектуры соперац. контрактами

Модели физич. подсистемс операц. контрактами АО/ПО

Сценарии UC «ЧЯ»

Сценарии UC «БЯ»

Page 26: Процесс разработки критических приложений HARMONY

Процесс HARMONY 26

Организация SE-модели

Область требований

Область системной архитектуры

Область спецификации физическойархитектуры (Подсистем)

Page 27: Процесс разработки критических приложений HARMONY

Процесс HARMONY 27

Harmony

Цикл инкрементной разработки («Микро-цикл»)

Приемочное тестирование

Программный инжиниринг(HARMONY-SWE)

Системный инжиниринг(HARMONY-SE)

Требования, сценарии и др.

артефактыТестовые сценарии

Система, прошедшая внутреннюю валидацию и

верификацию

Модель требований и логической структуры

Анализ

Ревизия

Дизайн

Реализация ТестированиеМ

одел

ь

Page 28: Процесс разработки критических приложений HARMONY

Процесс HARMONY 28

Микроцикл HARMONY

Анализ -- идентификация характеристик, которыми должно обладать любое решения для соответствия заданным требованиям;

Дизайн -- оптимизация структуры или поведения системы в соответствии с заданными критериями;

Реализация -- создание корректно работающего компонента или подсистемы;

Тестирование -- получение верифицированной версии системы с хорошо известными возможностями;

Ревизия (Party!) -- идентификация и корректировка задач, связанных с выполнением всего проекта.

Page 29: Процесс разработки критических приложений HARMONY

Процесс HARMONY 29

Микроцикл HARMONY: Анализ

Анализ:• определение прототипа – выбор требований,

подлежащих реализации на витке• объектный анализ – идентификация необходимых

объектов и классов

Стратегии выявления объектов:– Идентификация существительных– Предоставляемые сервисы– Транзакции– Физические устройства– Ключевые концепции– Устойчивые данные– Элементы управления

Page 30: Процесс разработки критических приложений HARMONY

Процесс HARMONY 30

Микроцикл HARMONY

Анализ -- идентификация характеристик, которыми должно обладать любое решения для соответствия заданным требованиям;

Дизайн -- оптимизация структуры или поведения системы в соответствии с заданными критериями;

Реализация -- создание корректно работающего компонента или подсистемы;

Тестирование -- получение верифицированной версии системы с хорошо известными возможностями;

Ревизия (Party!) -- идентификация и корректировка задач, связанных с выполнением всего проекта.

Page 31: Процесс разработки критических приложений HARMONY

Процесс HARMONY 31

Микроцикл HARMONY: Дизайн

В ходе стадии «Дизайн» к прототипу применяют шаблоны проектирования

Шаблоны проектирования надежности:- Однородная избыточность- Неоднородная избыточность- Санитарная проверка- Монитор-актуатор- Наблюдатель- Администратор (функциональной) безопасности

Дизайн или Проектирование – применение к прототипу шаблонов проектирования, необходимых для привидения его в соответствие

заданным критериям

Page 32: Процесс разработки критических приложений HARMONY

Процесс HARMONY 32

Микроцикл HARMONY: Дизайн

Дизайн:Архитектура подсистем и компонентов – из каких

исполняемых модулей состоит система или подсистема;Архитектура развертывания – элементы, относящиеся к

различным инженерным областям: программной, аппаратной, механической, химической, тестовой и т.д.;

Архитектура распределения – размещение объектов в изолированных адресных пространствах, способ нахождения друг друга, порядок их совместной работы;

Архитектура надежности – как выявляются, изолируются и устраняются сбои в процессе функционирования системы;

Архитектура ресурсов и параллельности –потоки, их диспетчеризацию и их синхронизацию при использовании разделяемых ресурсов;

Архитектура безопасности –элементы системы, необходимые для обеспечения информационной безопасности.

Page 33: Процесс разработки критических приложений HARMONY

Процесс HARMONY 33

Микроцикл HARMONY

Анализ -- идентификация характеристик, которыми должно обладать любое решения для соответствия заданным требованиям;

Дизайн -- оптимизация структуры или поведения системы в соответствии с заданными критериями;

Реализация -- создание корректно работающего компонента или подсистемы;

Тестирование -- получение верифицированной версии системы с хорошо известными возможностями;

Ревизия (Party!) -- идентификация и корректировка задач, связанных с выполнением всего проекта.

Page 34: Процесс разработки критических приложений HARMONY

Процесс HARMONY 34

Микроцикл HARMONY: Реализация

Реализация:

• Трансляция модели в коды• Тестирование программных модулей (функциональное,

качества сервиса, покрытия кода, стресс-тестирование, нагрузочное )• Ревизия соответствия программных модулей

модели

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

Page 35: Процесс разработки критических приложений HARMONY

Процесс HARMONY 35

Микроцикл HARMONY

Анализ -- идентификация характеристик, которыми должно обладать любое решения для соответствия заданным требованиям;

Дизайн -- оптимизация структуры или поведения системы в соответствии с заданными критериями;

Реализация -- создание корректно работающего компонента или подсистемы;

Тестирование -- получение верифицированной версии системы с хорошо известными возможностями;

Ревизия (Party!) -- идентификация и корректировка задач, связанных с выполнением всего проекта.

Page 36: Процесс разработки критических приложений HARMONY

Процесс HARMONY 36

Микроцикл HARMONY: Тестирование

Тестирование –валидация качества уже высококачественного

продукта

1) Базовые тест-векторы (диаграммы последовательностей) уже созданы на этапе формализации требований к системе.

2) Фаза «Тестирование» актуальна при внесении заказчиком изменений в требования в ходе проекта

Выявление дефекта требует повтора микроцикла для его устранения и повторного тестирования

Page 37: Процесс разработки критических приложений HARMONY

Процесс HARMONY 37

Микроцикл HARMONY

Анализ -- идентификация характеристик, которыми должно обладать любое решения для соответствия заданным требованиям;

Дизайн -- оптимизация структуры или поведения системы в соответствии с заданными критериями;

Реализация -- создание корректно работающего компонента или подсистемы;

Тестирование -- получение верифицированной версии системы с хорошо известными возможностями;

Ревизия (Party!) -- идентификация и корректировка задач, связанных с выполнением всего проекта.

Page 38: Процесс разработки критических приложений HARMONY

Процесс HARMONY 38

Микроцикл HARMONY: Ревизия

Ревизия:- Ревизия выполнения графика проекта. При необходимости

может выполняться реорганизация проекта, передача части работ в аутсорсинг, перегруппировка ресурсов проекта;

- Ревизия архитектуры. Архитектура оценивается на различных фазах проекта, тем не менее ревизия необходима – просчеты в архитектуре системы дорого стоят.

- Ревизия процесса. Проводится оценка самого процесса разработки и его рабочих процедур – при необходимости процесс корректируется.

- Ревизия рисков. Проверяется, как контролируются риски, предусмотренные в плане управления рисками, а так же какие новые риски появились.

Page 39: Процесс разработки критических приложений HARMONY

Процесс HARMONY 39

HARMONY

Процесс –это спецификация серии последовательных деятельностей,

выполняемых группой взаимодействующих специалистов,

в результате которой создается когерентное множество артефактов,

одним из которых является требуемая система

Выходные данные Harmony: верифицированная система высокого качества

Page 40: Процесс разработки критических приложений HARMONY

Процесс HARMONY 40

196135, г. Санкт-Петербург, пр. Юрия Гагарина 23тел.: (812) 702-0833факс: (812) 373-0497web: http://www.swd.ru/

Спасибо за внимание!