- •Введение
- •1. Измерения и оценки метрик в программотехнике
- •2. Оценка трудоемкости и стоимости разработки программного продукта на основе его размера
- •Определение параметров программного продукта на основе оценки числа строк кода для каждого функционального блока.
- •3. Определение параметров проекта на основе оценки трудоемкости выполнения отдельных работ (Метод оценки усилий)
- •Распределение усилий на выполнение отдельных работ при разработке каждого блока (в человеко-месяцах)
- •4. Использование эмпирических моделей для оценок программных продуктов.Ресурсная модель комост
- •Коэффициенты уравнений комост
- •5. Метод функциональных точек
- •6. Производительность труда в группе разработчиков
- •6.1А. Учет числа взаимосвязей между разработчиками в группе.
- •Задание 5. Определение производительности труда группы взаимодействующих исполнителей Методические указания к выполнению задания 5
- •6.1.B Связи каждого участника группы с остальными
- •Методические указания к выполнению задания 6
- •6.2. Применение модели Филиппа
- •6.3. Применение модели Путнема
- •Рекомендуемая литература
- •Список использованных сокращений
- •Содержание
Распределение усилий на выполнение отдельных работ при разработке каждого блока (в человеко-месяцах)
РАБОТЫ ФУНКЦИИ |
Анализ требований |
Проектирование |
Кодирование |
Интеграция в систему |
Итог |
1 |
2 |
3 |
4 |
5 |
6 |
A |
2.0 |
4.0 |
1.5 |
5.5 |
13.0 |
B |
3.0 |
12.0 |
3.5 |
8.5 |
27.0 |
C |
3.5 |
14.0 |
5.0 |
12.0 |
34.5 |
D |
4.0 |
8.0 |
4.0 |
5.0 |
21.0 |
E |
2.5 |
12.0 |
5.0 |
11.5 |
31.0 |
F |
2.5 |
7.0 |
4.5 |
6.0 |
20.0 |
G |
5.0 |
15.0 |
4.0 |
8.0 |
32.0 |
Итого |
22.5 |
72.0 |
27.5 |
56.5 |
178.5 |
Цена чел.-мес. |
15000 |
14000 |
10000 |
12000 |
|
Стоимость (тыс. рублей) |
337.5 |
1008.0 |
275.0 |
678.0 |
2298.5 |
Примечание. Для получения более достоверных оценок параметров разрабатываемого проекта в реальных условиях обычно используют независимо несколько методов и затем сравнивают полученныые результаты. На данном этапе появляется возможность для сравнения оценок (как для. общих усилий, так и для стоимости), полученных с помощью двух рассмотренных подходов. Если между оценками, полученными по разным методикам, существует разумное согласие, то это является хорошим основанием для того, чтобы рассматривать эти оценки как достаточно надежные. Если же оценки существенно различаются, то должны проводиться дальнейшие исследования причин этих различий и тщательный анализ проекта.
4. Использование эмпирических моделей для оценок программных продуктов.Ресурсная модель комост
Оценочные модели для программных продуктов.
Оценочная модель для программного обеспечения использует эмпирически выведенные формулы для прогнозной оценки данных, которые являются необходимым элементом шага планирования. Эмпирические данные, которые поддерживают большинство моделей, собираются из офаниченного числа выбранных для этого проектов программных средств. По этой причине нет оценочных моделей, которые были бы пригодны для разных классов программных проектов и для всех условий разработки. Поэтому стремятся при создании моделей типизировать проекты по ряду классов, и при разработке нового проекта необходимо предварительно отнести его к определенному классу программных продуктов. Для оценки параметров проектов профамм-ных средств широкое распространение получили так называеиые ресурсные модели.
Ресурсные модели состоят из одной или нескольких эмпирически выведенных формул, которые позволяют прогнозировать требуемые для разработки проекта ресурсы. Ресурсы могут включать требуемые усилия (трудозатраты) в человеко-месяцах, хронологическую продолжительность разработки в календарных месяцах, штатную численность и ряд других, относящихся к проекту параметров. В литературе описано несколько классов ресурсных Моделей:
статические модели с единственной переменной;
динамические модели с многими переменными; . • теоретические модели.
Статическая модель с единственной переменной имеет форму
ресурс = с1* (оцененная характеристика) с2,
где в качестве ресурса могут быть трудозатраты, продолжительность разработки, количество разработчиков, а константы C1 и С2 выводятся из данных, собранных по прежним проектам.
Оцененная характеристика - это либо строки исходного кода или другие характеристики профаммного продукта. Модели, имеющие подобную форму, могут быть выведены для конкретных условий, если в распоряжении разработчиков имеется достаточный объем исторических данных. Примером статической модели с единственной переменной может служить Конструктивная (выведенная на основе умозаключений) модель стоимости - КОМОСТ. Она будет рассмотрена позже.
Статические модели с многими переменными, подобно одноперемен-ным моделям, также используют исторические данные для вывода эмпирических соотношений. Типичная модель этой категории имеет форму
ресурс= с11е,+ с21+ ... ,
где е1 - первая характеристика профаммного продукта, а С11 - эмпирически выведенная константа для лервой характеристики.
Динамическая модель со многими переменными отражает ресурсные требования в зависимости от времени. Если модель выведена эмпирически, то ресурсы определяются в виде серии временных шагов (этапов), каждому из которых выделяется определенный процент трудозатрат (или других ресурсов) от общего процесса разработки профаммного обеспечения. Каждый шаг может быть затем разделен на отдельные задачи. Теоретический подход к динамическому моделированию с несколькими переменными предполагает (использует гипотезу) наличие непрерывной кривой расхода ресурсов, на основании которой выводятся уравнения, моделирующие поведение ресурсов. Одна из таких теоретических динамических моделей - оценочная модель Пут-нема обсуждается в разделе 6.
Конструктивная модель стоимости - КОМОСТ
Как уже отмечалось, одной из наиболее распространенных и используемых на практике является Конструктивная модель стоимости - КОМОСТ (Constructive Cost Model - СОСОМО). Модель построена применительно к каскадной модели жизненного цикла программного изделия.
Эта модель применима к трем типам профаммных систем.
Распространенный (независимый или изолированный) тип - это относительно небольшие программные проекты (до 50 тысяч строк кода), в разработке которых участвуют небольшие коллективы с хорошим прикладным опытом работы. Требования к профаммному изделию и офаничения не являются слишком жесткими, а алгоритмическая сложность относительно невелика. К этому типу относится большинство систем обработки транзакций и информационных систем управления.
Полунезависимый (полуизолированный) тип - это проекты, промежуточные по размеру и сложности; в их разработке могут участвовать группы специалистов с разным уровнем опыта и квалификации. Отдельные требования к программному изделию или базе данных могут быть весьма жесткими. Примерами таких систем могут быть СУБД, мощные системы управления производством, системы метеослужбы и т.п.
3. Встроенный тип предполагает, что проект должен разрабатываться в пределах весьма строгих ограничений и требований. Эти проекты, как правило, большого объема (сотни тысяч строк кода) и трудоемкости. Примерами таких систем могут быть системы управления движением авиатранспорта, мощные системы оперативного управления с жесткими ограничениями на параметры функционирования и т.п.
Конструктивная модель стоимости представлена иерархией моделей.
Базовая модель (основная) - это статическая модель с одним параметром. Модель позволяет рассчитать усилия и стоимость разработки программного изделия как в целом, так и с распределением усилий по фазам и работам жизненного цикла программного продукта. Параметром модели является размер программного изделия в тысячах строк исходного кода.
Промежуточная модель, предназначена также для расчета усилий и стоимости проекта в зависимости от размера продукта, но она дополнительно использует совокупность факторов, учитывающих особенности проекта и условия его разработки. Эти факторы позволяют более полно учесть особенности разрабатываемого программного продукта, такие как сложность, требования к надежности, размеры и сложность базы данных; уровень мастерства разработчиков - их опыт, квалификацию, умение работать с современными средствами автоматизации проектирования; а также атрибуты среды проектирования - наличие соответствующих инструментальных средств и их применение. Эти факторы оказывают заметное влияние на производительность труда разработчиков и как следствие - на стоимость и качество проекта.
Детальная (расширенная) модель, объединяющая все характеристики и факторы промежуточной модели, использует оценки с распределением их по этапам жизненного цикла, по отдельным подсистемам и модулям программного изделия. Она дает наиболее точную оценку трудозатрат, но требует анализа трех уровней системы. Нижний уровень - уровень модулей описывается числом операторов и дополнительными атрибутами сложности и функциональных возможностей программы.
Общее описание метода
Для оценки трудозатрат и продолжительности разработки программного проекта используются следующие уравнения базовой модели КОМОСТ:
ТР = а*(РП)b
ДP = c*(TP)d
В этих уравнениях трудоемкость ТР выражается в человеко-месяцах, размер программного продукта РП в тысячах строк исходного кода, а длительность разработки ДР в месяцах. Коэффициенты a, b,c, d определены из опытных данных.
На основании вычисленных значений трудоемкости и длительности разработки легко определить необходимую среднюю штатную численность исполнителей ШТ=ТР/ДР и среднюю производительность труда исполнителя СПТ=РП/ТР.
Коэффициенты a,b,c,d зависят от типа системы, их значения представлены в табл. 3 .
Таблица 3