Применение интеллектуальных систем при управлении рисками программных проектов

Автор: Гущина Оксана Александровна

Журнал: Инженерные технологии и системы @vestnik-mrsu

Рубрика: Техника и управление

Статья в выпуске: 2, 2017 года.

Бесплатный доступ

Введение. В статье выявляются основные риски программного проекта; исследуется применение различных видов интеллектуальных систем в процессе управления рисками программных проектов; рассматриваются основополагающие методы, используемые для процессов оценивания и прогнозирования в области программной инженерии; выявляются используемые в настоящее время пустые экспертные системы, программные комплексы анализа и управления рисками программных проектов. Материалы и методы. В статье раскрываются особенности управления рисками в области программной инженерии с привлечением интеллектуальных систем. Интеллектуальные методы, положенные в основу систем искусственного интеллекта, позволяют частично и/или полностью решать задачу управления с экспертной точностью без привлечения людей-экспертов. Результаты исследования. Выявлены основные риски программного проекта (налоговые, юридические, финансовые, торговые, IT-риски, риски персонала, риски, связанные конкурентами, поставщиками, маркетингом, спросом и рынком). Исследованы современные, применяемые для управления рисками программных проектов системы искусственного интеллекта, в частности экспертные системы и программные средства оценивания результатов процесса. Выявлены наиболее востребованные пустые экспертные системы (Clips, G2 и Leonardo) и программные продукты анализа больших баз данных (Orange, Weka Rattle GUI, Apache Mahout, SCaViS, RapidMiner, Databionic ESOM Tools, ELKI, KNIME, Pandas и UIMA). Рассмотрены кластерный, корреляционный, регрессионный, факторный и дисперсионный анализы как методы, на основы которых выполняется оценивание и прогнозирование процессов программной инженерии. Обсуждение и заключения. Результаты, полученные в ходе проведенного исследования, показывают целесообразность применения различных интеллектуальных систем в процессе управления рисками обозначенных в статье программных проектов. Проведенный анализ методов оценивания рисков, а также тенденции их применения в современных системах интеллектуального анализа могут служить базой для создания единой системы управления рисками программных проектов средней и высокой сложности с заранее заданной структурой проекта.

Еще

Риск, управление программными проектами, система искусственного интеллекта, экспертная система

Короткий адрес: https://sciup.org/14720255

IDR: 14720255   |   DOI: 10.15507/0236-2910.027.201702.250-263

Текст научной статьи Применение интеллектуальных систем при управлении рисками программных проектов

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

Сложность процесса управления рисками IT-проекта приводит к увеличению и/или усложнению деятельности лиц, связанных с этим процессом. Эта проблема может быть решена несколькими способами:

– увеличением численности привлекаемого персонала;

– повышением компетентности персонала в области управления рисками и увеличением их прав при непосредственном влиянии на рисковые ситуации;

– разработкой и совершенствованием методов оценивания, методологий выработки управленческих решений и методов прогнозирования, реализуемых в виде прикладных программных средств.

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

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

Актуальность выбранной тематики обусловлена потребностью интеллектуальной поддержки процессов управления рисками для мелких, средних и крупных программных проектов.

Результаты исследования востребованы в программной инженерии при управлении жизненным циклом IT-проекта.

Обзор литературы

Базисом теории управления рисками программных проектов служит риск-менеджмент. Анализ научной литера-туры1–5 по данной тематике позволил составить перечень актуальных рисков IT-проектов. Необходимо отметить, что в каждом источнике выделяются определенные риски (наиболее значимые для авторов в момент издания).

Анализ данных, приведенных в [1–3], помог выявить стержневые разновидности систем искусственного интеллекта, применяемых для решения творческих задач, в т. ч. анализа6 и прогнозирования.

Анализ математического аппарата показал наибольшую востребованность кластерного, корреляционного, регрессионного, факторного и дисперсионного анализов6–8 [4–5].

Различные авторы для процесса управления рекомендуют методики, отличающиеся по процессу применения, объекту применения и другим характеристикам. Например, А. Л. Гусев рассматривает каскадное управление [3], В. И. Кордович – субъект-ориентиро-ванное [6], В. А. Кунин – превентивное [7], Р. Томсетт9 – радикальное, М. М. Гончаров – комплексное [8].

