Работа с требованиями при создании программного...

38
All you need is conf.uml2.ru 6 Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры Лалетин Сергей

Upload: sergey-laletin

Post on 13-Aug-2015

133 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

All you need is conf.uml2.ru6

Работа с требованиями при создании программного обеспечения бортовой

радиоэлектронной аппаратуры

Лалетин Сергей

Page 2: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Лалетин СергейГосНИИАС 2001 – 2007Rockwell Collins2007 – н.в[email protected]

Page 3: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Цель докладаПоказать основные моменты, которые касаются работы с требованиями, при создании программного обеспечения бортовой радиоэлектронной аппаратуры с учетом использования стандарта RTCA DO-178C (Software Considerations in Airborne Systems and Equipment Certification)

3

Page 4: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

План докладаДокумент DO-178CВиды и типы требованийУровни критичности ПОВыявление требованийПроверка требованийДокументыСвязные документы с RTCA DO-178CПрименение UC (UML и SysML)Что бывает, если ....Использованные источникиЗаключение

4

Page 5: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

ВведениеФункциональность современного бортового радиоэлектронного оборудования определяется встраиваемым программным обеспечением.

Общий процент человеческих трудозатрат, связанный с созданием и проверкой бортового ПО, составляет 60 процентов и более, в зависимости от типа оборудования и его критичности.

Любая функциональная особенность должна быть определена требованиями. Требования разрабатывают люди. Людям свойственны ошибки. Фактически, на сегодняшний день, нет общего языка для разработки требований в текстовом виде, как и нет средств автоматизированной или автоматической проверки требований на их корректность и полноту.

Иногда, к разработанным требованиям можно применить высказывание Г. Гегеля: Великий человек обрекает людей на то, что бы они его объясняли.

5

Page 6: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Стандарт с иллюстрацией

6

CONSENSUS n. Collective opinion or concord; general agreement or accord. [Latin, from consentire, to agree]

Illustration provided by Pat Neilan, UK CAA

Page 7: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Документ DO-178C

System Life Cycle Processes

Hardware Life Cycle Processes

Software Life Cycle Processes

7

Page 8: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Процессы (DO-178C)

1. Процессы планирования ПО2. Процессы разработки ПО3. Процессы управления конфигурациями ПО4. Процессы обеспечения качества5. Процессы проверки ПО6. Процессы сертификации ПО

8

Page 9: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Процессы разработки (DO-178C)

1. Процессы определения требований к ПО2. Процессы определения архитектуры и

дизайна ПО3. Процессы кодирования ПО4. Процессы интеграции ПО

9

Page 10: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г. 10

Поток информации

Техническая спецификация заказчика - PTS

Документы системного уровня

Документы уровня ПО

Отраслевые стандартыСтандарты заказчика

HLR LLR Derived Req.

Page 11: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Уровни критичности ПОLevel A – Catastrophic. Отказ может привести к катастрофической отказной ситуацииLevel B – Hazardous. Отказ может привести к непредсказуемой отказной ситуацииLevel C – Major. Отказ может привести к существенной отказной ситуацииLevel D – Minor. Отказ может привести к несущественной отказной ситуации.Level E - No Safety Effect. Отказная ситуация отсутствует

11

Page 12: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Уровни критичности ПОУровень критичности ПО определяется в результате процесса оценки безопасности системы. Должны быть проанализированы следующие факторы:• Потеря функциональности или

неправильная функциональность• Воздействие внешних факторов

12

Page 13: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Жизненный цикл разработки (V-Model)

13

Page 14: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г. 14

Жизненный цикл разработки (V-Model)

Phase 1 Phase 2 Phase 3 Phase … Phase N Phase N+1

Page 15: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Этапы проекта…………………..SRR - System Requirements ReviewSDR - System Design ReviewPDR - Preliminary Design ReviewCDR - Critical Design ReviewPRR - Production Readiness Review…………………..

15

Page 16: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Эволюция продукта (разработка)

16

Prototype Blue Label Red label

Black Label Certification Product

Page 17: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Определение требованияТребование к ПО (Software requirement) – описание того, что должно быть выполнено программным обеспечением, учитывая входные данные и ограничения. Требование к ПО может быть как требованием высокого уровня(LLR), так и требованием низкого уровня(HLR).

17

Page 18: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Системные требованияСистемные требованя к программному обеспечению, включают в себя:• Функциональные и эксплуатационные

требования• Требования к интерфейсам• Требования к производительности• Требования к безопасности (Safety) и

защищенности (Security)• Требования к обслуживанию

18

Page 19: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Требования высокого уровняТребования высокого уровня (High-level requirements) – требования к программному обеспечению, разработанные на основе анализа системных требований, требований к безопасности и системной архитектуре

19

Page 20: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Требования низкого уровняТребования низкого уровня (Low-level requirements) – требования к программному обеспечению, разработанные на основе требований высокого уровня, новых требований, появившихся в процессе разработки (derived requirements) и ограничений. Исходный код разрабатывается на основе требований низкого уровня (LLR).

