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

Подход к поддержке выполнения проектов распределенной разработки программного обеспечения на основе знаний Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
223
63
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОДДЕРЖКА ВЫПОЛНЕНИЯ ПРОЕКТОВ / РАСПРЕДЕЛЕННАЯ РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / ОНТОЛОГИЧЕСКИЙ ПОДХОД

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Попов Д. В., Тихов М. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Попов Д. В., Тихов М. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Подход к поддержке выполнения проектов распределенной разработки программного обеспечения на основе знаний»

УДК 004.89+004.5

Д. В. ПОПОВ, М. А. ТИХОВ

ПОДХОД К ПОДДЕРЖКЕ ВЫПОЛНЕНИЯ ПРОЕКТОВ РАСПРЕДЕЛЕННОЙ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

НА ОСНОВЕ ЗНАНИЙ

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

ВВЕДЕНИЕ

В настоящее время большую популярность приобретает организация труда в распределенном информационном пространстве (РИП). Например, работа сотрудников вне офиса (в дороге или дома) или, когда компании переносят процесс разработки программного обеспечения (ПО), частично или полностью, в другие страны с более низкой стоимостью труда. Такая организация труда связана со следующими неудобствами: усиление языкового барьера, временной сдвиг, культурные различия.

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

Объектом исследования в работе является муль-типроектная организация по разработке заказного ПО (далее - МПО) - организация с проектной структурой [1], функционирующая в РИП. Специфика деятельности такой организации заключается в следующем:

• невозможность непосредственного («живого») общения между участниками проектов (специфика РИП) и, как следствие, необходимость применения эффективных средств коммуникаций и взаимодействия (communication and collaboration);

• необходимость постоянного взаимодействия с заказчиком на всех этапах производственного процесса (специфика разработки заказного ПО) и, как следствие, необходимость передачи информации на уровне знаний для поддержания контекста коммуникации [2];

• небольшое количество сотрудников (не более 50 человек);

• одновременное выполнение нескольких проектов с привлечением одних и тех же исполнителей;

• высокая текучесть кадров (контрактный принцип работы, найм сотрудников под определенные проекты или на определенное время);

• уникальность продукта и неповторимость условий его создания в их совокупности (специфика

проектной деятельности) и, как следствие, необходимость формализации и интеграции накопленного опыта;

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

1. АНАЛИЗ СОСТОЯНИЯ ПРОБЛЕМЫ

Проведенный анализ тенденций организации процесса разработки ПО показал, что процент успешно завершенных проектов разработки ПО мал, и тенденции его роста не вызывают оптимизма, несмотря на повышенное внимание к этой проблеме со стороны многих компаний-производителей инструментальных программных средств [3]; наблюдается бурный рост рынка услуг аутсорсинга разработки ПО; все большее распространение получают различные оффшорные модели взаимодействия разработчиков ПО, в которых основная часть коммуникаций между разработчиками переносится в РИП [4].

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

Решению проблемы повышения эффективности распределенной разработки ПО посвящены разработки многих крупных компаний, таких как Microsoft, IBM, Project Management Institute и большое количество работ как отечественных (В. Л. Павлова,

A. А. Терехова, А. М. Сапегина, Э. В. Попова,

B. Б. Тарасова и др.), так и зарубежных исследователей. Однако предлагаемые ими решения не в полной мере учитывают специфику МПО.

Анализ специфики РИП показал, что из проблем, связанных с взаимодействием исполнителей, наиболее формализуемой является проблема поддержки коммуникаций. Рассмотренные готовые средства коммуникаций не обеспечивают открытые интерфейсы для последующей возможности интеграции со

сторонними разработками, зачастую имеют высокую стоимость и предъявляют жесткие требования к аппаратно-техническому обеспечению. Наиболее подходящими для обеспечения коммуникаций на уровне данных в МПО являются различные наборы библиотек, компонент и сред для разработки, например, Flash Media Server, позволяющий манипулировать потоками видео, аудио и текстовой информации. В то же время, они не предназначены для обеспечения коммуникаций на семантическом уровне, когда разработчики используют единую базу знаний (онтологию). Существующие редакторы онтологий, в свою очередь, также не предназначены для интеграции с какими-либо средствами обеспечения совместной работы. Поэтому, для наиболее полного учета специфики РИП, необходима разработка программноинформационного обеспечения на основе интеграции методов инженерии знаний и информационно-коммуникационных технологий [5].

