Poyasnitelnaya (1210311), страница 9
Текст из файла (страница 9)
В результате, полная стоимость всех требований не должна превышать бюджет, выделенный на этап создания программного обеспечения.
После начала работы и выполнения некоторого количества требований, становятся известны реальные временные сроки выполнения запланированных работ. Реальное время выполнения работ может отличаться от запланированного времени вследствие ошибок в объёме работ или мощности используемых ресурсов (другие причины изменения времени здесь не учитываются).
В процессе работы требуется регулярно получать прогноз времени выполнения и стоимости работ, который позволил бы принимать своевременные меры по снижению рисков проекта.
Таким образом, задача оценки трудозатрат состоит в нахождении достоверных оценок длительности и стоимости разработки, удовлетворяющих следующим требованиям:
-
оценка должна оценивать, как новую работу, так и работу по внесению изменений и переработку алгоритмов работы программного обеспечения;
-
оценка должна учитывать квалификацию сотрудников;
-
оценка должна учитывать расходы на весь цикл создания программного обеспечения, включая руководство процессом и этап тестирования;
-
необходимо иметь оценку точности.
При создании ПО немало важную роль играют затраты. Затраты могут быть следующих видов:
-
основные, непосредственно связанные с процессом разработки и эксплуатации ПО;
-
накладные, носящие обеспечивающий характер;
-
прямые затраты, которые могут быть учтены при создании конкретного экземпляра продукта;
-
косвенные, связанные с созданием нескольких продуктов;
-
капитальные, разовые затраты, необходимые для приобретения программного продукта, оборудования, производственных помещений, требуемого инвентаря и т.д.;
-
текущие затраты, складываются из заработной платы работников и других расходов, связанных с обслуживанием при выполнении проводимых работ.
При группировке затрат на разработку ПО следует исходить из общего положения в определении статей расходов для традиционной продукции. Так, выделяют следующие статьи расходов:
-
затраты по заработной плате (основной, дополнительной и все отчисления на социальные нужды);
-
затраты на технологию (на инструментальные средства, используемые при создании ПО), в основном затраты на приобретение и освоение программных продуктов, используемых как инструментальные средства;
-
расходы на содержание и эксплуатацию технических средств разработки, эксплуатацию и сопровождение (затраты на машинное время);
-
затраты на материалы (информационные носители);
-
затраты на энергию, на использование каналов связи (для отдельных видов);
-
общепроизводственные расходы (затраты на управленческий персонал, на содержание помещений);
-
непроизводственные расходы (затраты, связанные с рекламой, поиском заказчиков, поставками конкретных экземпляров).
Основные отличия в расчете затрат на программную продукцию от традиционных продуктов состоят в следующем:
-
большая динамичность и большая неопределенность результата в заданные сроки, особенно на ранних стадиях разработки;
-
отсутствует сложившаяся технологическая база для создания программной продукции, что приводит к разнообразию приемов и методов разработки при создании схожей продукции различными разработчиками.
Методы нормирования затрат на программную продукцию отличаются от затрат, сложившихся в традиционных отраслях.
Метод – анализ статистических данных о фактически завершенных разработках, выявление факторов, определяющих разнообразие затрат, классификация этих факторов и предоставление пользователю нормативных материалов, возможности выбора наиболее близкого ему аналога и корректировки затрат, которые произошли при разработке аналога с помощью набора коэффициентов, учитывающих факторы разнообразия. Особенно это существенно для затрат живого труда.
Затраты на создание программного обеспечения складываются из расходов по оплате труда разработчика программы и расходов по оплате машинного времени при отладке программы и общих затрат:
Зспп = Ззп + Змв + Зосв, (4.1)
где Зспп – затраты на создание программного продукта;
Ззп – затраты на оплату труда разработчика программы;
Змв – затраты на оплату машинного времени;
Зосв – затраты на электроэнергию по освещению.
Предполагается, что разработка будет вестись на заказ, и разработчик использует свое оборудование, поэтому показатели Змв и Зосв не учитываются.
Расходы на оплату труда разработчика программы определяются путем умножения трудоёмкости создания программного продукта на среднюю часовую оплату программиста:
Ззп.осн = t × Tчас, (4.2)
где t – трудоемкость создания программного проекта;
Тчас – средняя часовая оплата программиста.
Трудоёмкость разработки программного продукта можно определить следующим образом:
t = tи + tа + tб + tп + tд + tот, (4.3)
где tи – затраты труда на изучение описания задачи;
tа – затраты труда на разработку алгоритма решения задачи;
tб – затраты труда на разработку блок-схемы алгоритма решения задачи;
tп – затраты труда на составление программы по готовой блок-схеме;
tд – затраты труда на подготовку документации задачи;
tот – затраты труда на отладку программы на ЭВМ при комплексной отладке задачи.
Составляющие затрат, в свою очередь можно вычислить через условное число операторов (Q). Условное число команд определяется по формуле 4.4:
Q = q × c, (4.4)
где q – коэффициент, учитывающий условное число команд в зависимости от типа задачи;
с – коэффициент, учитывающий новизну и сложность программы.
Значение коэффициента, учитывающего условное число команд, в зависимости от типа задачи (q), можно определить исходя из таблицы 4.1 [16].
Таблица 4.1 – Значения коэффициента q
Тип задачи | Пределы изменений коэффициента |
Задачи учета | от 1400 до 1500 |
Задачи оперативного управления | от 1500 до 1700 |
Задачи моделирования | от 1700 до 3000 |
Задачи планирования | от 3000 до 3500 |
Многовариантные задачи | от 4500 до 5000 |
Комплексные задачи | от 5000 до 5500 |
Сайт ДВУНЦ в защищенном исполнении, как разрабатываемое решение следует отнести к типу задач оперативного управления в соответствие с функциями, которые должно реализовывать программное обеспечение (шифрование, администрирование и просмотр информации в реальном времени, проведение дистанционного обучения). Поэтому необходимо выбрать значение коэффициента q в пределах от 1500 до 1700. Возьмем среднее значение q равное 1600.
Программные продукты по степени новизны могут быть отнесены к одной из четырех групп:
-
группа А – разработка принципиально новых задач;
-
группа Б – разработка оригинальных программ;
-
группа В – разработка программ с использованием типовых решений;
-
группа Г – разовая типовая задача.
По степени сложности программные продукты могут быть отнесены к одной из трёх групп:
-
1 – алгоритмы оптимизации и моделирования систем;
-
2 – задачи учета, отчетности и статистики;
-
3 – стандартные алгоритмы.
Таблица 4.2 – Значение коэффициента С
Язык программирования | Группа сложности | Степень новизны | Коэффициент В | ||||
А | Б | В | Г | ||||
Высокого уровня | 1 | 1,38 | 1,26 | 1,15 | 0,69 | 1,2 | |
2 | 1,30 | 1,19 | 1,08 | 0,65 | 1,35 | ||
3 | 1,20 | 1,10 | 1,00 | 0,60 | 1,5 | ||
Низкого уровня | 1 | 1,58 | 1,45 | 1,32 | 0,79 | 1,2 | |
2 | 1,49 | 1,37 | 1,24 | 0,74 | 1,35 | ||
3 | 1,38 | 1,26 | 1,15 | 0,69 | 1,5 |
Создаваемый программный комплекс по степени новизны относится к разработке оригинальных программ (группа В), а по степени сложности к группе 3 [16].
Тогда, по таблице 4.2 коэффициент с = 1,00.
Далее, для определения условного числа команд Q необходимо воспользоваться формулой (4.4):
Q = 1600 × 1,00=1600
Затраты труда на изучение описания задачи с учётом уточнения описания и квалификации программиста определяются по формуле 6.5:
tи = Q × B /(75…85 × K), (4.5)
где B – коэффициент увеличения затрат труда вследствие недостаточного описания задачи, уточнений и некоторой не доработки;
K – коэффициент квалификации разработчика.
Коэффициент увеличения затрат труда вследствие недостаточного описания задачи, уточнений и некоторой недоработки равен 1,5 (по таблице 4.2). Определить значение коэффициента квалификации разработчика (К) можно по данным таблицы 4.3.
Таблица 4.3 – Коэффициент квалификации разработчика
Опыт работы | Коэффициент квалификации |
До двух лет | 0.8 |
от 2 до 3 лет | 1 |
от 3 до 5 лет | от 1.1 до 1.2 |
от 5 до 7 лет | от 1.3 до 1.4 |
более 7 лет | от 1.5 до 1.6 |
Исходя из данных таблицы 4.3 и времени существования PHP 5 (более 10 лет), коэффициент квалификации разработчика следует брать равным около 1,5 [16].
Таким образом, по формуле (4.5), получим: