Липаев В.В. Программная инженерия
.pdfЛекция 10. Дефекты, ошибки и риски в жизненном цикле программных средств
—доминирующие характеристики и риски, оказывающие наиболь шее влияние на функциональную пригодность при допустимых затратах (обобщенный приоритет > 8);
—показатели конструктивных характеристик и рисков, имеющие до статочное влияние на функциональную пригодность и значительные зат раты на реализацию (обобщенный приоритет < 7, но > 4);
—характеристики качества, значения требований к которым не соот ветствуют их влиянию на функциональную пригодность и/или затратам на реализацию и могут не учитываться (обобщенный приоритет < 3).
Эти данные могут использоваться, прежде всего, как ориентиры для селекции и исключения из требований, конструктивных характеристик качества с особенно низкими обобщенными приоритетами рисков, в наи меньшей степени влияющих на функциональную пригодность ПС и не оправдывающих больших затрат на реализацию. Анализ оставшихся ха рактеристик качества и рисков может проводиться для выделения завы шенных требований, а также, возможно, для снижения их значений и приближения их влияния к средним значениям. Кроме того, сравнитель ный анализ обобщенных приоритетов на основе отношения влияния на качество и затраты позволяет выделять атрибуты качества, отличающиеся большими затратами — рисками, не оправданными их степенью воздей ствия на функциональную пригодность. Подобные процедуры могут за вершать разработку требований к свойствам, характеристикам качества и рискам при детальном проектировании крупномасштабных ПС.
Следует подчеркнуть, что выше анализировалось и оценивалось пре имущественно изменение функциональной пригодности и снижение рис ка при совершенствовании конструктивных характеристик ПС. Однако для заказчика и пользователей доминирующее значение могут иметь но менклатура и особенности реализации некоторых основных функций ком плекса программ, которые, как правило, требуют наибольших затрат и определяют основной эффект и риск от применения ПС, а также потенци альный уровень спроса на рынке. Если затраты на разработку ПС можно оценивать и прогнозировать с некоторой достоверностью, то эффектив ность применения и особенно будущий спрос на конкретный комплекс программ со стороны пользователей априори оценить трудно. Такие оцен ки могут проводиться на основе специальных маркетинговых исследова-
290
10.4. Риски при формировании требований к характеристикам...
НИИ и опыта эксплуатации аналогичных комплексов программ или доста точно близких их прототипов. Это подтверждает целесообразность выде ления для автономного анализа интегральных, конструктивных характе ристик программного продукта и их влияния на функциональную пригод ность.
На основе анализа и оценивания характеристик масштаба, набора требований, возможных затрат ресурсов и значений рисков в ЖЦ ПС
следует определять:
—целесообразно ли продолжать работы над конкретным проектом ПС или следует его прекратить вследствие больших рисков, недостаточ ных ресурсов специалистов, времени или трудоемкости (бюджета) разра ботки;
—при наличии достаточных ресурсов, следует ли провести марке тинговые исследования для определения рентабельности полного выпол нения проекта ПС и создания программного продукта для поставки на рынок;
—достаточно ли полно и корректно формализованы концепция и требования к проекту ПС, на основе которых проводились оценки затрат и рисков, или их следует откорректировать и выполнить повторный анализ
суточненными исходными данными;
—есть ли возможность применить готовые повторно используемые компоненты ПС, в каком относительном объеме комплекса программ и рентабельно ли их применять в конкретном проекте ПС или весь проект целесообразно разрабатывать как полностью новый.
Л Е К Ц И Я 11
ХАРАКТЕРИСТИКИ КАЧЕСТВА ПРОГРАММНЫХ СРЕДСТВ
11.1. Основные факторы, определяющие качество сложных программных средств
Общее представление о качестве ПС международным стандартом ISO 9126:1-4:2002 рекомендуется описывать тремя взаимодействующими и взаимозависимыми метриками характеристик качества^ отражающими:
—внутреннее качество, проявляющееся в процессе разработки и дру гих промежуточных этапов жизненного цикла ПС;
—внешнее качество, заданное требованиями заказчика в специфика циях и отражающееся характеристиками конечного продукта;
—качество при использовании в процессе нормальной эксплуатации
ирезультативностью достижения потребностей пользователей с учетом затрат ресурсов.
Внутренние метрики в соответствии со стандартами могут приме няться в ходе проектирования и программирования к компонентам ПС, таким, как спецификация или исходный программный текст. При разра ботке ПС промежуточные компоненты следует оценивать с использовани ем внутренних метрик, которые отражают функциональные и конструк тивные свойства программ. Основная цель применения внутренних мет рик — обеспечивать, чтобы разработчиками было получено требуемое внешнее качество. Рекомендуется использовать внутренние метрики, ко торые имеют наиболее сильные связи с приоритетными внешними метри ками, чтобы они могли помогать при прогнозировании их достижимых значений. Внутренние метрики дают возможность разработчикам, испы тателям и заказчикам, начиная с системного проектирования, прогнозиро-
292
11.1. Основные факторы, определяющие качество сложных программных средств
вать качество жизненного цикла программ и заниматься вопросами техно логического обеспечения качества до того, как ПС становится готовым к использованию продуктом. Измерения внутренних метрик используют свойства, категории, числа или характеристики элементов ПС, которые, например, имеются в процедурах исходного программного текста, в графе потока управления, в потоке данных и в описаниях изменения состояний памяти.
Внешние метрики используют меры ПС, отражающие поведение системы, частью которой они являются, путем испытаний, эксплуатации и наблюдения исполняемых программ или функционирования системы. Пе ред приобретением или использованием ПС его следует оценить с использо ванием метрик, основанных на реализации деловых и профессиональных целей, связанных с применением программного продукта в определенной организационной и технической среде. Внешние метрики обеспечивают заказчикам, пользователям и разработчикам возможность прослеживать и анализировать качество ПС в ходе испытаний или опытной эксплуатации. Подходящие внешние метрики специфицируются для получения число вых значений или категорий и свойств внутренних характеристик каче ства, чтобы их можно было использовать для проверки того, что промежу точные продукты в процессе разработки удовлетворяют внутренним спе цификациям качества.
Метрики качества в использовании отражают, в какой степени про дукт удовлетворяет потребности конкретных пользователей в достижении заданных целей. Эта метрика не отражена в числе шести базовых характе ристик ПС, регламентируемых стандартом ISO 9126-1 вследствие ее общ ности, однако рекомендуется для интегральной оценки результатов функ ционирования и применения комплексов программ в стандарте ISO 9126-4. Связь качества в использовании с другими характеристиками ПС зависит от задач и функций их потребителей (см. лекцию 6).
Стандарт ISO 9126:1-4 — целесообразно использовать как основу для формального регламентирования характеристик качества в жиз ненном цикле проектов программных средств. Модель характеристик качества ПС и компонентов состоит из шести групп базовых показателей, каждая из которых детализирована несколькими нормативными субхарак теристиками.
293
Лекция 11. Характеристики качества программных средств
Функциональные возмолсности детализируются:
—пригодностью для применения по назначению;
—корректностью (правильностью, точностью) реализации требова
ний;
—способностью к взаимодействию с компонентами и средой;
—защищенностью — безопасностью функционирования. Наде^кность характеризуется:
—уровнем завершенности — отсутствием дефектов и ошибок;
—устойчивостью при наличии дефектов и ошибок;
—восстанавливаемостью после проявления дефектов;
—доступностью — готовностью реализации требуемых функций. Эффективность рекомендуется отражать:
—временной эффективностью реализации комплекса программ;
—используемостью вычислительных ресурсов.
Применимость (практичность) предлагается описывать:
—понятностью функций и документации;
—простотой использования комплекса программ;
—изучаемостью процессов функционирования и применения.
Сопровоэкдаемость представляется:
—анализируемостью — удобством для анализа предложений моди фикаций;
—изменяемостью компонентов и комплекса программ;
—тестируемостью изменений при сопровождении.
Мобильность (переносимость) предлагается отражать:
—адаптируемостью к изменениям среды;
—простотой установки — инсталляции после переноса;
—замещаемостью компонентов при корректировках комплекса про
грамм.
Характеристики и субхарактеристики в стандарте определены крат ко, без комментариев и подробных рекомендаций по их применению к конкретным системам и проектам ПС. Изложение имеет концептуальный характер и не содержит рекомендаций по выбору и упорядочению при оритетов, а также необходимого минимума критериев в зависимости от особенностей объекта, среды разработки, сопровождения и применения.
Для выбора характеристик качества ПС и достоверного сравнения их
стребованиями, а также для сопоставления их значений между различны-
294
11.1. Основные факторы, определяющие качество сложных программных средств
МИ программными продуктами необходимы оценки, измерения и исполь зование определенных мер и шкал. Стандартами рекомендуется, чтобы было предусмотрено измерение каждой характеристики качества ПС (суб характеристики или ее атрибута) с точностью и определенностью, доста точной для сравнений с требованиями технических заданий и специфика ций, и чтобы измерения были объективны и воспроизводимы. Следует предусматривать нормы допустимых ошибок измерения, вызванных инст рументами и/или ошибками человека-эксперта. Чтобы измерения были объективными, должна быть документирована и согласована процедура для присвоения числового значения, свойства или категории каждому ат рибуту программного продукта. Характеристики, субхарактеристики и ат рибуты качества ПС с позиции возможности и точности их измерения можно разделить на три уровня детализации показателей, особенности которых следует уточнять при их выборе:
—категорийные-описательные, отражающие набор свойств и общие характеристики объекта — его функции, категории ответственности, за щищенности и важности, которые могут быть представлены номинальной шкалой категорий-свойств;
—количественные — представляемые множеством упорядоченных, числовых точек, отражающих непрерывные или дискретные закономерно сти и описываемые интервальной или относительной шкалой, которые можно объективно измерить и численно сопоставить с требованиями;
—качественные — содержащие несколько упорядоченных или от дельных свойств — категорий, которые характеризуются порядковой или точечной шкалой набора категорий (есть — нет, хорошо — плохо), уста навливаются, выбираются и оцениваются в значительной степени субъек тивно и экспертно.
К первому уровню относятся показатели качества, которые характе ризуются наибольшим разнообразием значений — свойств программ и наборов данных и охватывают весь спектр классов, назначений и функций современных ПС. Эти свойства можно сравнивать только в пределах од нотипных ПС и трудно упорядочивать по принципу предпочтительности. Среди стандартизированных показателей качества к этой группе, прежде всего, относится функциональная пригодность, являющаяся доминирую щей характеристикой любых ПС. Номенклатура и значения всех осталь-
295
Лекция 11. Характеристики качества программных средств
ных показателей качества непосредственно определяются требуемыми фун кциями программного средства и, в той или иной степени, влияют на выполнение этих функций.
Функциональная пригодность — наиболее ответственная, объектив но трудно формализуемая и оцениваемая в проекте характеристика комп лексов программ. Данная характеристика связана с тем, какие основные и дополнительные функции и задачи должен решать программный продукт для удовлетворения потребностей пользователей, в то время как другие,
конструктивные характеристики главным образом связаны с тем, как
и при каких условиях заданные функции могут выполняться с требуемым качеством. Субхарактеристики и атрибуты функциональной пригодности можно характеризовать в основном сЁойствами, категориями и качествен ным описанием функций, для которых зачастую трудно определить чис ленные меры и шкалы.
Ко второму уровню показателей качества относятся достаточно дос товерно и объективно измеряемые численные характеристики ПС. Значе ния этих конструктивных характеристик обычно в наибольшей степе ни влияют на функциональную пригодность в использовании ПС. Поэто му выбор и обоснование их требуемых значений должно проводиться наиболее аккуратно и достоверно уже при проектировании ПС. Их субха рактеристики могут быть описаны упорядоченными шкалами объективно измеряемых значений, требуемые численные величины которых могут быть установлены и выбраны заказчиками или пользователями ПС. Такими ха рактеристиками являются надежность и эффективность комплексов про грамм. Эти величины могут выбираться и фиксироваться в техническом задании или спецификации требований и сопровождаться методикой объек тивных, численных измерений при квалификационных испытаниях для сопоставления с требованиями. Длительность решения основных задач, пропускная способность по числу их решений за некоторый интервал времени, длительность ожидания результатов (отклика) и некоторые дру гие характеристики динамики функционирования ПС могут быть выбраны и установлены количественно в спецификациях требований заказчиком.
Третий уровень стандартизированных показателей качества ПС труд но полностью описать измеряемыми количественными значениями и их некоторые субхарактеристики и атрибуты имеют описательный, качествен-
296
11.2. Свойства и атрибуты качества функциональных возможностей...
ный вид. в зависимости от функционального назначения ПС по согласова нию с заказчиком можно определять экспертно степень необходимости (приоритет) этих свойств и балльные значения уровня реализации их ат рибутов в жизненном цикле конкретного ПС.
Проблема состоит в выявлении факторов, от которых они зависят, в создании методов и средств уменьшения их влияния на функциональную пригодность ПС, а также в эффективном распределении ограниченных ресурсов для обеспечения необходимого качества функционирования ком плекса программ, равнопрочного при всех реальных негативных воздей ствиях. Комплексное, скоординированное применение этих методов и средств в процессе создания, развития и применения ПС позволяет исклю чать проявления ряда негативных факторов или значительно ослаблять их влияние. Тем самым уровень достигаемого качества функционирования ПС может быть предсказуемым и управляемым, непосредственно зави сящим от ресурсов, выделяемых на его достижение, а главное, от системы качества и эффективности технологии, используемых на всех этапах жиз ненного цикла ПС.
11.2. Свойства и атрибуты качества функциональных возможностей сложных программных средств
Системная эффективность целевого применения программных средств определяется степенью удовлетворения потребностей определен ных лиц — заказчиков и/или пользователей, которую во многих случаях желательно измерять экономическими категориями: прибылью, стоимос тью, трудоемкостью, предотвращенным ущербом-риском, длительностью применения и т.п. Решение этих задач должно быть направлено на обеспе чение высокой функциональной пригодности ПС, путем сбалансирован-
ного улучшения, конструктивных характеристик качества в условиях ограниченных ресурсов наЖЦ, Для этого в процессе системного анализа при подготовке технического задания и требований спецификаций значе ния атрибутов и субхарактеристик качества должны выбираться с учетом их влияния на функциональную пригодность. Ориентирами могут слу жить диапазоны изменения атрибутов конструктивных характеристик ка-
297
Лекция 11. Характеристики качества программных средств
чества ПС, границы количественных или качественных шкал которых сверху и снизу могут быть выбраны на основе следующих принципов:
—предельные значения характеристик качества должны быть огра ничены сверху допустимыми или рациональными затратами ресурсов на их достижение при разработке и совершенствовании ПС;
—наибольшие допустимые затраты ресурсов, например труда и вре мени для реализации конструктивных характеристик, должны обеспечи вать функциональную пригодность жизненного цикла ПС на достаточно высоком уровне;
—допустимые наихудшие значения отдельных конструктивных харак теристик качества могут соответствовать значениям, при которых заметно начинает снижаться функциональная пригодность при применении ПС;
—ограниченные значения отдельных конструктивных характеристик качества не должны негативно отражаться на возможных высоких значе ниях других приоритетных характеристик.
Способность ПС обеспечивать решение конкретных задач, удовлетворяюш;их установленные потребности заказчиков и пользователей при применении комплекса программ в заданных условиях, отражена в стан дарте ISO 9126:1 характеристикой — функциональные возможности. В
ней на первом месте стоит самая важная субхарактеристика ЖЦ ПС —
функциональность или функциональная пригодность. Кроме нее в со став функциональных возможностей включены, по существу, конструк тивные субхарактеристики: корректность и способность к взаимодействию. Более сложно классифицировать защищенность-безопасность, функции которой непосредственно и органически связаны с конкретными особен ностями функциональной пригодности (см. п. 11.5).
Функциональная пригодность — это набор и описания атрибутов, определяющих назначение, основные, необходимые и достаточные функ ции ПС, заданные техническим заданием и спецификациями требований заказчика или потенциального пользователя. В процессе проектирования комплекса программ атрибуты функциональной пригодности должны конк ретизироваться в спецификациях на ПС в целом и на компоненты. Атрибу тами этой характеристики качества могут быть функциональная полнота решения заданного комплекса задач, степень покрытия функциональных требований спецификациями и их стабильность при совершенствовании
298
11.2. Свойства и атрибуты качества функциональных возможностей...
ПС, ЧИСЛО реализуемых требований заказчиков. Кроме них функциональ ную пригодность отражают множество различных специализированных критериев, которые тесно связаны с конкретными решаемыми задачами и сферой применения комплекса программ. Их можно рассматривать как частные критерии или как факторы, влияющие на основной показатель качества ПС.
Эта характеристика может значительно модифицироваться в жизнен ном цикле ПС, и соответственно изменяться конкретное содержание базо вых функций, которые подлежат применению и оцениванию. На последо вательных этапах ЖЦ функции промежуточных продуктов (специфика ций компонентов, модулей, текстов программ и т.п.) должны оцениваться на соответствие описаниям в отдельных, частных документах. Это позво ляет поэтапно формализовать применяемые субхарактеристики и атрибу ты функциональной пригодности. Такими атрибутами могут быть: функ циональная адекватность программ документам и декларированным тре бованиям, утвержденным заказчиком; степень покрытия тестами исходных требований; полнота и законченность реализации этих требований; точ ность выполнения требований детальных спецификаций на функциональ ные компоненты ПС.
Среди всего многообразия функциональных характеристик программ ных средств можно выделить две группы, одна из которых отражает раз нообразные специфические особенности, связанные непосредственно с на значением, функциями и сферой применения ПС, а вторая — доступна для частичной унификации состава и структуры и для оценивания стандарти зированными методами. Эта вторая группа характеризует ряд базовых, инвариантных свойств качества, которые позволяют определять неко торые субхарактеристики функциональной пригодности ПС, независимо от конкретных целей и сфер применения. С этой позиции функциональная пригодность определяется качеством взаимосвязи и согласованности пос ледовательных формулировок содержания и реализации основных фраг ментов в цепочке стандартизированных требований технического задания на ПС: целей — назначения — функций — исходной информации — результатов для пользователей, определяющих, что:
— описание целей программного средства корректно переработано в подробное описание его назначения и внешней среды применения;
299