Надежность АСОИУ (1088455), страница 47
Текст из файла (страница 47)
Разница в том, что вариант ISO указывает на важную рольтребований и ожиданий заказчика. Роль заказчика, связанная с качеством, никогда не может быть переоценена. С точкизрения заказчика, качество продукта, который он приобрел, состоит из множества различных факторов, таких как цена,производительность, надежность и т. д. Фактически заказчик покупает не сам программный продукт, а гарантии того,что все его ожидания, связанные с программным продуктом, будут реализованы в процессе эксплуатации.Требования к качеству программного продукта должны быть четко определены, чтобы исключить их непониманиеили некорректную интерпретацию. Любые несоответствия рассматриваются как дефекты — отсутствие качества.Современная технология программирования (software engineering) не только позволяет создать высококачественноепрограммное обеспечение (ПО), но и предполагает возможность точного, т. е.
непротиворечивого и однозначнотолкуемого, описания ожидаемой заказчиком совокупности свойств («качества») заказанного им программного изделия(ПИ). Сообщество специалистов по технологии программирования предложило ряд национальных (например, стандартСША IEEE/ANSI Std 1061-1992) и международных (например, ISO 9126-1991) стандартов, существенно помогающихразработчикам программного обеспечения в специфицировании качества создаваемых программных изделий и воценивании их в ходе его разработки и по ее завершении.
Однако все эти стандарты рассматривают специфицирование иоценивание ПО только в «высокоуровневых» терминах понятий качества ПО. Уровень моделей ПИ, их метрик ивнутренних свойств остается несогласованным и неоднозначно толкуемым в мире и по сей день, что считается одной изважных проблем технологии программирования. Поэтому существует множество подходов к обеспечению качествапрограммных изделий, каждый из которых имеет свои достоинства и недостатки.В США, например, уже в середине 1980-х гг.
были введены в действие такие стандарты, как ANSI/IEEE«Спецификация требований к ПО» (Guide to Software Requirements Specifications); «Планирование управленияконфигурацией ПО» (Software Configuration Management Plans); «Документирование тестов ПО» (Software TestDocumentation); «Планирование уровня качества ПО» (Software Quality Assurance Plans). Апробируются и другиестандарты, в том числе «Справочник гарантии качества», «Классификация отказов, сбоев и ошибок ПО».В последние годы особую актуальность приобрела проблема управления качеством. При этом качествопрограммных изделий рассматривается не только с проектной и технологической сторон, но и с учетом уровня«зрелости» предприятий, разрабатывающих программное обеспечение.
При организации управления качеством ПИмногие полезные рекомендации можно заимствовать из стандартов по управлению качеством промышленнойпродукции.В 1987 г. было утверждено пять международных стандартов ISO, устанавливающих требования к системамобеспечения качества продукции на предприятиях: «Стандарты по управлению качеством и обеспечению качества.Руководство для выбора и применения» (ISO 9000); «Система качества.
Модели обеспечения качества при проектировании, разработке, производстве, монтаже и обслуживании» (ISO 900S); «Система качества. Модели обеспечениякачества при производстве и монтаже» (ISO 9002); «Система качества. Модели обеспечения качества в процессеконтроля и испытания готовой продукции» (ISO 9003); «Управление качеством и элементы системы качества.
Основныенаправления» (ISO 9004). Работы по совершенствованию и дальнейшему расширению сферы деятельностипродолжаются до сего времени.Одной из первых моделей качества стал стандарт ISO серии 9000, первая версия которого была выпущена в 1987 г.С тех пор сертификаты ISO сохраняют неизменную популярность и признаются во всем мире.
Совершенствованиеметодик стандартов серии ISO 9000 привело к созданию в начале 1990-х гг. целого ряда новых стандартов и методологий. К их числу можно отнести стандарты Capability Maturity Model (CMM), ISO/IEC 15504, SPICE (Software ProcessImprovement and Capability Etermination), Bootstrap, Trillium и ISO 12207, посвященный жизненному циклу программногообеспечения, и т. д.При оценке качества используются тестирование, верификация и валидация.Под тестированием понимается процесс выполнения программы с намерением найти ошибки.Невозможно гарантировать отсутствие ошибок в нетривиальной программе; в лучшем случае можно попытатьсяпоказать наличие ошибок.
Если программа правильно ведет себя для солидного набора тестов, нет основанияутверждать, что в ней нет ошибок; со всей определенностью можно лишь утверждать, что не известно, когда этапрограмма не работает. Конечно, если есть причины считать данный набор тестов способным с большой вероятностьюобнаружить все возможные ошибки, то можно говорить о некотором уровне уверенности в правильности программы,устанавливаемом этими тестами.Тестирование призвано помочь находить и исправлять ошибки на самой ранней стадии проектирования ПО.Процесс тестирования включает определение концептуальной структуры, организующей различные технологиитестирования. Среда для этого процесса построена на концепции «стадийной локализации» (stage containment), т.
е.обнаружении и исправлении ошибок на той стадии, где они появились.При данном подходе тестирование должно стать более производительным и эффективным. Точно определенныеприемы поддерживают процесс эффективного тестирования путем применения надежных методов и уменьшениядублирования на разных стадиях. Соответствие условий тестирования специфике его стадий, так же как и фазамразработки, поддерживает высокое качество тестирования тем, что каждое условие проверяется только один раз.Результатом применения стадийной локализации в процессе тестирования, в частности, стала V-модель, котораяопределяет структуру мероприятий верификации, утверждения и тестирования на основе спецификаций. Эта структураорганизует мероприятия разработки, такие как формальные проверки, обзоры (reviews) и формальное тестирование.V-модель и положенная в ее основу методика соотносит стадии разработки с отдельными стадиями тестирования.
Сих помощью можно точно определить границы применимости и назначения каждого теста по его спецификации. Этопомогает избежать неэффективности многих приемов тестирования, включая перекрытие тестовых условий и повторноепроведение тех же тестов, но на разных уровнях. V-модель содержит три тестирующих действия: верификацию,валидацию и собственно тестирование.Верификация (verification) удостоверяет, что ПИ внутренне непротиворечиво и соответствует стандартам.
Функцияверификации состоит в обнаружении ошибок на ранних этапах разработки, до того, как они попадут на следующуюстадию. Верификация применима ко всем объектам (как к тестовым моделям, так и к спецификациям). Методыверификации включают экспертные оценки, формальный контроль и проверки на непротиворечивость.Валидация (validation) — проверка программного изделия на корректность: устанавливается, удовлетворяет ли ПИтребованиям, специфицированным на предыдущей и более ранних стадиях.
Функции проверки на корректностьзаключаются в отлавливании ошибок до того, как они перешли в следующую стадию разработки. Эти методы такжеприменимы ко всем программным изделиям, в том числе к тестовым моделям и спецификациям. Используемые приемымогут включать обзоры и формальные проверки, а также прототипирование и моделирование.3.1. Проектно-ориентированный подход к оценке качества программного обеспеченияНаиболее общее и в то же время практичное определение понятия качества программного продукта можносформулировать как меру соответствия программного продукта заданному множеству критериев качества. При этом структурумножества заданных критериев качества вместе со способом определения степени соответствия программного продуктаэтим критериям принято называть моделью качества.Приведенное выше определение требует явного задания множества критериев.
Однако на практике не всегдаимеется необходимость (и возможность) максимального приближения к некоему абсолютному идеалу качества.Наоборот, попытки достичь этого воображаемого и нечеткого идеала без учета реальных ограничений, как правило,ведут к перерасходу бюджета и провалу сроков, а это может быть равносильно краху всего проекта, т. е. нулевомукачеству по любому определению. Поэтому для выполнения условия практической реализуе-мости проекта необходимо ссамого начала определить меру качества так, чтобы максимум этой меры соответствовал точному выполнениюпоставленных целей при точном расходе бюджета.Под показателем качества программной продукции в соответствии с ГОСТ 15467-79 и последующими понимаетсяколичественная характеристика одного или нескольких свойств продукции, составляющих ее качество и проявляющихсяв определенных условиях ее создания и эксплуатации.
Слова «количественная характеристика» не следует понимать вбуквальном смысле. При определении значений показателей качества успешно могут применяться и качественные (экспертные) характеристики, хотя в общем случае количественные (числовые) характеристики оказываются болеепредпочтительными.Показатели качества программной продукции в зависимости от особенностей решаемых задач обычноклассифицируют но следующим признакам: способам выражения; количеству характеризуемых свойств; меступрименения в процедуре оценки; стадии определения значений показателей и др.По способу выражения различают показатели, выраженные в натуральных единицах (условная машинная команда,строка текста, бит, байт, килограмм, метр, секунда и т.
п.), и показатели, выраженные в стоимостных единицах.Стоимостные единицы применяют при определении значений экономических показателей качества программнойпродукции.По количеству характеризуемых свойств различают единичные и комплексные показатели. Единичные показателикачества характеризуют одно из свойств ПО, комплексный — несколько. Комплексные показатели могут бытьгрупповыми, обобщенными или интегральными.В зависимости от места применения в процедуре оценки уровня качества ПО различают базовые и относительныепоказатели.
Базовым показателем качества продукции называют показатель и его значение, принятое за основу присравнительной оценке качества продукции. Относительный показатель представляет собой результат сравненияфактического значения показателя качества конкретного ПИ с одноименным базовым показателем.По стадии определения значений показателей качества различают прогнозируемые, проектные, производственные иэксплуатационные показатели, т.