Трудозатраты на разработку и отладку программы

МЕТОДИКА РАСЧЕТА ТЕХНИКО-ЭКОНОМИЧЕСКИХ ПОКАЗАТЕЛЕЙ

Любое техническое или программное решение предполагает вложение финансовых средств, отсюда возникает вопрос рационального их применения и выбора из многообразных способов решения задачи наиболее эффективного. Эффективность – широкое социально-экономическое понятие, предполагающее наличие положительных результатов, полезного эффекта, отдачи от всех средств, вложенных в разработку и внедрение проекта.

Существует несколько видов эффективности, среди которых обычно выделяют:

- коммерческую (финансовую) эффективность, учитывающую финансовые последствия реализации проекта для всех участников проекта;

- бюджетную эффективность, отражающую влияние последствий внедренного проекта на бюджет предприятия, отрасли или региона;

- экономическую эффективность, учитывающую затраты и результаты, связанные с реализацией проекта.

Экономическую эффективность (как и другие виды человеческой деятельности) в самом общем виде принято определять как отношение планируемых результатов производства к затратам. Экономический эффект выступает как показатель результата производства, как достижение ранее поставленной цели. Сущность экономического эффекта заключается в создании материальных благ, удовлетворяющих соответствующие потребности и в экономии всех производственных ресурсов (живого труда, материалов, капитальных вложений).

Эффективность– это мера соотношения затрат и результатов функционирования программного средства.

Экономический эффект– это результат внедрения некоторого мероприятия, выраженный в стоимостной форме в виде экономии от его осуществления.

Коэффициент эффективности капитальных вложений– это величина годового прироста прибыли, образующегося в результате производства или эксплуатации программного средства на 1 рубль единоразовых капитальных вложений.

Срок окупаемости– это величина, обратная коэффициенту эффективности. Представляет собой период времени, в течение которого затраты на программное средство окупятся полученным эффектом.

В процессе разработки программного средства в качестве критериев экономической эффективности могут быть выбраны следующие критерии:

1. максимальная экономическая эффективность функционирования программного средства за весь период жизненного цикла при ограниченных затратах на разработку программ;

2. минимальные затраты на разработку программ при заданной экономической эффективности применения и заданном качестве программного средства;

3. максимальное отношение экономической эффективности применения программного средства в течение времени эксплуатации к затратам на его создание;

4. максимальная разность эффекта от функционирования программного средства за весь жизненный цикл и затрат на его разработку, эксплуатацию и сопровождение.

Расчет экономической эффективности и срока окупаемости проектируемой программы реализованной на ЭВМ начинается с расчета трудовых затрат.

Трудозатраты на разработку и отладку программы

Процесс программирования необходимо планировать, контролировать и завершать в срок. Кроме того, труд программистов должен оплачиваться по результатам их труда (его качеству, количеству и интенсивности выполнения работ). Для этих целей определяют затраты труда (трудоемкость) на разработку программного продукта.

Для определения затрат труда на разработку используются аналитические и экспертные методы оценок. Выбор метода осуществляется в зависимости от степени учета факторов, влияющих на трудоемкость разработки. Для более точного определения трудоемкости разработки программного продукта по отдельным элементам и операциям процесса может быть использован метод, в котором составляющие затраты труда определяются с учетом особенностей организации, ведущей разработку, и основных параметров программного продукта: степени новизны задачи, сложности алгоритма, количества разновидностей входной и выходной информации, сложности организации контроля входной и выходной информации, языка программирования, использования стандартных модулей и типовых задач.

Трудоемкость разработки программного обеспечения решения задачи можно рассчитать по формуле:

t = tи + tа + tп + tотл + tд,

где tи – затраты труда на изучение описания задачи; ta – затраты труда на разработку алгоритма решения задачи; tп– затраты труда на программирование по готовой блок-схеме; tотл – затраты труда на отладку программы на ЭВМ; tд – затраты труда на подготовку документации.

Составляющие затрат можно определить через условное число операторов в разрабатываемом программном обеспечении. В их число входят те операторы, которые необходимо написать программисту в процессе работы над задачей с учетом возможных уточнений в постановке задачи и совершенствования алгоритма. Условное число операторов Q в программе может быть определено по формуле:

Q = q*c *(1 + р),

