Модель СОСОМО
Методы оценки стоимости ПО
Методи оцінювання вартості програмного забезпечення
Таблица 4.3
Метод | Описание |
Алгоритмическое моделирование себестоимости | Метод основан на анализе статистических данных о ранее выполненных проектах, при этом определяется зависимость себестоимости проекта от какого-нибудь количественного показателя программного продукта (обычно это размер программного кода). |
Оценка эксперта | Проводится опрос нескольких экспертов по технологии разработки ПО, знающих область применения создаваемого программного продукта. |
Оценка по аналогии | Проект оценивается по уже реализованным аналогичным проектам. |
Закон Паркинсона | Усилия, затраченные на работу, распределяются равномерно по выделенному на проект времени. Здесь критерием для оценки затрат по проекту являются человеческие ресурсы, а не целевая оценка самого программного продукта. |
Назначение цены с целью выиграть контракт | Затраты на проект определяются наличием тех средств, которые имеются у заказчика. Поэтому себестоимость проекта зависит от бюджета заказчика, а не от функциональных характеристик создаваемого продукта. |
Предварительная оценка может выполняться с применением нисходящего и восходящего подходов:
- При нисходящем подходе оценка себестоимости начинается на уровне системы: рассматриваются функциональные возможности программы в целом и то, как эти возможности реализуются посредством функций более низкого уровня.
- Восходящий подход начинается на уровне системных компонентов. Система разбивается на компоненты и определяются затраты на разработку каждого из них. Затем эти затраты суммируются для определения полной стоимости проекта.
Недостатки восходящего подхода являются достоинствами нисходящего и наоборот. Для работы с большими проектами необходимо применить несколько методов оценивания себестоимости для их последующего сравнения.
Алгоритмическую модель стоимости можно построить с помощью анализа затрат и параметров уже разработанных проектов.
В общем случае формула для вычисления алгоритмической оценки стоимости записывается следующим образом: затраты = А х размер х М, где А — постоянный коэффициент, который зависит от организации выполнения проекта, показатель размер может соотноситься либо с размером кода программы, либо с функциональной оценкой, выраженной в количестве объектных или функциональных точек,
Эта модель основана на опыте реализации многих программных проектов. Она создана путем сбора данных о большом количестве проектов и анализа этой информации.
Достоинства модели:
- Эта модель имеет хорошую техническую документацию, общедоступна,существуют
коммерческие программные средства ее поддержки.
- Модель популярна и ценится среди широкого круга пользователей.
- Она прошла достаточно долгий путь развития со времени первого появления в 1981 году, была усовершенствована для разработки ПО на языке Ada, последняя версия модели опубликована в 1995 году.
Модель СОСОМО охватывает три уровня:
- Уровень предварительного прототипирования. Для определения необходимых затрат осуществляется оценка размера системы на основе объектных точек прототипа.
- Уровень предварительного проектирования. Этот уровень предусматривает окончание работы над системными требованиями и, возможно, над начальным проектом архитектуры программы. Оценка затрат на этом уровне основана на функциональных точках, которые затем пересчитываются в количество строк кода программ.
- Постархитектурный уровень. После разработки архитектуры системы существует реальная возможность достаточно точно оценить размер программы.
Алгоритмические модели стоимости применяются для сравнения различных инвестиций в целях снижения стоимости проекта.
Стоимость проекта складывается из трех компонентов:
- Стоимость целевых аппаратных средств, на которых будет функционировать разрабатываемая система.
- Стоимость платформы (вычислительная техника плюс программное обеспечение), используемой для разработки системы.
- Стоимость затрат на разработку системы.
Стоимость программного продукта (SC) вычисляется следующим образом:
SC = оценка затрат х RELY x TIME x STOR х TOOL х ЕХР х $15000.
Менеджеры проектов должны определить длительность выполнения проекта (т.е. составить временной график работ) и время начала найма персонала для непосредственной работы.
Распределяя прогнозируемые затраты на реализацию проекта, не можем точно знать, сколько человек необходимо включить в команду разработчиков. Часто набор программистов происходит по принципу от меньшего к большему с последующим постепенным уменьшением их численности.
4.3. Розрахунок вартості розробки програмного забезпеченняфайл экон. и орган.произв.пп