В [1–2; 4–5; 8–9] описаны принципы построения интеллектуальных систем поддержки принятия решений по управлению рисками, особенности их математического аппарата, принципов структурирования информации, реализации машины логического вывода. Причем в [8] описание выполняется для узкой проблемной области.

Особое место при управлении имеет задача прогнозирования. В ра-ботах10–13 рассматриваются различные аспекты методик прогнозирования и их применения, в т. ч. при прогнозировании развития рисковых ситуаций13.

Применение на практике методики управления рисками описаны в рабо-тах2–3; 8 [10–11].

Практическое применение программных средств управления рисками IT-проектов приведено в работах6; 8 [1–2].

Материалы и методы

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

Результаты исследования

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

Управление рисками включает в себя 5 этапов:

  • 1)    идентификация рисков;

  • 2)    оценивание рисков:

    • 2.1)    качественный анализ рисков;

    • 2.2)    количественный анализ рисков;

  • 3)    прогнозирование тенденций развития рисковых ситуаций;

  • 4)    планирование (разработка стратегий управления рисками);

  • 5)    контроль рисков.

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

При общем рассмотрении рисков программных проектов (на стадии идентификации рисков) выделяются 10 основных групп рисков:

  • 1)    налоговые риски;

  • 2)    риски персонала:

    • 2.1)    риски оценивания персонала;

    • 2.2)    риски разработки и внедрения комплексной системы работы с персоналом;

    • 2.3)    системная работа с персоналом по внедрению и сопровождению изменений в проекте;

    • 2.4)    подбор и обучение персонала;

    • 2.5)    риски, связанные со здоровьем персонала;

  • 3)    IT-риски:

    • 3.1)    технологические риски;

    • 3.2)    инструментальные риски;

    • 3.3)    риски, связанные с системными требованиями;

    • 3.4)    риски оценивания параметров проекта;

  • 4)    риски, связанные с конкурентами;

  • 5)    риски, связанные с поставщиками:

    • 5.1)    риски, вызванные перебоями и задержками поставок;

    • 5.2)    риски, вызванные банкротством поставщика;

    • 5.3)    риски, вызванные увеличением расходов;

    • 5.4)    риски, вызванные нехваткой сырья и оборудования для производства и/или, товаров для продажи;

    • 5.5)    риски, вызванные низким качеством выпускаемой продукции;

    • 5.6)    риски, вызванные низким качеством сырья и/или оборудования;

    • 5.7)    риски, вызванные затруднениями у поставщика;

    • 5.8)    риски, вызванные отсутствием конкуренции;

    • 5.9)    риски, вызванные дополнительными расходами;

    • 5.10)    риски, вызванные снижением прибыли;

  • 6)    риски, связанные со спросом и рынком;

  • 7)    юридические риски;

  • 8)    финансовые риски;

  • 9)    торговые риски;

  • 10)    риски, связанные с маркетингом.

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

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

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

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

Экспертное заключение строится исходя из значений вероятностей наступления рискового события в целом и каждого отдельного риска с указанием величины ущерба и очага возникновения риска.

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

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

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

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

  • 1)    задача формирования структурированных потоков полной достоверной информации по каждому риску в большие базы данных;

  • 2)    задача разработки методов и инструментария обработки больших баз данных;

  • 3)    задача анализа больших баз данных каждого риска и рисковой ситуации в целом;

  • 4)    задача разработки динамических баз данных результатов проведенных анализов;

  • 5)    задача составления прогноза на основе данных динамических баз данных.

При оценивании рисков важен как количественный, так и качественный анализ рисковой ситуации.

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

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

Метод экспертной оценки лучше всего программно реализуется интеллектуальными системами, использующими технологии экспертных систем. Данные технологии позволяют не столько оценивать численную информацию, сколько анализировать текстовую и графическую информацию, определяющую рисковую ситуацию. Для экспертных систем характерно использование продукций (правил):

ЕСЛИ <условие> ТО <действие>

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

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

Экспертные системы либо дают жизнь пустым оболочкам экспертных систем (пустым экспертным системам), либо разрабатываются на базе существующих оболочек. Наиболее распространенными, доступными, качественными оболочками систем, обрабатывающих однослойную структуру знаний и поддерживающих прямой и обратный вывод (в большинстве случаев), являются последние версии Clips, G2, Leonardo.

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

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

Еще раз подчеркнем необходимость постоянного итерационного комплексного управления рисками как весомой части управления программным проектом на протяжении каждо- го его этапа. Величина доли каждого отдельного риска в рамках суммарного риска проекта определяется в зависимости от внутренних и внешних условий программного проекта. К внешним условиям относятся обстоятельства, не зависящие от структуры проекта (современные тенденции дизайна пользовательского интерфейса и др.). Внутренние условия прямо или косвенно зависят от структуры проекта (требования заказчика, требования пользователей и др.). Изменение внешних и/или внутренних условий приводит к возникновению или изменению рисковых ситуаций в течение всего проекта.

В каждой группе рисков присутствуют риски, вызванные как внешними, так и внутренними причинами. Ярким примером являются риски персонала:

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

При управлении рисками программных проектов важную роль играет интеллектуальный анализ данных. В современной мировой практике самыми популярными программными средствами такого анализа являются:

  • 1)    Orange – инструмент визуализации и анализа данных с открытым исходным кодом (рис. 1);

  • 2)    Weka (Waikato Environment for Knowledge Analysis) – набор программных приложений машинного обучения для интеллектуального анализа данных задач (рис. 2)

    Р и с. 1. Интерфейс ПС Orange6

    F i g. 1. PS Orange interface6


    Р и с. 2. Интерфейс ПС Weka6 F i g. 2. PS Weka interface6


  • 3)    Rattle GUI – средство, обеспечивающее визуализированный интеллектуальный анализ данных (рис. 3);

  • 4)    Apache Mahout – проект, позволяющий выполнять кластеризацию и категоризацию анализируемых данных;

  • 5)    SCaViS – кросс-платформа Java, предназначенная для интеллектуального анализа данных, проведения статистических тестов и регрессионного анализа данных (рис. 4);

    Р и с. 3. Интерфейс ПС Rattle GUI6

    F i g. 3. PS Rattle GUI interface6

    258                                   Информатика, вычислительная техника и управление


    Р и с. 4. Интерфейс ПС SCaViS6

    F i g. 4. PS SCaViS interface6


  • 6)    RapidMiner – средство, предоставляющее интегрированную среду для машинного обучения, интеллектуального анализа данных, анализа текста, прогнозирования и бизнес-аналитики (рис. 5);

  • 7)    Databionic ESOM Tools – набор программных средств для кластеризации, визуализации и классификации данных с самоорганизующимися картами (рис. 6);

    Combine data from Hadoop and any traditional source

    Р и с. 5. Интерфейс ПС RapidMiner6

    F i g. 5. PS RapidMiner interface6


    Train model in distributed Hadoop cluster


    Р и с. 6. Интерфейс ПС Databionic ESOM Tools6 F i g. 6. PS Databionic ESOM Tools interface6


  • 8)    ELKI – проект для углубленного кластерного анализа данных выбираемым методом с возможностью управления этими данными;

  • 9)    KNIME (Konstanz Information Miner) – программное средство для интеллектуального анализа данных с возможностью управления данными, позволяющее выполнять прогнозирование (рис. 7);

  • 10)    Pandas – программная библиотека с открытым исходным кодом, обеспечивающая обработку данных различной структуры с возможностью их статистического и временного анализов (рис. 8);

  • 11)    UIMA (Unstructured Information Management Architecture) – для анализа неструктурированных данных.

Обсуждение и заключения

В результате проведенного в статье исследования были выявлены основные риски программного проекта (налоговые, юридические, финансовые и торговые, IT-риски, риски персонала, риски, связанные конкурентами, 260

поставщиками, маркетингом, спросом и рынком). Также был проведен анализ основных видов интеллектуальных систем, применяемых для решения творческих (неоднозначных) задач, к которым относятся задачи, решаемые при управлении рисками программных проектов. Описаны распространенные в данной проблемной области системы интеллектуального интеллекта: экспертные системы и прикладные программные средства оценивания рисков. Выявлены наиболее используемые в настоящее время пустые экспертные системы (Clips, G2 и Leonardo) и системы анализа больших баз данных (Orange, Weka Rattle GUI, Apache Mahout, SCaViS, RapidMiner, Databionic ESOM Tools, ELKI, KNIME, Pandas и UIMA). Рассмотрены базисные методы, позволяющие реализовывать оценивание и прогнозирование результатов управления рисками (в частности, кластерный, корреляционный, регрессионный, факторный и дисперсионный анализы).

Информатика, вычислительная техника и управление

Р и с. 7. Интерфейс ПС KNIME6

F i g. 7. PS KNIME interface6

Р и с. 8. Интерфейс ПС Pandas6

F i g. 8. PS Pandas interface6

Актуальность заявленной темы подтверждается большим интересом разработчиков программных проектов к автоматизации процесса управления рисками, разнообразием подходов и основанных на них программных продуктов, применяемых при оценивании рисков IT-проектов, а также отсутствием стандартизированной методологии.

Полученная информация может послужить отправной точкой для создания единой системы управления рисками программных проектов произвольной сложности с заранее заданной структурой.

Список литературы Применение интеллектуальных систем при управлении рисками программных проектов

  • Глушенко С. А. Анализ функциональной полноты программных систем управления рисками//Вестник РГЭУ (РИНХ). 2012. № 2 (38). С. 53-62. URL: http://old.rsue.ru/vestnik/archive.aspx
  • Шевцова Ю. В. Байесовские технологии в управлении операционными рисками//Электросвязь. 2010. № 10. С. 58-61. URL: https://www.rucont.ru/efd/255278
  • Гусев А. Л. Сложные правила остановки непрерывного контроля//Современные проблемы науки и образования. 2013. № 3. URL: https://www.science-education.ru/ru/article/view?id=9605
  • Яковенко Д. О., Целищев М. А. Диверсификация и ее связь с мерами риска//Информатика и ее применение. 2011. Т. 5, вып. 3. С. 21-26. URL: http://www.studfiles.ru/preview/4269507
  • Таганов А. И Методика анализа и сокращения рисков проектов сложных программных систем по характеристикам качества//Вестник РГРТУ. 2010. Вып. 31, № 1. С. 77-82. URL: http://vestnik.rsreu.ru/ru/archive/2010/1-vypusk-31
  • Кордович В. И. Техника агрегирования рисков методом Монте-Карло//Известия СПбГАУ. 2013. № 33. С. 142-147. URL: http://spbgau.ru/izvestiya/numbers/Zhurnal_33
  • Кунин В. А. Стержневые задачи превентивного управления рисками промышленного предпринимательства//Мат-лы VII Междунар. науч.-практ. конф. «Социально-экономическая роль денег в обществе». СПб.: Изд-во СПбАУЭ, 2011. С. 130-134. URL: http://www.spbume.ru/file/pages/79/kunin2011.pdf
  • Гончаров М. М. Гибридная нечеткая модель управления рисками систем обработки информации//Научное образование. 2014. № 1. С. 123-129. URL: http://elibrary.ru/item.asp?id=21457341
  • Тарасов А. Д. Управление рисками и безопасностью//Труды ИСА РАН. 2014. Т. 64, № 2. С. 27-41. URL: http://www.isa.ru/proceedings/index.php?option=com_content&view=article&id=830
  • Зинкевич В., Штатов Д. Информационные риски: анализ и количественная оценка: начало//Бухгалтерия и банки. 2007. № 1. С. 50-55. URL: http://base.garant.ru/5334264
  • Зинкевич В., Штатов Д. Информационные риски: анализ и количественная оценка: окончание//Бухгалтерия и банки. 2007. № 2. С. 48-53. URL: https://www.lawmix.ru/bux/73392
Еще
Статья научная