где q – предполагаемое число операторов в программе; с – коэффициент сложности программы по отношению к типовой задаче (величина с лежит в пределах от 1,25 до 2); р – коэффициент коррекции программы в ходе ее разработки, увеличение объема работ за счет внесения изменений в алгоритм или программу по результатам уточнения постановок и описаний ее, изменения состава и структуры информации, а также уточнений, вносимых разработчиками для улучшения качества самой программы без изменения постановки задачи (величина р находится в пределах 0,05...0,1).

Кроме этого, используются коэффициенты: квалификации разработчиков алгоритмов и программ – k, отражающий степень подготовленности исполнителя к порученной ему работе (он определяется в зависимости от стажа работы и составляет: для работающих до двух лет – 0,8; от двух до трех лет – 1,0; от трех до пяти лет – 1,1–1,2; от пяти до семи – 1,3–1,4; свыше семи лет – 1,5–1,6), и увеличения затрат труда вследствие недостаточного или некачественного описания задачи – В, оценивающий качество постановки задачи, выданной для разработки, в связи с тем, что задачи, как правило, требуют уточнения и некоторой доработки (этот коэффициент в зависимости от сложности задачи принимается от 1,2 до 1,5).

Затраты труда на изучение описания задачи tu с учетом уточнения описания и квалификации программиста могут быть определены по формуле, чел./ч:

tи = Q*B/(76* k),

где k – коэффициент квалификации разработчиков; В – коэффициент увеличения затрат труда вследствие недостаточного описания задачи.

Затраты труда на разработку алгоритма решения задачи ta рассчитываются по формуле, чел./ч.:

tа = Q /(22*k).

Затраты труда на программирование по готовой блок-схеме tп определяются по формуле, чел./ч.:

tп = Q /(23*k).

Затраты труда на отладку программы на ЭВМ tотл рассчитываются по следующим формулам, чел./ч.

tотл = Q /(4*k) – при автономной отладке одной задачи,

tкотл = 1,5*tотл – при комплексной отладке.

Затраты труда на подготовку документации:

tд = tдр + tдо,

где tдр = Q/(17*k) – затраты труда на подготовку материалов в рукописи; tдo = 0,75*tдр – затраты труда на редактирование, печать и оформление документации.

Пример расчета трудоемкости разработки

Предположим, что наш программный продукт относится к разряду оригинальных разработок. Для разработки выбран язык программирования C++, операционная система Windows 2000. Необходимые средства вычислительной техники – компьютер Pentium IV – 2200 / DDR 256 Mb / 160 Gb/ CD-RW, принтер LaserShot LBP-1120.

Исходные данные для расчета определяются с учетом сложности разработки, наличия аналогов, квалификации разработчиков:

предполагаемое число операторов q = 15 000;

коэффициент сложности разработки с = 1,5;

коэффициент коррекции программы в ходе ее разработки р = 0,07;

коэффициент квалификации разработчиков k = 0,8;

коэффициент увеличения затрат труда вследствие недостатков описания задачи B = 1,3.

Условное число операторов Q в программе определяется по формуле

Q = q*c*(1 + p) = 15000*1,5*(1 + 0,07) = 24 075.

Затраты труда на изучение описания задачи tи (с учетом квалификации программиста):

tи = Q*B/(76*k) =24075*1,3/(76*0,8) = 515.

Затраты труда на разработку алгоритма решения задачи ta:

ta = Q/(22*k) = 24 075/(22*0,8) = 1367,9.

Затраты труда на программирование по готовой блок-схеме:

tп = Q/(23*k) = 24075/(23*0,8) = 1308,4.

Затраты труда на отладку программы на ЭВМ при автономной отладке одной задачи:

tотл = Q/(4*k) = 24 075/(4*0,8) = 7 523,4;

при комплексной отладке задачи:

tкотл = 1,5*tотл = 7 523,4*1,5 = 11 285.

Затраты труда на подготовку документации по задаче

tд = tдр + tдо

Затраты труда на подготовку материалов в рукописи:

tдр = Q/(17*k) = 24 075/(17*0,8) = 1 770,2.

Затраты труда на редактирование, печать и оформление документации:

tдо = 0,75*tдр = 0,75*1770,2 = 1 327,7;

tд = 1 770,2 + 1 327,7 = 3 097,9.

Суммарная трудоемкость разработки составит, чел./ч.:

t = 515 + 1367,9 + 1308,4 + 7 523,4+ 3 097,9 = 13812,6.

Наши рекомендации