Введение к работе
Актуальность темы. Несмотря на все предпринимаемые усилия, в том числе по стандартизации создания программного обеспечения, только треть начатых проектов завершается успешно, т.е. в заданные сроки, с требуемым качеством, в пределах выделенного бюджета. По-прежнему недостатки, имеющие место в ходе создания и выполнения процессов разработки программных изделий, остаются важнейшей причиной неуспеха проектов.
Решение проблемы разработки производственного процесса, обеспечивающего успешность проекта, по силам организациям-разработчикам, достигшим определенного уровня зрелости. Однако в работах, посвященных процессам разработки программных изделий (ПИ), отмечается, что реальное достижение предприятием зрелости, превышающей 3-й уровень модели СММ, принципиально невозможно без автоматизации разработки и отслеживания проектных процессов.
Проблема автоматизации сложна в силу определяющего влияния человеческого фактора в ходе разработки, разнообразия выполняемых проектов, множества появляющихся, исчезающих и постоянно меняющихся инструментальных средств, отсутствия либо недоступности статистики и т. п. Выходом в данной ситуации представляется разбиение задачи автоматизации на этапы, реализуемые применительно к определенным классам организаций-разработчиков.
Проведенный анализ показал, что, несмотря на отсутствие общепринятого стандарта разработки программного обеспечения (ПО), схема построения проектного процесса в наиболее распространенных стандартах (СММ, ИСО) практически одинакова. При этом как в СММ, так и в ИСО в качестве первого этапа создания проектного процесса выступает этап выбора модели процесса разработки программного изделия.
В силу специфики требований, предъявляемых к организации производственного процесса, характера разрабатываемых изделий, особенностей заказчика, наиболее острой задача автоматизации выбора модели процесса разработки является для компаний, работающих на рынке аутсорсинга ПО или близких им по уровню зрелости и специфике разрабатываемых проектов.
Практика показывает, что существующие системы автоматизации разработки ПО, а также применяемые методы не решают встающих перед ними проблем, поэтому задача автоматизации выбора модели процесса разработки ПИ для этих компаний по-прежнему остается актуальной.
Целью диссертационной работы является создание метода, обеспечивающего возможность автоматизации первого этапа построения успешных проектных процессов, этапа выбора модели процесса разработки программного изделия, для организаций, работающих на рынке аутсорсинга
ПО или близких им по уровню зрелости и специфике разрабатываемых проектов.
Основные задачи, решаемые в работе:
Определение функции, описывающей модели процесса разработки
ПИ в пространстве характеристик проектов, включающее:
определение множества моделей процессов, используемых организациями, работающими на рынке аутсорсинга или близкими им по уровню зрелости и специфике разрабатываемых проектов;
определение множества характеристик проектов, влияющих на выбор моделей процессов разработки, и множества возможных значений этих характеристик;
задание правила соответствия моделей процессов разработки характеристикам проектов разработки ПИ.
Разработка метода выбора модели процесса разработки ПИ на основе выполненной формализации описания пространства характеристик проектов.
Разработка алгоритма, формирующего множество рекомендуемых моделей процесса разработки.
Разработка программы, реализующей метод выбора модели процесса разработки ПИ по характеристикам инициируемого проекта. Объект исследования. Объектом исследования являются
производственные процессы разработки программных изделий.
Предмет исследования. Предметом исследования являются модели производственных процессов разработки программных изделий и рекомендации, определяющие их выбор.
Используемые методы. Для решения поставленных в работе задач используются методы системного анализа, теории множеств, математической логики, теории принятия решений и теории распознавания образов.
Обоснованность и достоверность полученных результатов. Обеспечивается за счет анализа состояния исследований в данной области, подтверждается использованием формальных методов и алгоритмов, проверкой ожидаемых результатов на практике, а также апробацией основных теоретических положений диссертации в печатных трудах и докладах на международных и всероссийских научных конференциях.
Научная новизна 1. Определена функция, описывающая множество моделей процесса
разработки ПИ в пространстве характеристик проектов. Функция
определена для организаций, работающих на рынке аутсорсинга ПО,
на основании анализа существующих рекомендаций. Функция задана
в виде таблицы и является основой для создания формализованного метода выбора модели процесса разработки ПИ.
Разработан метод выбора модели процесса разработки ПИ. Метод ориентирован на вовлечение в процесс решения неформализуемых и/или плохо формализуемых предметных знаний пользователя. Особенностями метода являются постепенная детализация информации, запрашиваемой и предлагаемой для анализа пользователю в процессе решения задачи; ориентация на операции по переработке информации, доступные человеку по сложности; использование алгоритма формирования множества решений, интуитивно понятного лицу, принимающему решение.
Разработан алгоритм формирования множества рекомендуемых моделей процесса разработки, принадлежащий классу алгоритмов распознавания, основанных на вычислении оценок. Особенностями алгоритма являются использование множества рекомендуемых моделей в качестве конечного результата; использование редукции как способа формирования системы опорных множеств, гарантирующей формирование множества моделей; отказ от использования весовых коэффициентов, как средства выявления приоритетов лица, принимающего решение.
Теоретическая значимость. Положения метода, связанные с привлечением в процесс выбора неформализуемых и плохо формализуемых знаний лица, принимающего решение (ЛПР), могут быть использованы при создании методов и процедур автоматизации разработки проектного процесса в целом. Множество характеристик проекта, определенное в работе, является основой для построения моделей оценивания стоимости проекта.
Практическая ценность. Практическая значимость работы заключается в повышении обоснованности выбора модели процесса разработки программного изделия и, следовательно, уменьшении риска неудачного завершения проекта. Практический интерес представляет также использование полученных результатов в процессе обучения студентов дисциплинам, связанным с технологией разработки программного обеспечения.
Реализация результатов. Созданная на основе полученных результатов программа, реализующая метод выбора модели процесса разработки ПИ по характеристикам инициируемого проекта, эксплуатируется в ряде компаний-разработчиков программного обеспечения, используется в процессе обучения студентов в дисциплинах, связанных с технологией разработки программного обеспечения. Имеются акты внедрения от компаний StarSoft Development Labs, Аурига, а также от
Санкт-Петербургского государственного университета водных
коммуникаций.
Апробация работы. Основные положения и результаты диссертационной работы докладывались и обсуждались на X Международной конференции «Региональная информатика 2006» (Санкт-Петербург, Россия, 2006), Второй всероссийской научно-практической конференции по имитационному моделированию и его применению в науке и промышленности «Имитационное моделирование. Теория и практика» (Санкт-Петербург, Россия, 2005), IV Международной конференции «Возможности России в области экспорта услуг по разработке программного обеспечения» (Санкт-Петербург, Россия, 2004), IX Международной конференции «Региональная информатика 2004» (Санкт-Петербург, Россия, 2004).
Результаты, выносимые на защиту
Описание моделей процесса разработки ПИ в пространстве характеристик проектов для организаций, работающих на рынке аутсорсинга программного обеспечения.
Метод выбора модели процесса разработки ПИ, основанный на формализации описания пространства характеристик проекта.
Программа, реализующая метод выбора модели процесса разработки ПИ.
Публикации. Основные положения диссертации изложены в 5 печатных работах, в том числе 1 работа в журнале из перечня ВАК («Программные продукты и системы»).
Структура работы. Диссертация состоит из введения, 4-х глав, заключения, списка литературы и приложений. Диссертация изложена на 129 страницах машинописного текста, содержит 20 таблиц, 16 рисунков, список литературы — 98 наименований, 33 страницы приложений.