Расчет трудоемкости методом уточненной модели
Коэффициент сложности задачи c характеризует относительную сложность программы по отношению к так называемой типовой задаче, реализующей стандартные методы решения, сложность которой принята равной единице (величина с лежит в пределах от 1,25 до 2); коэффициент коррекции программы p — увеличение объема работ за счет внесения изменений в алгоритм или программу по результатам уточнения постановок… Читать ещё >
Расчет трудоемкости методом уточненной модели (реферат, курсовая, диплом, контрольная)
Расчет трудоемкости методом уточненной модели
Для более точного определения трудоемкости разработки программного продукта по отдельным элементам и операциям процесса может быть использован метод, в котором составляющие затраты труда определяются с учетом особенностей организации, ведущей разработку, и основных параметров программного продукта:
- — степени новизны задачи;
- — сложности алгоритма;
- — количества разновидностей входной и выходной информации;
- — сложность организации контроля входной и выходной информации;
- — языка программирования;
- — использования стандартных модулей и типовых задач.
Трудоемкость разработки программного обеспечения решения задачи можно рассчитать по формуле:
продукт программный разработка трудоемкость.
t = t o + t и + t a + t n + t отл + t д (1),.
где t o — затраты труда на подготовку описания задачи, t и — затраты труда на исследование алгоритма решения задачи, t a — затраты труда на разработку блок-схемы алгоритма, t п — затраты труда на программирование по готовой блок-схеме, t отл — затраты труда на отладку программы на ЭВМ, t д — затраты труда на подготовку документации.
Составляющие затрат можно определить через условное число операторов в разрабатываемом программном обеспечении. В их число входят те операторы, которые необходимо написать программисту в процессе работы над задачей с учетом возможных уточнений в постановке задачи и совершенствования алгоритма. Условное число операторов Q в программе может быть определено по формуле:
Q = q c (1 + p)= 1000*1,75*(1+0,05) = 1837,5 (2),.
где 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 = 1837,5*1,4/80*1,2=38,5875 (3).
Затраты труда на разработку алгоритма решения задачи ta рассчитывается по формуле, чел.-ч:
ta = Q / (20 — 25) k=1837,5/22,5*1,2=98 (4).
Затраты труда на составление программы по готовой блок-схеме tп определяется по формуле, чел.-ч:
tп = Q / (20 — 25) k=98 (5).
Затраты труда на отладку программы на ЭВМ tотл рассчитывается по следующим формулам, чел.-ч:
— при автономной отладке одной задачи.
tотл= Q / (4 — 5) k =1837,5/4*1,2=551,25 (6);
— при комплексной отладке задачи.
t к отл = 1,5 tотл = 1,5*551,25=826,875 (7).
Затраты труда, но подготовку документации по задаче tд определяются по формуле, чел.-ч:
tд = tдр + tдо (8),.
где t др — затраты труда на подготовку материалов в рукописи, равные Q / (15−20) k=1837,5/17,5*1,2=126; t до — затраты труда на редактирование, печать и оформление документации, равные 0,75 tдр=94,5.
tд=126+94,5=220,5 (9),.
При создании программного продукта повышение уровня языка программирования способствует снижению затрат на непосредственную разработку программ. Компактность и обобщенное представление алгоритмов задач на языках высокого уровня позволяет исключить ряд классов ошибок и снизить вероятность других. Снижение затрат на разработку наиболее существенно проявляется при создании небольших программ. При разработке сложных программных комплексов реального времени наличие трудоемких этапов системного и структурного проектирования, а также комплексной отладки и испытаний в реальном масштабе времени в значительной степени нивелирует эффект от использования языков высокого уровня.
С учетом уровня языка программирования трудоемкость отдельных этапов разработки программы может быть скорректирована следующим образом:
tкор = t kкор ,.
где tкор — коэффициент изменения трудоемкости (табл. 1).
Таким образом возращаясь в формулу (1) получаем:
t=50+38,5875+98+98+551,25+220,5=1056,338.
А учитывая коэффициент изменения трудоемкости.
tкор = t kкор =1056,338*0,85=897,89.
Таблица 1
Изменение трудоемкости в зависимости от уровня языка программирования.
Уровень языка программиро-вания. | Характеристика языка. программирования. | Коэффициент изменения. Трудоемкости. |
Покомандный автокод; ассемблер | ||
Макроассемблер | 0,95. | |
Алгоритмические языки. высокого уровня. | 0,8 — 0,9. | |
Алгоритмические языки. сверх высокого уровня. | 0,7 — 0,8. |