2. ОСНОВНЫЕ ПОЛОЖЕНИЯ ПРЕДЛАГАЕМОГО ПОДХОДА

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

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

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

как по выполняемым, так и уже выполненным проектам.

3. МОДЕЛИ И МЕТОДЫ ДЛЯ РЕАЛИЗАЦИИ ПОДХОДА

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

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

.—ч чмета чБПУП ,-^.ПРПО »огр ПрО ОпД

О = О иО иО иО иО иО ,

где О™ - метаонотология, ОБПУП - онтология процессов управления проектами, опрпо - онтология процессов разработки ПО, о°гр - ограничения, накладываемые на роли терминов в отношениях, ОПрО - онтологии предметных областей выполняемых проектов, оОпД - оперативные данные по выполняемым проектам.

Рассмотрим процесс построения онтологии для проекта по разработке ПО. Группа задач, которые предстоит решать при выполнении проекта по разработке ПО, это, согласно модели: «Составление спецификации», «Кодирование», «Проектирование»,

«Управление проектом» и др. Группа агентов - это множество участников проектов, каждому агенту соответствует реальный человек, например: «Кудрявцев», «Кузнецов», «Певцов» и др.

В ходе выполнения проекта, агентам приходится решать поставленные перед ними задачи, отношение агента к задаче определяется его ролью, в соответствии с базовой моделью. Группа ролей - «аналитик», «программист», «менеджер», «тестер», «экономист». У проекта, как и у его подзадач, должны быть входные и выходные данные, в некоторых случаях это могут быть характеристики, информационные, программные или вещественные продукты. Группа данных - «Техническое задание», «Внутренние спецификации», «Программный продукт», «Сетевой график», «Бизнес-план». Данные являются для одних задач входными, для других выходными, поэтому данные связаны между собой проектами, имеющими цель получить из входных данных выходные.

Предлагается следующий способ связывания этих терминов:

< агент, роль, задача >,

< роль, задача, входные данные > и

< задача, входные данные, выходные данные >.

Рис. 1. Решетчатое представление онтологии

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

4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

Разработан прототип системы поддержки выполнения проектов разработки ПО в РИП [8] - клиент-серверное приложение, состоящее из базы знаний, мультимедиа-сервера и веб-интерфейса пользователя.

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

Для удобного просмотра онтологии используется решетчатое представление, строящееся для выделенного термина. На рис. 1 представлен пример просмотра части разработанной онтологии.

Для согласования содержания шаблонов представления для однозначной интерпретации данных участниками проектов, применяется разработанный коммуникационный Б^И-модуль «Сайтфон», который позволяет участникам обмениваться текстовой, аудио и видео информацией по проектам [9].

5. АНАЛИЗ ЭФФЕКТИВНОСТИ ПРЕДЛОЖЕННОГО ПОДХОДА

Анализ эффективности предложенного подхода осуществлялся по следующей схеме.

Было проведено анкетирование репрезентативной группы экспертов в области управления проектами разработки ПО - руководителей организаций, менеджеров проектов и ведущих программистов для формирования основной группы факторов, влияющих на эффективность выполнения проектов в РИП и «поддающихся» количественному учету. С целью сравнительного анализа динамики использования системы поддержки выполнения проектов, на основе применения метода анализа иерархий, были сформированы показатели «традиционного» информационного обмена и эффективности выполнения проектов в РИП.

На рис. 2 и 3 приведены обобщенные результаты (помесячные) мониторинга изменений интегральных показателей за период внедрения предложенного подхода на ООО «Инлайн», в сравнении с соответствующими данными за предыдущие периоды времени.

£ т ІЇ г

■О С

■■о о 43

О

!=

