Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК конспект заключение.doc
Скачиваний:
17
Добавлен:
11.04.2015
Размер:
225.28 Кб
Скачать

35. Технология оценки качества по

35.1. Подходы к оценке качества по

Классификация различных подходов к качеству ПО обычно проводится с использованием двух измерений.

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

Второе измерение связано либо с соответствием, либо с усовершенствованием. Под соответствием будем понимать соответствие какому-либо стандарту. Усовершенствование имеет своей целью переход на более совершенные методы и лучшую практику для повышения качества.

Рассмотрим все четыре подхода к качеству ПО.

Объект качества

Соответствие

Усовершенствование

Продукт

ISO 9126

«Усовершенствование

практики»

Процесс

ISO 9000, процесс

обеспечения качества

CMM, SPICE, ...

Документ ISO 9126 является стандартом на качество продукта, определяющим атрибуты и характеристики качества, включая измерения количественной оценки этих характеристик.

Под «усовершенствованием практики» понимается усовершенствование управления конфигурацией программного обеспечения, инспекций, тестирования и т. п.

ISO 9000 – это совокупность стандартов, декларирующих требования для качественных систем. С точки зрения разработки ПО наиболее полезны «Руководящие указания по применению ISO 9001 при разработке, поставке и обслуживании программного обеспечения».

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

  • модель зрелости процесса разработки программного обеспечения – Capability Maturity Model for Software (CMM), предложенная организацией Software Engineering Institute (SEI);

  • определение возможностей и улучшение процесса создания программного обеспечения; этот метод определен ISO/IEC 15504 Software Process Improvement and Capability determination (SPICE).

35.2. Характеристики качества по

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

В соответствии с таким определением общепринятые критерии качества ПО определить весьма затруднительно.

Однако современные стандарты уточняют понятие качества, вводя совокупность черт и характеристик, которые влияют на его способность удовлетворять заданные потребности пользователей. Рассмотрим некоторые из них.

Функциональность (пригодность, точность, интероперабельность, согласованность, безопасность). Функциональность – это способность программного продукта выполнять набор функций, удовлетворяющих заданным или подразумеваемым потребностям пользователей. Набор таких функций определяется во внешнем описании программного продукта.

Удобство (понимаемость, эффективность освоения, эргономичность). Удобство – это характеристики программного продукта, которые позволяют минимизировать усилия пользователя по подготовке исходных данных, применению программного продукта и оценке полученных результатов, а также вызывать положительные эмоции определенного или подразумеваемого пользователя.

Эффективность (по времени и по ресурсам). Эффективность – это отношение уровня услуг, предоставляемых программным продуктом пользователю при заданных условиях, к объему используемых ресурсов.

Сопровождаемостъ (простота анализа, изменяемость, стабильность, проверяемость). Сопровождаемость – это характеристики программного продукта, позволяющие минимизировать усилия по внесению изменений для устранения в нем ошибок и по его модификации в соответствии с изменяющимися потребностями пользователей.

Переносимость (адаптируемость, гибкость инсталляции, согласованность со стандартами и правилами, заменяемость). Переносимость – это способность программного продукта быть перенесенным из одной среды выполнения в другую, в частности, с одной аппаратной архитектуры на другую.

Следующие две характеристики заслуживают особого внимания. Рассмотрим их подробнее.

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

Для обеспечения надежности существуют следующие подходы:

  • предупреждение ошибок;

  • самообнаружение ошибок;

  • самоисправление ошибок;

  • обеспечение устойчивости к ошибкам.

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

Количественные критерии – связаны с различными способами оценки (метриками) сложности программ.

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

Структурные критерии, связанные с оценкой организации управления в программе и отражением организации управления в программном тексте.

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