Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка контрольные точки.doc
Скачиваний:
3
Добавлен:
24.08.2019
Размер:
648.7 Кб
Скачать

6. Структура цены на программное обеспечение

Структура договорной цены представлена в табл. 16 и состоит из следующих разделов:

1) прямые расходы: фонд оплаты труда, единый социальный налог, амортизация программно-аппаратного комплекса, используемого разработчиком при реализации проекта, исходя из нормативного срока окупаемости вычислительной техники, командировочные расходы, а для бюджетных учреждений – на основании Приказов Минфина РФ;

2) накладные расходы организации-разработчика (расходы на административно-управленческий аппарат, охрану, обслуживающий персонал и т.д.), размер которых подтверждается соответствующими документами разработчика;

3) фонд развития производства устанавливается как определенный процент от прямых расходов по согласованию между разработчиком и заказчиком.

4) налог на добавленную стоимость определяется Налоговым кодексом РФ и формой организации предприятия-разработчика.

Таблица 16

Структура договорной цены

№ п/п

Наименование статей расходов

Методика определения

1

Оплата труда непосредственных исполнителей

Определяется ПС методике, изложенной в разделах 3-6 настоящих методических рекомендаций

2

Начисления на фонд оплаты труда (единый социальный налог)

Определяется Налоговым кодексом РФ и формой организации предприятия-разработчика. В настоящий момент составляет 26% и от 0,2 до 1,5% на фонд страхования от несчастных случаев

3

Прочие выплаты (командировки в части суточных)

Определяется приказами Минфина РФ – для бюджетных организаций, на договорной основе – для организаций других форм собственности

4

Прочие расходы (расходные материалы, услуги связи и т.д.)

Определяются на договорной основе – по согласованию с заказчиком, при этом услуги связи (телефоны, Интернет) определяются действующими расценками на данные услуги организаций роедоставляющих услуги связи и провайдеров сети Интернет

5

Накладные расходы организации-разработчика

Определяется на основе принятой у разработчика процентной ставки отчислений на общехозяйственные и общепроизводственные расходы

6

Налог на добавленную стоимость

18% от добавленной стоимости продукта

7. Пример расчета на базе простой модели cocomo

На многих интернет-ресурсах для исключения возможности регистрации спам-ботов, а также как одна из ступеней защиты от автоматических DDOS атак (атак типа «отказ в обслуживании») применяется генерация изображений, содержащих в себе некую последовательность символов, читаемых человеком, но максимально затрудненных для автоматического распознавания (так называемые «проверки на человечность»). Рассмотрим пример расчета затрат на разработку собственными средствами такой защиты для сайта заказчика. Для этого существует множество модулей и плагинов для подавляющего большинства веб-фреймворков и систем управления контентом (CMS), но иногда возникает задача написания собственного класса или скрипта. В качестве языка разработки был выбран скриптовый язык PHP как один из наиболее часто используемых (а по некоторым оценкам – наиболее часто используемый ) для построения веб-сервисов. Также при расчете стоимости проекта необходимо учитывать, что при предоставлении подобных программных средств хорошим тоном программирования и работы с заказчиком является написание и предоставление пользователям примера работы с предоставляемым скриптом или пакетом, что увеличивает срок разработки и тестирования проекта.

Вычисление базовых параметров. Так как алгоритмы генерации и общие принципы построения подобных систем широко известны, разработчику необходимо выбрать наиболее подходящий, доработав его согласно требованиям текущего проекта. поэтому распределение трудозатрат по этапам можно определить по первой строке таблицы 1. То есть, в процентном соотношении относительно этапа цикла проектирования ПС, распределение ресурсов на разработку, дополнительные требования заказчика и поддержку будет составлять 70, 20 и 10 соответственно. Также заказчику, запрашивающему подобные программные средства, как правило, известны требования, предъявляемые к ним и основные принципы их разработки.

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

