Построение модели качества программных средств космического назначения

В статье рассматриваются особенности построения модели качества для проектирования и верификации программных средств космического назначения на основе требований современных стандартов ISO/IEC 25010 и ECSS-Q-80-03.

Исмаил Есмагамбет, Топоров Виктор

220
В ЗАКЛАДКИ

Введение

Как показывает статистика, около 20% аварий ракетно-космической техники было связано с отказами программно-технических комплексов и дефектами программных средств [1]. Эти обстоятельства порождают необходимость гарантированного придания применяемым в космических системах программным средствам (программные средства космического назначения – ПСКН) заданных свойств качества, в том числе надёжности и безопасности, способности противостоять сбоям и ошибкам различных видов.
В современной передовой практике для описания и оценки качества программных средств (ПС) используется понятие «модель качества» (далее – МК), которое является основой как для формального описания характеристик качества и их отношений, так и для оценки качества ПС. Модель качества представляет собой структурированное множество взаимосвязанных характеристик и отношений между ними. Структура МК ПС описывается иерархией, элементами которой являются множества характеристик (подхарактеристик, атрибутов) и отношений подчинённости между ними.
Пользователи и разработчики испытывают потребности в создании МК, применимых для описания и оценки качества конкретного ПС с учётом его назначения, специфики и условий применения. Однако для оценки качества ПС специального назначения стандартизованные МК не всегда подходят в полной мере.
Широкий спектр требований к качеству ПСКН, в зависимости от их назначения, принципиальных особенностей и условий эксплуатации, приводит к необходимости адаптации и детализации рекомендаций существующих базовых стандартов, регламентирующих качество программного обеспечения. Прежде всего это относится к ПСКН критического применения.

Основные требования и принципы построения модели качества ПС

Основной задачей построения МК программного средства является формирование, с учётом назначения, особенностей, условий эксплуатации, степени важности отдельных требований и др., номенклатуры актуальных характеристик его свойств и отношений между ними, обеспечивающих основу для определения требований к качеству данного класса ПС и достоверной оценки уровня его качества.
МК для ПС, как правило, строится на базе международных стандартов, которые регламентируют показатели качества [2, 3]. Однако в стандартизованных МК устанавливаются в основном базовые характеристики качества для ПС общего назначения без учёта особенностей определённых типов (классов) ПС. Для конкретного разрабатываемого ПС необходимо, исходя из его функционального назначения, особенностей, степени важности отдельных требований, построить адаптированную МК.
Анализ показывает, что существующие на сегодняшний день подходы и методы построения МК ПС практически все основаны на формировании иерархической структуры характеристик [2]. На верхнем уровне расположены характеристики качества, детализируемые показателями более низких уровней до тех пор, пока декомпозиция не приводит к атомарным и измеримым атрибутам. Отличия же заключаются в предлагаемом числе уровней иерархии (от двух и более), а также в самих характеристиках верхнего уровня иерархии, отдельные из которых всё же совпадают.
Целесообразность иерархической структуры для МК ПС объясняется, во-первых, тем, что многоуровневая структура показателей качества предоставляет системное описание требований к программному средству, позволяя заинтересованным сторонам задать желаемые свойства (характеристики) программного продукта.
Во-вторых, большинство базовых показателей качества, таких как функциональное соответствие, надёжность, безопасность и др., не могут быть непосредственно измерены и оценены. Для получения оценок этих показателей они могут быть представлены совокупностью более узких характеристик нижнего уровня (оценочные показатели), которые, в свою очередь, также могут быть детализированы. Такая детализация осуществляется до тех пор, пока характеристики нижнего уровня иерархии будут легко оцениваемыми и обеспечат получение объективных количественных оценок. Характеристики нижнего уровня, выраженные в физических или относительных единицах, называют единичными показателями качества.
Построение МК ПС проводится путём детального и последовательного описания сверху вниз многоуровневой структуры показателей, от характеристик верхнего уровня иерархии до оценочных элементов (единичных показателей). При этом оценочный элемент должен обеспечить непосредственное определение наличия того или иного свойства в ПС.
Оценка достигнутых показателей качества идёт в обратном направлении: от оценки единичных оценочных элементов до агрегированной оценки вышестоящих показателей качества в МК ПО.
На сегодняшний день не существует общепринятой методики построения МК ПС, позволяющей сводить факторы качества к конечному набору количественных оценочных показателей, значения которых были бы легко и объективно оцениваемыми.
В то же время практикой выработаны общие требования и рекомендации по формированию системы характеристик качества ПС. Применительно к системе характеристик качества ПСКН эти требования можно сформулировать следующим образом.
  • МК ПСКН рекомендуется строить на основе современных международных стандартов, регламентирующих показатели качества ПС, с учётом функционального назначения, специфики и требований области применения.
  • Система характеристик качества ПСКН должна формироваться на основе стандартных характеристик верхнего уровня иерархии с учётом требований всех заинтересованных сторон.
  • Целесообразно спроектировать обобщённую базовую МК для нескольких групп (классов) ПСКН с максимально возможным перечнем показателей качества и в каждом конкретном случае на основе базовой модели строить МК для определённой группы или конкретного ПСКН, расширяя или сужая диапазон базовых показателей качества.
  • Система характеристик качества ПСКН должна описывать все основные свойства и особенности программных средств данного класса, иметь возможность последующего уточнения и детализации.
  • Оценочные характеристики качества должны формироваться на основе принципа понятности и измеримости значений.
  • Большие группы характеристик качества ПСКН должны быть разбиты на логически связанные подгруппы, число подхарактеристик в которых не должно превышать 5–7.
  • Каждая характеристика качества должна описывать важное свойство программного средства данного класса.
  • Характеристики качества не должны перекрывать и дублировать друг друга.
  • Единичные показатели качества, выраженные в физических единицах, должны быть преобразованы в относительные единицы, лежащие в интервале от 0 до 1 (нормированы). 
