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 г.