Технико-экономическое обоснование
разработки программного продукта
1 Расчет затрат на этапе проектирования.
Для начала посчитаем трудоемкость программного продукта.
Определим общие затраты труда T по формуле
Т = То + Ти + Та + Тп + Тотл + Тд (1)
где То - затраты труда на описание задачи;
Ти – затраты на исследование предметной области;
Та – затраты на разработку блок-схем;
Тп – затраты на программирование;
Тотл – затраты на отладку;
Тд – затраты на подготовку документации.
Все составляющие определяем через условное число команд - Q:
Q = q×c×(1+p) (2)
где q — предполагаемое число команд,
с — коэффициент сложности задачи,
р — коэффициент коррекции программы.
В результате оценки было получено предполагаемое число операторов, равное 6000.
Коэффициент сложности задачи характеризует относительную сложность программы по отношению к так называемой типовой задаче, реализующей стандартные методы решения, сложность которой принята равной единице (величина «с» лежит в пределах от 1,25 до 2). Для нашего программного продукта, включающего в себя алгоритмы распределенного сетевого взаимодействия, выполнения произвольных модулей сложность задачи возьмем 1,4.
Коэффициент коррекции программы характеризует увеличение объема работ за счет внесения изменений в алгоритм или программу по результатам уточнения постановок. С учетом того, что в нашем случае постоянно находились более лучшие и эффективные алгоритмы взамен уже написанным, что приводило к частой замене кода, возьмем коэффициент равным 0,2.
В результате, согласно формуле (2) получим
Q= 6000×1,4× (1+ 0,2) = 10080 условное число команд.
Также используем следующие коэффициенты:
Коэффициент увеличения затрат труда, вследствие недостаточного описания задачи, в зависимости от сложности задачи принимается от 1,2 до 1,5, в связи с тем, что данная задача, потребовала уточнения и больших доработок, примем
B = 1,4.
Коэффициент квалификации разработчика k определяется в зависимости от стажа работы и составляет:
для работающих до двух лет – 0,8;
от двух до трех лет - 1,0;
от трех до пяти лет - 1,1 - 1,2;
от пяти до семи - 1,3 - 1,4;
свыше семи лет - 1,5 — 1,6.
В нашем случае разработчики, которым было поручено это задание, имели опыт работы менее года, поэтому примем k = 0,8.
Рассчитаем общую трудоемкость.
Затраты труда на подготовку описания задачи Тo точно определить невозможно, так как это связано с творческим характером работы. Примем
Тo = 80 чел.-ч.
Затраты труда на изучение описания задачи Ти с учетом уточнения описания и квалификации программиста могут быть определены по формуле:
Ти =Q×B×k /80
где Q – условное число команд,
B – коэффициент увеличения затрат труда, вследствие недостаточного описания задачи,
Ти =10080×1,4×0,8/80= 141,12 чел.-ч.
Затраты труда на разработку алгоритма решения задачи Тa рассчитывается по формуле:
Тa =Q×k/25
Та=10080×0,8/25 = 322,56 чел.-ч.
Затраты труда на составление программы по готовой блок-схеме Тп определяется по формуле:
Тп =Q×k/25
Тп =10080×0,8/25 = 322,56 чел.-ч
Затраты труда на отладку программы на ЭВМ Tотл рассчитывается по следующей формуле:
Тотл= Q×k/5
Тотл = 10080×0,8/5 =1612,8 чел.-ч.
Затраты труда на подготовку документации по задаче Тд определяются по формуле:
Тд = Тдр + Тдо
где Tдр- затраты труда на подготовку материалов в рукописи;
Тдо – затраты труда на редактирование, печать и оформление документации.
Тдр = Q×k / 20
Тдр = 10080×0,8/20 =403,2 чел.-ч.
Тдо = 0,75×Тдр
Тдо = 0,75×403,2 = 302,4чел.-ч.
В итоге:
Тд = 403,2+302,4= 705,6 чел.-ч.
С учетом уровня языка программирования трудоемкость разработки программы может быть скорректирована следующим образом:
Ткор =T×kкор (3)
где kкор – коэффициент изменения трудоемкости, берущийся из следующей таблицы
Уровень языка программирования
|
Характеристики языка программирования
|
Коэффициент изменения трудоемкости
|
1
|
Покомандный автокод- ассемблер
|
1
|
2
|
Макроассемблер
|
0,95
|
3
|
Алгоритмические языки высокого уровня
|
0,8 — 0,9
|
4
|
Алгоритмические языки сверхвысокого уровня
|
0,7 — 0,8
|
Выбранный для разработки язык Java относится к алгоритмическим языкам сверхвысокого уровня, с учетом этого примем
kкор = 0,85.
Подставив все полученные данные в формулу (1), получим полную трудоемкость разработки:
Т = 80 + 141,12 + 322,56 + 322,56 + 1612,8 + 705,6 = 3184,64 чел.-ч.
С учетом корректировки из формулы (3) получим итоговую трудоемкость разработки:
Ткор = 0,85× 3184,64 = 2707чел.-ч.
Наиболее распространенный и простой подход к оценке трудоемкости имеет следующий алгоритм.
Применяя метод экспертных оценок, наиболее часто используют эмпирическую формулу
tож = (2 * tmax + 3 * tmin)/5
где t
ож – ожидаемая длительность работы;
t
min – минимальная длительность работы (этапа) по мнению эксперта;
t
max – максимальная длительность работы (этапа) по мнению эксперта.
Пример расчета ожидаемой продолжительности работ приведен в таблице 4.2.
Таблица 4.2 - Затраты времени на этапе проектирования
Наименование работ
|
Длительность работ (дней)
|
Минимум
|
Максимум
|
Ожидаемая
|
1. Разработка технического задания
|
2
|
4
|
3
|
2. Анализ технического задания и сбор данных
|
4
|
7
|
5
|
3. Составление алгоритма
|
7
|
14
|
10
|
4. Реализация алгоритма на язык программирования Java
|
6
|
16
|
10
|
5. Набор программы на ПЭВМ
|
10
|
14
|
12
|
6. Отладка программного продукта
|
10
|
18
|
13
|
7. Проведение экспериментов
|
8
|
15
|
11
|
8. Оформление пояснительной записки
|
5
|
10
|
7
|
Суммарная продолжительность работ на этапе проектирования составляет
71 день (
46 на компьютере)
Капитальные затраты на этапе проектирования рассчитываются по формуле
Kn =Zn + Mn + Hn (4)
где
Zn – заработная плата проектировщика на всем этапе проектирования;
Мn –
затраты на использование ЭВМ на этапе проектирования;
Hn – накладные расходы на этапе проектирования.
где
zд – дневная заработная плата разработчика на этапе проектирования (определяется по практическим данным конкретной организации);
Tn – продолжительность работ на этапе проектирования;
ас –
выплаты в государственные внебюджетные фонды;
аn –
процент премий.
Тогда, в нашем случае
Z
n = 476 * 71 * (1+0,34) = 45286,64 руб
Расходы на машинное время состоят из расходов за процессорное время (при работе в сети) и расходов за дисплейное время. Формула для расчетов затрат на использование ЭВМ на этапе проектирования имеет вид
Mn = cn*tn ,
где
сп и
сд – соответственно стоимость одного часа процессорного и дисплейного времени, руб.;
tп и tД – время, необходимое для решения задачи, соответственно процессорное и дисплейное.
Для нашего примера, так как программа разработана на ЭВМ Celeron 1,6 GHz, в процессорном времени необходимости нет, т.е. сп= 0 и tп= 0.
Для подсчета машинного времени определяем, что ЭВМ необходима на этапах программирования, отладки, тестирования. С учетом того, что в день ЭВМ работает 6 часа, получаем
tд = 46 * 6 = 276 ч.
Исходя из этого определим затраты, связанные с ЭВМ:
Mn = 16 * 276 = 4416 руб
Накладные расходы составляют 120 % от заработной платы персонала, занятого эксплуатацией программы (разработчика), и вычисляются по формуле
Hn = Zn * 120/100,
Hn = 45286,64 * 1,2 = 54343,968 руб.
Теперь рассчитаем капитальные затраты на этапе проектирования Kn по формуле (4) и получим:
Kn = 45286,64 + 4416 + 54343,968 = 104046,608 руб.
2 Выбор базы сравнения (аналога)
В качестве аналога рассмотрим такой программный продукт как Cacti. Cacti — Веб-приложение (набор скриптов) которое поможет Вам мониторить состояние вашего сервера, CISCO и всего что может отдавать данные по SNMP протоколу. Обладает хорошим и понятным web-интерфейсом, расширяемостью за счет написания модулей для дополнительного функционала, наличием готовых шаблонов для многообразного оборудования.
Рассмотрим сравнительную характеристику с аналогом.
№ п/п
|
Параметры и характеристики
|
Ручное проектирование
|
Автоматизированное проектирование
|
1
|
Распределенность
|
Нет
|
Да
|
2
|
Быстродействие
|
Среднее
|
Высокое
|
3
|
Надежность и удобство использования
|
Нет
|
Да
|
4
|
Гибкость
|
Нет
|
Да
|
5
|
Расширяемость
|
Нет
|
Да
|
Каждому i-му (i=5) выбранному показателю для сравнения определим коэффициент ki (коэффициент его весомости (важности)). Для этого каждый показатель оценим с использованием 10-балльной шкалы.
Оценки характеристик Ki и их соответствующие весовые коэффициенты ki сведены в таблице 4.4
Таблица 4.4 - Весовые коэффициенты, ki
Характеристика
|
Весовой коэффициент важности, ki
|
Новое изделие (н)
|
Изделие
|
Аналог (а)
|
Оценка характеристики, Кi,
|
Значимость, ki *Ki
|
Оценка характеристики, Кi,
|
Значимость, ki *Ki
|
Распределенность
|
0,20
|
9
|
1,8
|
5
|
1
|
Быстродействие
|
0,15
|
7
|
1,05
|
8
|
1,2
|
Надежность и удобство использования
|
0,17
|
7
|
1,19
|
6
|
1,02
|
Гибкость
|
0,26
|
8
|
2,08
|
6
|
1,56
|
Расширяемость
|
0,22
|
7
|
1,54
|
7
|
1,54
|
Итого:
|
1
|
38
|
7,66
|
32
|
6,32
|
Из формулы видно, что К = 38/32 = 1,1875 (больше 1), значит разрабатываемый продукт лучше, чем аналог.
Исходные данные для расчета экономического эффекта приведены в таблице 4.5.
Таблица 4.5 - Исходные данные для расчета экономического эффекта
N
|
Сд
|
Zд
|
R
|
ас
|
Н
|
Р
|
рпр
|
Ен
|
1 чел.
|
16 руб/ч
|
238 руб/день
|
21
|
34%
|
120%
|
15%
|
3%
|
0,15
|
Численность обслуживающего персонала (N).
Стоимость машинного времени (Сд) (определяется по практическим данным конкретной организации).
Дневная заработная плата проектировщика (zд) (определяется по практическим данным конкретной организации).
Zd = Z / R = 5000 / 21 = 238 руб.
где Z – заработная плата проектировщика за месяц, которая составляет 5000 рублей.
Среднее число рабочих дней в месяце (R).
выплаты в государственные внебюджетные фонды (ас).
Средний процент премий за год (ап).
Накладные расходы от заработной платы (Н).
Расчетная прибыль от продажи (Р).
Прочие расходы (Рпр).
Нормативный коэффициент (Ен).
3 Сравнительный анализ затрат в ходе эксплуатации программного продукта и аналога
В качестве критериев для сравнения характеристик программного обеспечения наиболее важными для данного программного продукта являются эксплуатационные расходы:
• содержание персонала, занятого работой с программой
• расходы на функционирование ЭВМ
• накладные расходы
• прочие расходы
Расходы по различным видам работающих определяются по формуле
где n
i – численность персонала i-ro вида;
z
i – среднегодовая зарплата работников i-ro вида;
k – процент занятости обслуживающего персонала при работе с аналогом и обслуживающим персоналом.
До внедрения программы время использования ЭВМ составляло:
t1 = 252 * 6 = 1512 ч/год
Таким образом, после внедрения программы время использования ЭВМ составит:
t2 = 126 * 6 = 756 ч/год
Процент занятости ЭВМ составляет:
- до внедрения программы
Ka = t1 / (252 * 6) = 1512 / 1512 = 1
- после внедрения программы
Knp = t2 / (252 * 6) = 756 / 1512 = 0,5
Численность персонала составляет ni = l человек. Найдем zi из произведения
zi = zi * tp = 6000 * 12 = 72000 (руб.)
где tp – период работы, который составляет 12 месяцев;
zi = T * zд / 12 = 252 * 756 / 12 = 15876 (руб.)
kи – процентное исполнение работы с учетом занятости пользователя. Рассчитаем заработную плату с начислениями на одного работника:
Z1 = 1 * 72000 * 1 * 1,34 = 96480 (руб.)
Z2 = 1 * 72000 * 0,5 * 1,34 = 48240 (руб.)
Расходы на функционирование программы складываются из затрат на эксплуатационные принадлежности (бумага, краска для принтера и т.д.) и периферийного оборудования (принтер, плоттер, дискеты и т.д.).
В общем случае расходы на машинное время состоят из расходов на процессорное время (при работе с объектным и абсолютным кодом) и расходов на дисплейное время. Формула для расчетов имеет вид
Mn = cn*tn + cд*tд
где сп и сд – соответственно стоимость одного часа процессорного и дисплейного времени, руб.; tп и tд – время, необходимое для решения задачи, соответственно процессорное и дисплейное. Так как программа разработана на современной мощной ЭВМ, то в процессорном времени необходимости нет, т.е.
cn=0, tn=0
tд1 = Fэф.р * Ka, tд2 = Fэф.р * Kпр, Fэф.р = N * t
где Fэф.р. – эффективное рабочее время;
N – количество рабочих дней в году;
t – продолжительность рабочего дня.
До внедрения программы:
Cд = 16 руб/ч
N = 21 * 12 = 252 (дн)
Fэф.р = 252 * 6 = 1512 (ч)
M1 = 16 * 1512 * 1 = 24192 (руб.)
После внедрения программы затраты на использование ЭВМ составили:
td2 = 252 * 0,5 * 6 = 756 (ч)
M2 = 16 * 1512 * 0,5 = 12096 руб.
Накладные расходы составляют 120 % от заработной платы персонала, занятого эксплуатацией программы, и вычисляются по формуле
H = Z * 120/100
Hn1 = 96480 * 1,2 = 115776 руб.
Hn2 = 48240 * 1,2 = 57888 руб.
Прочие расходы составляют 3 % от суммы всех эксплуатационных расходов.
До внедрения программы они составили:
Pp1 = (Z1 + M1 + H1) * 0,03
Pnp1 = (96480 + 24192 + 115776) * 0,03 = 7093,44 руб.
После внедрения программы они составили:
Pp2 = (Z2 + M2 + H2) * 0,03
Pp2 = (48240 + 12096 + 57888) * 0,03 = 3546,72 руб.
Таким образом, эксплуатационные расходы составили:
P1 = Z1 + M1 + H1 + Pпр1
P1 = 96480 + 24192 + 115776 + 7093,44 = 243541,44 руб.
после внедрения программы
P2 = Z2 + M2 + H2 + Pпр2
P2 = 48240 + 12096 + 57888 + 3546,72 = 121770,72 руб.
4 Расчет экономии от увеличения производительности труда пользователя
Если пользователь при выполнении работы J-го типа с применением программы экономит ∆Tj часов, то повышение производительности труда Pj (%) определяется по формуле
%
где ∆Tj – экономия машинного времени при использовании разработанной программы (ч);
Fj – время, которое отводится пользователю для выпол¬нения работы j-го типа до внедрения разработанной программы (ч).
ΔTj = tд1 - tд2
ΔTj = 756 ч/год
Тогда
P = 756 / (1512 - 756) * 100 % = 100 %
Экономия, связанная с повышением производительности труда пользователя ∆P, определяется по формуле
где Z – среднегодовая заработная плата пользователя, с учетом процента занятости при использовании разрабатываемого проекта, равная
ΔPn = 48240 * 100/100 = 48240 руб
Если программы используют пользователи разной квалификации, то расчеты следует выполнить отдельно по каждой k-й квалификации, при этом
,
где (∆Pn)k – экономия, полученная от повышения производительности труда пользователя k-й квалификации.
5 Ожидаемый экономический эффект и срок окупаемости капитальных затрат
Ожидаемый экономический эффект рассчитывается после завершения предпроизводственной стадии создания программного продукта и определяется по формуле
Э = Эд - KHEH
где Эд – годовая экономия;
Кн – капитальные затраты на проектирование;
(Ен = 0,15)
Ен – нормативный коэффициент эффективности.
Годовая экономия Эд складывается из экономии эксплуатационных расходов и экономии в связи с повышением производительности труда проектировщика:
Эд = (P1 – P2) + ∆P
где Р1, Р2 соответственно эксплуатационные расходы до и после внедрения программы;
∆Pn – экономия от повышения производительности труда пользователя,
Эd = (243541,44 - 121770,72) + 48240 = 170010,72 руб.
Тогда ожидаемый экономический эффект составит:
Э = 170010,72 – 0,15 * 104046,608 = 154403,7288 руб.
Рассчитаем цену реализации разработанного программного продукта, при условии, что планируемая прибыль от продажи должна составлять не менее 15 %. Цену программного продукта рассчитаем по формуле
Ц = Кп(1 + П/100)
где П – расчетная прибыль от реализации (П=15 %)
Ц = 104046,608 * (1 + 0,15) = 119653,5992 руб.
Срок окупаемости капитальных затрат на проектирование программного продукта рассчитывается по формуле
T = Кп/Эд
T = 104046,608 / 170010,72 = 0,61 (год) = 7,3 (мес)
Полученный результат характеризует быстрый срок окупаемости затрат.
Данные расчетов экономических показателей сведены в таблицу 4.6.
Таблица 4.6 - Сводная таблица основных экономических показателей
Экономические показатели
|
Буквенное обозначение
|
Единицы измерения
|
Значения
|
Аналог
|
Проект
|
Расходы на содержание обслуживающего персонала
|
Z
|
руб/год
|
96480
|
48240
|
Капитальные затраты на этапе проектирования
|
кп
|
руб/год
|
-
|
104046,608
|
Расходы на функционирование программы
|
м
|
руб/год
|
24192
|
12096
|
Эксплуатационные расходы
|
р
|
руб/год
|
|
121770,72
|
Экономия за счет повышения производительности труда
|
∆P
|
руб/год
|
|
48240
|
Годовая экономия
|
Эд
|
руб
|
|
170010,72
|
Ожидаемый экономический эффект
|
Э
|
руб/год
|
|
154403,7288
|
Цена программного продукта
|
Ц
|
руб
|
|
119653,5992
|
Срок окупаемости
|
т
|
года
|
|
0,61
|