Определение трудоемкости разработки программного продукта
Определение трудоемкости разработки программного продукта производится на основании опытно-статистического метода, в целом на всю разработку, исходя из того, что ее выполняет один техник-программист. Определение трудоемкости осуществляется в соответствии с ГОСТ 19.102-77 «Стадии разработки» ведется исходя из ориентировочного распределения затрат времени.
Расчет трудоемкости на создание программного продукта производится на основании данных таблиц 1-4 по описанной ниже методике.
Таблица 1 Структура времени на создание программного продукта
№ этапа | Обозначение времени данного этапа | Содержание этапа |
Tпо | Подготовка описания задачи. | |
Tо | Описание задачи. | |
Tбс | Разработка блок-схемы алгоритма. | |
Tн | Написание и набивка программы | |
Tд | Оформление документации. |
Время рассчитывается в человеко-часах, причем Тпо берется по фактически отработанному времени, а время остальных этапов определяется расчетно по условному числу команд .
Условное число команд определяется по формуле:
, (1)
где – коэффициент, учитывающий условное число команд в зависимости от типа задачи, для данной задачи коэффициент принимается = 1450;
- коэффициент, учитывающий новизну и сложность программы.
Выбрать значение коэффициента можно из табл. 2.
Таблица 2 Определение коэффициента, учитывающего условное число команд
Тип задачи | Пределы изменений коэффициента |
Задачи учета | от 1400 до 1500 |
Задачи оперативного управления | от 1500 до 1700 |
Задачи планирования | от 3000 до 3500 |
Многовариантные задачи | от 4500 до 5000 |
Комплексные задачи | от 5000 до 5500 |
Программные продукты по степени новизны могут быть отнесены к одной из 4-х групп:
группа А — разработка принципиально новых задач;
группа Б — разработка оригинальных программ;
группа В — разработка программ с использованием типовых решений;
группа Г — разовая типовая задача.
Для данной задачи степень новизны — Б
По степени сложности программные продукты могут быть отнесены к одной из 3-х групп:
1) 1 — алгоритмы оптимизации и моделирования систем;
2) 2 — задачи учета, отчетности и статистики;
3) 3 — стандартные алгоритмы.
Данная задача может быть отнесена к 1 группе сложности.
Коэффициент определяется из таблицы 3 на пересечении групп сложности и степени новизны.
Таблица 3 Определение коэффициента, учитывающего группу сложности и степень новизны
Язык программирования | Группа сложности | Степень новизны | |||
А | Б | В | Г | ||
Высокого уровня (Delphi, C++Builder, PRP, HTML, JAYA) | 1,38 | 1,26 | 1,15 | 0,69 | |
1,30 | 1,19 | 1,08 | 0,65 | ||
1,20 | 1,10 | 1,00 | 0,60 | ||
Низкого уровня (Assembler) | 1,58 | 1,45 | 1,32 | 0,79 | |
1,49 | 1,37 | 1,24 | 0,74 | ||
1,38 | 1,26 | 1,15 | 0,69 |
Для данной задачи коэффициент = 1,26
Теперь, исходя из формулы (1) можно определить условное число команд
(2)
Определяем время, затраченное на каждый этап создания программного продукта:
1) Tпо (время на подготовку описания задачи), берется по факту и составляет:
Tпо = (3)
2) Tо ( время на описание задачи ) определяется по формуле:
Tо = , (4)
где — коэффициент учета изменений задачи, коэффициент в зависимости от сложности задачи и числа изменений выбирается в интервале от 1,2 до 1,5.Для данной задачи = 1,4;
— коэффициент, учитывающий квалификацию программиста. Для стажа программирования от двух до трех лет значение коэффициента =1.
Таблица 4 Определение коэффициента, учитывающего квалификацию программиста
Стаж программиста | Значение коэффициента К |
до 2-х лет | 0,8 |
от 2 до 3 лет | 1,0 |
от 3 до 5 лет | 1,1 — 1,2 |
от 5 до 10 лет | 1,2 — 1,3 |
свыше 10 лет | 1,3 — 1,5 |
Применяя формулу (4) подсчитаем время на описание задачи:
Tо = (5)
Tбс (время на разработку блок-схемы алгоритма) рассчитываем по формуле:
Tбс = (6)
Применяя формулу (6) подсчитываем время на разработку алгоритма.
Tа = (7)
Tн (время написания программы на языке программирования) определяется по формуле:
Tн = (9)
Применяя формулу (9), подсчитываем время написания программы на языке программирования:
Tн = (10)
Время на оформление документации берется по факту и составляет 40 чел.-час.
Теперь, зная время, затраченное на каждом этапе, можно подсчитать общее время на создание программного продукта:
T = Tпо + Tо +Tбс +Tн + Tд =30 + 51,1 + 36,5 + 54,8 + 40 = 212,4 чел.- час