Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Липаев В.В. Программная инженерия

.pdf
Скачиваний:
722
Добавлен:
02.05.2014
Размер:
10.14 Mб
Скачать

Лекция 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