Расчет трудоемкости методом уточненной модели




Расчет трудоемкости разработки программного продукта

 

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

Базовыми этапами разработки являются:

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

- предварительное (эскизное) и детальное (техническое) проектирование;

- разработка программных компонент, их комплексирование и отладка программного продукта в целом;

- испытания, опытная эксплуатация и распространение программного продукта;

- регулярная эксплуатация, ее поддержка и анализ результатов;

- сопровождение программного продукта, его модификация и совершенствование, создание новых версий.

Типовой перечень стадий, этапов и видов работ по разработке программного продукта независимо от его назначения и области применения дан в приложении 1 в соответствии с ГОСТ 19.102.77.

Расчет трудоемкости методом уточненной модели

 

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

- степени новизны задачи;

- сложности алгоритма;

- количества разновидностей входной и выходной информации;

- сложность организации контроля входной и выходной информации;

- языка программирования;

- использования стандартных модулей и типовых задач.

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

t = t o + t и + t a + t n + t отл + t д,

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

 

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

Q = q c (1 + p),

где q - предполагаемое число операторов, с - коэффициент сложности программы, p - коэффициент коррекции программы в ходе ее разработки. Кроме этого используются коэффициенты квалификации разработчиков алгоритмов и программ - k и увеличения затрат труда вследствие недостаточного или некачественного описания задачи - В.

 

Коэффициент сложности задачи c характеризует относительную сложность программы по отношению к так называемой типовой задаче, реализующей стандартные методы решения, сложность которой принята равной единице(величина с лежит в пределах от 1,25 до 2); коэффициент коррекции программы p - увеличение объема работ за счет внесения изменений в алгоритм или программу по результатам уточнения постановок и описаний ее, изменения состава и структуры информации, а также уточнений, вносимых разработчиками для улучшения качества самой программы без изменения постановки задачи (величина p находится в пределах 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).

Затраты труда на подготовку описания задачи to точно определить невозможно, так как это связано с творческим характером работы. Поэтому рекомендуется определить их экспертным методом.

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

tи = Q B / (75 – 85) k.

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

ta = Q / (20 – 25) k.

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

tп = Q / (20 – 25) k.

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

- при автономной отладке одной задачи

tотл= Q / (4 – 5) k;

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

t к отл = 1,5 tотл.

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

tд = tдр + tдо,

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

 

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

С учетом уровня языка программирования трудоемкость отдельных этапов разработки программы может быть скорректирована следующим образом:

tкор = t kкор,

где tкор - коэффициент изменения трудоемкости (табл. 1).

 

Таблица 1

Изменение трудоемкости

в зависимости от уровня языка программирования

 

Уровень языка программиро-вания Характеристика языка программирования Коэффициент изменения трудоемкости
  Покомандный автокод- ассемблер  
  Макроассемблер 0,95
  Алгоритмические языки высокого уровня 0,8 - 0,9
  Алгоритмические языки сверх высокого уровня 0,7 - 0,8

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: