Онтологии как средство формализации знаний в системах управления IT-проектами
Для унификации подхода к сбору и представлению знаний предлагается использовать онтологии.
Онтология (в информатике) – этопопытка всеобъемлющей и детальной формализации некоторой области знаний с помощью концептуальной схемы [5]. Обычно такаясхема состоит из иерархической структуры данных (таксономии), содержащей классы объектов, их связи и правила (теоремы, ограничения), принятые в этой области. Одно из основных преимуществиспользования онтологий – возможность объединения информации, полученной из различных информационных сообществ. Языкиописания онтологий позволяют обеспечить взаимодействие междумножеством независимо развивавшихся схем представления тех илииных знаний. Кроме того, онтология – конструкция, удобная дляпредставления знаний в Интернете, что является важным для развития системы (языки описания онтологий являются продолжениемразвития технологии XML.
Использование онтологий позволит создать единую базу знаний, содержащую информацию о проектах, в частности о метриках и опыте их использования. Более того, опираясь на сущность онтологий, как средства преставления и хранения данных, система храненияинформации о проектах может быть расширена за счет опыта другихкомпаний. Это означает, что при старте очередного проекта можнопринимать решения, основываясь не только на своем опыте, но и наопыте коллег.
Состав онтологий интеллектуальной системы управления программными проектами. Рассмотрим основные онтологии, используемые в концепции описываемой системы.
Онтология метрик. Корневыми классами в таксономии будут являться области применения метрик: планирование и прогресс, ресурсы и стоимость, стабильность и размер продукта, качество продуктаэффективность процессов, удовлетворенность заказчика; в качествеэкземпляров – непосредственно метрики: время отклика, сходимостьдефектов, трудозатраты на релиз, плотность дефектов, стабильностьтребований и т. п.
Основными свойствами метрик будут являться: список первичных показателей, рекомендуемые целевые и критические пороги, рекомендуемая периодичность съема показаний, объемы проектовдля которых использование метрик целесообразно. Данная онтология связана с базой данных проектов через базу данных прецедентов использования метрик, определяя факты использования метрикна конкретных проектах.
Онтология рисков. Базовые классы данной онтологии – категории рисков: технические, внешние, риски окружающей средыи управления проектами, риски тестирования. Экземпляры – непосредственно риски. Онтология рисков через базу данных историирисков связана с базой данных проектов – она определяет, какиериски на каких проектах проявлялись.
Онтология методов управления проектами и корректирующихмероприятий. Базовые классы – методологии разработки проектовRUP, MSF, Agile, CMMI. Экземпляры – конечные практики методологий (например, парное программирование, unit-тестированиетестирование на территории заказчика, мониторинг решения аналитиком и т. п.). Онтология связана с базой данных проектов, а такжес онтологией рисков через базу данных истории рисков.
Онтология методов прогнозирования. Корневыми классамив таксономии являются основные направления исследований (всевиды авторегрессий, оптимальные полиномы, искусственные нейронные сети, четкие и нечеткие рекуррентные схемы, взвешивающие схемы, фрактальные схемы и т. д.); в качестве экземпляров – конкретные методы прогнозирования (например, модель авторегрессионногоинтегрированного скользящего среднего ARIMA, метод Винтерса, модель Бурга, конкретный вид и параметры нейронной сети и т. д.
В описание методов могут входить входные и выходные параметры, наборы свободных переменных, а также способы их определения, рекомендации для использования методов в определенных предметныхобластях и требования, предъявляемые к исходным данным.
Онтология методов прогнозирования связана с базой данных проектов через специальную связующую базу данных «Прецеденты прогнозирования». Подпрецедентом прогнозирования в данном случаепонимается совокупность исходных данных конкретного процессарезультатов прогнозирования, оценок качества полученного прогноза, а со временем – фактические данные и результаты их сравненияс прогнозными значениями.
На основании собранных метрик, а также на основании полученных прогнозов метрик могут быть сформулированы рекомендации по внедряемым корректирующим мероприятиям и методамуправления.
На рис. 26.1 показана связь онтологий и баз данных системы. Центральной базой данных является база проектов. Каждый проект связан с некоторой предметной областью. Возможные предметные области содержатся в онтологии «Предметные области». Возможные метрики, а также их характеристики описываются онтологией«Метрики». Информация о фактах использования метрик на проектах содержится в базе данных «Прецеденты использования метрик.
Рис. 26.1. Связь онтологий и баз данных системы
Прогнозирование метрик осуществляется с помощью методологий, описываемых в онтологии «Методы прогнозирования». Факты использования методов прогнозирования содержатся в базеданных «Прецеденты использования методов прогнозирования». Непосредственно факты прогнозирования, прогнозные и фактическиезначения показателей содержатся в базе данных «Прецеденты прогнозирования». На основании собранных и спрогнозированных метрик осуществляются идентификация рисков (онтология «Риски», база данных«История рисков»), поиск методов управления проектом и корректирующих мероприятий (онтология «Методы управления проектами и корректирующие мероприятия», база данных «Прецеденты использованияметодов управления и корректирующих мероприятий»). История возникновения рисков хранится в базе данных «История рисков». Крометого, осуществляется коррекция алгоритма прогнозирования.
Архитектура интеллектуальной системы управления IT-проектами. На рис. 26.2 представлена структура интеллектуальной системыанализа проектов.
Рис. 26.2. Структура интеллектуальной системы анализа проектов
В качестве СУБД для хранения онтологий могутбыть использованы MYSQL, Oracle, POSTGRESQL, MS SQL. КонкретнаяСУБД определяется возможностями используемых средств управленияонтологиями. Управление онтологиями может осуществляться с помощью систем для работы с онтологиями (Protege) или с помощьюспециализированных библиотек (Jena). Специализированные системыпозволяют определять классы, экземпляры, свойства онтологий, используя средства пользовательского интерфейса. Разработанная онтология может храниться во внешних файлах или в заданной СУБД.
Библиотека Jena, разработанная HP Labs, написана на Java и позволяет с помощью API-интерфейса осуществлять доступ с OWL-онтологиями, выполнять SPARQL-запросы к онтологиям, использоватьдля хранения и работы с онтологиями СУБД. Модуль прогнозирования и модуль идентификации рисков могут быть реализованыс помощью средств языков программирования высокого уровня илис помощью специализированных математических пакетов.
Клиентское приложение, с помощью которого предполагаетсяуправление системой, реализуется на любом языке высокого уровня. С помощью данного приложения конечные пользователи будутосуществлять управление системой: добавлять новые прецедентыиспользования метрик, прецеденты прогнозирования, формулировать запросы к системе, получать рекомендации о корректирующихмероприятиях и т. д. Фактически доступ к ядру системы может осуществляться либо с помощью клиентского приложения, либо с помощью систем управления онтологиями.
Таким образом, передавая на вход системы информацию о предметной области, значения метрик, список текущих корректирующихмероприятий и методик, список рисков, можно получить следующуюинформацию:
1) прогноз метрик, выполненный с помощью автоматически определенного метода прогнозирования;
2) список предполагаемых рисков, полученный на основании выполненного прогноза и полученных исходных данных;
3) рекомендуемый метод управления, сформированный на основании исходных данных и списка рисков;
4) рекомендуемые корректирующие мероприятия;
5) оценки эффективности метрик;
6) оценки эффективности методов прогнозирования.