На основе результатов сравнительного анализа современных МК ПС [2] показана целесообразность построения базовой модели качества для ПСКН на основе стандартной модели ISO/IEC 25010 [3]. Однако для применения к конкретным типам ПСКН она должна быть адаптирована с учётом особенностей, предъявляемых требований, условий применения путём выбора актуальных характеристик и подхарактеристик, а также возможного добавления дополнительных атрибутов качества.

Методика построения МК ПС

Построение МК ПСКН следует проводить с учётом назначения ПС, типа (класса), стадии жизненного цикла, на котором она будет применяться.
На первом этапе за основу следует брать всю базовую номенклатуру характеристик, подхарактеристик и атрибутов качества программного продукта по ISO 25010. Их описания желательно предварительно упорядочить по приоритетам с учётом назначения и сферы применения конкретного проекта программного средства. Далее необходимо выделить и ранжировать по приоритетам потребителей, которым необходимы определённые показатели качества проекта программного средства с учётом их профессиональных интересов. Подготовка исходных данных завершается выделением номенклатуры базовых приоритетных показателей качества, определяющих функциональную пригодность программного средства для определённых потребителей.
На втором этапе после фиксирования исходных данных необходимо провести ранжирование характеристик и подхарактеристик для конкретного проекта. Далее для каждого из отобранных показателей должна быть установлена и согласована метрика и шкала оценок подхарактеристик и их атрибутов. Выбранные значения характеристик качества и их атрибутов должны быть предварительно проверены разработчиками на их реализуемость с учётом доступных ресурсов конкретного проекта и при необходимости откорректированы.
В номенклатуре показателей качества нужно указывать приоритетность каждого из показателей. Наивысший приоритет следует интерпретировать как обязательное выполнение разработчиком соответствующего требования к указанному свойству или атрибуту качества. Низшее значение приоритета означает, что данный показатель может не учитываться в данном проекте. Промежуточные значения приоритетов должны отражать относительное влияние соответствующих атрибутов на качество ПС и его свойства с учётом доступных ресурсов для их реализации. Для конкретного программного проекта ПСКН состав и значения приоритетов следует адаптировать и уточнять с учётом их назначения и функций.
Номенклатура показателей качества для каждого типа (класса) ПСКН представляется в виде таблиц применяемости показателей качества, в которой, кроме обязательных и рекомендуемых показателей качества, целесообразно также установить коэффициенты весомости (значимости) каждого из показателей. При определении коэффициентов весомости показателей качества обычно используется либо метод стоимостных регрессионных зависимостей (стоимостной метод), либо метод предельных и номинальных значений (вероятностно-статистический метод) [4], но их использование затруднено из-за отсутствия необходимых исходных данных. Поэтому на практике наиболее распространён экспертный метод определения коэффициентов весомости.
Таблицы применяемости являются основой для выбора рабочей номенклатуры показателей качества конкретного ПСКН. Рабочая номенклатура ПС устанавливается с учётом:
  • назначения и условий использования ПСКН;
  • результатов анализа требований пользователя (заказчика);
  • состава, структуры и специфики характеризуемых свойств. 