Определение количества выводов и соответствующего количества функциональных точек 1 группы. Готовая система состоит из 3-х файлов (файла класса для построения изображения, файла изображения, которое он генерирует и файла, в котором происходит создание экземпляра данного класса и вызов необходимых методов для настройки изображения и его генерации) и одной HTML-формы, необходимой для вывода изображения и считывания введенных пользователем символов для проверки соответствия, на изображение выводятся 7 случайных символов, а также случайным шрифтом из заранее определенного множества. Поэтому для определения коэффициентов сложности на данном этапе выбираем третью строчку таблицы 5 для определения весовых коэффициентов. Таким образом, на выходе получается 3 файла, выводящих ПС 1 элементу и 1 файл изображения, выводящий 7 элементов. Файлы, содержащие большее количество информативных элементов, отсутствуют. Тогда количество функциональных точек выводов X1 будет вычисляться следующим образом:

.

Определение количества выводов и соответствующего количества функциональных точек второй группы. За ввод информации отвечает единственный элемент проектируемой системы – HTML-форма, в поле которой пользователь вводит с клавиатуры отображенные на изображении символы. Таким образом, имеется один элемент ввода с количеством единиц отображаемой информации, равным 7. Из этого следует, что необходимо воспользоваться для расчета первой строкой таблицы 6. Искомое значение получится следующим:

Оценка количества опросов ввода и вывода и соответствующего количества функциональных точек третьей и четвертой группы позволяет сделать вывод, что количество опросов ввода в системе равно 1, так как есть только один возможный способ ввода информации – форма на странице, количество вводимых элементов равно 1 (строка символов) как и в предыдущем пункте. Следовательно, количество функциональных точек будет вычисляться ПС формуле (8), а весовые коэффициенты будут определяться ПС первой строке таблицы 8.

.

Количество опросов вывода в данном случае существенно больше. Сначала браузер пользователя ПС протоколу HTTP запрашивает на вывод страницу, содержащую разработанную форму, выдающую пользователю 7 символов полезной информации(на изображении), затем скрипт, генерирующий страницу, запрашивает вывод код класса, выводящего изображение – 1 элемент, а также вызывает как минимум 2 необходимых метода – конструктор класса с параметрами его инициализации и метод непосредственной генерации защитного изображения. Таким образом, получается 1 запрос вывода, содержащий 7 элементов и 3 опроса, содержащих ПС 1 элементу. Тогда искомое количество функциональных точек четвертой группы определится как:

.

Весовые коэффициенты определяются ПС нижней строке таблицы 7.

Определение количества связей файлов и соответствующего количества функциональных точек пятой группы. В рассматриваемом случае имеется 2 логические связи – между файлом, подключающим класс и данным классом и между формой и скриптом ее обработки. Количество элементов равно 1 в каждом случае. Таким образом, для вычисления количества точек пятой группы, рекомендуется использовать верхнюю строку таблицы 9:

.

Определение количества интерфейсов и соответствующего количества функциональных точек шестой группы. В качестве интерфейса в рассматриваемой системе может выступать только 1 элемент - HTTP-сессия, в которой хранится значение выведенных 7 символов. Таким образом, имеем 1 связь с 7 элементами, то есть:

.

Общее количество функциональных точек системы будет равно:

Далее необходимо рассмотреть поправки на факторы внешней среды (табл. 17).

Таблица 17

Оценка поправок на внешние факторы

№ п/п

Факторы среды

Оценка ПС пятибалльной шкале

1

2

3

1

Каналы передачи данных

5

2

Распределенные вычисления

0

3

Производительность системы

2

4

Конфигурирование

2

5

Частота транзакций

1

6

Интерактивная обработка

2

7

Пользовательский интерфейс

2

8

Интерактивное обновление базы данных

0

9

Сложность обработки запросов

2

10

Сложность инсталляции (установки) программной системы

1

11

Сложность эксплуатации системы

0

12

Степень распределенности системы

0

13

Гибкость изменения функций

2

Таким образом, суммарное количество баллов:

Уровень их суммарного влияния:

Уточненное количество функциональных точек:

При вычислении размерности программного обеспечения для языка PHP примем его размерность равной аналогичной программе, написанной на Java, так как в рассматриваемом случае без углубления в тонкости реализации можно сказать, что интерпретатор PHP и Java будут выполнять идентичные операции ПС взаимодействию с операционной системой и аппаратной частью сервера. Тогда с учетом операций, выполняемых интерпретатором языка:

.

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

Так как рассматриваемая система является информационной, то соответствующие коэффициенты выбираются из таблицы 12. Тогда:

(24)

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