Основные факторы, определяющие качество сложных программных средств

Лекция 11. Характеристики качества программных средств

 

Общее представление о качестве ПС международным стандартом ISO 9126:1-4:2002рекомендуется описывать тремя взаимодействующими и взаимозависимыми метриками характеристик качества, отражающими:

- внутреннее качество, проявляющееся в процессе разработки и других промежуточных этапов жизненного цикла ПС;

- внешнее качество, заданное требованиями заказчика в спецификациях и отражающееся характеристиками конечного продукта;

- качество при использовании в процессе нормальной эксплуатации и результативностью достижения потребностей пользователей с учетом затрат ресурсов.

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

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

Метрики качества в использовании отражают, в какой степени продукт удовлетворяет потребности конкретных пользователей в достижении заданных целей. Эта метрика не отражена в числе шести базовых характеристик ПС, регламентируемых стандартом ISO 9126-1 вследствие её общности, однако рекомендуется для интегральной оценки результатов функционирования и применения комплексов программ в стандарте ISO 9126-4. Связь качества в использовании с другими характеристиками ПС зависит от задач и функций их потребителей (см. лекцию 6).

Стандарт ISO 9126:1-4 - целесообразно использовать как основу для формального регламентирования характеристик качества в жизненном цикле проектов программных средств. Модель характеристик качества ПС и компонентов состоит из шести групп базовых показателей, каждая из которых детализирована несколькими нормативными субхарактеристиками :

Функциональные возможности детализируются:

- пригодностью для применения по назначению;

- корректностью (правильностью, точностью) реализации требований;

- способностью к взаимо­действию с компонентами и средой;

- защищенностью – безопасностью функционирования.

Надежность характеризуется:

- уровнем завер­шенности – отсутствием дефектов и ошибок;

- устойчивостью при наличии дефектов и ошибок;

- восстанавливаемостью после проявления дефектов;

- доступностью – готовностью реализации требуемых функций.

Эффективность рекомендуется отражать:

- временной эффективностью реализации комплекса программ;

- используемостью вычислительных ресурсов.

Применимость (практичность) предлагается описывать:

- понятностью функций и документации;

- простотой использования комплекса программ;

- изучаемостью процессов функционирования и применения.

Сопровождаемость представляется:

- анализируемостью – удобством для анализа предложений модификаций;

- изменяемостью компонентов и комплекса программ;

- тестируемостью изменений при сопровождении.

Мобильность (переносимость) предлагается отражать:

- адаптируемостью к изменениям среды;

- простотой установки – инсталляции после переноса;

- замещаемостью компонентов при корректировках комплекса программ.

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

Для выбора характеристик качества ПС и достоверного сравнения их с требованиями, а также для сопоставления их значений между различными программными продуктами необходимы оценки, измерения и использование определенных мер и шкал. Стандартами рекомендуется, чтобы было предусмотрено измерение каждой характеристики качества ПС (субхарактеристики или ее атрибута) с точностью и определенностью, достаточной для сравнений с требованиями технических заданий и спецификаций, и чтобы измерения были объективны и воспроизводимы. Следует предусматривать нормы допустимых ошибок измерения, вызванных инструментами и/или ошибками человека-эксперта. Чтобы измерения были объективными, должна быть документирована и согласована процедура для присвоения числового значения, свойства или категории каждому атрибуту программного продукта. Характеристики, субхарактеристики и атрибуты качества ПС с позиции возможности и точности их измерения можно разделить на три уровня детализации показателей, особенности которых следует уточнять при их выборе:

- категорийные-описательные, отражающие набор свойств и общие характеристики объекта – его функции, категории ответственности, защищенности и важности, которые могут быть представлены номинальной шкалой категорий-свойств;

- количественные – представляемые множеством упорядоченных, числовых точек, отражающих непрерывные или дискретные закономерности и описываемые интервальной или относительной шкалой, которые можно объективно измерить и численно сопоставить с требованиями;

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

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

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

Ко второму уровнюпоказателей качества относятся, достаточно достоверно и объективно измеряемые численные характеристики ПС. Значения этих конструктивных характеристик обычно в наибольшей степени влияют на функциональную пригодность в использовании ПС. Поэтому выбор и обоснование их требуемых значений должно проводиться наиболее аккуратно и достоверно уже при проектировании ПС. Их субхарактеристики могут быть описаны упорядоченными шкалами объективно измеряемых значений, требуемые численные величины которых могут быть установлены и выбраны заказчиками или пользователями ПС. Такими характеристиками являются надежность и эффективность комплексов программ. Эти величины могут выбираться и фиксироваться в техническом задании или спецификации требований, и сопровождаться методикой объективных, численных измерений при квалификационных испытаниях для сопоставления с требованиями. Длительность решения основных задач, пропускная способность по числу их решений за некоторый интервал времени, длительность ожидания результатов (отклика), и некоторые другие характеристики динамики функционирования ПС, могут быть выбраны и установлены количественно в спецификациях требований заказчиком.

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

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