База знань

Якість програмного забезпечення

Термінологія характеристик якості програмного забезпечення відрізняється у різних джерелах. Автори створили різні моделі якості зі своїм набором характеристик і атрибутів, які можуть бути корисні для обговорення, планування і оцінки самої якості програмних продуктів.

У 1979 році Crosby визначив якість як «відповідність вимогам» ( “conformance to requirements”), а Juran і Gryna в 1970 році визначили якість як «придатність до використання» ( “fitness for use”).

«Відповідність вимогам» передбачає, що вимоги повинні бути настільки чітко визначені, що не можуть бути зрозумілі і інтерпретовані некоректно. Будь-які невідповідності повинні розглядатися як дефекти – відсутність якості.

«Придатність до використання» приймає до уваги вимоги та очікування кінцевих користувачів продукту, тобто продукт або сервіс, що надається буде зручним для їхніх потреб. Однак різні користувачі можуть використовувати продукт           по-різному. А це означає, що продукт повинен володіти максимально різноманітними варіантами використання. Згідно з визначенням Juran, кожен варіант використання – це характеристика якості і всі вони можуть бути класифіковані за категоріями, в якості параметрів придатності до використання. Іншими словами, чи робить даний продукт те , в чому маю потребу ,чи полегшує він мою роботу, чи можу я його використовувати так, як мені зручно?

Проблема в тому, що специфіковані і зібрані вимоги це зазвичай лише частина всіх реальних потреб і очікувань замовника. Дуже часто неявні вимоги настільки очевидні для замовника або користувача, що він навіть не припускає, що вони невідомі розробникам. А розробники в свою чергу не готові брати на себе відповідальність за те, що не описано в вимогах. Де ж вихід з цього кола?

В першу чергу – це правильна побудова комунікації з замовником починаючи з самого першого етапу. Якісне виявлення потреб замовника менеджером або бізнес-аналітиком. Але не менш важливі фактори – це якісне написання коду програмістом і якісна перевірка ПЗ інженером . Все це запорука відмінної якості програмного забезпечення.

Замовник буде задоволений і приведе з собою ще замовників, тільки в тому випадку, якщо куплений товар буде повністю задовольняти його реальні і життєві потреби, як специфіковані, так і ні.

Але все це не на стільки абстрактно на скільки може здатися з першого разу. Існує набір стандартів ISO 9000, який регулює загальні принципи забезпечення якості у всіх галузях. Найбільш важливими стандартами в розробці ПЗ є:

  • ISO 9000: 2000 Quality management systems – Fundamentals and vocabulary;
  • ISO 9001: 2000 Quality management systems – Requirements. Models for quality assurance in design, development, production, installation, and servicing;
  • ISO 9004: 2000 Quality management systems – Guidelines for performance improvements;
  • ISO / IEC 90003: 2004 Software engineering – Guidelines for the application of ISO 9001: 2000 to computer software.

Так само в кожної компанії можуть бути розроблені свої стандарти якості, що відповідають конкретній специфіці роботи і відповідно до її вимог.

Що ж все таки з визначенням? На сьогоднішній день їх існує багато, і всі вони один на одного вкрай схожі, можете самі в цьому переконатися:

[1061-1998 IEEE Standard for Software Quality Metrics Methodology]

Якість ПЗ – це ступінь, в якій ПЗ володіє необхідною комбінацією властивостей.

[IEEE Std 610.12-1990]

Якість ПЗ – ступінь, в якій система, компонент або процес задовольняють потреби або очікування замовника чи користувача.

[ISO / IEC 25000: 2014 Повне]

Якість ПЗ – здатність програмного продукту при заданих умовах задовольняти встановлені або передбачувані потреби.

[ISO 8402: 1994 Quality management and quality assurance]

Якість ПЗ – це сукупність характеристик ПЗ, що відносяться до його здатності задовольняти встановлені і передбачувані потреби.

 

Характеристики якості ПЗ:

Функціональність (Functionality) – визначається здатністю ПЗ вирішувати завдання, які відповідають зафіксованим і очікуваним потребам користувача, при заданих умовах використання ПЗ. Тобто ця характеристика відповідає за те, що ПЗ працює справно і точно, функціонально сумісно, відповідає стандартам галузі і захищене від несанкціонованого доступу.

Надійність (Reliability) – здатність ПЗ виконувати необхідні завдання в визначених умовах протягом заданого проміжку часу або вказану кількість операцій. Атрибути даної характеристики – це завершеність і цілісність всієї системи, здатність самостійно і коректно відновлюватися після збоїв в роботі, стійкість до відмов.

Зручність використання (Usability) – можливість легкого розуміння, вивчення, використання і привабливості ПЗ для користувача.

Ефективність (Efficiency) – здатність ПЗ забезпечувати необхідний рівень продуктивності у відповідність з виділеними ресурсами, часом і іншими визначеними умовами.

Зручність супроводу (Maintainability) – легкість, з якою ПЗ може аналізуватися, тестуватися, змінюватися для виправлення дефектів, для реалізації нових вимог, для полегшення подальшого обслуговування та адаптуватися іменованому оточенню.

Портативність (Portability) – характеризує ПЗ з точки зору легкості його перенесення з одного оточення (software / hardware) в інше.

 

Модель якості програмного забезпечення

На даний момент найбільш поширена і найчастіше використовується багаторівнева модель якості програмного забезпечення, представлена в наборі стандартів ISO 9126.

На верхньому рівні виділено 6 основних характеристик якості ПЗ, кожну з яких визначають набором атрибутів, що мають відповідні метрики для подальшої оцінки (див. Діаграму).

Модель якості програмного забезпечення (ISO 9126-1):

tablitsa

Набагато більше інформації на курсі базовий модуль тестування