Модель планирования и управления разработкой сложных программных систем на основе комбинированной методики оценки трудозатрат тема диссертации по экономике, полный текст автореферата
Автореферат
Ученая степень | кандидат экономических наук |
Автор | Алиев, Хаджимурад Расулович |
Место защиты | Санкт-Петербург |
Год | 2010 |
Шифр ВАК РФ | 08.00.13 |
Автореферат диссертации по теме "Модель планирования и управления разработкой сложных программных систем на основе комбинированной методики оценки трудозатрат"
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Модель планирования и управления разработкой сложных программных систем на основе комбинированной методики оценки трудозатрат
Специальность 08.00.13 - Математические и инструментальные методы
экономики
АЛИЕВ ХАДЖИМУРАД РАСУЛОВИЧ
АВТОРЕФЕРАТ
диссертации на соискание ученой степени
кандидата экономических наук
14 О ИТ 2010
Санкт-Петербург 2010
Работа выпонена в Федеральном государственном образовательно., учреждении высшего профессионального образован г я
Санкт-Петербургский государственный университет на кафедр информационных систем в экономике
Научный руководитель:
Официальные оппоненты:
Ведущая организация:
доктор физико-математических наук, профессор
Юрков Александр Васильевич
доктор экономических наук, профессор
Стельмашонок Елена Викторовна
кандидат экономических наук, доцент
Ермоленко Константин Юрьевич
Санкт-Петербургский государственнык политехнический университет
Защита состоится л_ 2010г. в л часов на заседаю
Совета Д.212.232.34 по защите докторских и кандидатских диссертаций при Санкт-Петербургском Государственном Университете по адресу: 19112: Санкт-Петербург, ул. Чайковского, д.62, экономический факультет, ауд. /УГ
С диссертацией можно ознакомиться в библиотеке им. A.M. Горького Санкт Петербургского государственного университета.
Автореферат разослан л
Ученый секретарь диссертационного совета,
кандидат экономических наук, доцент ?// / / Капусткин
I. ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность темы исследования. В процессе разработки крупных программных систем на различных этапах выпонения проекта его участники стакиваются с задачами технико-экономического обоснования (ТЭО). Прежде всего, это задачи оценки трудозатрат и ресурсов, необходимых для их успешной реализации к ним относятся: время и финансирование, инструментальное обеспечение, обеспеченность разработчиками. Точность полученных оценок является одним из определяющих факторов успешности выпоняемого проекта.
Экономические исследования в сфере разработки информационных систем (ИС), в настоящее время очень актуальны. Существует множество публикаций на тему управления процессом разработки. Задачи оценки трудоёмкости и стоимости протраммного обеспечения (ПО), на всех стадиях жизненного цикла в поной мере в нашей стране не раскрыта.
К сожалению, современные методики решения данной задачи не достаточно эффективны. Существующие модели, обладающие достаточно хорошо проработанным агоритмом решения, плохо адаптированы к реальному процессу проектирования ПО. Для различного рода крупных информационных систем данные методики делают задачу трудноразрешимой. К примеру, исследования, проведенные в Software Engineering Institute (SEI)1 показал что, около 80% всех внедренных систем количественной оценки процесса разработки ПО оказываются практически невостребованными. Особую актуальность данные исследования имеют для Российских компаний разработчиков ПО, т.к. необходимо поностью пересматривать процесс управления разработкой ИС для внедрения данных решений на предприятиях.
1 Ссыка на домен более не работаетp>
Вместе с тем, возможности для совершенствования методических подходов к оценке трудоемкости проектирования ПО велики, рассматривая с позиции качественно нового подхода, путём объединения методов планирования и управления подобных систем.
Степень разработанности темы исследования. Вопросы оценки стоимости разработки ПО и исследования в этой области в основном проводятся на Западе, в частости, университетами США и Европы, на данный момент выпонено достаточно большое количество исследований в области программной инженерии. Начало исследований в области оценки стоимости программного обеспечения положено в 60-х г.г., в работах зарубежных (Нельсон, А. Альбрехт, Ч. Саймон, Б. Боэм, С. Макконнел) и отечественных авторов (В.Липаев, С. Орлов). Существующие методы оценки ИС на практике оказываются трудоемкими, они недостаточно формализованы и не учитывают различные факторы, влияющие на длительность проекта.
Цель исследования. Целью исследования является разработка модели измерения трудоёмкости процесса разработки информационных систем на основе формализованной информации о предметной области.
Для достижения поставленной цели необходимо решить следующие задачи:
Х Проведение комплексного анализа существующих моделей оценки стоимости программных продуктов, с целью выявления их основных характеристик, возможностей, сильных и слабых сторон;
Х Разработка концепции управления разработкой программного обеспечения с учётом планирования и проведения оценки трудоемкости инициируемых программных проектов;
Х Выбор модели и методики, на основе которой будет разрабатываться новая комбинированная методика по оценке стоимости разработки ИС;
Х Разработка рекомендаций по практическому применению систем оценки стоимости с целью повышения точности оценок на ИТ-предприятиях;
Х Разработка нового программного продукта (ПП) на основе комбинированной модели;
Объект н предмет исследования. Объектом исследования является
процесс разработки крупных информационных систем.
Предметом исследования являются модели оценки трудоёмкости и
соответствующих систем планирования и управления проектирования ИС.
Теоретическая и методологическая основа исследования. В основе
диссертационного исследования лежат методы системного анализа процессов
создания программного обеспечения, теория управления информационными
проектами, метрики, экспертные оценки, анализ и синтез характеристик и
показателей инициируемых проектов. В том числе специализированные
методы и подходы к оценке трудоёмкости, ресурсоёмкоеЩ (методы
аналогий) ряда крупных информационных компаний, Санкт-Петербурга и
других регионов России.
Инструментальная поддержка разработанных методов заключается в
применении средств, основанных на использовании программных пакетов
MS Visual Studio 2008 (язык имплементации - С#), MS SQL, FirebirdSQL.
Научная новизна исследования. Научная новизна исследования
заключается в разработке единого набора требований для моделей оценки
стоимости и программных продуктов по оценке стоимости, с целью
упрощения процесса выбора близкой к оптимальной модели трудозатрат для
нужд ИТ-предприятия; в усовершенствовании моделей конструктивной
стоимости (СОСОМО II) и функциональных точек (Functional Point) с целью
повышения точности оценок; в разработке нового программного продукта
(пакета) для автоматизации получения оценок стоимости проекта,
позволяющего производить прогнозирование стоимости, сроков проекта с учетом изменяющихся требований заказчика, размера команды (персонала разработчиков), с возможностью адаптироваться под нужды конкретного предприятия, позволяющего хранить большой объем данных и получать быстрый доступ к ним.
Научная новизна диссертационной работы заключается в разработке новой экономико-математической модели и методики оценки трудоёмкости разработки ПО.
К числу основных результатов, определяющих научную новизну диссертационного исследования, относятся следующие:
1. сравнительный анализ моделей оценки стоимости на основе новых критериев, применяемых ведущими компаниями по разработке ПО, выделены их слабые и сильные стороны;
2. новая экономико-математическая модель оценки трудозатрат на различных этапах проектирования программного обеспечения, определения оптимального размера команды и система планирования;
3. концепция управления проектами с описанием процессами оценки трудозатрат инициируемых программных проектов, с целью повышения точности стоимостных факторов и параметров;
4. рекомендации для решения проблем неправильной оценки стоимости, учитывающие специфику методологии разработки ПО на ИТ-предприятиях;
5. автоматизированная система, которая выдаёт в виде отчётов оценку трудозатрат, на всех стадиях проектирования с различной глубиной анализа и детализации;
Практическая значимость работы. Создана и внедрена в ряде крупных ИТ-предприятии автоматизированная система оценивания и управления
процесса разработки ПО, на всех стадиях жизненного цикла информационных систем.
Публикации. Основные результаты и выводы диссертационной работы представлены в работах [1-5], опубликованных в научных изданиях, три из которых входит в список изданий, рекомендованных ВАК.
Научная апробацш! работы и внедрение результатов исследовании. Основные результаты и выводы диссертационной работы докладывались автором на различных конференциях:
1. Общеуниверситетская научная конференция: Социально-экономические тенденции в российском бизнесе. (СПб., СПбГУ, 27-29 марта 2008г.);
2. Весенняя конференция молодых учёных экономистов: Пути развития национальной экономики. (СПб., СПбГУ, 18 апреля 2008г.);
3. Всероссийская конференция лV Всероссийская межвузовская конференция молодых учёных. (СПБ., СПБГУ ИТМО, 15-18 апреля 2008г.);
4. 14 международная конференция молодых ученых экономистов: Предпринимательство и реформы в России. (СПБ., СПбГУ, 27-28 ноября 2008г.);
5. Политехнический симпозиум: Молодые ученые - промышленности Северо-Западного региона. (СПБ., СПбГПУ, 9 декабря 2008г.);
6. IFPUG's 4th Annual ISMA Conference and Fall Workshops Sunday, Chicago, IL, USA, 13-16 September 2009, Palmer House Hilton. "The combined technique of an estimation processes in the software development on the basis of COCOMO II and Functional Point." Aliev Kh. Материалы опубликованы в общих тезисах конференции.
7. Результаты диссертационного исследования внедрены и опубликованы в научно-исследовательской разработке: Разработка методологических основ проектирования и обоснование принципов применения корпоративных информационных систем в условиях инновационной
экономики - Код ГРНТИ: 20.15.05 СПбГУ, СПБ., 2009г. Руководитель: к.т.н., проф. Ботвин Г.Л.
Результаты работы были интегрированы в состав практических методов па этапах предпроектного исследования при разработке заказных про1раммных систем в таких ИТ-компаниях как:
^ ООО Эксиджен-Сервисес (Exigen-Services) г. Санкт-Петербург,
^ ЗАО ЭЙСИ-Нильсен (Nielsen Russia) г. Москва,
S ООО Беволекс (Bevolex) Республика Дагестан, г. Махачкала.
Структура и объем диссертации. Цели и задачи диссертационного исследования обусловили структуру диссертационной работы, которая состоит из введения, трёх глав, заключения, списка литературы и приложения. Общий объём основного текста содержит 151 с тр., 28 таблиц, и 17 рисунков и схем., приложения содержит 55 стр.. Список использованных источников включает 119 наименований.
II. ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
Во Введении обосновывается актуальность темы исследования, формулируется цель и задачи диссертационной работы, её теоретико-методологическая база и научная новизна.
В Главе X. (Методики оценивания стоимости программных проектов) даны определения и понятия программного проекта (информационного проекта), определены основные признаки информационного проекта:
Наличие чёткой цели проекта, определенных в техническом задании; S Изменения предметной области, в которой реализуется профаммньш проект;
S Ограниченность во времени, иными словами, сроки проекта;
Ограниченность требуемых ресурсов, финансов, людей, техники, оборудования, материалов и др.; ^ Комплексность и разграничение; ^ Специальная организация проекта.
Проведена классификация проектов по составу, структуре и типу проектов, с учетом длительности, сложности и масштаба проекта. Схема классификации проектов приведена на рис.1
КЛАССЫ ПРОЕКТОВ
Рис.1. Схема классификации проектов
Основные затраты при разработке (создании) крупных информационных систем - это человеческие ресурсы, другими словами, это трудозатраты (трудоёмкость), в меньшей степени это рссурсо-затраты (ресурсоёмкость). С точки зрения экспертов по управлению проектами, трудозатраты па разработку ПО и есть эквивалент значения стоимости разработки 110. Необходимо отметить, что на реальную стоимость выпонения программного продукта и окончательной цены ИС, оказывают влияние различные экономические факторы, которые непосредственно не относятся к программной инженерии ставка разработчика, ситуация на рынке и.т. д.
Основные факторы, влияющие на стоимость разработки ПО:
Х Размер конечного программного продукта, который обычно измеряется числом строк исходного кода (SLOC);
Х Особенности процесса (методологии), используемой для получения конечного программного продукта;
Х Возможности персонала (Personal capability), участвующего в разработке ПО;
Х Среда разработки программного продукта, состоящая из автоматизированных инструментов и методов, используемых для эффективного процесса разработки ПО;
Х Требуемое качество продукта (quality assurance), включающая в себя функциональные возможности, производительность, надежность и адаптируемость и др.
В первой главе описываются особенности различных методов оценки трудоёмкости применяемых на сегодняшний день в различных компаниях, занимающихся разработкой крупных ИС. В контексте этих особенностей рассматривается эффективность, и определяются наиболее неэффективные методики оценивания.
Первая глава состоит из нескольких разделов, освещены вопросы предметной области, определен ряд требований к системам оценки и обоснована необходимость разработать новый информационный пакет, отвечающий требованиям, как испонителей, так и заказчиков крупных информационных систем.
Методика оценки стоимости это чёткий математический агоритм, используемый для того, чтобы оценить стоимость продукта (информационного проекта).
Во второй главе (Проектирование системы оценки стоимости программного проекта) даны теоретические основы диссертационного
исследования, в ней обосновывается эффективность применения комбинированного метода оценки трудоёмкости при проектировании и разработки ИС, приводятся модели, которые относятся к таким направлениям как, экспертные системЕЛ, методы аналогий, сложно формализуемые методики.
Вторая глава состоит из шести разделов, они посвящены разработке системы управления оценки стоимости на основе требований, выделенных в первой главе. В качестве базовой методики оценки трудозатрат выбраны две модели: СОСОМО II (конструктивная модель стоимости) и Functional Point (Функциональные точки). Эти модели являются наиболее востребованными для оценки стоимости ИТ-проектов в крупных компаниях. В качестве доработки и допонения данных моделей предложены следующие методики:
Х Техника оценки PERT (Program Evaluation and Review Technique);
Х Теория Брукса - классический концептуальный подход к управлению разработкой программных проектов.
Комбинированная методика СОСОМО И и PERT. PERT - это способ анализа задач, необходимых для выпонения проекта. В особенности, анализа времени, которое требуется для выпонения каждой отдельной задачи, а также определение минимального необходимого времени для выпонения всего проекта. PERT был разработан в 50-ые годы главным образом для упрощения планирования и составления фафиков больших и сложных проектов. Метод подразумевал наличие неопределённости, давая возможность разработать рабочий график проекта без точного знания деталей и необходимого времени для всех его составляющих. Самая известная часть PERT Ч это Сети PERT Ч трафики соединённых между собой временных линий. PERT предназначен для очень масштабных, единовременных, сложных, нерутинных проектов.
Рис. 2. Пример сети PERT.
Планирование процесса в классической PERT имеет следующие шаги:
1) Идентифицировать компоненты и итерации разработки проекта;
2) Определить соответствующую последовательность разработки компонентов;
3) Создать сетевой график иа основе этой последовательности;
4) Определить время, необходимое для каждого компонента;
5) Выявить критический путь;
6) Обновлять сетевой график по мере продвижения в разработке проекта;
Итерации являются маркерами начала и конца групп компонентов разработки. Последовательность компонентов разрабатывается исходя из логической очереди в реализации проекта, в которой один компонент, например, не может быть начат раньше, чем завершен другой или некая группа компонентов. В то время как некоторые компоненты могут разрабатываться паралельно между собой. Время для каждого компонента разработки определяется 3 способами.
1) Оптимистическая оценка - с вероятностью 1% данный компонент потребует столько времени для реализации.
2) Номинальная - эта оценка имеет максимальную вероятность быть полученной на практике.
3) Пессимистическая оценка Ч максимальное время, которое может по требовать на реализацию компонент.
Критический путь в сетевой диаграмме - это самый длинный путь. Он определяет календарное время для выпонения проекта, остальные пути называются некритическими. Количество времени, на которое может быть задержан некритический путь без задержки всего проекта, называется пассивным временем. Считается, что время для компонентов критического путь имеет нормальное распределение, если количество этих компонентов достаточно велико.
В методе СОСОМО II первоначальная оценка производится в строках кода. В РEUT существует понятие компонент, который есть узел сетевого графика. В основе идеи предложенной автором диссертационной работы лежит в комбинации этих методов - замена единицы измерения реализации компонентов в PERT (время) на количество строк кода (соответственно оптимистическое, пессимистическое, наиболее вероятное). В теории PERT основным является критический (самый длинный) путь, который определяет время реализации проекта.
Оценка средней суммарной трудоемкости:
п - количество всех модулей необходимых для разработки всего проекта,
Lji.oc, - ожидаемое количество строк кода по пути для i-oro компонента на всём пути.
Ожидаемое количество строк кода по компоненту:
о их- +4-*>ик- + Рик- (2) б
Olrx. (Optimistic estimation lines of code) - оптимистическая
оценка количества строк кода по компоненту,
Mwc (Most likely estimation lines of code) - наиболее вероятностная оценка количества строк кода по компоненту,
Рюс (Pessimistic estimation lines of code) - пессимистическая оценка количества строк кода по компоненту.
отклонение (Pert Deviation), для этого предлагается расчёт среднеквадратичного отклонения в строках кода по пути:
п - количество всех модулей необходимых для разработки всего проекта.
Миграция компонентов PERT в СОСОМО И.
m - коэффициент масштаба ожидания.
Масштабировать количество строк кода по каждому компоненту так, чтобы суммарное количество строк кода по проекту было равно ожидаемому с заданной вероятностью. Критический путь в строках кода поставляется на вход СОСОМО И для обработки и оценки длительности проекта.
Надо еще раз заметить, что метод PERT создавася для крупных проектов. Из этого следует, что испонитель обладает большими ресурсами для их реализации. Они достаточно велики, чтобы в расчете длительности проекта учитывать только критический путь, для определения бюджета
По аналогии с техникой PERT , нам необходимо вычислить
малых проектов необходимо учитывать сетку загрузки каждого разработчика на базе сетевого графика, являющегося последовательным планом проекта.
Одним из направлений данного исследования стало определение оптимального размера команды (Team Size), на базе классическом концептуальном подходе (Теории Брукса), учёта факторов коммуникаций внутри проектной команды. В уже существующие группы факторов функциональных точек (Functional Point) были добавлены факторы определяющие уровень производительности, (Productivity Drivers) -всего 7 факторов, для разных ролей в команде разработчиков проекта. Это подход позволяет оценить уровень каждого члена команды разработчиков индивидуально (тестера, про1раммиста, дизайнера, документалиста, бизнес-аналитика, и.т.п.), производится оценка уровня производительности но выпоняемому проекту.
При планирование разработки проекта производится построение планов разработки и тестирования. Определяется размер команды разработчиков и инженеров по качеству (тестеров) необходимый для выпонения разработки в оговоренные с заказчиком сроки. Посгоренние планов проекта ведётся таким образом, чтобы свести риски по проекту к минимуму.
При формировании команды необходимо учитывать, сколько специалистов, какого уровня необходимо для успешного выпонения проекта в установленные сроки с выделенным бюджетом.
Факторы коммуникации членов команды:
Х Насколько отдельные требования связаны между собой;
Х Насколько производственные процессы, выпоняемые разными людьми связаны между собой;
Х Насколько быстро новый человек в проекте способен втянуться в процесс и начать работать на общем уровне производительности.
Длительность проектов с учётом коммуникационных затрат будем иметь следующий вид:
Duration - ЕД *
1 +LO * RI * (TS -1) + СО * RI *TS * (TS - 1) TS
Ео - трудозатраты без учета коммуникационных издержек, человеко-дни (man-days)
TS - Размер команды
LO - Обучаемость (Learning Overheads), %
СО - Коммуникации (Communication Overheads), %
RI - Влияниние требований (Requirements Interference), %
N1 - Number of Interdependencies показывает, каково количество связей
между отдельными требованиями. Каждая связь означает невозможность
реализации заданного требования без учета особенностей реализации
другого требования, то есть без обсуждения деталей между членами
команды.
RI = NI/NImax* 100% - процент взаимозависимости требований RI*TS*(TS-1) - количество актов коммуникации. Учёт различных ролей в модели имеет следующий вид:
, где ШР - удельная трудоемкость иа 1 функциональную точку в часах. UEF_development - удельная трудоемкость разработки 1 РР, ЦЕР^ез!^ - удельная трудоемкость тестирования 1 РР.
ma.x(UEF _ development, UEF _ testing)
Модель СОСОМО II условно разделяют на три класса проекта -ограниченные, полу-интегрированные, встроенные системы.
Ограниченные проекты - относительно маленькие и разрабатываются командами, знакомыми с прикладной областью, с менее жёсткими требованиями.
Полу-интегрированные проекты - (промежуточные) системы средних размера и сложности, разрабатываемые группами разработчиков с различным опытом, требования к ПО более жёсткие.
Проекты встроенных систем - выпоняются при значительных аппаратных, программных и организационных ограничениях, ограничения по жёсткой спецификации.
Основа СОСОМО II - стоимость разработки программного обеспечения усилий (и затрат) в зависимости от размера профаммы, выраженные в соответствии с оценками размера кода.
В модели определены 15 поправочных факторов, принадлежащих к одной из четырех категорий: атрибуты продукта, такие, как его сложность и требования к его надежности; агрибуты системы, такие, как ограничения на оперативную намять и время выпонения; атрибуты команды, такие, как опыт в прикладной области; и атрибуты проекта, такие, как используемые средства разработки.
Модель СОСОМО II существует в трех видах. Выбор того или иного вида модели для оценки стоимости программного обеспечения зависит от типа проекта и стадии разработки.
Первый вид модели, модель композиции приложения, включает в себя оценку прототипа пользовательского интерфейса. Она используется па ранних стадиях разработки проекта.
Модель раннего проектирования включает в себя изучение альтернативных архитектур и концепций работы. На этой стадии недостаточно общего описания проекта, требуются детали.
Модель пост-архитектуры связана с реальной разработкой и эксплуатацией про1раммного продукта. Эта модель работает наиболее эффективно, если разработана архитектура жизненного цикла, проверено ее соответствие миссии компании, концепции взаимодействия, рискам, определена структура компонентов разрабатываемого продукта.
Таблица 1. Модели, входящие в состав СОСОМО II
Наименование Формула
Модель композиции приложения ЗАТРАТЫ = NOP/PROD [чел.-мсс.], где ЫОР=(Обьектгше yKa3aTeflH)x[(100-%REUSE)/100] Ч количество новых объектных указателей; PROD =/т (опытность/возможности разработчика; зрелость/возможности среды разр аботки)Ч производительность/скорость разработки, выраженная в терминах объектных указателей
Модель раннего этапа проектирования ЗАТРАТЫ =АхРАЗМЕРвх Mл I ЗАТРАТЫ,,,,Д (чел.-мес.1, где Л =2,5 Ч масштабный коэффициент; РАЗМЕР Ч размер системы в тыс. LOC; В -fc (PREC, FLEX, RESL, TEAM, PMAT) Ч 5 характеристик: PREC -опыт подобных разработок, FLEX - определенность предполагаемого процесса разработки, RESL - степень выпоняемого анализа риска, TEAM - слаженность команды, PMAT -зрелость процесса организации; Мс = /т (PERS, RCPX, RUSE, PDIF, PREX, FC1L, SCED) Ч 7 характеристик: PERS - возможности персонала RCPX - надежность и сложность продукта RUSE - требуемое повторное использование PDIF - трудность платформы PREX - опытность персонала FCIL - средства поддержки SCED - график ЗАТРАТЫ,ДД Чзатраты на автоматическую генерацию кода, если таковая имеется
Модель этапа постархитектуры ЗАТРАТЫ =АхК.ге(1хРАЗМЕРихМр+ ЗАТРАТЫ,ДД |чел.-мес-1, где А =2,5 Ч масштабный коэффициент; K-re," 1+(BRAK/100) Ч коэффициент, учитывающий возможные изменения в требованиях BRAK Ч процент отброшенного кода РАЗМЕР = РАЗМЕР,û ч PA3MEPreuSr Ч размер системы в тыс. LOC; В =/т (PREC, FLEX, RESL, TEAM, PMAT) Ч 5 характеристик PREC -опыт подобных разработок,
FLEX - определенность предполагаемого процесса разработки,
RESI. - степень выпоняемого анализа риска,
ТКМ - слаженность команды,
РМАТ -зрелость процесса организации);
Мр = /г (RELY, ПАТЛ, CPLX, REUSE, DOCU; TIME, STOR, PVOL; ACAP, PCAP,
AEXP, PEXP, LTEX, PCON; TOOL, SITE, SCF.D) Ч 17 характеристик
Факторы продукта:
RELY - требуемая надежность ПО
DATA - размер базы данных
CPLX - сложность продукта
REUSE - требуемая повторная используемость
DOCU - документирование требований жизненного цикла
Факторы платформы (виртуальной машины):
TIME - ограничения времени выпонения
STOR - ограничения памяти
PVOL - изменчивость платформы
Факторы персонала:
АСАР - возможности аналитика
РСР - возможности программиста
АЕХР - опыт работы с приложением
PEXP - опыт работы с платформой
I.TEX - опыт работы с языком и утилитами
PCON - непрерывность псрсипол
Факторы проекта:
TOOL - использование программных утилит
SITE -мультисетевая разработка
SCED - требуемый график разработки
ЗТРТЫаЩ[| - - затраты на автоматическую генерацию кода, если таковая имеется
Методология функциональных точек в оценке разработки программного обеспечения. Задача метода разбить систему на мекие части так, чтобы они могли быть лучше понимаемы и анализируемы. Это обеспечивает более структурированный подход для решения проблемы. Функциональные точки - это своего рода подход измерения размера и сложности ПП. Программное приложение, в сущности, определяется набором элементарных процессов. Существует два основных типа элементарных процессов - данные в движении и данные в покое. Данные в движении описывают потоки данных из приложения вовне и извне в приложение. На концептуальном уровне анализ функциональных точек помогает определить два абстрактных уровня данных -в покое и данных в движении.
Формула, определяющая продуктивность программного обеспечения: Продуктивность ~ Количество функциональных точек / количество
Где С, - влияние каждой характеристики системы (всего 14 характеристик).
Описание общих характеристик системы:
1. Связи данных. Как много связей используются для передачи данных внутри системы.
2. Распределенная обработка данных. Как обрабатываются распределенные данные.
3. Какие требования по производительности.
4. Какие требования по аппаратной части.
5. Как часто выпоняются транзакции (ежедневно, еженедельно ...)
6. Какой процент информации вводится онлайн.
7. Эффективность для конечного пользователя. В. Как много 1ЬР обновляются онлайн.
9. Используются ли сложная логическая или математическая обработка.
10. Была ли спроектирована программа для одного или многих пользователей.
11. Насколько сложна инсталяция.
12. Насколько эффективны или автоматизированы старг, резервное копирование и восстановление.
13. Было ли приложение спроектировано, разработано для множества сотрудников множества организаций.
14. Было ли приложение спроектировано для упрощения дальнейших изменений в нем.
инпутов (за период времени, с учетом качества). Уравнение коэффициента подстройки:
По каждому пункту используется пятибальная система оценки.
В работе предложена комбинированная методика СОСОМО II и Functional Point, каждая из перечисленных характеристик, таких как распределенные функции, требования к производительности и переиспользованию, например, имеют максимальный вклад 5% в оценку трудоемкости. Это противоречит модели СОСОМО II. Поэтому в рамках СОСОМО II нельзя использовать подстроечный коэффициент для расчета количества функциональных точек. Методика подсчета функциональных точек для СОСОМО II следующая:
Обозначения:
ILF - внутренний логический файл (Internal Logical File) EIF - внешний интерфейсный файл (External Interface File) EI - внешний входной элемент (External Input) EO - внешний выходной элемент (External Output) EQ - внешний запрос (External Inquery)
Таблица 2. Определения уровня сложности.
Для 1LF и EIF Для EQ и ЕО Для EI
Кол-во Кол- во Кол-во Кол- во Кол-во Кол-во
записей элементов типов элеменгов типов элементов
данных файлов данных файлов данных
1- 20- 51+ 1-5 6- 20+ 1-4 5- 16ч
19 50 19 15
1 L L А 0 или 1 L L А 0 или 1 L L А
2-5 L А II 2-3 L А Н 2-3 L А Н
6+ А И Н 4+ А Н н Гз+ 1 Л Н Н
I. - низкий уровень сложности Л - средний уровень сложности Н - высокий уровень сложности
Таблица 3. Вес-сложность для подсчета количества UFP
Тип L А Н
функции
ILF 7 10 15
EIF 5 7 10
El 3 М~ 6
ЕО 4 5 7
EQ 3 4 6
UFP = 1LF, + 7F, + 7, + ]Г ЕО,. + EQ ,
i=i i=I /-1 (=1
Существует среднестатистическое отношение между количеством UFP и SLOC (кол-вом строк кода) для каждого языка имплементации. Если в проекте комбинируются несколько языков, то для преобразования UFP->SLOC можно воспользоваться формулой:
SLOC = ^ UFPj Х sloe _ per _ /р,, (7)
где UFPj - количество функциональных точек на i язык имплементации, slocjDcrJp, - усредненное приблизительное количество строк кода для языка i на функциональную точку, примеры, которых даны в таблице 4.
Таблица 4. Количество строк кода на функциональную точку.
Язык п-я Sloc_per fp
JAVA 55
HTML 15
Определяем оптимистическую и пессимистическую оценки для 3 моделей в зависимости от полученной трудоемкости:
Таблица 5. Оценки для трех моделей.
Модель Оптимистическая оценка Пессимистическая оценка
Построение прототипа (Application Composition) 0.50 2.00
Модель раннего дизайна (Early Design Model) 0.67 1.50
Модель пост-архитектуры (Post Architecture Model) 0.80 1.25
С течением проекта во времени диапазон оптимистических и пессимистических оценок сужается, в пределе к фактической длительности проекта. Поскольку накапливается больше информации, и уточняются оценки, в процессе реализации проекта, модель может калиброваться для пересмотра первоначальной оценки.
В заключительной, третьей главе диссертационного исследования (Практическое применение и программная реализация методов и моделей оценки стоимости разработки программного обеспечения) приведены результаты использования предлагаемой автором методики и автоматизированной системы процессе управления производством программного обеспечения в ряде крупных проектов ИТ-предприятий.
В результате последовательной реализации всех этапов методики, автор доказал целесообразность выбора именно комбинированных методов анализа оценки трудозатрат, с учётом специфики производства ПП и применяемых методологий этих компаний. Также в третьей главе приведен условный пример применения разработанной методики.
В Заключении исследования сформулированы основные теоретические и практические выводы, сделанные автором диссертационного исследования.
III. ПУБЛИКАЦИИ АВТОРА ПО ТЕМЕ ДИССЕРТАЦИИ
1. Алиев Х.Р. Эффективная модель оценки разработки программного обеспечения // Исследовано в России - МФТИ - М., Том 11, №30, 2008г. 0,8 п.л. Ссыка на домен более не работаетarticles/2008/030.pdf
2. Алиев Х.Р. IT-аутсорсинг в России, оценка контрактов // Российский экономический интернет журнал - М., 2010г. 0,6 п.л. Ссыка на домен более не работаетArticlcs/20l O/Alicv.pdf
Статьи в рецензируемых научных журналах, рекомендованных ВАК:
1. Алиев Х.Р. Комбинированная модель оценки трудоемкости разработки программного обеспечения // Научно-технические ведомости СПБГПУ (серия: экономические науки) - Спб., Издательство СПБГПУ, №3, 2010 г. 0,4 и.л.
2. Алиев Х.Р., Андржевский С.О., Борисов М.И. Модели оценки стоимости информационных систем в классической и перспективных методологиях разработки программного обеспечения // Прикладная информатика - М., издательство МАРКЕТС ДС, №5(23), 2009г. 1,08 п.л. (вклад автора Ч 0,6 п.л.)
3. Алиев Х.Р. К проблеме моделирования стоимости разработки информационной системы // Обозрение прикладной и промышленной математики - М., 2009, том 16, вып. 2. 0,1 п.л.
Подписано в печать с оригинал-макета 23.09.2010. Формат 60x84 '/|6. Печать ризографическая. Усл. печ. л. ,4. Тираж 100 экз. Заказ № 1176.
Издательский центр экономическог о факультета СПбГУ 191123, Санкт-Петербург ул. Чайковского, д. 62.
Диссертация: содержание автор диссертационного исследования: кандидат экономических наук , Алиев, Хаджимурад Расулович
Введение.
Глава I. Методики оценивания стоимости программных проектов.
з 1.1. Программный проект, стоимость разработки: понятие и определения.
з 1.2. Структура процесса оценивания инициируемых проектов на ИТ-предприятии.
з 1.3. История развития методов оценки стоимости программных проектов.
з 1.4. Основные направления оценки стоимости.
з 1.5. Сравнительный анализ методов оценки стоимости.
Выводы по главе 1.
Глава II. Проектирование системы оценки стоимости программного проекта.
з 2.1. Проблемы, стоящие перед системой оценки стоимости разработки программного обеспечения.
з 2.2. Конструктивная модель стоимости - СОСОМО II.
з 2.3. Описание модели функциональных точек - Functional Point.
з 2.4. Комбинированная методика: конструктивная модель стоимости (СОСОМО II) и функциональных точек (Functional Point).
з 2.5. Определение оптимального размера команды разработчиков и уровня производительности (Productivity Drivers).
з 2.5.1. Определение размера проектной команы.
з 2.6. Комбинированная методика:Техника оценки PERT (Program Evalution and Review Technique) и конструктивная модель стоимости.
Выводы по главе II.
Глава III. Практическое применение и программная реализация методов и моделей оценки оценки стоимости разработки программного обеспечения.
з 3.1. Программное обеспечение оценки стоимости: лEstimation Soft.
з 3.2. Особенности программного продукта.
з 3.3. Расчет экономической эффективности и результаты внедрения проекта.
з 3.4. Пути улучшения предложенных методик оценки стоимости.
з 3.5. Рекомендации для ИТ-предприятий по планированию и проведению оценки проектов на этапе его инициации.
Выводы по главе III.
Диссертация: введение по экономике, на тему "Модель планирования и управления разработкой сложных программных систем на основе комбинированной методики оценки трудозатрат"
Актуальность темы исследования.
За последние годы рынок программного обеспечения (ПО) значительно вырос в связи с повсеместным применением компьютерной техники. Особенностью данного рынка является быстрая смена его напонения, появление новых программных продуктов (проектов).
Российский рынок программного обеспечения, несмотря на деловую активность как крупных, так и малых ИТ-предриятий, характеризуется недостаточно высоким уровнем программных решений. Необходимо отметить, несмотря на то, что уровень автоматизации и управления инициируемых проектов повышается, нет гарантии своевременного завершения разработки начатых (инициируемых) информационных систем. В связи с этим превышаются бюджетные затраты, запланированные на проект. Мониторинг проектов свидетельствует о проблеме многочисленных ошибок в оценках стоимости данных проектов, в итоге приведшим к их последующему закрытию (см. таблицу 1)[2].
Таблица 1. Ошибки в оценках стоимости проектов
Проект Оценка Статус при заверше НИИ
Стоимость, мн. $ Трудозатраты, мес.
Первая оценка Итоговая оценка Первая оценка Итог овая оцен ка
PROMS 12 более 21 22 46 Отменен, 28 месяц
Лондонская медицинская система 1,5 более 6 7 более 17 Отменен, 17 месяц
Лондонская биржа 60-75 150 19 70 Отменен, 36 месяц
Confirm (бронирование путешествий) 56 более 160 45 более 60 Отменен, 48 месяц
FAA 3700 более 7000 48 96 Отменен, 70 месяц
Master Net (банковская система) 22 более 80 9 более 48 Отменен, 48 месяц
При разработке проектов нередко возникают трудности, связанные с ненадлежащим управлением проектом, изменяющимися в процессе разработки требованиями к системе, неправильной оценкой проекта. Последнее является важной проблемой в особенности для крупных ИТ-предприятий, т.к. оценка экспертов, основанная на опыте и интуиции, может привести к большим ошибкам при планировании сроков, трудоёмкости и стоимости создания программных продуктов. Да и специалистов для выпонения корректной оценки на ИТ-предприятии может не оказаться. Особенности разработки программного обеспечения состоят в том, что менеджеры и разработчики комплексов программ, как правило, не знают даже основ экономики промышленного производства сложной продукции, а экономисты современного производства не представляют сущность и свойства объектов разработки Ч программных продуктов, а также особенностей экономики технологических процессов их проектирования, производства и применения [8].
Возникает вопрос: что затрудняет развитие практики построения количественных оценок эффективности использования ресурсов в ИТ-отрасли? Дело в том, крупные программные продукты являются одними из наиболее сложных объектов, создаваемых человеком, и в процессе их производства творческая работа специалистов - поиск новых методов, альтернативных решений и способов осуществления заданных требований, а также формирование и декомпозиция этих требований - составляет значительную часть всех трудозатрат. Индустриализация производства комплексов программ позволяет автоматизировать нетворческие, технические и рутинные операции и этапы, а также облегчить творческие процессы за счет селекции, обработки и отображения информации, необходимой для принятия творческих решений. Следствием этого дожно являться значительное сокращение доли затрат на творческий труд в непосредственных затратах на производство комплексов программ. [8].
Выше перечисленное сопряжено с трудностями чётко нормировать труд программистов, определить качественные и количественные показатели труда разработчиков (проектной команды), рассчитывать стоимость программного продукта в зависимости от трудозатрат его создания.
На стадии планирования затрат необходимо глубоко и точно проанализировать и спрогнозировать развитие ситуации. Трудности начинаются с анализа, если нет поноценного анализа - нет и прогноза, нет планирования.
Для того чтобы выбрать программную систему, автоматизирующую решение интересующих задач, потенциальный заказчик пытается оценить качество и стоимость систем, представленных на рынке. При этом необходимо учитывать, что убытки от ошибок при проектировании и выборе информационной системы (ИС) могут быть весьма существенными. В то же время в технической документации (техническом задании, спецификации) большинства программных средств отсутствует информация, позволяющая оценить затраты, выходные характеристики программы и их динамику при изменении объема входной информации [9]. Без такой информации невозможно оценить стоимость информационной системы и её экономическую эффективность. Таким образом, в условиях постоянно растущего рынка программного обеспечения оценка стоимости программных систем является важной задачей.
В диссертационной работе предпринята попытка решения задач, связанных с проблемой оценки стоимости разрабатываемых программных продуктов для отечественного рынка разработки программного обеспечения. Автором уделено особое внимание применению математического моделирования, методов планирования эксперимента для исследования стоимости программных продуктов. Метод моделирования -самый сложный, но при правильном испонении и самый достоверный из методов прогнозирования. Автором предложен возможный вариант внедрения комбинированной модели оценки стоимости разрабатываемого программного обеспечения, использующий доступную на предприятии-разработчике информацию. Внедрение предложенного варианта комбинированной модели оценки стоимости программных разработок можно рассматривать как этап, позволяющий апробировать механизм адекватного использования ресурсов предприятий: финансов, труда, времения специалистов, затрачиваемых на создание конечного продукта.
Потребности субъектов рынка программного обеспечения способствовали возникновению и развитию подходов и методик оценки стоимости программных продуктов. Существенный вклад в разработку проблемы внесли как в зарубежные:,: Нельсон, А. Альбрехт, Ч. Саймон, Б. Боэм, С. Макконнел, так и отечественные ученые: Липаев В.В., Орлов С. и другие.
Необходимо указать возможные ситуации, при которых требуется использование модели оценки стоимости [2]:
Х финансовый вопрос, целесообразность инвестирования разработки программного продукта;
Х необходимость контроля бюджета и расписание проекта;
Х принятие решения о риске непосредственно связанный с проектированием системы (стоимость проекта, график работ, функциональностью и.т.д.) ;
Х принятие решения о целесообразности собственной разработки, приобретение части проектных решений у внешнего производителя или других вариантов (повторное использование кода программ);
Х поэтапное определение приоритетов разработки программного продукта (на что уделить больше времени);
Х улучшение стратегии управления разработкой программных продуктов внутри ИТ-предприятия.
В настоящее время существует множество различных моделей оценки стоимости разработки программного обеспечения. При определении, какая методика более адаптирована для нужд конкретных ИТ-предприятий, основной^ задачей является выработка определенных требований (критериев), по которым в свою очередь можно оценить эти методики, провести их сравнительный анализ. В результате выявится методика (модель, практику, технику) оценки, которая наиболее поно и правильно описывает процесс разработки, позволяя получить точные результаты оценки инициируемых проектов для различных этапов и стадий разработки.
Диссертационное исследование посвящено проблемам выбора модели оценке стоимости, адаптированной к условиям отечественного рынка разработки программного обеспечения, и обоснованию выбора именно комбинированных методик. Рассматриваются пути улучшения точности моделей, предложены несколько комбинированных методик разработки программного обеспечения по оценке стоимости.
Цель исследования. Целью исследования является разработка модели измерения трудоёмкости процесса разработки информационных систем на основе формализованной информации о предметной области.
Для достижения поставленной цели необходимо решить следующие задачи:
Х Проведение комплексного анализа существующих моделей оценки стоимости программных продуктов, с целью выявления их основных характеристик, возможностей, сильных и слабых сторон;
Х Разработка концепции управления разработкой программного обеспечения с учётом планирования и проведения оценки трудоемкости инициируемых программных проектов;
Х Выбор модели и методики, на основе которой будет разрабатываться новая комбинированная методика по оценке стоимости разработки ИС;
Х Разработка рекомендаций по практическому применению систем оценки стоимости с целью повышения точности оценок на ИТ-предприятиях;
Х Разработка нового программного продукта (1111) на основе комбинированной модели;
Объект и предмет исследования. Объектом исследования является процесс разработки крупных информационных систем.
Предметом исследования являются модели оценки трудоёмкости и соответствующих систем планирования и управления проектирования ИС.
Теоретическая и методологическая основа исследования. В основе диссертационного исследования лежат методы системного анализа процессов создания программного обеспечения, теория управления информационными проектами, метрики, экспертные оценки, анализ и синтез характеристик и показателей инициируемых проектов. В том числе специализированные методы и подходы к оценке трудоёмкости, ресурсоёмкости (методы аналогий) ряда крупных информационных компаний, Санкт-Петербурга и других регионов России.
Инструментальная^ поддержка разработанных методов заключается в применении средств, основанных на использовании программных пакетов MS Visual Studio 2008 (язык имплементации - С#), MS SQL, FirebirdSQL.
Научная новизна исследования. Научная новизна исследования заключается в разработке единого набора требований для моделей оценки стоимости и программных продуктов по оценке стоимости, с целью упрощения процесса выбора близкой к оптимальной модели трудозатрат для нужд ИТ-предприятия; в усовершенствовании моделей конструктивной стоимости (COCOMOTI) и функциональных точек (Functional1 Point) с целью повышения точности оценок; в разработке нового программного продукта (пакета) для автоматизации получения оценок стоимости проекта, позволяющего производить прогнозирование- стоимости, сроков проекта с учетом изменяющихся требований заказчика, размера команды (персонала разработчиков), с возможностью< адаптироваться^ под нужды конкретного предприятия; позволяющего хранить. большой- объем данных и получать быстрый доступ к ним.
Научная новизна диссертационной работы- заключается в разработке новой экономико-математической' модели и. методики^ оценки трудоёмкости разработки ПО.
К числу основных результатов, определяющих научную новизну диссертационного исследования, относятся следующие:
1. сравнительный анализ моделей оценки стоимости на основе новых критериев, применяемых ведущими компаниями по- разработке* ПО, выделены,их слабые и сильные стороны;
2. новая экономико-математическая модель оценки трудозатрат на различных этапах проектирования программного обеспечения, определения оптимального размера команды и система планирования;
3. концепция управления проектами с описанием' процессами оценки трудозатрат инициируемых программных проектов, с целью повышения точности стоимостных факторов и параметров;
4. рекомендации для решения проблем неправильной оценки стоимости, учитывающие специфику методологии разработки ПО на ИТ-предприятиях;
5. автоматизированная система, которая выдаёт в виде отчётов оценку трудозатрат, на всех стадиях проектирования с различной глубиной анализа и детализации;
Практическая значимость работы. Создана и внедрена в ряде крупных ИТ-предприятии автоматизированная система оценивания и управления процесса разработки ПО, на всех стадиях жизненного цикла информационных систем.
Публикации. Основные результаты и выводы диссертационной работы представлены в работах [1-5], опубликованных в научных изданиях, три из которых входит в список изданий, рекомендованных ВАК.
Научная апробация работы и внедрение результатов исследования. Основные результаты и выводы диссертационной работы докладывались автором на различных конференциях:
1. Общеуниверситетская научная конференция: Социально-экономические тенденции в российском бизнесе. (СПб., СПбГУ, 27-29 марта 2008г.);
2. Весенняя конференция молодых учёных экономистов: Пути развития национальной экономики. (СПб., СПбГУ, 18 апреля 2008г.) ;
3. Всероссийская конференция лV Всероссийская межвузовская конференция молодых учёных. (СПБ., СПБГУ ИТМО, 15-18 апреля 2008г.);
4. 14 международная конференция молодых ученых экономистов: Предпринимательство и реформы в России. (СПБ., СПбГУ, 27-28 ноября 2008г.);
5. Политехнический симпозиум: Молодые ученые - промышленности Северо-Западного региона. (СПБ., СПбГПУ, 9 декабря 2008г.);
6. IFPUG's 4th Annual ISMA Conference and Fall Workshops Sunday, Chicago, IL, USA, 13-16 September 2009, Palmer House Hilton. "The combined technique of an estimation processes in the software development on the basis of COCOMO II and Functional Point." Aliev Kh. Материалы опубликованы в общих тезисах конференции.
7. Результаты диссертационного исследования внедрены и опубликованы в научно-исследовательской разработке: Разработка методологических основ проектирования и обоснование принципов применения корпоративных информационных систем в условиях инновационной экономики - Код ГРНТИ: 20.15.05 СПбГУ, СПБ., 2009г. Руководитель: к.т.н., проф. Ботвин Г.А.
Результаты работы были интегрированы в состав практических методов на этапах предпроектного исследования при разработке заказных программных систем в таких ИТ-компаниях как:
S ООО Эксиджен-Сервисес (Exigen-Services) г. Санкт-Петербург, S ЗАО ЭЙСИ-Нильсен (Nielsen Russia) г. Москва, S ООО Беволекс (Bevolex) Республика Дагестан, г. Махачкала.
Структура и объем диссертации. Цели и задачи диссертационного исследования обусловили структуру диссертационной работы, которая состоит из введения, трёх глав, заключения, списка литературы и
Диссертация: заключение по теме "Математические и инструментальные методы экономики", Алиев, Хаджимурад Расулович
ВЫВОДЫ ПО ГЛАВЕ Ш
1. Практическое применение модели показало, что наибольшая точность оценок крупных информационных систем достигается путём комбинирования существующих моделей оценки трудозтрат на разработку ПО.
2. Определены пути улучшении рассмотренных в данной исследовательской работе методик, с целью их дальнейшего изучения.
3. По результатам расчета экономической эффективности было определено, что при внедрении проекта системы оценки стоимости на предприятии трудовые затраты уменьшатся в 4,45 раза, а стоимостные затраты уменьшатся в 4,37 раза.
4. Программный продукт был внедрен и успешно используется в трёх ИТ-предприятиях России:
Х ООО Эксиджен Сервисес - Exigen Services., г.Санкт-Петербург
Х ЗАО ИТ-Онлайн - IT-ONLINE., г. Москва
Х ООО Беволекс - Bevolex., г. Махачкала
По мере добавления количества проектов (оценки по ним) в данную автоматизированную систему, комбинированные методики будет снова калиброваться и усовершенствоваться, что позволит и дальше повышать точность оценок.
5. Даны рекомендации по управлению этапа предпроектной оценки стоимости программного обеспечения на ИТ-предприятиях, на основе анализа методики управления проектами в трёх компаниях-разработчиках ПО.
ЗАКЛЮЧЕНИЕ
В результате проведенных теоретических и экспериментальных исследований в данном' диссертационном исследовании получены следующие результаты:
1. Выпонен сравнительный анализ1 существующих методик оценки трудоемкости разработки программного обеспечения.
2. Разработана концепция (стратегия) управления оценки трудозатрат инициируемых проектов на различных, этапах проектирования ИС.
3; Разработаны комбинированные методики оценки стоимости программного обеспечения, основанные на существующих методах оценки и планирования производства.
4. Разработана на основе предложенной1 комбинированных методик автоматизированная система.
5. Полученные результаты, данного диссертационного исследования; были внедрены на трёх различных ИТ-предприятиях России.
6. Определены пути для улучшения конструктивной: модели стоимости (СОСОМО II), функциональных точек (Functional Point) и их интеграции с системой планирования производства PERT.
7. Даны . рекомендации; о проведении оценки трудозатрат инициируемых проектов на ИТ-предприятиях.
В первой главе исследования была рассмотрена- история развития направления оценки стоимости программного обеспечения; Было:, дано определение программного продукта: (проекта), и была проведена, классификация; программных продуктов. Было дано определение понятию' стоимости программного обеспечения в практике управления разработкой ИС. Был проведен сравнительный анализ на основе которого были выделены модели,, наиболее поно описывающие процесс разработки ИС, позволяющие наиболее точно оценивать стоимость проекта на стадии инициации.
Для4 каждой из таких моделей были приведены сильные, и слабые стороны, в соответствии с выделенными характеристиками (факторами).
Во второй главе диссертационного исследования были выделены модели, на основе которых создавалась комбинированная, методика; были выбраны - конструктивная, модель стоимости; (СОСОМО II) и методика функциональных точек (Functional Point) как. наиболее поно; описывающие процесс разработки: программного- обеспечения, имеющие наибольшее количество необходимых характеристик: (факторов): Данные модели были подробным образом? описаны. Были приведены: различные способы оценки объема программного средства, агоритм подсчета.
Были рассмотреныл пути по улучшению моделей- оценки; стоимости, модифицируя их: и интегрируя между собой! с целью4 их успешного использования на. ИГЕ-предприятии: Модели? были , улучшены: путем: добавления новых характеристик: и. калибровки уже* скомбинированной: методики.,
Предложен и реализован' метод определения' оптимального- размера команды разработчиков, тестеров, проектировщиков и.т.п. для. создания ИС. Был описан вариант интегрирования модели: конструктивной стоимости с известной системой планирования; производства.
В главе ИТ исследования была рассмотрена практическая: значимость системы оценки стоимости. Был проведен анализ результатов; полученных на основании оригинальной модели СОСОМО II и предложенной комбинированной методики, их сравнение с полученными фактическими данными по проектам.
Приведен пример работы непосредственно с разработанной системой оценки стоимости. В завершение был проведен анализ экономической эффективности от внедрения системы оценки стоимости на ИТ-предприятии.
В качестве дальнейших исследований оценки стоимости разработки ПО можно выделить следующие:
Х изучения разных вариантов калибровки СОСОМО II и функциональных точек с целью нахождения наиболее удачного;
Х проведение калибровки и проверки точности комбинированной модели СОСОМО+КР;
Х Определения оптимального размера команд используя технологию пул-потоков;
Х более подробное исследование комбинированной модели СОСОМО П+РЕЯТ, добавления новых факторов, отражающих особенности управления программными проектами в российских компаниях, анализ влияния различных характеристик на длительность и стоимость проекта.
В качестве путей дальнейшего развития разработанного программного комплекса можно выделить следующие:
Х расширение возможностей представления отчетной информации по проектам;
Х расширение возможности по интеграции с другими программными продуктами оценки стоимости и управления программными проектами;
Х расширение возможностей калибровки на основе межотраслевых данных по ИТ-проектам, а не только на основе данных, хранимых на ИТ-предприятии;
1 Х создание веб-системы с целью получения возможности удаленного доступа к базе данных.
Диссертация: библиография по экономике, кандидат экономических наук , Алиев, Хаджимурад Расулович, Санкт-Петербург
1. Бадин К.В., Воробьев С.Н., Уткин В.Б. Управленческие решения: Учебник. 5-е изд. - М.: Издательско-торговая корпорация Дашков и К, 2008.-496 с.
2. БоэмБ.У. Инженерное проектирование программного обеспечения: Пер. с англ. М.: Радио и связь, 1985.
3. Благо датских В. А. и др. Стандартизация разработки программных средств: Учеб. пособие /Под ред. О.С. Разумова. М.: Финансы и статистика, 2003. - 288 с.
4. Паук М.,.Куртис Б., Хриссис М. Б., Вебер Ч. В., Гарсия С. М., Буш М. Модель зрелости процессов Х разработки программного обеспечения -Capability Maturity Model for Software (CMM): Пер. с англ. M.: Богородский печатник, 2002. - 256 с.
5. Верзух, Эрик. Управление проектами: ускоренный курс подпрограмме MB А.: Пер. с англ. М.: ООО И.Д.Вильямс, 2007. - 480 с.
6. Баркалов С.А., Воропаев В.И., Секлетова Г.И. и др. Математические основы управления проектами: Учебн. пособие / Под ред. Буркова В.Н. Ч М.: Высш. шк., 2005. Ч 423 с.
7. Доугерти К. Введение в эконометрику: Пер. с англ. М.: ИНФРА-М, 1999. - 402 с.
8. Дуброва Т.А., Павлов Д.Э., Ткачев О.В. Корреляционно-регрессионный анализ в системе STATISTICA. Учебное пособие/ Московский государственный университет экономики, статистики и информатики. -М., 1999.
9. Магнус Я.Р., Катышев П.К., Пересецкий A.A. Эконометрика, Начальный курс: Учеб. 6 изд., перераб. И доп. - М.: Дело; 2004. - 576 с.
10. Ю.Липаев В.В. Экономика производства сложных программных продуктов. М.:СИНТЕГ, 2008. 432 стр.
11. Н.Макконнел С. Сколько стоит программный проект. М.: Русская Редакция, Спб.: Питер, 2007. - 297 с.
12. Алиев Х.Р. IT-аутсорсинг в России, оценка контрактов, М.: Российский экономический интернет журнал 2009г. 18 с.
13. Алиев Х.Р. Комбинированная модель оценки разработки программного обеспечения на основе СОСОМО II и Functional Point, Спб.: журнал Научно-технические ведомости СПБГПУ 2009г. 117 с.
14. Математические основы управления проектами: Учебн. Пособие/С.А.Баркалов, В.И. Воропаев, Г.И. Секлетова и др. Под ред. В.Н.Буркова. М.: Высш. Шк., 2005. - 423 с.
15. Минашкин В.Г., Гусынин А.Б., Садовникова Н.А., Шмойлова Р.А. Курс лекций по теории статистики./ Московский государственный университет экономики, статистики и информатики. М., 2000. - 187 с.
16. Ньюэл М. Управление программными проектами для профессионалов. Руководство по подготовке к сдаче сертификационного экзамена / Пер. с англ. М.: КУДИЦ-ОБРАЗ, 2006. -416 с.
17. Орлов С. Технологии разработки программного обеспечения. Учебное пособие. 2-е изд. Спб.: Питер, 2003. - 480 с.
18. Просветов Г.И. Прогнозирование и планирование: задачи и решения: Учебно-практическое пособие. 2-е изд., доп. М.: Издательство Альфа-Пресс, 2008. - 296 с.
19. Руководство к своду данных по управлению проектами. Третье издание (Руководство РМВОК) Project Management Institute, 2004.
20. Смирнова Г.Н. и др. Проектирование экономических информационных систем: Учебник; Под ред. Ю.Ф.Тельнова. М.: Финансы и статистика, 2001.-512 с.
21. Троцкий M., Б.Груча, К.Огонек. Управление проектами. -М.: Финансы и статистика, 2006. 304 с.
22. Фредерик П. Брукс. Мифический человеко-месяц- или как создаются программные системы. Addison-Wesley publishing company, 1975.
23. Хорин Г. Моя первая книга об управлении проектами / Пер. с англ. -М.: Эксмо, 2006. 304 с.
24. Шафер Д., Фатрел Р., Шафер JI. Управление программными проектами: достижение оптимального4качества при-минимуме затрат: Пер. с англ. М.: Издательский дом Вильяме, 2003. - 1136 с.
25. Эконометрика: учебник/ И.И. Елисеева, C.B. Курышева, Т.В. Костеева и др.; под ред. Елисеевой. 2-е изд., перераб. и доп. - М.: Финансы и статистика, 2007. - 576 с.
26. Экономика, разработка и- использование программного обеспечения ЭВМ: Учебник/ В. А. Благо датских, М.А. Енгибарян, Е.В. Ковалевская, Ю.Н. Патрикеев, Е.В* Селиванова; М.: Финансы и статистика, 1995.
27. Andrew Stellman, Jennifer Greene. Applied Software Project management. -O'Reilly, 2005.
28. Barry W. Boehm. Software cost estimation with COCOMO II. Prentice Hall PTR, 2000.
29. Nelson E.A. Management handbook for the estimation of computer programming costs. System development corporation, California, 1967.
30. Paul Goodman. Software Metrics: Best Practices for Successful IT Management. Rothstein Associates Inc., Publisher, Brookfield, 2004.
31. Putnam, L., Myers, W. Measures for Excellence, Yourdon Press Computing Series, 1992.
32. Project Management Institute (2003). A Guide To The Project Management Body Of Knowledge (3rd ed. ed.). Project Management Institute. ISBN 1-930699-45-X.
33. Макаров A.B., Скоробогатов С.Ю.г, Чеповский A.M. Common1.ermediate Language и системное программирование в Microsoft. Net //143
34. Интернет-Университет Информационных Технологий, 2007 г., 2-ое издание. 328 стр.
35. Shari Lawrence Pfleeger; Felcia Wu, Rosalind Lewis. Software cost estimation and sizing methods: issues and guidelines. Rand corporation, 2005.
36. Типовые нормы времени на программирование задач для ЭВМ1 (утв. постановлением Госкомтруда СССР, секретариата ВЦПС от 27.07.1987 №454/22-70): по состоянию на 12 октября 2006 г.
37. Кодовский В. Разработка ПО: инструментарий для получения оценок // Компьютерное обозрение, 2006, №20(588).
38. Кодовский В. Разработка ПО: метрики программных проектов // Компьютерное обозрение, 2007, №13(581).
39. Кодовский В. Разработка ПО: оценка результата // Компьютерное обозрение, 2006, №12(553).
40. Abdel-Hamid and Stuart Madnick. Software Project Dynamics. Englewood Cliffs, NJ, Prentice Hall, 1991.
41. Albrecht A.J. Measuring application development productivity // IBM4 Applications develop. Symp. САД979.
42. Barry W. Boehm , Dr. Ellis Horowits, Dr. Raymond Madachy Chris Abts. Future trends, Implications in. cost estimation models // CrossTalk: the journal of Defense Software Engineering, April 2000. Ссыка на домен более не работаетp>
43. Barry W. Boehm, Ricardo Valerdi, Jo Ann Lane, A. Winsor Brown. COCOMO Suite methodology and evolution // CrossTalk: the journal of Defense Software Engineering, April 2005.
44. Barry W. Boehm, Richard E. Fairley. Software Estimation Perspectives // IEEE SOFTWARE magazine. November/December, 2000:
45. Benyahia, Hadj. Costs and'productivity estimation in computer engineering economics // Engineering Economist. The. Spring 1996
46. Capers Jones. Feature Points (Function Point Logic for Real Time and System Software) // IFPUG Fall 1988 Conference; Montreal, QuEbec, 1988.
47. Capers Jones. Software Cost Estimating methods for. large projects // CrossTalk: the journal of Defense Software Engineering, April 2005:
48. Chris F. Kernerer. An Empirical Validation of Software Cost Estimation Models//Communications of the ACM magazine //May 1987, Volume 30 Number 5.
49. David Garmus, David Herron. Estimating software earlier, and more accurately // CrossTalk: the journal of Defense Software Engineering, June 2002.
50. Donald J.Reifer. Estimating Web Development Costs: there are differences // CrossTalk: the journal of Defense Software Engineering, June 2002.
51. Dr. Richard D. Stutzkc. Software Estimation: Challenges and Research // CrossTalk:the journal o Defense Software Engineering; Aprif 2000;
52. Forrester J; W. Industrial Dynamics. Cambridge, MA, MIT Press, 1961.52;Gray Andrew R., Stephen G. MacDonncll; A Comparison of Techniques for
53. Developing Predictive Models for Software Metrics 11 Information; and Software Technology 39, 1997.
54. Jensen R.W. A Comparison of;the JensenfandiCOCOMO Schedule and Cost // Proceedings; of the International Society of; Parametric Analysts, April 1983: .
55. Joanne Hale, Allen Parrish; BrandonsDixon,.Randy K. Smith. Enhancing the Cocomo Estimation Models // IEEE SOFTWARE, November/DecemberХ 2000::
56. Joe Schofield. The statistically unreliable nature of lines of code: // CrossTalk:;thejournal!of Defense Software Engineering, Aprili2005:
57. Lawrence H.Putnam, Douglas T.Putnam, Douglas M.Beckett. A method for improving developers' software size estimates // CrossTalk:, the journal of Defense Software Engineering, April 2005.
58. Lee Fischman, Karen McRitchie, Daniel D.Galorath. Inside SEER-SEM // CrossTalk: the journalof Defense Software Engineering, April 2005.
59. Park. R. The Central: Equations of the PRICE Software Cost Model // 4th COCOMO Users' Group Meeting. 1988.
60. Shepperd M., Schofield.C. Estimating Software: Project Effort Using Analogies // IEEE Transactions on Software Engineering, Vol: 23, No. 11, November1997.
61. Symons C.R: Function Points Analysis: Difficulties and Improvements // IEEE Transactions on Software Engineering, 1988, №1.
62. Tim Menzies, Dan Port, Zhihao Chen, Jairus Hilin, Sherry Stukes. Validation Methods for Calibrating' Software Effort Models // Communications of-the ACM magazine, 2005.
63. Tim Menzies, Dan Port, Zhihao Chen, Jairus Hihn:, Simple Software Cost Analysis: Safe or Unsafe? // Communications of the ACM magazine, 2005.
64. Tim Menzies, Zhihao Chen, Jairus, Hihn, Karen Lum. Selecting' best practices for effort estimation // transactions on software engineerings November 2006.
65. William Roetzheim. Estimating, and managing project scope for new development // CrossTalk: the journal of Defense Software Engineering, April 2005.
66. Wolverton R.W. The Cost ofi Developing barge-Scale Software: // IEEE Transactions on Computers, 1974, №6.бб.Зубинский А. На старт! Внимание! И?Ссыка на домен более не работаетarticle.phtml?ID=21814&IDw=33&pid=52
67. Михайловский Н.Э. Сравнение методов оценки стоимости проектов по разработке информационных систем. Ссыка на домен более не работаетmanagement/practice/supremum2002/I5.shtml
68. Серенко М. Оценка длительности- разработки' программного обеспечения' Ссыка на домен более не работаетp>
69. Baldassarre M.T., D.Caviano, G.VIssagio. Software Renewal Projects Estimation Using Dynamic Calibration . Dipartimento di Informatica,Universita di Ban, Italy.
70. Barry W. Boehm, Chris Abts. Cocomo II Model Definition Manual Ссыка на домен более не работаетresearch/COCOMOII
71. Barry W. Boehm, Chris Abts, Sunita Chulani. Software Development Cost Estimation Approaches A Survey. - University of Southern California, IBM Research. Ссыка на домен более не работаетpublications/TECHRPTS/2000/usccse2000-505/usccse2000-505.pdf
72. Barry W. Boehm. USC Cocomo II Reference manual} University of Southern California, 1999.
73. Barry W. Boehm. Safe and Simple Software Cost Analysis. Center for Software Engineering Computer Science Department University of Southern California, 1998. Ссыка на домен более не работаетresearch/COCOMOII
74. Bernstein L. Strategic Evolution of ESE Data Systems (SEEDS) Survey of Cost Estimation Tool, 2001. Ссыка на домен более не работает~lbernste/papers/CostEstimationTools.doc
75. Bradford K. Clark. The Effects of software process maturity on software development effort: dissertation. Faculty of the graduate school University of Southern California, 1997.
76. Capers Jones. How estimation tools work. Software Productivity research LLC, 2005 Ссыка на домен более не работаетcaiinternet/ezine/capers-estimation.pdf
77. Capers Jones. Programming languages table, Release 8.2. Software Productivity Research, Inc. 1996.
78. Capers Jones. Software Estimating rules of thumb. 2007. Ссыка на домен более не работаетdefault.aspx?pageid=197
79. Darko Milicic. Applying COCOMO II: A case study. School' of Engineering Blekinge Institute of Technology, Sweden. 2004.
80. Elena Paslaru Bontas, Malgorzata Mochol. Ontology Engineering Cost Estimation with ONTOCOM. Technical report. AG Netzbasierte Informationssysteme. March, 2006.
81. Elena' Paslaru, Bontas. Simperl, Christoph Tempich, York Sure. ONTOCOM: A Cost Estimation Model for Ontology Engineering. Free University of Berlin, Institute AIFB, University, of Karlsruhe: 2006.
82. Gina Kingston, Martin Burke. iMAPS: A Review of Software' Sizing for cost estimation. Department of Defense. Defense Science and technology organization, Australia. DSTO Electronics and Surveillance Laboratory, 1996.
83. Kathleen-Peters. Software project estimation . Simon Fraser University, Canada, 1998.
84. Kostas Kavoussanakis, Terry Sloan. UKHEC Report on software estimation: The University of Edinburgh, Ссыка на домен более не работает
85. Klastorin, Ted (2003). Project Management: Tools and Trade-offs (3rd ed. ed.). Wiley. ISBN 978-0471413844.
86. Kerzner, Harold (2003). Project Management: A Systems Approach to Planning, Scheduling, and Controlling (8th Ed. ed.). Wiley. ISBN 0-471-22577-0.
87. Lawrence H.Putnam. A Throughput measurement procedure using SLIM. -Quantitive Software management Inc., 1994.
88. Magne J0rgensen, Martin Shepperd. A Systematic Review of Software Development Cost Estimation Studies. Simula Research Laboratory, Brunei University.
89. Martin Shepperd. Software project economics: a roadmap. School of Information Systems, Computing & Maths Brunei- UniversityUxbridge, West London.
90. Mauricio A. COCOMO II Local Calibration Using Function Points. TI Metricas. 2005.
91. Milosevic, Dragan Z. (2003). Project Management ToolBox: Tools and Techniques for the Practicing Project Manager. Wiley. ISBN 9780471208228.
92. Randy K. Smith, Joanne E. Hale, Member, Allen S. Parrish. An Empirical Study Using Task Assignment Patterns to Improve the Accuracy of Software Effort Estimation. IEEE, 1998.
93. Ricardo Valerdi: Pioneers of Parametrics. MIT.
94. Richard D. Stutzke. Software Estimating Technology: A Survey. Science Applications International' Corp.
95. Roberto Meli. Risks, requirements and estimation of the software project ESCOM-Scope. 1999. Ссыка на домен более не работаетcaiinternet/ezine/Meli-estimation.pdf
96. Sunita Devnani-Chulani. Bayesian Analysis of software cost and quality models: dissertation- work. Faculty, of the: graduate school university of southern California, 1999.
97. Sunita Devnani-Chulani. Incorporating Bayesian Analysis to Improve the Accuracy of COCOMO II and its Quality Model Extension: University of Southern? California Center for Software Engineerings Computer Science Department, 1998.
98. Symons C.R. Software Sizing and Estimating Mk II Function Point Analysis. John-Wiley & Sons, 1991.
99. Tamara Daly, Dunstan Thomas. Consulting Borland Caliber RM now does estimating; Ссыка на домен более не работаетp>
100. Tilmann Hampp. A Model of Costs and Benefits of Reviews. -Universitt Stuttgart, Institut fur Softwaretechnologi, 2007.
101. Wittig, G. Estimating Software Development Effort with Connectionist Models. Monash University, 1995.
102. ACEIT Overview. Automating the estimating environment. Ссыка на домен более не работаетp>
103. Arc statistical software. Ссыка на домен более не работаетarc/software.html
104. Borland Caliber RM: QuickStart Service;. Borland, 2005. Ссыка на домен более не работаетp>
105. Ml. Caliber Programmer Guide. . Borland, -2005. Ссыка на домен более не работает/www.borland.com150
106. IFPUG. Frequently asked questions. Ссыка на домен более не работаетabout/faqs.htm
107. VolodinM.A. Simplified SOW template Ч SPb.: Exigen Services. StarSoft, 2007. Ч 2 p.
108. VolodinM.A. SOW template. Version 2.5 Ч SPb.: Exigen Services. StarSoft, 2007. Ч 10 p.
109. VolodinM.A. Project Plan template. Version 2.5 Ч SPb.: Exigen Services. StarSoft, 2007. Ч 9 p.
110. Volodin M.A. Project Closure Report template. Version 2.5 Ч SPb.: Exigen Services. StarSoft, 2007. Ч 3 p.
111. VolodinM.A. Estimating Procedure. Version 2.5 Ч SPb.: Exigen Services. StarSoft, 2007. Ч 8 p.
112. Рис 1.1. Структура таблиц оценки по конструктивной модели стоимости.fpcoreteamactivities(D Щ rRt fpsystemconfig FP-EQS
113. INDEX ACTNAME PERCENTOF ДIMPLEMENTATION
114. Fin FPTEAMI :FFORTSPERFPй I1.DEX EFFNAME HOURSi CONFIGID '>? SUBID1. CONFIGNAME1. SUBNAME1. CHECKED1. FPPRODUCTIVITVDRIVERS Ц)
115. Рис 1.2. Структура таблиц оценки по модели функциональных точек.1. Actors Щ1.1. ACTORTYPE1. ACTORNAME1. ACTORADDRESS1. ACTORPHONE1. А СТО RFA X1. ACTOREMAILтиш'шш Bn Languages Ш
116. COCOMOSCALEFXML: BLOB SU. g| COCOMOCDRIVERSWIFXML: BL. Ш COCOMOSCALEFWIFXML: BLOB. ? RDB$PRIMARY81. ESTIMATIONSi ID: INTEGER g, ESTPRJID: INTEGER g, ESTANALYSTID: INTEGER 1 ESTMETHODID: INTEGER з EST CORE ID: INTEGER
117. EXPECTEDPROBABILITY: NUMERIC(6,2) S HIGHLIGHTCPATH: INTEGERm MODULESXMLDATA: BLOB SUBTYPE TEXT SEGMENT SIZE 20 m COCOMOXMLDATA: BLOB SUBTYPE TEXT SEGMENT SIZE 20 P RDB$PRIMARY91. SFPSYSTEMCONFIGTEM PLATE
118. Э CONFIGID: INTEGER Э SUBID: INTEGER Щ CONFIGNAME: VARCHAR(IOO) m SUBNAME: BLOB SUBTYPE TEXT SEGMEN. 3 PKFPSYSTEMCONFIGTEM PLATE1. Э LANGUAGES тшш/шШштшк1.NGID: INTEGER
119. Щ LANGNAME: VARCHAR(IOO) gl LANGSLOCPERFP: INTEGER
120. NGUAGESINDEX01 RDB$PRIMARY51. Si FP OBJECTS1.: INTEGER
121. Ш FP COUNTXML: BLOB SUBTYPE TEXT SEG.ш FP CONFIGXML: BLOB SUBTYPE TEXT SE.m FP PRODUCTIVITYDRIVERSXML: BLOB S.в FP COUNT TYPE: INTEGERm FP NTRACEDREQ:INTEGERm FP NPARALLELTHREADS: NUMERIC(6,1)
122. Рис 1.4. Структура взаимосвязанных таблиц системы оценки трудоемкости.155
Похожие диссертации
- Формирование механизма управления миграцией населения в Монголии
- Прогнозирование занятости в российской промышленности
- Формирование системы оценки конкурентоспособности консатинговых услуг научных и специализированных организаций
- Управление инновационно ориентированным развитием региона на основе реализации потенциала высокотехнологичных кластерных образований
- Исследование однопродуктовой модели экономики с учетом инерционных свойств вводимых и выводимых производственных фондов