reforef.ru 1

Липаев В.В.


АНАЛИЗ И СОКРАЩЕНИЕ РИСКОВ

Проект сложных программных средств

Содержание


ВВЕДЕНИЕ 3

МОДЕЛИ И СТАНДАРТЫ УПРАВЛЕНИЯ РИСКАМИ ПРОЕКТОВ ПРОГРАММНЫХ СРЕДСТВ 11

1.1. Основные модели управления рисками проектов программных средств 11

1.2. Стандартизация управления рисками программных средств 25

2. КОНЦЕПЦИЯ АНАЛИЗА И СОКРАЩЕНИЯ 35

РИСКОВ ПРОЕКТОВ СЛОЖНЫХ 35

ПРОГРАММНЫХ СРЕДСТВ 35

2.1. Подготовка исходных данных для анализа и управления рисками проекта программного средства 35

2.2. Выделение, идентификация, анализ угроз и рисков в жизненном цикле программного средства 41

2.3. Оценивание опасности угроз рисков и выбор эффективных контрмер для их сокращения 49

2.4. Сокращение и ликвидация опасных рисков проекта программного средства 51

2.5. Контроль, регистрация, мониторинг и утверждение допустимого интегрального риска программного средства 55

3. ОСНОВНЫЕ ИСТОЧНИКИ И ПРИЧИНЫ ПРОЯВЛЕНИЯ РИСКОВ ПРОГРАММНЫХ СРЕДСТВ 59

3.1. Риски вследствие дефектов и ошибок в программных средствах 59

3.2. Риски при оценивании масштаба сложных программных средств 80

3.3. Риски при формировании требований к характеристикам сложных программных средств 88

4. РИСКИ ФУНКЦИОНАЛЬНОЙ ПРИГОДНОСТИ ПРОГРАММНЫХ СРЕДСТВ 99

4.1. Функциональные характеристики объектов, определяющие риски в жизненном цикле программных средств 99

4.2. Риски надежности и функциональной безопасности в жизненном цикле программных средств 112

4.3. Риски вследствие ограничения ресурсов проекта программного средства 128

Приложение 1 154

ВВЕДЕНИЕ

Задумывая и начиная разработку проектов программных средств (ПС), руководители предполагают получить некоторый положи­тельный эффект от их практического применения. Этот эффект мо­жет выражаться экономическими категориями повышения дохода или прибыли, техническими категориями: расширением назначения и функций или улучшением характеристик качества продуктов и систем. Однако часто проекты ПС не соответствуют исходному, декларированному назначению и первоначальным спецификациям требований к функциям и характеристикам качества, не укладыва­ются в согласованные графики и бюджет разработки. Многие соз­данные системы и ПС не способны выполнять полностью требуемые функциональные задачи с гарантированным качеством и их прихо­дится долго и иногда безуспешно дорабатывать для достижения не­обходимого качества функционирования, затрачивая дополнительно большие ресурсы и время. Такие проекты оказываются неудачными или даже терпят полный провал из-за недостаточной компетентно­сти привлекаемых разработчиков, а также вследствие отсутствия у них современных методов, технологий и стандартов, обеспечиваю­щих требуемое высокое качество ПС.


В технических заданиях и реализованных проектах систем и ПС систематически умалчиваются и/или недостаточно полно формали­зуются понятия качества программного продукта, какими характе­ристиками они описываются, как их следует измерять и сравнивать с требованиями, отраженными в контракте, техническом задании или спецификациях. Кроме того, некоторые из характеристик часто во­обще отсутствуют в требованиях и согласованных документах на ПС, что приводит к произвольному их учету или к пропуску при ис­пытаниях. Этому способствует ограниченность ресурсов, особенно времени, необходимых для достижения и оценивания, требуемых значений характеристик комплекса программ, а также недостаточная формализация и документирование всего процесса выбора и анализа показателей качества ПС. Отсутствие четкого декларирования в до­кументах понятий, требуемых функций и значений характеристик ПС, вызывает конфликты между заказчиками-пользователями и раз­работчиками-поставщиками из-за разной трактовки одних и тех же характеристик. Поэтому тщательное специфицирование требований, функций и характеристик программного продукта - ключе­вой фактор обеспечения целей их адекватного и безопасного применения [6, 14, 24, 44].

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


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

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


Проблема исследования и сокращения рисков функционирова­ния ПС и систем в процессе разработки и эксплуатации, возникла и развивается вследствие возрастания разнообразия, сложности и от­ветственности задач их использования. Причинами возникновения и проявления рисков могут быть: злоумышленные, активные воздей­ствия заинтересованных лиц или случайные негативные прояв­ления дефектов внешней среды, системы или пользователей. В первом случае риски могут быть обусловлены искажениями про­грамм и информационных ресурсов и их уязвимостью от преду­мышленных, внешних воздействий (атак) с целью незаконного ис­пользования или искажения информации и программ, которые по своему содержанию предназначены для применения ограниченным кругом лиц [4, 22]. При этом подразумевается наличие лиц, заинте­ресованных в доступе к конфиденциальной или полезной информа­ции в системах, с целью ее использования или разрушения, способ­ных привести к значительному или катастрофическому ухудшению требуемых характеристик функционирования системы. Для решения этой проблемы созданы и активно развиваются методы, средства и стандарты обеспечения защиты программ и данных от предумыш­ленных негативных внешних воздействий. Специфические факто­ры обеспечения информационной безопасности и риски, характер­ные для сложных информационных систем — целостность, доступ­ность и конфиденциальность информационных ресурсов, а также ряд типовых процедур систем защиты - криптографическая под­держка, идентификация и аутентификация, защита и сохранность данных пользователей при предумышленных атаках из внешней среды, далее не рассматриваются.

Риски при случайных, дестабилизирующих воздействиях де­фектов и отсутствии предумышленного негативного влияния на системы, ПС или информацию баз данных существенно отличаются от предшествующих задач. Эти риски объектов и систем зависят от отказовых ситуаций, отрицательно отражающихся на работоспособ­ности и реализации их основных функций, причинами которых мо­гут быть дефекты и аномалии в аппаратуре, программах, данных или вычислительных процессах. При этом катастрофически, крити­чески или существенно искажается процесс функционирования сис­тем, что может наносить значительный ущерб при их применении. Основными источниками отказовых ситуаций могут быть некор­ректные исходные требования, сбои и отказы в аппаратуре, дефекты или ошибки в программах и данных функциональных задач, прояв­ляющиеся при их исполнении в соответствии с назначением. При таких воздействиях, внешняя, функциональная работоспособность систем может разрушаться не полностью, однако невозможно пол­ноценное выполнение заданных функций и требований к качеству информации для потребителей. В реальных сложных системах воз­можны катастрофические последствия и отказы функционирования с большим ущербом, при отсутствии воздействия от лиц, заинтере­сованных в нарушениях работоспособности систем и ПС. Вредные и катастрофические последствия таких отказов в ряде областей при­менения систем могут превышать по результатам, последствия зло­умышленных воздействий, имеют свою природу, особенности и ха­рактеристики. Поэтому они требуют самостоятельного изучения и адекватных методов и средств сокращения рисков [15, 27, 35].


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