﻿# Качество программного обеспечения

Качество программного обеспечения \(Software quality\)— это то насколько программное обеспечение удовлетворяет предъявляемым к нему требованиям\. Выдвигаемые требования могут зависеть от многих критериев, определяемых исходя из сферы применения программного продукта\.

Существует набор стандартов [ISO 9000](https://en.wikipedia.org/wiki/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\.

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

Можно выделить несколько основных критериев оценки качества программного обеспечения:

1\. Качество исходного кода\.

* Соответствие кода стандартам;
* Легкость поддержки;
* Малое число предупреждений при компиляции\.

2\. Качество программного продукта\.

* Функциональность;
* Надежность;
* Удобство использования;
* Эффективность;
* Безопасность\.

Становится понятно, что предъявляемые требования должны удовлетворять потребностям, как разработчиков программного обеспечения, так и его пользователей\. 

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

* тестирование \(модульное, интеграционное, системное, регрессионное\);
* [статический анализ кода](https://pvs-studio.ru/ru/blog/terms/0046/);
* [динамический анализ кода](https://pvs-studio.ru/ru/blog/terms/0070/);
* просмотр исходных кодов программы \([обзор кода](https://pvs-studio.ru/ru/blog/terms/0073/)\)\. 

Полученные с их помощью метрики характеризуют различные параметры: быстродействие программы, потребляемые ресурсы \(оперативная память, загрузка процессора и т\.д\.\), соответствие стандартам кодирования, количество ошибок на единицу строк кода и многое другое\. Тестировать необходимо все параметры, к которым предъявляются требования\.

Немаловажно отметить, что проверка качества программного обеспечения должна проводиться на всех этапах жизненного цикла\. Это обеспечит максимальное качество разрабатываемого программного кода и как результат конечного программного продукта\. Нельзя начать разрабатывать некачественный программный продукт, и задуматься о его качестве уже перед завершением разработки\.

## Библиографический список

1. Wikipedia\. [Качество программного обеспечения\.](https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F)
1. Wikipedia\. [Метрика программного обеспечения\.](https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F)
1. [Измерение качества программного обеспечения\.](https://pvs-studio.ru/ru/blog/terms/0029/)