При выделении свойств и соответствующих показателей качества ПСКН необходимо руководствоваться следующими основными принципами:
  • необходимо выделить совокупность свойств, характеризующих качество оцениваемого ПСКН, и упорядочить их по чётко определённому принципу в виде многоуровневой иерархической структуры – дерева свойств;
  • дерево свойств должно отражать все основные особенности использования и функционирования оцениваемого ПСКН;
  • для каждого из выделенных свойств ПСКН должен быть определён соответствующий показатель качества. Для сложного свойства должна быть установлена группа показателей, необходимых и достаточных для определения этого свойства;
  • для каждого из выделенных свойств и показателей качества ПС должна существовать возможность выражения их в шкалах «лучше–хуже», «больше–меньше»;
  • выбранные показатели качества должны быть коррелированы с соответствующими свойствами ПСКН. Это значит, что между каждым из выделенных свойств и характеризующими его показателями должно быть установлено однозначное соответствие. Установление такого соответствия позволяет вместо дерева свойств использовать дерево показателей качества программного продукта;
  • исходная (рабочая) номенклатура показателей должна быть открытой, то есть должна допускать возможность внесения или исключения из неё отдельных элементов. Это требование обусловлено, с одной стороны, большим разнообразием ПС и условий их применения, а с другой – недостаточным опытом оценки качества ПС;
  • для выбранных показателей качества ПС должен быть обеспечен принцип непротиворечивости, то есть улучшение одного показателя не должно приводить к ухудшению другого.

Базовая МК ПСКН

В соответствии с изложенными принципами и рекомендациями сформирована базовая система характеристик качества для различных групп (классов) ПСКН на основе стандартных характеристик верхнего уровня иерархии стандартной МК ПС ISO/IEC 25010. С учётом особенностей ПСКН обоснована целесообразность введения в базовую систему характеристик качества дополнительной характеристики «качество требований», которая аналогично МК SATC НАСА в общем случае может включать следующие подхарактеристики [5]:
  • однозначность требований;
  • полнота требований и охвата потребностей;
  • понятность требований;
  • изменчивость требований;
  • прослеживаемость требований;
  • полнота и корректность требований к условиям эксплуатации. 
Таким образом, базовая система харак­теристик качества ПСКН включает:
  • функциональное соответствие;
  • эффективность функционирования;
  • совместимость;
  • удобство использования;
  • надёжность;
  • защищённость;
  • сопровождаемость;
  • мобильность или переносимость;
  • качество требований. 
Таблица 1 построена с учётом изложенных предложений и демонстрирует применяемость показателей качества ПСКН. В ней указаны только некоторые группы ПСКН, актуальные с точки зрения разработчиков (при необходимости число групп ПСКН может быть увеличено или сокращено с учётом специфики конкретного программного проекта). 
Примечания.
  1. Знак «+» означает применяемость соответствующих показателей качества ПСКН, знак «–» – неприменяемость, знак «±» – ограниченную применяемость.
  2. Группы ПСКН имеют следующие наименования: 
    • группа 1 – ПС бортовых комплексов управления космическими аппаратами;
    • группа 2 – ПС бортовых вычислительных комплексов ракет-носителей, разгонных блоков;
    • группа 3 – ПС технических и стартовых комплексов, наземных автоматизированных комплексов управления космическими аппаратами, наземного оборудования и сооружений;
    • группа 4 – ПС полезных нагрузок;
    • группа 5 – ПС для космических экспериментов и моделирования;
    • группа 6 – другие критические ПСКН. 
