Модели качества программного обеспечения 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Модели качества программного обеспечения



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

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

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

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

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

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

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

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

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

 

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модель Гецци

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

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

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

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

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

 

Модель качества ISO 9126

Качество программного обеспечения определяется в стандарте ISO 9126-1 [2] как всякая совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц.

Модель качества ISO 9126-1 различает понятия внутреннего качества, связанного с характеристиками ПО самого по себе, без учета его поведения; внешнего качества, ха­рактеризующего ПО с точки зрения его поведения; и качества ПО при использовании в различных контекстах - того качества, которое ощущается пользователями при кон­кретных сценариях работы ПО. Для всех этих аспектов качества введены метрики, по­зволяющие оценить их. Кроме того, для создания надежного ПО существенно качество технологических процессов его разработки. Взаимоотношения между этими аспектами качества по схеме, принятой ISO/IEC 9126 (ISO/IEC 9126-1:2001 [2]; ISO/IEC TR 9126­2:2003 [12], ISO/IEC TR 9126-3:2003 [13], ISO/IEC TR 9126-4:2004 [14]), показано на Рис 3.

 

Рисунок 3. Основные аспекты качества программного обеспечения

 

На рис. 4 представлены факторы и атрибуты внешнего и внутреннего качества программного обес­печения в соответствии с ISO/IEC 9126.

Рисунок 4. Факторы и атрибуты внешнего и внутреннего качества программного обеспечения

 

На рис. 5 приведена модель оценивания согласно ISO/IEC 9126.

Рисунок 5. Модель оценивания надежности программного обеспечения согласно стандарта ISO / IEC 9126

 

Модель качества QMOOD

Джагдиш Банзия и Карл Дэвис [15] предложили иерархическую модель качества для объектно-ориентированного проектирования (QMOOD), которая расширяет мето­дологию модели качества Дроми и включает в себя четыре уровня:

1) Определение показателей качества проекта: набор атрибутов качества проекта, которые используются в QMOOD для описания характеристик объектно­ориентированных систем включат: функциональность, эффективность, понятность, расширяемость, возможность многократного использования и гибкость.

2) Определение объектно-ориентированных свойств проекта: свойства проекта мо­гут быть определены в процессе исследования внутренней и внешней структуры, функциональности компонент проекта, атрибутов, методов и классов. Структур­ным и объектно-ориентированным множеством свойств проекта, которые исполь­зуются в QMOOD, являются: размер проекта, иерархическая структура, инкапсуля­ция, связанность, состав проекта, наследование, полиморфизм, обмен информаци­ей, сложность.

3) Определение объектно-ориентированных метрик проекта: различные объектно­ориентированные метрики проекта.

4)   Определение объектно-ориентированных свойств проекта: Компоненты проекта были определены для определения архитектуры объектно-ориентированного про­екта. Эта модель определяет парадигму, а также вводит ряд новых объектно­ориентированных метрик.

 

 

Другие модели качества

Модель качества, описанная в [16], представила два различных подхода к показате­лям качества на протяжении всего жизненного цикла программного обеспечения. Ха­рактеристики качества могут быть сведены к двум группам:

1) эффективность, безопасность, доступность и функциональность;

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

Согласно модели качества Хосрави К. и др. [18] процесс оценки качества состоит из двух задач:

1) выбор глобальной характеристики;

2) выбор подхарактеристик, связанных с глобальной характеристикой.

Эта модель качества основана на многократном использовании программного обеспе­чения в качестве глобальной характеристики и акценте на возможности многократного использования, понятности, гибкости, модульности, надежности, масштабируемости и удобстве использования. Модель качества Хосрави и др. связала показатели качества и подхарактеристики, используя определения IEEE, ISO/IEC и некоторых других моделей качества.

Для оценки качества программного обеспечения на основе теории нечетких мно­жеств и метода анализа иерархий, Чанг и др. [18] были определены руководящие прин­ципы и это подход ими был применен к модели качества ISO 9126-1. Оценки качества программного обеспечения основаны на характеристиках и подхарактеристиках модели ISO 9126-1.

Шармой А. и др. [19] была предложена компонентно-ориентированная модель ка­чества разработки программного обеспечения, которая включает все характеристики и подхарактеристики модели качества ISO 9126-1, а также предлагает новые подхаракте­ристики, такие как пригодность к повторному использованию, гибкость, сложность, прослеживаемость, масштабируемость. Метод анализа иерархий в этой модели исполь­зуется для оценки качества проекта.

4. МНОГОУРОВНЕВЫЙ ПОДХОД К МОДЕЛЯМ КАЧЕСТВА [2]

На рисунке 6 представлены характеристики качества программных средств (по ГОСТ 28195–89. ГОСТ 28195-89 Оценка качества программных средств. Общие положения).

В основе моделей качества лежит многоуровневый подход (количество слоев мо­жет быть 2 /модели МакКола и Боэма/ или 3 слоя /включая метрики/).

Сравнительный анализ характеристик различных моделей качества программного обеспечения приве­ден в таблице 2.1.

 

 


 

 

Рисунок 6. Характеристики качества программных средств

(по ГОСТ 28195–89. ГОСТ 28195-89 Оценка качества программных средств. Общие положения).

 


Таблица 2.1. Сравнительный анализ моделей качества программного обеспечения

Характеристики качества МакКол Боэм FURPS/ FURPS+ Гецци Дроми ISO 9126 Казман Хосрави Шармоа
Корректность       +          
Надежность + + + + + + +   +
Корректность +                
Эффективность + + + + + + +   +
Гибкость +     +     + +  
Функциональность     +   + + +   +
Эргономичность проетирования   +              
Целостность       +          
Функциональная совместимость +                
Сопровождаемость + + + + + + +   +
Модифицируемость   +              
Производительность     +            
Мобильность + +   + + +     +
Зрелость процесса         +        
Возможность многократного использования +     +       +  
Устойчивость               +  
Масштабируемость               +  
Безопасность     +       +    
Эксплуатационная пригодность     +            
Тестируемость + +         +    
Понятность   + +            
Практичность +   + + + + + + +

 

 


5. ОПИСАНИЕ МОДЕЛЕЙ ОЦЕНКИ НАДЕЖНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ [3]

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


Рисунок 7. Классификационная схема модели надежности программных средств
 



Поделиться:


Последнее изменение этой страницы: 2020-11-23; просмотров: 4077; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.202.187 (0.03 с.)