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

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

В 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] Качество ПО – это совокупность характеристик ПО, относящихся к его способности удовлетворять установленные и предполагаемые потребности.

Основные характеристики качества программного обеспечения (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 для стандартизированной оценки и улучшения качества ПО по всему миру. Они помогают четко определить, какие свойства программного продукта считаются важными для его качества и успешного использования.

  • Функциональность - поддержка современных операционных систем, наличие Full HD камеры и встроенного микрофона для качественной работы с мультимедийными и коммуникационными задачами.
  • Удобство использования - монитор 17 дюймов, удобный тачпад, большая кнопка Enter, подсветка клавиатуры.
  • Эффективность - Современный процессор Intel, 32 Gb оперативной памяти, энергоэффективность.
  • Надежность - Отказоустойчивость. Корпус из металла, а не пластика. Длительное время работы от аккумулятора.
  • Удобство сопровождения — простота обновления и ремонта компонентов, например, возможность легко добавить дополнительную планку памяти или заменить жесткий диск.
  • Портативность - компактность, небольшой вес, современные разъёмы для подключения внешних устройств и удобный физический доступ к жесткому диску для быстрой замены и переноски.
  • Совместимость — способность системы работать с другими системами и программами без конфликтов. Например, поддержка процессором функций виртуализации позволяет запускать ПО, предназначенное для разных операционных систем и процессоров.
  • Безопасность — средства и механизмы защиты информации и ресурсов от несанкционированного доступа и угроз. Например, аппаратное шифрование данных на жестком диске ноутбука.

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!