Калькуляторы оценки трудоемкости предназначены для планирования трудозатрат на программном проекте.
Для этой задачи служат
- калькулятор оценки трудоемкости проектирования программного обеспечения (оценка задач аналитика);
- калькулятор оценки трудоемкости разработки программного обеспечения (оценка задач программиста).
В калькуляторах используется методика расчета PERT. Эта методика подразумевает наличие неопределённости трудоемкости выполнения отдельных работ.
По мнению Сергея Архипенкова, это наиболее прагматичный подход, который позволяет получить достаточно реалистичные оценки трудоемкости и срока реализации программного проекта, быстро и без больших затрат.
Инженерный метод оценки трудоемкости проекта PERT (Program / Project Evaluation and Review Technique) был разработан в 1958 году в ходе проекта по созданию баллистических ракет морского базирования «Поларис».
Входом для данного метода оценки служит список элементарных пакетов работ. Для инженерного подхода нет необходимости точно знать закон распределения нашей оценки трудоемкости каждого такого элементарного пакета. Диапазон неопределенности достаточно охарактеризовать тремя оценками:
Формула труда или как рассчитать эффективную численность персонала
- Mi — наиболее вероятная оценка трудозатрат.
- Oi — минимально возможные трудозатраты на реализацию пакета работ. Ни один риск не реализовался. Быстрее точно не сделаем. Вероятность такого, что мы уложимся в эти затраты, равна 0.
- Pi — пессимистическая оценка трудозатрат. Все риски реализовались.
Оценку средней трудоемкости по каждому элементарному пакету можно определить по формуле:
Ei = (Pi + 4Mi + Oi)/6.
Для расчета среднеквадратичного отклонения используется формула:
CKOi = (Pi — Oi)/6.
Если наши оценки трудоемкости элементарных пакетов работ статистически независимы, а не испорчены, например, необоснованным оптимизмом то, согласно центральной предельной теореме теории вероятностей суммарная трудоемкость проекта может быть рассчитана по формуле:
А среднеквадратичное отклонение для оценки суммарной трудоемкости будет составлять:
Тогда для оценки суммарной трудоемкости проекта, которую мы не превысим с вероятностью 95%, можно применить формулу:
Это значит, что вероятность того, что проект превысит данную оценку трудоемкости составляет всего 5%. А это уже вполне приемлемая оценка, под которой может расписаться профессиональный менеджер.
В нашем случае, мы попробывали применить данный подход для оценки трудоемкости отдельно взятой задачи на разработку или проектирования программного обеспечения. Цель работы калькуляторов — сформировать обоснованную оценку трудозатрат, которую можно поместить в описание задачи в JIRA.
На основании нескольких проектов по разработке заказного программного обеспечения мы сформировали номенклатуру предопределенных работ, которыые используется при оценке трудоемкости :
- номенклатура типовых работ аналитика по проектированию программного обеспечения ;
- номенклатура типовых работ программиста по разработке программного обеспечнения.
Однако существование предопределенного перечня работ не ограничивает вас в измении формулировок этих работ, которые необходимы именно для вашего проекта.
Производительность труда. Понятие и методы расчета
Назначение кнопок приведено на риcунке ниже.
После формирования перечня работ, выполненение которых должно быть обеспечено в рамках решения задачи, нажав на кнопку «Расчитать» Вы получите ожидаемые трудозатраты на решение задачи с учетом необходимого резерва времени.
Полученный расчет можно скопировать в буфер и разместить в описании задачи JIRA.
Источник: jiraved.ru
1.1 Расчет трудоемкости разработки программного продукта
Базовый показатель для определения составляющих затрат труда вычисляется по формуле:
(1)
где q — число операторов (исходных команд) в программном продукте (1086);
с — коэффициент сложности программы;
р — коэффициент коррекции программы в ходе ее разработки, зависит от точности и корректности поставленной задачи (0,6).
Коэффициент сложности программы определяется из таблицы 1 на пересечении «группы сложности» и «степени новизны». При этом новизна определяется по принципу:
А — разработка принципиально новых задач,
Б — разработка оригинальных программ,
В — разработка программ с использованием типовых решений,
Г — разовая типовая задача.
Сложность определяется исходя из типа решаемых задач:
- — алгоритмы оптимизации и моделирования систем,
- — задачи учета, отчетности и статистики,
- — стандартные алгоритмы.
Кроме того, в таблице указан коэффициент недостаточности описания программы, который потребуется при расчете затрат труда на исследование алгоритма решения задачи. Таблица 1 — Коэффициенты расчета трудоемкости
Язык программирования | Группа сложности | Степень новизны | Коэффициент В | ||||
А | Б | В | Г | ||||
Высокого уровня | 1 | 1,38 | 1,26 | 1,15 | 0,69 | 1,2 | |
2 | 1,30 | 1,19 | 1,08 | 0,65 | 1,35 | ||
3 | 1,20 | 1,10 | 1,00 | 0,60 | 1,5 | ||
Низкого уровня | 1 | 1,58 | 1,45 | 1,32 | 0,79 | 1,2 | |
2 | 1,49 | 1,37 | 1,24 | 0,74 | 1,35 | ||
3 | 1,38 | 1,26 | 1,15 | 0,69 | 1,5 |
Уровень написания программного продукта (язык программирования) группа сложности и степень новизны программы определяются на основе данных приложения 1. Затем по формуле определяется базовый показатель Q. Далее, рассчитаем составляющие затраты труда, среди которых выделяют: затраты труда на подготовку и описание алгоритма, затраты труда на исследование алгоритма, затраты труда на разработку алгоритма, затраты труда на программирование и отладку и затраты труда на подготовку документации. Затраты труда на подготовку и описание задачи может определяться эмпирически или по формуле: ton=(Tmin+4THB+Tmax)/6 (2) где Ттах — трудоемкость операции в наиболее неблагоприятных условиях (пессимистическая оценка); Tmin- трудоемкость операции при благоприятных условиях (оптимистическая оценка); — ; :Тнв~ трудоемкость операции при нормальных условиях (наиболее вероятная оценка). Ориентировочные величины оценки трудоемкости операций по подготовке описания задачи в зависимости от числа операторов q приводятся в таблице 2. Таблица 2 — Затраты времени на подготовку описания задачи
Число операторов | Т min | Тнв | Т max |
100-400 | 10 | 15 | 20 |
500-900 | 20 | 35 | 50 |
1000-1400 | 25 | 50 | 75 |
1500-1900 | 30 | 60 | 90 |
2000-2400 | 40 | 70 | 100 |
2500-2900 | 50 | 80 | 110 |
5000-9000 | 70 | 110 | 150 |
10000 | 100 | 150 | 200 |
Затраты труда на исследование алгоритма решения задачи определяются формулой: (3) где Q — базовый коэффициент, В — коэффициент недостаточности описания задачи, который берется из таблицы 1; к- коэффициент квалификации, зависит от опыта программиста. На основе исходных данных приложения 2 по таблице 3 определяем коэффициент к. Таблица 3 — Коэффициенты квалификации программиста
Опыт работы | Коэффициент квалификации |
до 2 лет | 0,8 |
2-3 года | 1 |
3-5 лет | 1.1-1.2 |
5-7 лет | 1.3- 1.4 |
более 7 лет | 1.5-1.6 |
Таким образом, рассчитываем затраты труда на исследование алгоритма решения задачи: Затраты труда на разработку диаграмм, описывающих систему:
(4) Затраты труда на программирование системы и отладку вычисляются по формулам:
(5)
(6) Затраты труда на подготовку документов по задаче состоят из затрат труда на подготовку и времени на оформление документов и вычисляются по формуле:
(7) Суммарные затраты труда рассчитываются как сумма составных затрат труда по формуле:
(8)
Источник: studfile.net
Определение затрат труда на разработку ИС
Трудоемкость характеризует время, необходимое одному специалисту или коллективу для создания некоторого программного продукта или выполнения определенного этапа работ.
Рассмотрим несколько способов расчета трудоемкости работ.
Способ 1. Расчет трудоемкости методом экспресс — оценки
Наиболее обоснованным для определения трудоемкости создания программного продукта является метод оценки на основе системы моделей с различной точностью оценки, за единицу нормирования в которых принято число исходных команд программного продукта.
Под исходной командой понимается физически представимая строка на экране дисплея (n).
Для быстрой приближенной оценки может использоваться базовая модель. Она состоит из двух простейших формул для каждого из трех типов программных продуктов – независимого, полунезависимого и встроенного (см. табл. 1. 5).
Уравнения базовой модели для оценки трудоемкости
и продолжительности разработки программного продукта
Тип программного продукта | Трудоемкость разработки t, чел.-мес. | Продолжительность разработки T, мес. |
Независимый | t = 2,4 · n 1,05 | T = 2,5 · t 0,38 |
Полунезависимый | t = 3,0 · n 1,12 | T = 2,5 · t 0,35 |
Встроенный | t = 3,6 · n 1,20 | T = 2,5 · t 0,32 |
Способ 2. Расчет трудоемкости методом уточненной модели
Для более точного определения трудоемкости разработки программного продукта по отдельным элементам и операциям процесса может быть использован метод, в котором составляющие затраты труда определяются с учетом особенностей организации, ведущей разработку, и основных параметров программного продукта:
— степени новизны задачи,
— количества разновидностей входной и выходной информации,
— сложность организации контроля входной и выходной информации,
— использования стандартных модулей и типовых задач.
Трудоемкость разработки программного обеспечения решения задачи можно рассчитать по формуле:
где t0 — затраты труда на подготовку описания задачи;
t и — затраты груда на исследование алгоритма решения задачи;
t а — затраты труда на разработку блок-схемы алгоритма;
t п — затраты труда на программирование по готовой блок-схеме;
tотл. — затраты труда на отладку программы на ЭВМ;
tд — затраты труда на подготовку документации.
Составляющие затрат можно определить через условное число операторов в разрабатываемом программном обеспечении. В их число входят те операторы, которые необходимо написать программисту в процессе работы над задачей с учетом возможных уточнений в постановке задачи и совершенствовании алгоритма. Условное число операторов Q в программе может быть определено по формуле:
где q — предполагаемое число операторов,
с — коэффициент сложности программы,
р — коэффициент коррекции программы в ходе ее разработки.
Кроме этого, используются коэффициенты квалификации разработчиков алгоритмов и программ – k и увеличения затрат труда вследствие недостаточного или некачественного описания задачи — В.
Коэффициент сложности задачи c характеризует относительную сложность программы по отношению к так называемой типовой задаче, реализующей стандартные методы решения, сложность которой принята равной единице (величина с лежит в пределах от 1,25 до 2); коэффициент коррекции программы р — увеличение объема работ за счет внесения изменений в алгоритм или программу по результатам уточнения постановок и описаний ее, изменения состава и структуры информации, а также уточнений, вносимых разработчиками для улучшения качества самой программы без изменения постановки задачи (величина р находится в пределах 0,05…0,1); коэффициент квалификации разра6отчика k — степень подготовленности исполнителя к порученной, ему работе (он определяется а зависимости от стажа работы и составляет: для работающих до двух лет 0,8; от двух до трех лет — 1,0; от трех до пяти лет -1,1-1,2; от пяти до семи — 1,3 — 1,4; свыше семи лет-1,5-1,6) коэффициент увеличения затрат труда вследствие недостаточного описания задачи В – качество постановки задачи, выданной для разработки, в связи с тем, что задачи, как правило, требуют уточнения и некоторой доработки (этот коэффициент в зависимости от сложности задачи принимается от 1,2 до 1,5).
Затраты труда на подготовку описания задачи t0 точно определить невозможно, так как это связано с творческим характером работы.
Затраты труда на изучение описания задачи tи с учетом уточнения описания и квалификации программиста могут быть определены по формуле:
Затраты труда на разработку алгоритма задачи tа рассчитываются по формуле:
Затраты труда на составление программы по готовой блок-схеме tп определяются по формуле:
Затраты труда на отладку программы на ЭВМ tотл рассчитываются по следующим формулам:
— при автономной отладке одной задачи
— при комплексной отладке задачи
Затраты труда на подготовку документации по задаче tд определяются по формуле:
где tдр. – затраты труда на подготовку материалов в рукописи, равные:
tдо – затраты труда на редактирование, печать и оформление документации, равные:
При создании программного продукта повышение уровня языка программирования способствует снижению затрат на непосредственную разработку программ. Компактность и обобщенное представление алгоритмов задач на языках высокого уровня позволяет исключить ряд классов ошибок и снизить вероятность других. Снижение затрат на разработку наиболее существенно проявляется при создании небольших программ. При разработке сложных программных комплексов реального времени наличие трудоемких этапов системного и структурного проектирования, а также комплексной отладки и испытаний в реальном масштабе времени в значительной степени нивелирует эффект от использования языков высокого уровня.
С учетом уровня языка программирования трудоемкость отдельных этапов разработки программы может быть скорректирована следующим образом:
где k кор. – коэффициент изменения трудоемкости (см. табл. 1.6).
Изменение трудоемкости
в зависимости от уровня языка программирования
Уровень языка | Характеристика языка программирования | Коэффициент kкор. |
Покомандный автокод – ассемблер | ||
Макроассемблер | 0,95 | |
Алгоритмические языки высокого уровня | 0,8-0,9 | |
Алгоритмические языки сверхвысокого уровня | 0,7-0,8 |
Способ 3. Экспертный метод расчета трудоемкости
Экспертный метод определения трудоемкости может быть использован в том случае, когда сложно оценить объем разрабатываемого программного продукта в исходных командах или условным числом операторов. Затраты труда подобных разработок точно определить невозможно, так как они связаны с творческим характером работы. Но они могут быть оценены экспертным путем на основе имеющегося опыта разработки аналогичных задач.
Трудоемкость выполнения отдельных видов работ определяется двумя видами оценок:
аi — минимальные затраты времени на выполнение отдельного вида работ при наиболее благоприятных условиях;
bi — максимальное время выполнения при наименее благоприятных условиях.
По этим величинам оценивается ожидаемое значение трудоемкости ti и стандартное отклонение Di по следующим формулам:
Стандартное отклонение характеризует степень неопределенности выполнения работы за ожидаемое время ti. Если разброс между ai и bi мал, то степень достоверности того, что работа будет выполнена в срок, велика.
Трудоемкость всей разработки и ее стандартное отклонение составят:
Экспертные оценки и расчетные величины трудоемкости и стандартные отклонения по всем видам работ сводятся в таблицу (табл. 1. 7).
Оценка трудоемкости отдельных видов работ
Вид работ | Оценка трудоемкости, чел. — дн. | Расчетные величины, чел. — дн. | |
ai | bi | ti | Di |
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru