- •Введение
- •1. Измерения и оценки метрик в программотехнике
- •2. Оценка трудоемкости и стоимости разработки программного продукта на основе его размера
- •Определение параметров программного продукта на основе оценки числа строк кода для каждого функционального блока.
- •3. Определение параметров проекта на основе оценки трудоемкости выполнения отдельных работ (Метод оценки усилий)
- •Распределение усилий на выполнение отдельных работ при разработке каждого блока (в человеко-месяцах)
- •4. Использование эмпирических моделей для оценок программных продуктов.Ресурсная модель комост
- •Коэффициенты уравнений комост
- •5. Метод функциональных точек
- •6. Производительность труда в группе разработчиков
- •6.1А. Учет числа взаимосвязей между разработчиками в группе.
- •Задание 5. Определение производительности труда группы взаимодействующих исполнителей Методические указания к выполнению задания 5
- •6.1.B Связи каждого участника группы с остальными
- •Методические указания к выполнению задания 6
- •6.2. Применение модели Филиппа
- •6.3. Применение модели Путнема
- •Рекомендуемая литература
- •Список использованных сокращений
- •Содержание
Коэффициенты уравнений комост
Тип программного проекта |
а |
B |
с |
d |
1. Распространенный |
2.4 |
1.05 |
2.5 |
0.38 |
2. Полунезависимый |
3.0 |
1.12 |
2.5 |
0.35 |
3. Встроенный |
3.6 |
1.20 |
2.5 |
0.32 |
Большинство информационных систем в экономической сфере относится к классу проектов распространенного типа. Характеристики проекта заметно меняются в зависимости от размера программного продукта. Для проведения расчетов с моделью КОМОСТ были выделены 4 категории проектов распространенного типа в зависимости от их размеров: малые (М) - до 2 ТСИК, промежуточные (П) - до 8 ТСИК, средние (С) - до 32 ТСИК, большие (Б) - до 128 ТСИК. Перечень основных параметров для проектов разных размеров представлен в табл. 4.
Таблица 4
Значения параметров программных проектов разного размера
Размер изделия, ТСИК |
ТР, ЧМ |
СПТ, СИК/ЧМ |
ДР. мес. |
ШЧ, человек |
Малый, 2 |
5.0 |
400 |
4.6 |
1.1 |
Промежуточный, 8 |
21.3 |
376 |
8.0 |
2.7 |
Средний, 32 |
91.0 |
352 |
14.0 |
6.5 |
Большой, 128 |
392.0 |
327 |
24.0 |
16.0 |
Как уже отмечалось, кроме общих оценок проекта, базовая модель позволяет получить распределение этих оценок по фазам жизненного цикла программного продукта и по видам работ, выполняемым в каждой фазе. Процентное распределение трудозатрат и продолжительности деятельности по фазам жизненного цикла приведено в табл. 5, а по видам работ в пределах каждой фазы - в табл. 6. Эти данные получены также в результате обработки сведений о разработке множества программных проектов.
В основу расчетов положены следующие фазы каскадной модели жизненного цикла программного продукта:
планирование и анализ требований;
проектирование изделия;
программирование
детальное проектирование;
кодирование и автономная отладка.
4) комплексирование и испытания.
Как видно из приведенных данных, планирование и анализ требований не входят в перечень работ жизненного цикла и рассматриваются как работы подготовительного этапа. Для этих работ указано процентное их соотношение с общими трудозатратами и длительностью разработки.
В каждой фазе рассматриваются следующие основные виды работ:
анализ требований;
проектирование изделия;
программирование;
планирование отладки;
верификация;
управление проектом;
управление качеством и конфигурационное управление;
документирование.
Таблица 5
Распределение трудозатрат и сроков разработки программного изделия по фазам жизненного цикла (в процентах)
Фаза |
Размер изделия | |||
Малый |
промежуточн. |
средний |
большой | |
Затраты труда | ||||
Планирование и анализ требований |
6 |
6 |
6 |
6 |
Проектирование изделия |
16 |
16 |
16 |
16 |
Программирование детальное прооектирование кодирование и автономная отладка |
68 26 42 |
65 25 40 |
62 24 38 |
59 23 36 |
Комплексирование и испытания. |
16 |
19 |
22 |
25 |
Всего |
100 |
100 |
100 |
100 |
Сроки выполнения работ | ||||
Планирован, и анализ требований |
10 |
11 |
12 |
13 |
Проектирование изделия |
19 |
19 |
19 |
19 |
Программирование |
63 |
59 |
55 |
51 |
Комплексирование и испытания |
18 |
22 |
26 |
30 |
Всего |
100 |
100 |
100 |
100 |
Таблица 6
Распределение трудозатрат на выполнение работ по фазам жизненного цикла (в процентах)
Фаза жизненного цикла проекта продукта |
Планирован, и анализ, требований |
Проектирование |
Программирование |
Комплексирование |
Размер продукта |
|
|
М П С Б |
М П С Б |
Поля всей фазы |
6 |
16 |
68 65 62 59 |
16 19 22 2 5 |
Доля работы в %%: |
|
|
|
|
Анализ требований |
46 |
15 |
5 |
3 |
Проектирование |
20 |
40 |
10 |
6 |
Программирование |
3 |
14 |
58 |
34 |
Планирован, отладки |
3 |
5 |
4 |
2 |
Верификация |
6 |
6 |
6 |
34 |
Управление проектом |
15 |
11 |
6 |
7 |
Управление качеством и конфигурацией. |
2 |
2 |
6 |
7 |
Документирование |
5 |
7 |
5 |
7 |
Задание 3, Определение параметров проекта программного средства с использованием базовой модели КОМОСТ
Методические указания к выполнению задания 3
На основе определенного в задании 1 размера программного продукта (в тысячах строк исходного кода) определить основные параметры проекта, предполагая, что информационная система относится к распространенному типу. Параметры проекта включают затраты труда, длительность разработки, штатную численность, среднюю производительность труда.
Параметры проекта определить как в целом для программного продукта, так и с распределением по фазам, а затем по работам в пределах каждой фазы. Для расчетов использовать табличный процессор.
Последовательность выполнения задания.
Последовательно выполнить следующие этапы работы:
1) используя уравнения КОМОСТ, определить:
трудоемкость разработки проекта ТР (в человеко-месяцах);
длительность разработки ДР (в месяцах);
штатную численность ШЧ (человек);
среднюю производительность труда СПТ (СИК/ЧМ);
2) используя данные о распределении усилий по фазам жизненногоцикла (табл. 5), определить для проекта трудозатраты и длительность выполнения каждой фазы. Оценить необходимую численность работников для каждой фазы. Скорректировать с учетом полученных данных о штатной численности по фазам требуемую для выполнения проекта численность исполнителей и соответственно длительность выполнения каждой фазы;
используя данные о распределении усилий по фазам и работамжизненного цикла (табл. 6), определить для каждой фазы трудозатраты и длительность выполнения работ. Оценить необходимую численность работников для каждой работы в пределах каждой фазы. Скорректировать с учетом полученных данных о штатной численности по отдельным работам кажой фазы требуемую для выполнения проекта численность исполнителей и соответственно длительность выполнения каждой работы;
провести сравнительный анализ полученных по трем предыдущим пунктам результатов и оценить стоимость проекта, используя данные о стоимости человеко-месяца из первого задания.
Дополнительные задачи
На основе уравнений базовой КОМОСТ для систем распространенного типа построить зависимость трудоемкости разработки программного проекта от его размера при изменении объема кода от 10 до 120 ТСИК.
На основе уравнений базовой КОМОСТ для систем распространенного типа построить зависимость сроков разработки программного проекта от егоразмера при изменении объема кода от 10 до 120 ТСИК.
На основе уравнений базовой КОМОСТ для систем распространенного типа построить зависимость сроков разработки программного проекта от затрат труда при изменении его значений от 10 до 200 ЧМ.
На основе уравнений базовой КОМОСТ для систем распространенного типа построить зависимость средней производительности труда от размера программного средства при изменении объема его кода от 10 до 120 ТСИК.
На основе уравнений базовой КОМОСТ для систем распространенного типа построить зависимость средней штатной численности от его размера при изменении объема кода от 10 до 120 ТСИК.
б.Имеется матрица распределения усилий на разработку отдельных функциональных блоков программного изделия. Определить трудоемкость разработки каждого блока, трудоемкость разработки каждой работы (по всем блокам) и программного изделия в целом. На основе полученных результатов и уравнений базовой КОМОСТ определить длительность разработки изделия, его размер в строках исходного кода и необходимую штатную численность исполнителей. Определить стоимость работ по видам деятельности и для системы в целом.