20

Page 21: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Derived requirementsНовые требования, появившиеся в процессе разработки (Derived requirements) – требования, появившиеся в процессе разработки программного обеспечения, которые прямо не ссылаются на требования высокого уровня, но уточняют функциональность, определенную системными требованиями или требованиями высокого уровня.

21

Page 22: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Характеристики требованияТребование должно быть:• тестируемым• реализуемым• ясным для понимания• законченным• полным

22

Page 23: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Анализ покрытия: Требования vs тестовые процедуры vs кодDead code – Выполняемый код, непокрытый требованиямиExtraneous code – Выполняемый код, непокрытый требованиями, для примера, код унаследованный от другой системыDeactivated code – Выполняемый код, покрытый требованиями, но не используемый, или не предназначенный для использования (robustness programming)

23

Page 24: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Техники выявления и уточнения требованийАнализ документов и стандартов (отрасль, закачик)Проведение регулярных внутренних и внешних совещанийОфициальная переписка с заказчикоми т.д.

24

Page 25: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Разработка требований и общий подходДля разработки требования используется глагол “shall”, для рекомендации используется глагол “should”, “must”, “will”.

Примеры требования:The I/O interface shall be ARINC 429.The power-up event shall be logged each time.

25

Page 26: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Проверка требований высокого уровня1. Проверка на соответствие требованиям

системного уровня2. Проверка на точность и полноту3. Проверка на программно-аппаратную

совместимость 4. Проверка на тестируемость5. Проверка на соответствие стандартам6. Проверка на прослеживаемость (Traceability)7. Проверка на правильность предложенных

алгоритмов

26

Page 27: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Проверка требований низкого уровня1. Проверка на соответствие требованиям высокого

уровня2. Проверка на точность и полноту3. Проверка на программно-аппаратную

совместимость 4. Проверка на тестируемость5. Проверка на соответствие стандартам6. Проверка на прослеживаемость (Traceability)7. Проверка на правильность предложенных

алгоритмов

27

Page 28: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

ДокументацияThe Plan for Software Aspects of Certification The Software Development Plan The Software Verification Plan The Software Configuration Management Plan The Software Quality Assurance Plan The Software Requirements StandardsThe Software Design StandardsThe Software Code StandardsThe Software Verification results

28

Page 29: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Связные документы дополнения• RTCA DO-331 "Model-Based Development

and Verification Supplement to DO-178C and DO-278"

• RTCA DO-332 "Object-Oriented Technology and Related Techniques Supplement to DO-178C and DO-278A"

• RTCA DO-333 "Formal Methods Supplement to DO-178C and DO-278A"

• RTCA DO-330 "Software Tool Qualification Considerations"

29

Page 30: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Что бывает еслиТип ВС: Boeing 777Год происшествия: 2005Авиакомпания: Malaysia AirМаршрут: Perth, Australia - Kuala Lumpur, Malaysia Авиационное происшествие: Воздушное судно совершило самопроизвольный маневрПричина: Отказ в INSДетали: Дефект ПО INS позволил INS принять недостоверные данные от отказавшего акселерометраПоследствия: FAA выпустила экстренную директиву для поддержания летной годности всего парка самолетов типа Boeing 777 и обязала всех эксплуатантов выполнить обновление ПО, с целью устранения дефекта

30

Page 31: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

UML и SysML

• SysML применяется на уровне System Life Cycle Processes

• UML применяется на уровне Software Life Cycle Processes

• Модели не являются требованиями. Требованиями является только текст, содержащий “shall”

31

Page 32: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г. 32

Requirements Diagram in SysML

Page 33: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Заключение• Модели из Model Based Requirements

Engineering применяются только как дополнительные разъясняющие материалы к требованиям в текстовом виде

• Модели из Model Based Development (Simulink, SCADE) применяются для разработки систем с высоким уровнем критичности, с последующим самогенерирующемся кодом

33

Page 34: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Заключение

Для эффективной работы с требованиями, необходимо:• Знание предметной области• Знание и умение применять отраслевые

стандарты• Иметь аналитические способности/навыки• Знание применяемых инструментов• Уметь работать в комманде

34

Page 35: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г. 35

ЗаключениеRTCA DO в России переводятся и адаптируются в виде КТ МАК.

RTCA DO-178B (1992) -> КТ-178В (2004) RTCA DO-178C (2011) -> КТ-178С (?)RTCA DO-254 (2000) -> КТ-254 (2011)

Отставание в среднем на 10 лет и более

Page 36: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

ЛАФ 6, 2015 г.

Использованные источники1. RTCA DO-178C Software Considerations in

Airborne Systems and Equipment Certification www.rtca.org

2. Avionics Magazine www.aviationtoday.com/av/

36

Page 37: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

Вопросы?

Page 38: Работа с требованиями при создании программного обеспечения бортовой радиоэлектронной аппаратуры

6-й Летний Аналитический

Фестиваль

г. Иваново20-21 июня 2015

conf.uml2.ru

All you need is …