Содержание

Что такое качество программного обеспечения и его основные характеристики

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

В 1979 году Crosby определил качество как «соответствие требованиям» («conformance to requirements»), а Juran и Gryna в 1970 году определили качество как «пригодность к использованию» (fitness for use).

«Соответствие требованиям» предполагает, что требования должны быть столь четко определены, что не могут быть поняты и интерпретированы некорректно. Какие-либо несоответствия должны рассматриваться как дефекты – отсутствие качества.

«Пригодность к использованию» принимает во внимание требования и ожидания конечных пользователей продукта, т.е. предоставляемый продукт или сервис будет удобным для их потребностей. Однако разные пользователи могут использовать продукт по-разному. А это значит, что продукт должен обладать максимально разными вариантами использования. Согласно определению Juran каждый вариант использования – это характеристика качества и все они могут быть классифицированы по категориям, как параметры пригодности к использованию. Иными словами, делает ли данный продукт то, в чем я нуждаюсь, облегчает ли он мою работу, могу ли я использовать его так, как мне удобно.

Проблема в том, что специфицируемые и собранные требования это обычно только часть всех реальных потребностей и ожиданий заказчика. Зачастую неявные требования настолько очевидны для заказчика или пользователя, что он даже не предполагает, что они неизвестны разработчикам. А разработчики, в свою очередь, не готовы брать на себя ответственность за то, что не описано в требованиях. Где же выход из этого круга?

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

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

Вместе с тем все это не так отвлеченно, как может показаться с первого раза. Существует набор стандартов ISO 9000, регулирующий общие принципы качества во всех отраслях. Наиболее важными стандартами в разработке ПО являются:

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

Что же все-таки с определением? На сегодняшний день их существует много, и все они друг на друга крайне похожи, можете сами в этом убедиться:

Основные характеристики качества (Software quality) ПО

Основные характеристики качества программного обеспечения (Software Quality Characteristics) описаны международными стандартами ISO 9126 и ISO 25010. На данный момент наиболее распространена и широко используется многоуровневая модель качества программного обеспечения, представленная в наборе стандартов ISO 9126 их 6:

  1. Функциональность (Functionality) – определяется способностью ПО решать задачи, отвечающие зафиксированным и ожидаемым потребностям пользователя, при заданных условиях использования ПО. То есть эта характеристика отвечает за то, что ПО работает исправно и точно, функционально совместимо, отвечает стандартам отрасли и защищен от несанкционированного доступа.
  2. Удобство использования (Usability) – возможность легкого понимания, изучения, использования и привлекательности ПО для пользователя.
  3. Эффективность (Efficiency) – способность ПО обеспечивать необходимый уровень производительности согласно выделенным ресурсам, времени и другим указанным условиям.
  4. Надежность (Reliability) – способность ПО выполнять необходимые задания в указанных условиях в течение заданного промежутка времени или указанного количества операций. Атрибуты данной характеристики – это завершенность и целостность всей системы, способность самостоятельно и корректно восстанавливаться после сбоев в работе, отказоустойчивость.
  5. Удобство сопровождения (Maintainability) – легкость, с которой ПО может анализироваться, тестироваться, изменяться для исправления дефектов, для реализации новых требований, для облегчения дальнейшего обслуживания и адаптироваться к существующему окружению.
  6. Портативность (Portability) – характеризует ПО с точки зрения легкости его переноса из одного окружения (software/hardware) в другое.

В более новой версии ISO 25010 список расширен до 8, добавлены

  1. совместимость (Compatibility)
  2. безопасность (Security).

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

Пример: Что такое качество в вашем понимании для ноутбука согласно стандартам?