Определение трудоемкости разработки программы производится согласно Постановлению Министерства труда и социальной защиты Республики Беларусь 27 июня 2007 г. № 91 «Об утверждении укрупненных норм затрат труда на разработку программного обеспечения» [16, с. 49].
Стадиями разработки программного обеспечения согласно ГОСТам Единой системы программной документации являются:
- техническое задание;
- эскизный проект;
- технический проект;
- рабочий проект;
- ввод в действие.
Каждая стадия разработки программного обеспечения предусматривает выполнение следующих видов работ:
стадия техническое задание – постановку задачи; сбор исходных материалов; выбор и обоснование критериев эффективности и качества разрабатываемой программы; обоснование необходимости проведения научно-исследовательских работ; определение структуры входных и выходных данных; предварительный выбор методов решения задачи; обоснование целесообразности применения ранее разработанных программ; определение требований к техническим средствам; обоснование принципиальной возможности решения поставленной задачи; определение требований к программе (к функциональным характеристикам, надежности, условиям эксплуатации, информационной и программной совместимости, внешним интерфейсам, безопасности и защите информации); определение стадий, этапов и сроков разработки программы и документации на нее; выбор средств программирования; согласование и утверждение технического задания;
стадия эскизный проект – уточнение методов решения задачи; разработку общего описания алгоритма решения задачи, общей структуры и компонентов; разработку пояснительной записки, включая внешние интерфейсы и базы данных; согласование и утверждение эскизного проекта;
|
стадия технический проект – уточнение структуры входных и выходных данных, логической структуры базы данных, внешних интерфейсов; разработку алгоритма решения задачи; определение формы представления входных и выходных данных; разработку структуры программы, уточнение структуры компонентов на уровне программных модулей; окончательное определение конфигурации технических средств; разработку плана мероприятий по разработке и внедрению программ; определение требований к испытанию (тестированию) программных модулей; разработку пояснительной записки; согласование и утверждение технического проекта;
стадия рабочий проект – программирование и отладку программы; изготовление программы-оригинала; разработку программных документов в соответствии с требованиями ГОСТов; разработку, согласование и утверждение порядка и методики испытаний; проведение испытаний (тестирование) программных модулей, базы данных; корректировку программы и программной документации по результатам испытаний;
стадия ввод в действие – проведение приемосдаточных испытаний программы; оформление и утверждение акта о передаче программы в постоянную эксплуатацию.
Трудоемкость – показатель, характеризующий затраты рабочего времени на производство определенной потребительной стоимости или на выполнение конкретной технологической операции. Трудоемкость является обратным показателю производительности труда, определяет эффективность использования одного из главных производственных ресурсов – рабочей силы [15, с. 369].
|
На величину трудоемкости влияет ряд факторов:
- технический уровень производства (фондовооруженность труда и энерговооруженность труда);
- квалификация работников;
- организация и условия труда;
- сложность изготовляемой продукции и др.
Определим категорию сложности из таблицы 7.
Таблица 7 – Характеристики категории сложности ПО
Категория сложности | Характеристики программного обеспечения |
ПО, обладающие одной или несколькими из следующих характеристик: 1. наличие сложного интеллектуального языкового интерфейса с пользователем; 2. обеспечение телекоммуникационной обработки данных и управление удаленными объектами; 3. обеспечение существенного распараллеливания вычислений; 4. криптография и другие методы защиты информации | |
ПО, обладающие одной или несколькими из следующих характеристик: 1. моделирование объектов и процессов; 2. обеспечение настройки ПО на изменения структур входных и выходных данных; 3. обеспечение переносимости ПО; 4. реализация особо сложных инженерных и научных расчетов | |
ПО, не обладающие перечисленными выше характеристиками |
Данная программа обладает третьей категорией сложности.
Определим нормативную трудоемкость на разработку ПО из таблицы 8.
Таблица 8 – Нормативная трудоемкость на разработку ПО (Т) в зависимости от уточненного объема ПО (V) и категории сложности ПО (чел.-дн.)
Объем ПО строки исходного кода (LOC), V, до у | Категория сложности ПО | Номер нормы | ||
1-я | 2-я | 3-я | ||
Определяем коэффициент повышения сложности из таблицы 9.
|
Таблица 9 – Коэффициенты повышения сложности ПО (Kс)
Характеристика повышения сложности ПО | Значения Kс |
1. Функционирование ПО в расширенной операционной среде (связь с другими ПО) | 0,08 |
2. Интерактивный доступ | 0,06 |
3. Обеспечение хранения, ведения и поиска данных в структурах | 0,07 |
4. Наличие у ПО одновременно нескольких характеристик в приложении 2: | |
4.1. 2 характеристики; | 0,12 |
4.2. 3 характеристики; | 0,18 |
4.3. свыше 3-х характеристик | 0,26 |
Кс = 1 + 0,06 = 1,06.
Коэффициент повышения сложности ПО (Кс) равен 1,06.
Определяем коэффициент, учитывающий новизну ПО из таблицы 10.
Таблица 10 – Коэффициенты, учитывающие новизну ПО (Kн)
Категория новизны ПО | Степень новизны | Использование | Значение Kн | |
На основе нового типа ПК | В среде новой ОС | |||
А | Принципиально новые ПО, не имеющие подобных аналогов | + - + - | + + - - | 1,58 1,44 1,10 1,0 |
Б | ПО, являющиеся развитием определенного параметрического ряда ПО | + - + | + + - | 1,0 0,81 0,72 |
В | ПО, являющиеся развитием определенного параметрического ряда ПО, разработанных для ранее освоенных типов конфигурации ПК и ОС | - | - | 0,63 |
Коэффициент, учитывающий новизну ПО (Кн) равен 0,63.
Определим коэффициенты, учитывающие степень использования стандартных модулей из таблицы 11.
Таблица 11 – Коэффициенты, учитывающие степень использования стандартных модулей (Kт)
Степень охвата реализуемых функций разрабатываемого ПО стандартными модулями | Значение K т |
От 60% и выше | 0,55 |
От 40% до 60% | 0,65 |
От 20% до 40% | 0,77 |
До 20% | 0,9 |
Не используются стандартные модули для реализации функций разрабатываемого ПО |
Коэффициенты, учитывающие степень использования стандартных модулей (Кт) равна 0,77.
Определим коэффициенты, учитывающие средства разработки ПО из таблицы 12.
Таблица 12 – Коэффициенты, учитывающие средства разработки ПО (Kур)
Средства разработки ПО | Значения Кур в зависимости от характера операционной среды | ||
IBM-PC, Windows | Функционирование ПО в сетях | ||
локальных | глобальных | ||
Языки 4GL (Visual Basic, Delphi) | 0,8 | 0,95 | 1,1 |
Kур= 0,8
Определим значение коэффициентов удельных весов трудоемкости стадии разработки ПО в общей трудоемкости ПО из таблицы 13.
Таблица 13 – Значения коэффициентов удельных весов трудоемкости стадий разработки ПО в общей трудоемкости ПО
Категория новизны ПО | C применения CASE-технологии | ||
Стадии разработки ПО | |||
ТЗ + ЭП + ТП | РП | ВН | |
Значения коэффициентов | |||
Ктз + Кэп + Ктп | Крп | Квн | |
В | 0,50 | 0,35 | 0,15 |
Определим общий объем ПО из каталога функций программного обеспечения (таблица 14).
Таблица 14 –Каталог функций программного обеспечения
Код функции | Наименование (содержание) функций | Объем функций (строк исходного кода (LOC)по каталогу Vi |
1. Ввод, анализ входной информации, генерация кодов и процессор входного языка | ||
Организация ввода информации | ||
Контроль, предварительная обработка и ввод информации | ||
Преобразование операторов входного языка в команды другого языка | ||
Организация ввода / вывода информации в интерактивном режиме | ||
Управление вводом / выводом | ||
Математическая статистика и прогнозирование | ||
Расчет показателей |
Общий объем ПО (Vо) определяется исходя из количества и объема функций, реализуемых программой:
n
Vy = SUM Vi = 3590
i=1
Произведем расчет общей трудоемкости разработки ПО из таблицы 15.
Таблица 15 – Расчет общей трудоемкости разработки ПО
Показатели | Стадии | Итого | ||||
ТЗ | ЭП | ТП | РП | ВН | ||
1. Коэффициенты удельных весов трудоемкости стадии разработки ПО К | 0,50 | 0,35 | 0,15 | 1,0 | ||
2. Распределение нормативной трудоемкости программного обеспечения (Тн) по стадиям, чел.-дн. | ||||||
3. Коэффициент сложности ПО (Kс) | 1,06 | 1,06 | 1,06 | 1,06 | 1,06 | - |
4. Коэффициент, учитывающий использование стандартных модулей (Kт) | 0,77 | - | ||||
5. Коэффициент, учитывающий новизну ПО (Kн) | 0,63 | 0,63 | 0,63 | 0,63 | 0,63 | - |
6. Общая трудоемкость ПО (То), чел.-дн. |
Оценка трудоемкости является одним из наиболее важных видов деятельности в процессе создания программного проекта. Расчет общей трудоемкости позволяет максимально точно определить соотношение затрат сил и времени на разработку программного продукта. Недооценка стоимости, времени и ресурсов, требуемых для создания программного проекта, влечет за собой недостаточную численность проектной команды, чрезмерно сжатые сроки разработки и, как результат, утрату доверия к разработчикам в случае нарушения графика.
Основной единицей измерения размера программного проекта является количество строк кода (LOC - Lines of Code). Расчет общего объема программного продукта (количества строк исходного кода (LOC)) предполагает определение объема по каждой функции. В том случае, когда на стадии технико-экономического обоснования проекта невозможно рассчитать точный объем функций, то данный объем может быть получен на основании ориентировочной (прогнозной) оценки имеющихся фактических данных по аналогичным проектам, выполненным ранее, или путем применения нормативов по каталогу функций.
По результатам произведенных расчетов распределение нормативной трудоемкости программного обеспечения по стадиям составляет 154 дня, а общая трудоемкость на разработку программного обеспечения электронного практикума по решению транспортных задач составляет 94 дня.