Материал: Модели качества ПО

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

4585

УДК 004.05 + 006

СРАВНЕНИЕ МОДЕЛЕЙ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ:

АНАЛИТИЧЕСКИЙ ПОДХОД

Е.Ф. Жарко

Институт проблем управления им. В.А. Трапезникова РАН

Россия, 117997, Москва, Профсоюзная ул., 65 E-mail: zharko@ipu.ru

Ключевые слова: качество, модели, анализ, системы

Аннотация: Качество программного обеспечения имеет многомерный контент, который можно легко выделить и измерить. Настоящая работа в первую очередь направлена на обзор и сравнение существующих моделей качества программного обеспечения.

1. Введение

Инженерия разработки программного обеспечения (ПО) – это применение систематического подхода, стандартов и количественного измерения характеристик ПО к разработке, использованию и сопровождению программного обеспечения. В связи с развитием технологий важность программной инженерии постоянно растет, а соответственно все более востребованным являются методы определения качества программного обеспечения. Сложность процесса разработки и сопровождения программного обеспечения во многом обуславливается особыми требованиями, предъявляемыми к его качеству. Этот фактор обосновывает важность разработки формализованных методов управления качеством ПО. В настоящий момент используются несколько определений понятия качества ПО, которые в целом совместимы друг с другом. Обобщая определе-

ния стандартов, можно заключить, что качество программного обеспечения это способность программного продукта (ПП) к удовлетворению установленных или предполагаемых потребностей при использовании в заданных условиях.

Качество программного обеспечения играет важную роль для всей системы в целом. Так, качество ПО рассматривается как очень важный аспект для разработчиков,

пользователей и руководителей проектов. Качество программного обеспечения величина отражающая в каком объеме в программный продукт включен набор желаемых функций для повышения эффективности ПП в течение жизненного цикла [1]. Для любой системы, использующей программное обеспечение, должны быть разработаны три вида спецификаций, такие как функциональные требования, требования к качеству, требования к ресурсам. Качество включает в себя все характеристики и существенные особенности продукта или его функционирования, которые относятся к удовлетворению заданных спецификациями требований.

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

XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014

Москва 16-19 июня 2014 г.

4586

продукта. Разработка программного обеспечения, связывающая такие элементы как технологии, средства, сотрудники, организация и оборудование, рассматриваются в контексте качества процедур разработки ПО. Тем не менее, качество программного продукта состоит из определенных аспектов, таких как ясность документации и целостность, прослеживаемость проекта, надежность ПО и полнота тестирования основных характеристик программного продукта. Модель качества обычно определяется набором характеристик и отношений между ними, которые фактически обеспечивают основу как для определения требования качества, так и оценки качества программного обеспечения [2]. Модель качества также можно определить структурированный набор свойств, которые необходимы для удовлетворения определенных целей [3]. Преимущество модели качества заключается в декомпозиции значимого для программного обеспечения объектов, таких как процессы жизненного цикла, программный продукт, на ряд своих характеристик/подхарактеристик. Качество, кроме описания и измерения функциональных аспектов программного обеспечения также описывает дополнительные функциональные свойства такие как «как был создан программный продукт» и «как он работает».

2. Модели качества ПО

Пользователи программного обеспечения испытывают потребности в создании моделей качества программного обеспечения для оценки качества как качественно, так и количественно. Модели качества, которые имеются в настоящее время, в большинстве случаев являются иерархическими моделями на основе критериев качества и связанных с ними показателей (метрик). Все модели качества могут быть разделены на три категории в соответствии с методами, на основе которых они были созданы. К первому виду можно отнести теоретические модели, основанные на гипотезе отношений между переменными качества. Ко второму виду относятся модели «управления данными», основанные на статистическом анализе. И наконец, комбинированная модель, в которой интуиция исследователя используется для определения нужного вида модели, а анализ данных используется для определения констант модели качества.

2.1. Модель МакКола

Первая модель качества была предложена МакКолом [4-6]. Предложенная модель была в основном предназначена для определения полной характеристики качества программного продукта через его различные характеристики. Модель качества МакКола (см. рис. 1) имеет три главных направления для определения и идентификации качества программного обеспечения:

использование (корректность, надежность, эффективность, целостность, практичность);

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

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

2.2. Модель Боэма

Второй из основополагающих моделей качества является модель качества Боэма [7]. Модель Боэма имеет недостатки современных моделей, которые автоматически и

XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014

Москва 16-19 июня 2014 г.

4587

качественно оценивают качество программного обеспечения. В сущности, модель Боэма пытается качественно определить качество программного обеспечения заданным набором показателей и метрик. Модель качества Боэма представляет характеристики программного обеспечения в более крупном масштабе, чем модель МакКола. Модель Боэма похожа на модель качества МакКола тем, что она также является иерархической моделью качества, структурированную вокруг высокоуровневых, промежуточных и примитивных характеристик, каждая из которых вносит свой вклад в уровень качества программного обеспечения.

Факторы качества

Корректность

 

 

Надежность

 

 

 

 

 

Эффективность

 

 

 

 

 

 

обеспечения

Целостность

 

 

 

Практичность

программного

 

 

 

 

Тестируемость

 

 

 

 

 

Гибкость

Качество

 

 

 

 

 

 

Сопровождаемость

 

 

 

 

 

Возможность многократного

 

 

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

Функциональная

совместимость

Мобильность

Рис. 1. Модель качества программного обеспечения МакКола.

