Перейти к:
Направления и способы совершенствования процессов контроля качества программных средств систем вооружения
https://doi.org/10.38013/2542-0542-2016-1-21-31
Аннотация
Ключевые слова
Для цитирования:
Самонов А.В., Шаров С.А. Направления и способы совершенствования процессов контроля качества программных средств систем вооружения. Вестник Концерна ВКО «Алмаз – Антей». 2016;(1):21-31. https://doi.org/10.38013/2542-0542-2016-1-21-31
For citation:
Samonov A.V., Sharov S.A. Directions and methods of improving quality control processes for weapons system software. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2016;(1):21-31. https://doi.org/10.38013/2542-0542-2016-1-21-31
Введение
Важнейшим элементом автоматизированных систем управления войсками и оружием являются программные средства (ПС), надежность, производительность, защищенность, совместимость и другие характеристики которых должны отвечать высоким требованиям [1]. В то же время, как показывает отечественный и мировой опыт, чем сложнее и объемнее программное обеспечение (ПО), тем больше в нем дефектов. Подтверждением данного тезиса служат результаты исследований сложных программных продуктов, выполненных компанией Coverity [2]. Анализ показал, что ПО, разработанное даже профессиональными коллективами, содержит сотни ошибок, на выявление и устранение которых идут значительные интеллектуальные, временные и финансовые ресурсы.
Направления совершенствования нормативно-методической базы в области обеспечения качества программных средств систем вооружения
Объективные и субъективные трудности создания высококачественных ПС, присущие индустрии разработки ПО, в России имеют свои особенности:
- отечественная нормативно-методическая база (НМБ) в области создания программных средств систем вооружения (ПССВ) не соответствует современному уровню информационно-коммуникационных технологий и средствам разработки программного обеспечения;
- проектирование и разработка современных ПССВ осуществляется на основе устаревших и неэффективных технологий и инструментальных средств;
- на предприятиях, разрабатывающих программное обеспечение для систем вооружения, не обеспечивается требуемый уровень контроля качества ПССВ.
Отечественная нормативно-методическая база в области создания программных средств систем вооружения (рис. 1) включает следующие комплексы стандартов:
- систему разработки и постановки на производство военной техники (СРПП ВТ);
- стандарты на автоматизированные системы (серия 34.ххх);
- единую систему конструкторской документации (ЕСКД, серия 2.ххх);
- единую систему технологической документации (ЕСТД, серия З.ххх);
- единую систему программной документации (ЕСПД, серия 19.ххх);
- стандарты ИСО/МЭК в области информационных технологий.
Рис. 1. Состав и структура действующей НМБ ПССВ
Анализ нормативно-методических документов (НМД), регламентирующих разработку ПССВ в интересах Минобороны России (МО РФ) в части состава, структуры и содержания этапов создания и эксплуатации ПССВ позволил определить следующие проблемы:
- отсутствие системности, а также методологического и терминологического единства понятий, требований и рекомендаций, изложенных в действующих старых [3-7] и новых [8-13] нормативно-методических документах;
- наличие противоречий в используемой терминологии, а также видах деятельности, выполняемых на одних и тех же этапах жизненного цикла (ЖЦ) ПССВ [3, 7, 8, 11];
- избыточность и излишняя детализация отдельных видов деятельности и артефактов [3, 8];
- не используются преимущества концепции процессного подхода к разработке и применению ПССВ [3, 7];
- недостаточно полно и конкретно определены место и роль процессов управления качеством ПССВ [3, 7].
Очевидно, что в настоящее время необходимо фундаментально пересмотреть и переработать НМБ ПССВ, включая разработку концепции, определение оптимального состава и структуры комплекта НМД и их содержания.
В состав комплекта НМД (рис. 2), регламентирующих процессы разработки и управления качеством ПССВ, предлагается включить пять перечисленных ниже базовых стандартов.
- ГОСТ РВ*. Термины и определения.
- ГОСТ РВ*. Классификация и качество ПССВ.
- ГОСТ РВ*. Модель жизненного цикла и порядок разработки ПССВ.
- ГОСТ РВ*. Модели и методы оценки качества ПССВ.
- ГОСТ РВ*. Техническое задание на разработку ПССВ.
Рис. 2. Состав и структура предлагаемой НМБ ПССВ
При разработке данного комплекта НМД необходимо обеспечить:
- методологическое и терминологическое единство и системность понятий, требований и рекомендаций, изложенных как в НМД этого комплекта, так и в других связанных с ними стандартами;
- гармонизацию с современными НМД, технологиями и инструментальными средствами, применяемыми в области системной и программной инженерии, включая стандарты и средства информационной поддержки жизненного цикла военной продукции (ИП ЖЦВП) - CALS-технологии (ContinuousAcquisitionandLifecycleSupport);
- концептуальное и нормативное закрепление в НМБ ПССВ ключевой роли процессов обеспечения качества ПССВ на всех этапах их жизненного цикла, начиная с этапа обоснования концепции и формирования требований к ПССВ;
- методические рекомендации по выбору рациональных способов верификации артефактов ЖЦ ПССВ.
Структура и состав данного комплекта НМД, а также их связи с другими документами представлены на рис. 2. Новыми в комплекте НМД являются стандарты ГОСТ РВ*. Модели и методы оценки качества ПССВ и ГОСТ РВ*. Техническое задание на разработку ПССВ.
Системообразующим стандартом комплекта НМД должен стать ГОСТ РВ*. Модель жизненного цикла и порядок разработки ПССВ, который будет содержать детально проработанный ЖЦ ПССВ. ЖЦ ПС - непрерывный процесс, описывающий все, что происходит с ПС с момента принятия решения о необходимости его создания до изъятия из эксплуатации. Модель ЖЦ ПС - это определенным образом упорядоченная совокупность этапов ЖЦ (видов деятельности и событий), условий и порядка переходов между ними, обеспечивающих достижение цели проекта в установленные сроки в рамках доступного бюджета времени, людских и финансовых средств [3].
Как было отмечено выше, действующий в настоящее время стандарт имеет ряд недостатков. Для их устранения была разработана модель ЖЦ ПССВ, которая лишена недостатков, присущих стандарту [3], и где учтены приведенные выше требования ко всему комплекту НМД. Модель ЖЦ ПССВ, представленная в табл. 1, описана с помощью трех основных понятий: вид деятельности, исполнители и артефакты.
Важной особенностью представленной в таблице модели ЖЦ является наличие точного указания места и роли процессов контроля качества ПССВ. Результатом выполнения данных процессов является оценка степени соответствия получаемых на каждом этапе артефактов заданным или ожидаемым требованиям к создаваемому ПССВ. Как видно из данных табл. 1, процессы верификации должны быть осуществимыми по отношению ко всем значимым артефактам. Первым из них является техническое задание (ТЗ), которое определяет требования к функциональным и эксплуатационным характеристикам ПССВ, т. е. к его качеству. Качество программного обеспечения - это совокупность существенных свойств (характеристик) программного обеспечения, обусловливающих его пригодность для использования по назначению.
Таблица 1
Усовершенствованная модель ЖЦ ПССВ
№ | Этапы, виды деятельности (процессы) | Исполнители | Артефакты (содержание и форма) | |||
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
1. Анализ потребности, разработка концепции и обоснование требований | ||||||
1.1 | Анализ потребности и обоснование необходимости ПССВ | Аналитики Заказчики Потребители Организации ВНС, ВТС | Обоснование места и роли ПССВ в составе средств вооружения. Аналитический отчет | |||
1.2 | Разработка концепции построения, функционирования и применения ПССВ | Аналитики Заказчики Потребители Организации ВНС, ВТС | Концепция применения ПССВ в составе средств вооружения | |||
1.3 | Разработка ТЗ на ПССВ | |||||
1.3.1 | Разработка проекта ТЗ на ПССВ | Аналитики Заказчики Потребители | Проект ТЗ на ПССВ (функциональные и эксплуатационные требования) | |||
1.3.2. | Верификация требований к ПССВ | Заказчик Организации ВНС, ВТС | Заключение о полноте, непротиворечивости и корректности требований к ПССВ | |||
1.3.3 | Согласование и утверждение ТЗ | Заказчик Предприятие-разработчик Потребители Организации ВНС, ВТС | Утвержденное ТЗ | |||
2. Разработка ПССВ | ||||||
2.1 | Планирование разработки ПССВ | Руководитель проекта Проектировщик | Сквозной график разработки ПССВ | |||
2.2 | Проектирование ПССВ | |||||
2.2.1 | Разработка проекта (архитектуры) ПССВ | Проектировщик (конструктор) | Проект архитектуры и компонентов ПССВ | |||
2.2.2 | Верификация проекта (архитектуры) ПССВ | Организации ВНС, ВТС | Заключение о соответствии проекта заданным в ТЗ условиям | |||
2.3 | Разработка программ и программной документации | Разработчики Технические писатели | Программная документация | |||
2.3.1 | Разработка программ в соответствии с проектом ПССВ | Руководитель проекта Разработчики Технические писатели | Программный код и программная документация | |||
2.3.2 | Тестирование на контрольных примерах (модульное, функциональное комплексное, нагрузочное, регрессионное) | Тестировщики | Протоколы и акты испытаний. Предложения по доработке | |||
2.3.3 | Возврат к этапам 2.2.1 и 2.3.1 на доработку или завершение разработки, включая подготовку РКД, ПД и ЭД | Руководитель проекта Проектировщик Разработчики Технические писатели | ПС, РКД, ПД, ЭД, задание на доработку ПССВ | |||
2.3.4 | Верификация РКД, ПД и ЭД | Отдел технического контроля (ОТК) предприятия Организации ВнС, ВТС Военный представитель (ВП) | Акты соответствия РКД, ПД и ЭД заданным в ТЗ условиям | |||
2.4 | Проведение испытаний ПССВ | |||||
2.4.1 | Предварительные, приемочные, государственные испытания ПССВ | Разработчики, ВП Организации ВНС, ВТС Потребители Заказчики | Протоколы и акты испытаний Акт о передаче ПССВ в фонд алгоритмов и программ МО РФ | |||
2.4.2 | Верификация результатов испытаний | Разработчики Организации ВНС, ВТС | Экспертное заключение | |||
3. Производство | ||||||
3.1 | Постановка ПССВ на производство | Разработчики предприятия-изготовителя | Копии РКД, ПД и ЭД Технологическая линия производства ПССВ | |||
3.2 | Изготовление ПССВ | Разработчики предприятия-изготовителя | ПССВ с комплектом документации | |||
3.3 | Контроль и приемка ПССВ | ОТК ВП Потребитель | Протоколы и акты приемки ПССВ | |||
3.4 | Поставка ПССВ потребителю | Разработчики предприятия-изготовителя | Акт о передаче ПССВ потребителю | |||
4. Применение в составе системы вооружения | ||||||
4.1 | Эксплуатация | |||||
4.1.1 | Опытная (экспериментальная) эксплуатация | Потребитель Разработчики | Отчет с результатами опытной эксплуатации | |||
1 | 2 | 3 | 4 | |||
4.1.2 | Функционирование ПССВ в составе системы вооружения | Потребитель | Результаты применения по назначению (расчеты, информационные документы и т. д.) | |||
4.2 | Сопровождение | |||||
4.2.1 | Организация сопровождения ПССВ | Разработчики предприятия-изготовителя | Договоры и акты о сопровождении ПССВ | |||
4.2.2 | Анализ функционирования ПССВ | Потребитель Разработчики предприятия-изготовителя | Замечания и рекламации. Предложения о доработке и модернизации | |||
4.2.3 | Модернизация ПССВ | Разработчики | Модернизированное ПССВ | |||
4.2.4 | Тестирование и верификация модернизированного ПССВ | Разработчики, ОТК, ВП Потребитель | Протоколы и акты с результатами тестирования ПССВ | |||
4.3 | Прекращение эксплуатации (снятие с вооружения) | |||||
4.3.1 | Подготовка к снятию ПССВ с эксплуатации | Потребитель Разработчики | Обоснование целесообразности снятия ПССВ с эксплуатации | |||
4.3.2 | Прекращение эксплуатации ПС | Потребитель Заказчик | Документ о снятии ПССВ с эксплуатации |
Классификация характеристик качества ПССВ
Наиболее полная и детальная классификация характеристик ПС представлена в стандартах серии ISO/IEC 25000 [14]. В соответствии с ними все характеристики ПО сведены в восемь групп (рис. 3).
Рис. 3. Классификация характеристик качества ПССВ
Каждая группа характеристик состоит из подхарактеристик, или атрибутов. Например, характеристика ПС «Надежность» состоит из четырех подхарактеристик: «Устойчивость к отказам», «Восстанавливаемость», «Завершенность» и «Доступность» [14]. Для оценки степени соответствия характеристики установленным требованиям используют показатели качества. Показатель качества - это переменная или несколько переменных, значение которых характеризует меру качества программного обеспечения относительно одного или нескольких существенных свойств. Так, например, для оценки отказоустойчивости системы могут использоваться следующие показатели:
- вероятность безотказной работы P(t);
- средняя наработка на отказ То;
- гамма-процентная наработка до отказа Τγ;
- интенсивность отказов λ(ί);
- параметр потока отказов ω(ί);
- средняя доля безотказной наработки I(t);
- плотность распределения времени безотказной работы f(t).
Показатели качества можно спроецировать на основные группы их потребителей: разработчиков, заказчиков и конечных пользователей. В соответствии с этим принципом все показатели распределяют по трем группам [14-17]:
- внутреннего качества;
- внешнего качества;
- качества при использовании.
Показатели внутреннего качества используются проектировщиками, программистами и тестировщиками в ходе проектирования, кодирования, отладки и тестирования ПССВ. Имеют отношение к архитектуре, внутренней организации, корректности и безошибочности кода ПС. Примерами показателей внутреннего качества являются количество ошибок спецификации, проектирования и кодирования, избыточность кода, цикломатическая сложность, характеристики связанности и сцепления классов и др.
Показатель внешнего качества ПС - это степень, с которой ПС удовлетворяет предъявленным к ним со стороны пользователей функциональным и эксплуатационным требованиям. Примерами таких показателей являются полнота и корректность реализации функциональных требований, вероятность безотказной работы в течение определенного времени, пропускная способность каналов передачи данных время на решение расчетных задач и др. Используют во время испытаний ПС, осуществляемых представителями заказчика, органами сертификации и конечными пользователями.
Показатель качества при использовании - это степень, с которой ПС пригодны к использованию по назначению определенными пользователями в заданных условиях применения. Примерами таких показателей являются: интегрируемость и совместимость с взаимодействующими системами, устойчивость к отказам оборудования, защищенность от ошибок пользователя, адаптируемость к условиям применения, легкость обучения и др. Используются конечными пользователями на этапах эксплуатации ПС.
Методы верификации артефактов, получаемых в ходе разработки ПССВ, представлены в табл. 2. Как показал проведенный анализ, в настоящее время к основным из них можно отнести экспертизу (организационную и техническую) требований, проектных решений и программного кода, статические, динамические и синтетические методы тестирования ПС, аудит, регистрацию и анализ результатов эксплуатации.
Таблица 2
Артефакты ЖЦ ПССВ и методы их верификации
Артефакт | Метод верификации | Исполнитель |
---|---|---|
ТЗ на разработку ПССВ | Экспертиза техническая Экспертиза организационная | Заказчики Потребители Организации ВНС, ВТС |
Архитектура ПССВ (проект) | Экспертиза организационная Экспертиза техническая Анализ архитектуры на формальных моделях | Аналитики Проектировщики Организации ВНС, ВТС |
Программный код ПССВ | Статический анализ исходного кода Динамический анализ выполнения программы Регрессионное тестирование Тестирование на стенде | Программисты Тестировщики |
РКД, ПД и ЭД ПССВ | Экспертиза техническая Экспертиза организационная Инспекция Испытания | ОТК ПЗ (ВП) Организации ВНС, ВТС |
Результаты испытаний | Экспертиза организационная Экспертиза техническая Инспекция Аудит | Заказчики ПЗ (ВП) Организации ВНС, ВТС |
Программный продукт на этапе производства и приемки | Экспертиза техническая Экспертиза организационная Инспекция Тестирование на стенде Аудит, регистрация и анализ результатов эксплуатации | Разработчики ОТК ПЗ (ВП) Организации ВНС, ВТС |
Способ реализации автоматизированного контроля качества ПССВ на всех этапах их жизненного цикла
Для обеспечения сквозного, тотального и непрерывного процесса контроля качества ПССВ, разрабатываемых в интересах Министерства обороны РФ, необходимо создать целый комплекс автоматизированных средств верификации. Алгоритм контроля качества представлен на рис. 4.
Рис. 4. Алгоритм контроля качества ПССВ
Все компоненты комплекса должны использовать единую базу артефактов. Для их формального представления предлагается применять унифицированный язык моделирования UML (Unified Modelling Language) [18], в настоящее время де-факто являющийся стандартом для визуального проектирования, документирования и описания программных систем. С помощью UML-диаграмм описывают как статические или структурные свойства проектируемой системы, так и ее динамические или поведенческие возможности. В качестве основы для построения модели процесса тестирования лучше всего использовать профиль UPT (UML Testing Profile) [19].
Для получения пригодного для компьютерной обработки формального описания Unified Modelling Language модели в настоящее время применяют следующие подходы: трансформации на основе графов, сети Петри, темпоральная логика, операционная семантика, денотационная семантика, конечные автоматы. Относительно новым и перспективным подходом к решению данной проблемы можно назвать язык описания метамоделей MOF (Meta Object Facility) [20] и протокол обмена метаданными XMI (XML Metadata Interchange) [21], разработанный компанией OMG (Object Management Group). XMI имеет следующие возможности:
- представление объектов в терминах XML- элементов и атрибутов;
- стандартные механизмы связывания объектов внутри одного файла или в разных файлах;
- верификация XM-документов с использованием XML-схем;
- идентификация объектов, которая позволяет обращаться к ним из других объектов по ID и
В результате совместного использования этих средств можно осуществить построение абстрактной метамодели ЖЦ ПССВ, разработать средства управления и обмена данными (моделями) для их трансформации в поддерживаемые технологии программирования и реализации автоматизированной верификации. Ярким примером и возможным прототипом таких средств является линейка продуктов MATLAB: Simulink, SystemTest, Simulink Design Verifier, Simulink Verification and Validation [22].
Заключение
Для критически важных систем доля трудозатрат на тестирование программного обеспечения и устранение выявленных дефектов составляет от 50 до 90 % всего бюджета проекта. При этом целым рядом исследований и работ, например [14, 15, 23, 24], было установлено, что удельная стоимость исправления дефектов программного обеспечения по мере его продвижения от стадии разработки требований к стадии эксплуатации возрастает по экспоненциальному закону распределения. Данную зависимость наглядно отражает представленный на рис. 5 график [25]. Он, в частности, показывает, что стоимость исправления дефекта, внесенного на этапе формирования требований и найденного на этапе проектирования, возрастает в 5 раз, а если он обнаруживается только на этапе тестирования - в 20 раз. Стоимость исправления дефектов, внесенных на этапе проектирования и обнаруженных на этапе применения, возрастает в десятки раз.
Рис. 5. Рост стоимости исправления ошибок
Реализация представленных в статье предложений по совершенствованию НМБ ПССВ, а также внедрение описанных методов и средств автоматизации позволит не только повысить качество ПССВ, разрабатываемого в интересах МО РФ, но и существенно снизить затраты на их производство и сопровождение.
Список литературы
1. Государственная программа вооружений на 2011–2020 гг. URL: http://www.nationaldefense.ru/includes/periodics/armament/2011/1212/14237820/detail.shtml (дата обращения 20.02.2016).
2. Coverity Scan: 2011 Open Source Integrity Report. URL: http://www.coverity.com/library/pdf/coverity-scan-2011-open-source-integrity-report.pdf (дата обращения 20.02.2016).
3. ГОСТ Р 51189–98. Порядок разработки программных средств систем вооружения. Введ. 1999–07–01. М.: Стандартинформ, 2010. 16 с.
4. ГОСТ 28195–89. Оценка качества программных средств. Общие положения. Введ. 1990–07–01. М.: Стандартинформ, 2001. 31 с.
5. ГОСТ 28808–89. Качество ПССВ. Термины и определения. Введ. 1992–01–01. М.: Стандартинформ, 2001. 8 с.
6. ГОСТ РВ 15.203–2001. Система разработки и постановки продукции на производство. Военная техника. Порядок выполнения опытно-конструкторских работ по созданию изделий и их составных частей. Основные положения. Введ. 2003–01–01. М.: Госстандарт России, 2005. 117 с.
7. ГОСТ 34.601–90. Автоматизированные системы. Стадии создания. Введ. 1992–01–01. М.: Стандартинформ, 2009. 6 с.
8. ГОСТ Р ИСО/МЭК 12207–2010. Процессы жизненного цикла программных средств. Введ. 2012–03–01. М.: Стандартнформ, 2011. 105 с.
9. ГОСТ Р ИСО/МЭК 15288–2005. Системная и программная инженерия. Процессы жизненного цикла систем. Введ. 2007–01–01. М.: Стандартинформ, 2006. 57 с.
10. ГОСТ Р ИСО/МЭК 25021–2014. Разработка систем и программ. Требования и оценка качества систем и программ (SQuaRE). Элементы показателя качества. Введ. 2014–06–11. М.: Стандартинформ, 2014. 51 с.
11. ГОСТ Р ИСО/МЭК 25041–2014. Разработка систем и программ. Требования и оценка качества систем и программ (SQuaRE). Руководство по оценке для разработчиков, покупателей и независимых оценщиков. Введ. 2014–06–11. М.: Стандартнформ, 2014. 49 с.
12. ГОСТ Р 56135–2014. Управление жизненным циклом продукции военного назначения. Общие положения. Введ. 2014–09–19. М.: Стандартинформ, 2015. 19 с.
13. ГОСТ Р 56136–2014. Управление жизненным циклом продукции военного назначения. Термины и определения. Введ. 2014–09–19. М.: Стандартинформ, 2015. 15 с.
14. Portal ISO 25000. URL: http://iso25000.com (дата обращения 22.02.2016).
15. Кулямин В.В. Методы верификации программного обеспечения. М.: Ин-т системного программирования РАН, 2008. 111 с.
16. Генельт А.Е. Управление качеством разработки программного обеспечения: СПб: ИТМО, 2007. 187 с.
17. ISO/IEC 9126 Software engineering. Product quality. Part 1–4. 2001.
18. Unified Modeling Languag. URL: http://www.uml.org (дата обращения 22.02.2016).
19. OMG specifications. URL: http://www.omg.org/spec/ (дата обращения: 18.03.2016).
20. OMG's MetaObject Facility. URL: http://www.omg.org/mof (дата обращения: 18.03.2016).
21. XML Metadata Interchange. URL: http://www.omg.org/spec/XMI/ (дата обращения: 18.03.2016).
22. Центр компетенций MathWorks URL: http://matlab.ru/products/simulink (дата обращения 23.03.2016).
23. Naveda J.F., Seidman S.B. IEEE Computer Society Real-World Software Engineering Problems: A Self-Study Guide for Today's Software Professional. ISBN: 978-0-471-71051-6 328 p. August 2006, Wiley-IEEE Computer Society Press.
24. COCOMO® II with Heuristic Risk Assessment. URL: http://sunset.usc.edu/research/COCOMOII/expert_cocomo/expert_cocomo2000.html (дата обращения 23.03.2016).
25. Selby R. W. Software Engineering: Barry W. Boehm's Lifetime Contributions to Software Development, Management, and Research. WileyIEEE Computer Society Press. June 2007. 832 p. ISBN 978-0-470-14873-0.
Об авторах
А. В. СамоновРоссия
Самонов Александр Валерьянович – кандидат технических наук, доцент, ведущий научный сотрудник
Область научных интересов: технология разработки программных средств систем вооружения, контроль качества программных средств.
г. Санкт-Петербург
С. А. Шаров
Россия
Шаров Сергей Алексеевич – начальник лаборатории
Область научных интересов: технология разработки программных средств систем вооружения, методы автоматизации технологических процессов проектирования программных средств.
г. Санкт-Петербург
Рецензия
Для цитирования:
Самонов А.В., Шаров С.А. Направления и способы совершенствования процессов контроля качества программных средств систем вооружения. Вестник Концерна ВКО «Алмаз – Антей». 2016;(1):21-31. https://doi.org/10.38013/2542-0542-2016-1-21-31
For citation:
Samonov A.V., Sharov S.A. Directions and methods of improving quality control processes for weapons system software. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2016;(1):21-31. https://doi.org/10.38013/2542-0542-2016-1-21-31