Приоритетным требованием качества для ПСКН критического применения является гарантия качества, или гарантоспособность (dependability), под которой понимается доказанная уверенность способности ПС надёжно и безопасно выполнять необходимые функции в течение заданного времени, невзирая на возникшие внутренние и внешние возмущения [6]. В связи с этим предлагается базовую МК ПСКН критического применения дополнить комплексной характерис-тикой качества – гарантоспособностью, которая в общем случае может включать следующие подхарактеристики [6]:
  • безотказность (reliability);
  • функциональная безопасность (functional safety);
  • степень готовности (availability);
  • живучесть (survivability);
  • целостность (integrity);
  • конфиденциальность (confidentiality);
  • достоверность (high confidence, trust­worthiness);
  • обслуживаемость (maintainability);
  • диагностируемость;
  • восстанавливаемость;
  • многоверсионность;
  • наличие резервирования. 
Как правило, требования к качеству критических ПСКН должны обязательно включать следующие подхарактеристики гарантоспособности:
  • безотказность;
  • функциональная безопасность;
  • живучесть. 
Структура базовой МК ПСКН представлена на рис. 1.

Её отличительной особенностью является то, что она построена на основе системы стандартных характеристик верхнего уровня иерархии современной МК ISO/IEC 25010 с дополнением её характеристикой качества требований из модели качества SATC НАСА и комплексной характеристикой гарантоспособности (dependability), рекомендованной стандартом ECSS-Q-80-03-2006.

Заключение

Качество программного обеспечения должно оцениваться, исходя из определённой МК. За последние годы создано множество международных стандартов, регламентирующих МК программных средств. Однако применение этих стандартов требует их адаптации путём добавления или исключения некоторых положений стандартов с учётом принципиальных особенностей конкретных программных продуктов и условий их использования.
Построение МК ПС является одним из важнейших этапов оценки качества и позволяет определить необходимость использования при оценке качества ПСКН тех или иных характеристик и подхарактеристик. От полноты и адекватности применяемой системы характеристик зависит достоверность получаемой оценки. На выбор МК влияет множество различных факторов.
Основными особенностями ПСКН, которые необходимо учитывать при построении МК, являются:
  • повышенные требования к надёжности и функциональной безопасности;
  • необходимость гарантированного придания ПСКН заданных свойств качества, безопасности и способности противостоять нарушениям функционирования системы, сбоям и ошибкам различных видов;
  • ПСКН критического применения должны обладать такими важными свойствами, как отказоустойчивость и восстанавливаемость, наличие встроенных функций диагностики и тестирования;
  • для всесторонней оценки качества ПСКН возможно использование параллельно нескольких разных моделей. 
Следует отметить, что задача построения модели характеристик качества ПС не теряет свою актуальность со временем. Объяснить это можно тем, что, во-первых, невозможно разработать универсальную систему характеристик для всех классов ПС, во-вторых, однажды построенная МК для некоторого класса ПС с течением времени перестаёт соответствовать динамике развития его функциональных возможностей. ●

Литература

  1. Безопасность критических инфраструктур: математические и инженерные методы оценки и обеспечения / под ред. Харченко В.С. – Харьков : Нац. аэрокосм. ун-т ХАИ. – 2011.
  2. Исмаил Е.Е. Современные модели качества программных средств и их особенности // МНЖ «Поиск». – 2015. – № 3 (1). – С. 272–282.
  3. ISO/IEC 25010:2011. Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – System and software quality models.
  4. Мишин В.М. Исследование систем управления : учебник для вузов. – М. : ЮНИТИ-ДАНА, 2005.
  5. Hyatt L.E., Rosenberg L.H. A Software Quality Model and Metrics for Identifying Project Risks and Assessing Software Quality // Proceedings of Product Assurance Symposium and Software Product Assurance Workshop. – Noordwijk, 1996. P. 209–212.
  6. ECSS-Q-80B-2003. Space Product Assurance – Software Product Assurance [Электронный ресурс] // Режим доступа : http://www.lab.dit.upm.es/~insw/alumnos/recursos/ECSS-Q-80B_10October2003.pdf
E-mail: ismaile@rambler.ru


ПОДПИСАТЬСЯ НА НОВОСТИ

Будьте всегда в курсе самых свежих новостей
и узнавайте первыми о содержании нового номера

Подписка на новости

РЕКОМЕНДУЕМ