I 2

1

0.8 Г В

Г.-І

п

& $ $

V

Трндацнонный нвформяцногай ОимеиІ*

Ипіользов ан ге системы Бз

Рис

время

2. Динамика показателей информационного обмена

і.ь

1.3

( ї 1,1 ■ .* г

0.0- ■■ и.,' -

* и,і III-

& # & (р (р

Интегральный эффект Б

Рис. 3. Динамика интегрального эффекта от использования системы

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

Данная разработка осуществлялась при частичной поддержке грантов РФФИ 03-07-90242-в (20032005гг.) и 06-07-89228-а (2006-2008 гг.).

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ

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

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

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

4. Результаты использования предложенных моделей и методов показывают повышение эффективности мультипроектной работы исполнителей за счет сокращения времени на поиск нужной информации по выполняемым проектам (25-30%), увеличения процента повторного использования информации (30-40%), сокращения времени, затрачиваемого на

коммуникации с другими участниками (10-15%), повышения контролируемости (прослеживаемости) процесса выполнения проектов, повышения процента успешно выполненных проектов в целом по организации (на 5-10%).

СПИСОК ЛИТЕРАТУРЫ

1. Мазур, И. И. Управление проектами / И. И. Мазур,

В. Д. Шапиро, Н. Г. Ольдерогге. М. : Омега-Л, 2005. 664 с.

2. Тихов, М. А. Модели и методы поддержки выполнения проектов разработки программного обеспечения в распределенном информационном пространстве / М. А. Тихов // Интеллектуальные системы управления и обработки информации : сб. статей Региональной зимней школы-семинара аспирантов и молодых ученых. Уфа : Технология, 2006. Т. 1. С. 223-228.

3. Chaos Reports. The Standish Group International, Inc.,

2005.

4. Богатырев, Р. Оффшорное программирование в России: производство и бизнес / Р. Богатырев // Открытые системы. 2001. №№ 07, 08.

5. Попов, Д. В. Применение информационнокоммуникационных технологий для поддержки выполнения проектов в распределенной информационной среде / Д. В. Попов, А. Г. Абайтуллин, Д. А. Ризванов, М. А. Тихов // Компьютерные науки и информационные технологии» (CSIT’2006) : матер. 8-й Междунар. конф. Карлсруэ, Германия, 2006. Т. 1. С. 169-176. (На англ. яз.).

6. Попов, Д. В. Математическая модель для задачи формирования сетевой структуры мультипроектной команды / Д. В. Попов, Д. А. Ризванов, Д. Р. Богданова, А. Р. Габдулхакова // Математические методы и информационные технологии в экономике, социологии и образовании : сб. статей XVI Междунар. науч.-техн. конф. Пенза : НОУ «Приволжский Дом знаний», 2005. С. 341-344.

7. Сенькина, Г. В. О применении мультиагентных технологий для решения задачи календарного планирования / Г. В. Сенькина, М. А. Тихов, Д. Р. Богданова // Технологии Microsoft в теории и практике программирования : тез. док. конф.-конкурса работ студентов, аспирантов и молодых ученых. Новосибирск, Академгородок : НГУ,

2006. С. 245-247.

8. Абайтуллин, А. Г. Математическое и программное обеспечение поддержки выполнения проектов в распределенном информационном пространстве / А. Г. Абайтуллин, М. А. Тихов, Д. В. Попов, Д. А. Ризванов. Уфа : Уфим. гос. авиац. техн. ун-т, 2006. 84 с., ил. Деп. в ВИНИТИ 26.09.2006, № 1174-В2006.

9. Абайтуллин, А. Г. Система поддержки выполнения проектов в распределенном информационном пространстве «ИКАР» : программа для ЭВМ. Версия 1.0 / А. Г. Абай-туллин, М. А. Тихов, Д. В. Попов, Д. А. Ризванов, Ю. Р. Такиева. Рег. № 50200601231. ФГУП "Всероссийский научно-технический информационный центр" (ВНТИЦ), 2006.

i Надоели баннеры? Вы всегда можете отключить рекламу.