Критерии качества

Прослеживаемость

Функциональная полнота

Последовательность

проектирования

Правильность

Устойчивость к ошибкам

Эффективность

выполнения

Управление доступом

Контроль за доступом

Удобство работы

Удобство обучения

Способность к взаимодействию

Простота работы

Краткость

Полнота

протоколирования

Информативность

Расширяемость

Широта использования

Модульность

Независимость от программной платформы

Независимость от аппаратной платформы

Унификация интерфейсов

Унификация данных

XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014

Москва 16-19 июня 2014 г.

4588

В этой модели практичность описывает, как легко, надежно и эффективно программный продукт может быть использован, сопровождаемость характеризует насколько легко изменить и повторно протестировать программный продукт, и мобильность описывает, как программный продукт может использоваться, даже при изменении программных и аппаратных средств.

Факторы качества

Критерии качества

Качество программного продукта

Рис. 2.

 

 

 

Мобильность

 

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

 

 

 

 

 

 

 

 

 

 

 

Автономность

 

 

 

 

 

 

 

 

 

 

 

Правильность

 

 

 

 

 

 

 

 

 

 

 

Функциональная полнота

 

 

 

Надежность

 

 

 

 

 

 

Ошибкоустойчивость /

 

 

 

 

 

 

 

 

 

 

Целостность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Последовательность

 

 

 

Эффективность

 

проектирования

 

 

 

 

 

 

 

 

 

 

 

Отслеживаемость

 

 

 

 

 

 

 

 

 

Эргономичность

 

 

 

 

 

Эффективность устройства

 

 

 

проектирования

 

 

 

 

 

 

Практичность

 

 

 

Доступность

 

 

 

 

 

 

 

 

 

 

Тестируемость

 

Коммуникативность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Информативность

 

 

 

 

 

 

Сопровождаемость

 

 

 

Структурированность

 

 

 

 

 

 

 

 

 

Понятность

 

Краткость

 

 

 

 

 

 

 

 

 

 

 

Удобочитаемость

 

 

 

 

 

 

 

 

 

Модифицируемость

 

Дополняемость

Модель качества программного продукта Боэма.

 

2.3. Модель FURPS/FURPS+

Акроним FURPS, используемый в обозначении модели, обозначает следующие категории требований к качеству ПО:

Functionality (Функциональность) /особенности, возможности, безопасность/;

Usability (Практичность) /человеческий фактор, эргономичность, пользовательская документация/;

Reliability (Надежность) /частота отказов, восстановление информации, прогнозируемость/;

Performance (Производительность) /время отклика, пропускная способность, точность, доступность, использование ресурсов/;

Supportability (Эксплуатационная пригодность) /тестируемость, расширяемость, адаптируемость, сопровождаемость, совместимость, конфигурируемость, обслуживаемость, требования к установке, локализуемость/.

Символ «+» расширяет FURPS модель, добавляя к ней:

XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014

Москва 16-19 июня 2014 г.

4589

ограничения проекта (ограничения по ресурсам, требования к языкам и средствам разработки, требования к аппаратному обеспечению);

интерфейс (ограничения накладываемые на взаимодействие с внешними системами);

требования к выполнению,

физические требования,

требования к лицензированию.

FURPS модель качества [8], предложенная Грейди и Hewlett Packard, построена схожим образом с моделями МакКола и Боэма, но в отличие от них состоит из двух слоев, первый определяет характеристики, а второй связанные с ними атрибуты. Основной концепцией, лежащей в основе FURPS модели качества, является декомпозиция характеристик программного обеспечения на две категории требований, а именно, функциональные (F) и нефункциональные (URPS) требования. Эти выделенные категории могут быть использованы как в качестве требований к программному продукту, так и в оценке качества ПП. В настоящее время модель FURPS+ широко используется в разработке программного обеспечения и при идентификации требований к разрабатываемой системе целесообразно использование FURPS+ модели в качестве универсального контрольного перечня характеристик ПО.

2.4. Модель Гецци

Карло Гецци и соавторы [9] различают качество продукта и процесса. Согласно модели Гецци к качеству программного обеспечения относят следующие характеристики программного обеспечения: целостность, надежность и устойчивость, производительность, практичность, верифицируемость, сопровождаемость, возможность многократного использования, мобильность, понятность, возможность взаимодействия, эффективность, своевременность реагирования, видимость процесса разработки.

2.5. Модель качества Дроми

Модель качества Дроми [10] основана на критериях оценки. Модель Дроми стремится оценить качество системы, в то время как каждый программный продукт, имеет качество отличное от других. Модель Дроми помогает в предсказании дефектов ПО и указывает на те свойства ПО, пренебрежение которыми может привести к появлению дефектов. Эта модель основывается на отношениях между характеристиками качества и подхарактеристиками, между свойствами программного обеспечения и характеристиками качества ПО.

2.6.Модель качества SATC

ВЦентре обеспечения качества программного обеспечения NASA (Software Assurance Technology Center, SATC) была разработана программа метрик [11], обеспечивающая оценку рисков проекта, качества продукции и эффективности процессов. Программа SATC рекомендует отдельно отслеживать качество требований, качество программного обеспечения и других продуктов (документации), качество тестирования и качество выполнения процессов. Модель качества SATC определяет набор целей, связанных с программным продуктом и атрибуты процессов в соответствии со структурой модели качества программного обеспечения ISO 9126-1.

XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014

Москва 16-19 июня 2014 г.