4. оценка трудоемкости сопровождения программных средств

advertisement
ЦЕНТРАЛЬНЫЙ БАНК РОССИЙСКОЙ ФЕДЕРАЦИИ
БАНК РОССИИ
ДЕПАРТАМЕНТ ИНФОРМАЦИОННЫХ СИСТЕМ
УТВЕРЖДАЮ
Заместитель Председателя
Банка России – директор
Департамента информационных систем
16 марта
М.Ю. Сенаторов
МЕТОДИКА
Оценки трудоемкости разработки и сопровождения
программных средств
СОГЛАСОВАНО
Заместитель директора Департамента
Информационных систем – начальник
Планово-аналитического управления
______________________ В.И. Тужилин
Заместитель начальника
Планово-аналитического управления
_____________________ В.Н. Сычев
Заместитель начальника
Планово-аналитического управления
______________________ С.Н. Бортник
Начальник отдела анализа эффективности
информационно-вычислительных систем
Планово-аналитического управления
_________________ А.А. Гаврин
Начальник отдела договорной работы,
Ценообразования и тарифов
Планово-аналитического управления
______________________ Ю.Н. Храпунков
2005
2
СОДЕРЖАНИЕ
ВВЕДЕНИЕ ....................................................................................................................... 3
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ, ТЕРМИНОВ И ОПРЕДЕЛЕНИЙ ................................ 6
1. НОРМАТИВНЫЕ ССЫЛКИ ..................................................................................... 10
2. ОБЩИЕ ПОЛОЖЕНИЯ ............................................................................................. 11
3. ОЦЕНКА ТРУДОЕМКОСТИ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ ...... 15
3.1. Общие положения ............................................................................................... 15
3.2. Порядок расчета трудоемкости разработки ПС ............................................... 24
4. ОЦЕНКА ТРУДОЕМКОСТИ СОПРОВОЖДЕНИЯ ПРОГРАММНЫХ СРЕДСТВ
........................................................................................................................................... 54
4.1. Общие положения ............................................................................................... 54
4.2. Порядок расчета трудоемкости сопровождения ПС ....................................... 58
ПРИЛОЖЕНИЕ 1 ............................................................................................................ 80
ПРИЛОЖЕНИЕ 2 ............................................................................................................ 94
3
ВВЕДЕНИЕ
Целью настоящей Методики расчета трудоемкости разработки и сопровождения
программных средств (далее - Методика) является оценка трудоемкости разработки и сопровождения программных средств (ПС), разрабатываемых и используемых в Банке России.
Заказчик – Департамент информационных систем Банка России.
Исполнитель – Федеральное государственное унитарное предприятие «Государственный испытательный сертификационный центр программных средств вычислительной техники» (ГИЦ ПС ВТ) Министерства Российской Федерации по связи и информации, г. Тверь.
Настоящая Методика состоит из двух основных частей: оценка трудоемкости разработки ПС и оценка трудоемкости сопровождения ПС.
Первая часть Методики (раздел 3) предназначена для определения затрат времени на
разработку ПС, установления численности специалистов, выполняющих эту работу, а
также для определения трудоемкости разработки ПС до начала работ.
Вторая часть Методики (раздел 4) предназначена для расчета трудоемкости сопровождения ПС.
В основу настоящей Методики положены результаты НИР «Трудоемкость ПС», выполненной исполнителем в 2001 году, и результаты обработки собранной статистики в
подразделениях Банка России в 2003-2004 годах.
Методика базируется на процессах жизненного цикла ПС, определенных в соответствии со стандартом ГОСТ Р ИСО/МЭК 12207-99, с учетом специфики процессов используемых в Банке России.
Настоящая Методика ориентирована на ПС, применяемые в банковской сфере, и
разработана взамен Методического материала «Укрупненные нормы времени на разработку и сопровождение программных средств ЭВМ» (редакция 1996 года) и проекта Методики оценки трудоемкости разработки и сопровождения программных средств (редакция 2001 года).
По сравнению с Методическим материалом «Укрупненные нормы времени на разработку и сопровождение программных средств ЭВМ» (редакция 1996 года) в настоящей
Методике сделаны следующие изменения:
4
-
вместо единицы измерения объема программы «условная машинная команда»
используется более доступная и понятная единица - «строка исходного текста»
-
полностью переработан Каталог функций;
-
вместо таблиц с нормами использованы мультипликативные модели;
-
введена возможность разбиения ПС не только на функции, но и на компоненты;
-
изменен состав поправочных коэффициентов и они распределены по уровням
влияния соответствующего фактора на трудоемкость, уточнены значения коэффициентов;
-
перечень задач работ процесса сопровождения ПС адаптирован к работам проводимым по сопровождению ПС в Банке России.
Настоящая Методика претерпела следующие основные изменения по сравнению с
проектом Методики оценки трудоемкости разработки и сопровождения программных
средств (редакция 2001 года):
-
Полностью переработан Каталог функций;
-
Введен уровень сложности для каждого класса функций;
-
Введена возможность разбиения ПС не только на функции, но и на компоненты;
-
Вместо таблиц с нормами использованы мультипликативные модели;
-
Изменен состав поправочных коэффициентов, и они распределены по уровням
влияния соответствующего фактора на трудоемкость, уточнены значения коэффициентов;
-
Перечень задач и работ процесса сопровождения ПС адаптирован к работам,
проводимым по сопровождению ПС в Банке России.
-
Произведена структуризация и уточнение Каталога функций;
-
Добавлено описание метода получения эмпирических коэффициентов для расчета базовой трудоемкости разработки, а также трудоемкостей для стадий процесса сопровождения;
-
Добавлены рекомендации в виде комментариев, позволяющих более осознанно
выбирать уровень значения коэффициентов, имеющих значительный разброс
для исключения возможности необоснованного завышения значения трудоемкости.
5
Настоящая Методика претерпела следующие основные изменения по сравнению с
Методикой оценки трудоемкости разработки и сопровождения программных средств (редакция 2004 года):
-
Построена модель и составлена таблица переводных коэффициентов (с учетом
соответствующих факторов, выявленных на основе построенной модели) для
перехода от значения объема исходного кода, непосредственно написанного
разработчиком, к полному объему исходного кода ПС, передаваемого на сопровождение;
-
Добавлены формулы, позволяющие определить требуемое количество разработчиков для каждой работы по сопровождению ПС.
6
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ, ТЕРМИНОВ И ОПРЕДЕЛЕНИЙ
БД – база данных
ГНИ – Государственная налоговая инспекция
ГСМ – горюче-смазочные материалы
ГУ – Главное управление
ГЦИ – Главный центр информатизации
КО – кредитная организация
МЭР – межрегиональные электронные расчеты
ПО – программное обеспечение
ПС – программное средство
ПТК – программно-технический комплекс
ПФР – Пенсионный фонд России
РАБИС – региональная автоматизированная банковская информационная система
РКЦ – расчетно-кассовый центр
РЦИ – Региональный центр информатизации
СУБД – системы управления базами данных
ТПК – типовой программный комплекс
УОС – учетно-операционная система
УТП – унифицированная транспортная подсистема
ЦОИ – Центр обработки информации
CASE (Computer-Aided Software Engineering) – автоматизированная разработка программного обеспечения
COM/DCOM (Component Object Model/Distributed Component Object Model) – объектно-ориентированные технологии создания распределенных систем на базе платформы Microsoft Windows
CORBA (Common Object Requests Broker Architecture) – универсальная открытая
технология для создания распределенных систем вне зависимости от языка программирования и платформы
DBF (Database File) – файл базы данных
SQL (Structured Query Language) – язык структурированных запросов
4GL (Forth generation Languages) – языки программирования четвертого поколения
7
Доработка программного средства – внесение изменений в программное средство
в рамках утвержденных проектных решений (Временное положение о системе сопровождения типовых программных комплексов в Банке России).
Компонент программного средства (программный компонент) – логически и
функционально завершенная единица структуры ПС.
Многокомпонентное ПС – программное средство, разработанное на основе компонентной технологии.
Монолитное ПС – программное средство, состоящее из одного исполняемого модуля.
Опорный центр по сопровождению – опорный объект информатизации или организация Банка России, осуществляющая сопровождение конкретных ПС, эксплуатируемых в Банке России (Временное положение о системе сопровождения типовых
программных комплексов в Банке России).
Оценка – систематическое определение степени соответствия объекта установленным критериям (ГОСТ Р ИСО/МЭК 12207-99).
Подпроцесс – часть взаимосвязанных работ процесса разработки, объединенных в
одну группу.
Подсистема – логически и функционально однородная составляющая архитектуры
программного средства, имеющая четко определенное предназначение и реализующая некоторую функциональность либо обособленно, либо во взаимосвязи с другими подсистемами.
Пользователи ПС – структурные подразделения Центрального аппарата территориальных управлений и организации Банка России, осуществляющие эксплуатацию ПС
(Временное положение о системе сопровождения типовых программных комплексов
в Банке России).
Программное средство – программа, предназначенная для многократного применения на различных объектах, разработанная любым способом и снабженная программной документацией (ГОСТ 28195-89).
Программный модуль – отдельно компилируемая часть программного кода (программы) (ГОСТ Р ИСО/МЭК 12207-99).
Проект – совокупность данных, необходимых для расчета трудоемкости разработки
или сопровождения ПС.
8
Процесс – набор взаимосвязанных работ, которые преобразуют исходные данные в
выходные результаты (ГОСТ Р ИСО/МЭК 12207-99).
ПС с набором библиотек – программное средство, состоящее из одного исполняемого модуля, с набором динамически подключаемых библиотек.
Разработчик – организация, выполняющая работы по разработке (включая анализ
требований, проектирование, приемочные испытания) в процессе жизненного цикла
программных средств (ГОСТ Р ИСО/МЭК 12207-99).
Распределенная система – программный комплекс, составные части которого
функционируют на разных компьютерах в сети.
Распределенное ПС – программное средство, функционирующее в рамках вычислительной сети на нескольких рабочих станциях.
Сообщение – атомарный блок данных, передаваемый от одного программного компонента распределенной системы другому.
Сопровождение программного средства – деятельность, направленная на адаптацию ПС к требованиям нормативных документов Банка России, включающая: доработку ПС, устранение обнаруженных ошибок, сбор и анализ замечаний и предложений пользователей, адаптацию технорабочей документации, поддержку и обучение
пользователей (Временное положение о системе сопровождения типовых программных комплексов в Банке России).
Строки исходного кода – логические строки исходного кода, которые включены в
конечный вариант программного средства. Строки, относящиеся к тестовым модулям и другому сопутствующему программному обеспечению, исключаются. Объявления считаются за одну строку кода. Комментарии при подсчёте строк не учитываются.
Типовой программный комплекс – объединенная по функциональному признаку
совокупность взаимосвязанных программ и баз данных, разработанных в рамках одного проектного решения, находящихся в постоянной эксплуатации в нескольких
территориальных учреждениях (структурных подразделениях Центрального аппарата, организациях Банка России) и предназначенных для автоматизации выполнения
конкретной группы банковских задач (Временное положение о системе сопровождения типовых программных комплексов в Банке России).
Удаленный вызов процедур (RPC) –обеспечивает коммуникацию между процессами на разных машинах на базе платформы Microsoft Windows с помощью разнооб-
9
разных сетевых протоколов. Модели COM/DCOM используют RPC для связи по сети.
10
1. НОРМАТИВНЫЕ ССЫЛКИ
ГОСТ Р ИСО/МЭК 12207-99
Информационная технология. Процессы жизненного цикла программных средств.
ГОСТ 28195-89
Оценка качества программных средств. Общие
положения.
Временное положение о системе сопровождения типовых программных комплексов
в Банке России.
11
2. ОБЩИЕ ПОЛОЖЕНИЯ
2.1. Настоящая Методика определяет последовательности расчета трудоемкостей
следующих основных процессов жизненного цикла ПС:
-
процесс разработки ПС;
-
процесс сопровождения ПС.
При расчете трудоемкостей основных процессов жизненного цикла ПС учитываются
вспомогательные и организационные процессы, проводимые в рамках основного процесса.
Областью применения Методики являются программные средства, разрабатываемые
и/или используемые в Банке России.
2.2. Процесс разработки ПС состоит из работ, выполняемых разработчиком, и включает работы по анализу требований к ПС, проектированию, программированию и тестированию и вводу в действие ПС. В соответствии с этим перечнем работ процесс разработки
ПС в Методике разделен на пять подпроцессов:
-
анализ требований к ПС;
-
проектирование;
-
программирование;
-
тестирование;
-
ввод в действие ПС.
В ходе подпроцесса «Анализ требований к ПС» разработчик должен установить и
документально оформить функциональные и технические требования к ПС, включая требования к характеристикам качества, в также требования к документации пользователя.
Подпроцесс «Проектирование» включает в себя работы по трансформации требований к ПС в архитектуру программного средства.
Подпроцессы «Программирование» и «Тестирование» включают в себя работы по
реализации архитектуры ПС, разработанной в ходе подпроцесса «Проектирование», в виде программных модулей и баз данных (БД), работы по разработке программной документации и тестированию каждого разработанного программного модуля и БД.
В ходе подпроцесса «Ввод в действие ПС» разработчик должен ввести в действие
программное средство в соответствии с планом по вводу ПС в действие и обеспечить приемку ПС заказчиком.
12
Более подробно содержание работ по разработке ПС раскрыто в разделе 3.1.1 настоящего документа.
Трудоемкость процесса разработки ПС складывается из трудоемкостей отдельных
подпоцессов разработки.
Расчет трудоемкости разработки ПС основан на определении количества строк исходного текста.
2.3. Процесс сопровождения ПС представляет собой совокупность действий, направленных на адаптацию ПС к требованиям нормативных документов Банка России.
Процесс сопровождения состоит из шести работ:
-
подготовка процесса;
-
анализ проблем и изменений;
-
внесение изменений;
-
проверка и приемка при сопровождении;
-
перенос;
-
снятие с эксплуатации.
Работа «Подготовка процесса» включает в себя задачи по организации процесса сопровождения, в частности, разработку плана и процедуры проведения работ по сопровождению ПС.
Работы «Анализ проблем и изменений», «Внесение изменений» и «Проверка и приемка при сопровождении» включают в себя задачи по выявлению и устранению ошибок и
доработке ПС по предложениям пользователей.
Работа «Перенос» включает в себя задачи по переносу ПС из прежней в новую эксплуатационную среду.
Работа «Снятие с эксплуатации» включает в себя задачи по снятию ПС с эксплуатации.
В основе расчета трудоемкости сопровождения ПС заложены следующие характеристики ПС:
-
объем ПС в строках исходного текста (как написанного разработчиком вручную, так и сгенерированного автоматически);
-
объем документации в строках (только эксплуатационная документация и документация сопровождения);
-
объем доработок ПС в строках исходного текста.
13
2.4. На трудоемкость разработки и сопровождения ПС оказывает влияние ряд объективных и субъективных факторов. Для учета влияния этих факторов в Методике введены
соответствующие поправочные коэффициенты, которые разделены на несколько уровней
влияния (например, уровень функции ПС, уровень работы процесса сопровождения и
т.п.). Разбиение поправочных коэффициентов по различным уровням влияния позволяет
повысить точность расчетов трудоемкости. Полный перечень факторов, учитываемых Методикой, а также перечень поправочных коэффициентов приведены в пунктах 3.1.4 и
4.1.3. Разбиение поправочных коэффициентов по различным уровням влияния приведено
в пунктах 3.1.5 и 4.1.3.
2.5. Для расчета трудоемкостей подпроцессов разработки и работ по сопровождению
ПС, а также базовой трудоемкости разработки ПС в Методике использованы мультипликативные модели следующего вида:
T  A * Fкол
1
B1
* ... * Fкол
q
Bq
* Fкат * ... * Fкат ,
1
g
(2.1)
где T – рассчитываемая трудоемкость разработки или сопровождения ПС;
Fкол1 ,…, Fкол
– количественные переменные;
q
Fкат ,…, Fкат – категориальные переменные с дискретными уровнями;
1
g
А, B1,…,Вq – числовые параметры.
Используемый в Методике тип модели является принципиально калибруемым. Калибровка модели производится путем определения значений числовых параметров на основе данных. Калибровка модели на этапах сопровождения, а также при расчете базовой
трудоемкости и отдельных подпроцессов разработки осуществляется одинаково. Для калибровки используется регрессионный анализ (линейная регрессия).
Применение метода линейной регрессии предполагает использовать класс линейных функций, для чего путем логарифмирования были получены новые значения величин
трудоемкости и переменных модели: T*=log(T); F*=log(F); A*=log(А). Исходная модель
при этом приняла линейный вид. Проведенный анализ новых данных на наличие связи
(просчитан выборочный коэффициент корреляции) показал тесную линейную связь: значение коэффициента корреляции оказалось больше 0,8.
При использовании программных средств для статистической обработки информации были получены коэффициенты уравнения линейной регрессии. Для числовых параметров Вq используются полученные значения коэффициентов. Для вычисления значе-
14
ния коэффициента А необходимо выполнить обратное преобразование (потенцирование) в
соответствии с формулой A=10A*. Таким образом, получаем значения эмпирических коэффициентов для исходной мультипликативной модели.
Приведенные в Методике модели для расчета трудоемкости разработки и трудоемкости сопровождения ПС были откалиброваны на основе результатов обработки собранной статистики в подразделениях Банка России в 2003-2004 годах.
В качестве количественных переменных в моделях используются следующие характеристики:
-
объем ПС (количество строк исходного текста ПС);
-
объем документации;
-
объем доработок.
В качестве категориальных переменных выступают поправочные коэффициенты,
учитывающие влияние факторов на трудоемкость разработки и сопровождения ПС.
15
3. ОЦЕНКА ТРУДОЕМКОСТИ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ
3.1. Общие положения
3.1.1. Процесс разработки состоит из следующих работ и задач, сгруппированных в
пяти подпроцессах:
1)
Анализ требований к ПС:
-
Подготовка процесса;
o определение или выбор модели жизненного цикла ПС;
o документальное оформление выходных результатов в соответствии с
процессом документирования;
o выполнение вспомогательных процессов;
o выбор стандартов, методов, инструментария, языков программирования;
o разработка плана проведения процесса разработки.
-
Анализ требований:
o анализ области применения разрабатываемого ПС с точки зрения определения требований к нему. Технические требования к ПС должны охватывать: функции и возможности ПС; коммерческие и организационные
требования; требования пользователя; требования безопасности и защиты; эргономические требования; требования к интерфейсам; эксплуатационные требования; требования к сопровождению и квалификационные
требования. Технические требования к ПС должны быть документально
оформлены;
o оценка и документальное оформление оценки требований к ПС с учетом
учета потребностей заказчика, соответствия потребностям заказчика, тестируемости, выполнимости проектирования архитектуры ПС, возможности эксплуатации и сопровождения.
2)
Проектирование:
-
Проектирование программной архитектуры:
o трансформирование требований к ПС в архитектуру, которая описывает
общую структуру ПС и определяет компоненты ПС. Распределение требований к ПС между его компонентами. Документальное оформление
архитектуры ПС.
16
o разработка и документальное оформление общего (эскизного) проекта
внешних интерфейсов и интерфейсов между компонентами ПС;
o разработка и документальное оформление общего (эскизного) проекта
базы данных;
o разработка и документальное оформление предварительной версии документации пользователя;
o разработка и документальное оформление предварительных требований
к тестированию ПС, разработка графика сборки ПС;
o Оценка и документальное оформление архитектуры ПС и эскизных проектов.
-
Техническое проектирование ПС:
o разработка и документальное оформление технического проекта для ПС.
Компоненты ПС должны быть уточнены на уровне программных модулей, которые можно программировать, компилировать и тестировать
независимо. Распределение технических требований к компонентам
между программными модулями.
o разработка технического проекта внешних интерфейсов, интерфейсов
между программными модулями;
o разработка технического проекта базы данных;
o уточнение документации пользователя;
o определение и документальное оформление требований к испытаниям и
программе испытаний программных модулей;
o оценка технического проекта и требований к тестированию, документальное оформление оценки.
3)
Программирование:
-
Программирование и тестирование компонентов ПС:
o разработка и документальное оформление каждого программного модуля и базы данных;
o разработка и документальное оформление процедур испытаний и данных для тестирования каждого программного модуля и базы данных;
o тестирование каждого программного модуля и базы данных;
o уточнение документации пользователя;
o уточнение программы сборки ПС;
17
o оценка запрограммированных элементов ПС и документальное оформление оценки.
-
Сборка ПС:
o разработка плана сборки и тестирования, документальное оформление
плана;
o сборка и тестирование программных модулей, документальное оформление результатов;
o подготовка к квалификационным испытаниям: разработка и документальное оформление наборов тестов, контрольных примеров, процедур
испытаний,
o оценка и документальное оформление оценки плана сборки, проекта, запрограммированного ПС, проведенных испытаний, результатов тестирования, документации пользователя.
4)
Тестирование ПС:
o проведение испытаний на соответствие требованиям к ПС;
o уточнение документации пользователя (при необходимости);
o проведение аудиторской проверки и документальное оформление результатов;
o доработка ПС по результатам аудиторской проверки (при необходимости);
o подготовка ПС к вводу в действие.
5)
Ввод в действие ПС:
-
Ввод в действие ПС:
o разработка и документальное оформление плана ввода в действие ПС в
среде эксплуатации;
o ввод в действие ПС в соответствии с планом. Документальное оформление работ.
-
Обеспечение приемки ПС:
o обеспечение проведения заказчиком оценки готовности к приемке и
приемочным испытаниям. Документальное оформление результатов
оценки готовности;
o поставка ПС заказчику;
18
o первоначальное и непрерывное обучение и поддержка персонала заказчика.
Вспомогательные процессы:
1) Документирование – процесс формализованного описания информации, созданной в процессе или работе жизненного цикла. Данный процесс состоит из
набора работ, при помощи которых планируют, проектируют, разрабатывают,
выпускают, редактируют, распространяют и сопровождают те документы, в которых нуждаются все заинтересованные лица.
2) Обеспечение качества – процесс обеспечения соответствующих гарантий того,
что ПС и процессы в жизненном цикле проекта соответствуют установленным
требованиям и утвержденным планам. Обеспечение качества должно быть организационно и полномочно независимым от субъектов, непосредственно связанных с разработкой ПС.
Организационные процессы:
1) Управление – процесс, состоящий из общих работ и задач, которые могут
быть использованы любой стороной, управляющей соответствующим процессом. Администратор отвечает за управление ПС, проектом, работами и задачам соответствующего процесса.
2) Создание инфраструктуры – процесс установления и обеспечения инфраструктуры, необходимой для любого другого процесса. Инфраструктура может содержать технические и программные средства, инструментальные средства, методики, стандарты и условия для разработки.
3) Усовершенствование – процесс установления, оценки, измерения, контроля и
улучшения любого процесса жизненного цикла ПС.
4) Обучение – процесс обеспечения первоначального и продолженного обучения
персонала. Должно быть запланировано и заранее выполнено обучение персонала с целью готовности его к работам по разработке ПС.
3.1.2. Современные программные средства разрабатываются как набор функционально взаимосвязанных структурных единиц, поэтому необходимо обеспечить возможность отражения влияния логической организации программного средства на общую трудоёмкость. Такая возможность обеспечивается введением понятия «компонент». По причине широкого распространения среди разработчиков компонентных технологий разработки ПС (например, COM/DCOM), при расчете трудоёмкости необходимо отразить до-
19
полнительные трудозатраты на разработку повторно используемых компонентов. Введение понятие «компонент» упрощает логическое структурирование проектов по разработке. Компонент выступает также как средство разделения функций, входящих в функционально и логически обособленные части приложения. С этой точки зрения понятие компонент эквивалентно понятию программного модуля.
Выделение компонентов целесообразно в двух случаях. В первом случае, компонент
является частью проектного решения и служит для логического структурирования программного средства. С функциональной точки зрения понятие «компонент» в этом случае
эквивалентно понятию «подсистема». Во втором случае компонент является частью программного решения и влечет за собой дополнительные трудозатраты, связанные с увеличением сроков проектирования, реализации и тестирования повторно используемых компонентов. При этом компонент может проектироваться и реализовываться таким образом,
чтобы степень его общности позволяла повторно использовать его на уровне совершенно
разных приложений. Необходимо также отметить, что дополнительные трудозатраты
необходимо учесть при разработке того программного средства, в рамках которого происходит первоначальное проектирование и реализация компонента. При повторном использовании компонента трудозатраты на разработку того программного средства, в состав
которого будет входить компонент, будут ниже за счет того, что не потребуется заново
перепроектировать или реализовывать весь компонент, либо какую-либо функцию, входящую в его состав. При этом степень увеличения трудозатрат на реализацию компонента
определяется уровнем коэффициента повторного использования. Так как зачастую разработчики используют готовые компоненты для создания других компонентов, то компоненты в Методике могут иметь иерархическую структуру и включать в себе другие компоненты. Причем количество уровней вложенности компонентов не ограничено.
В том случае, если компонентные технологии разработчиками не применяются и если не предполагается структурирование проекта на подсистемы и программные модули,
то компоненты можно не использовать, а трудоёмкость можно рассчитывать только на
основе набора функций, реализуемых программным средством.
3.1.3. В случае если для определения трудоемкости разработки ПС производилось
разбиение ПС на компоненты, проект по разработке ПС содержит следующую информацию:
-
перечень компонентов, входящих в проект;
20
-
информация о функциях, реализуемых компонентами нижнего уровня;
-
информация о поправочных коэффициентах.
Если для определения трудоемкости разработки ПС отсутствует необходимость выделения компонентов, в проект по разработке ПС включается следующая информация:
-
информация о функциях, реализуемых программным средством;
-
информация о поправочных коэффициентах.
3.1.4. Трудоемкость разработки ПС рассчитывается с учетом следующих факторов:
-
сложность разрабатываемого ПС;
-
степень новизны разрабатываемого ПС;
-
уровень требований к показателям качества ПС;
-
условия и средства разработки ПС;
-
опыт и квалификация разработчика.
Перечень поправочных коэффициентов, учитывающих влияние вышеперечисленных
факторов, приведен в таблице 3.1.
21
Таблица 3.1
Перечень поправочных коэффициентов,
учитываемых при расчете трудоемкости разработки ПС, в разрезе учитываемых факторов
Факторы, учитываемые при расчете
Поправочные коэффициенты,
трудоемкости разработки ПС
учитывающие влияние фактора
сложность разрабатываемого ПС
коэффициент, учитывающий сложность функции
степень новизны
коэффициент, учитывающий степень новизны
разрабатываемого ПС
ПС
коэффициент, учитывающий требования к
надежности ПС
коэффициент, учитывающий требования к проуровень требований к
изводительности ПС
показателям качества ПС
коэффициент, учитывающий требования к уровню информативности документации на фазах
жизненного цикла ПС
коэффициент, учитывающий используемые средства проектирования
коэффициент, учитывающий конкретные условия и средства разработки
коэффициент, учитывающий используемую техусловия и средства разработки ПС
нологию разработки
коэффициент, учитывающий используемую среду разработки
коэффициент, учитывающий используемые средства тестирования
коэффициент, учитывающий размер базы данных
коэффициент, учитывающий уровень квалификации аналитиков
коэффициент, учитывающий опыт работы аналитиков в данной предметной области
коэффициент, учитывающий уровень квалификации проектировщиков
коэффициент, учитывающий опыт работы проектировщиков с используемыми средствами проектирования
опыт и квалификация разработчика
коэффициент, учитывающий опыт работы программистов с данным средством разработки
коэффициент, учитывающий опыт разработки
программных средств подобного типа
коэффициент, учитывающий уровень квалификации программистов
коэффициент, учитывающий уровень квалификации персонала, осуществляющего тестирование
При расчете трудоемкости разработки ПС в Методике дополнительно используются
следующие поправочные коэффициенты:
-
коэффициент, учитывающий степень повторного использования функции;
22
-
коэффициент повторного использования программного компонента;
-
коэффициент, учитывающий влияние сроков работ.
3.1.5. Поправочные коэффициенты, используемые при расчете трудоемкости разработки ПС, разделяются на четыре уровня влияния:
-
уровень проекта;
-
уровень подпроцесса разработки;
-
уровень компонента;
-
уровень функции.
Коэффициенты уровня проекта оказывают влияние на трудоемкость разработки
программного средства в целом.
Коэффициенты уровня подпроцесса разработки оказывают влияние на трудоемкость отдельного подпроцесса разработки ПС.
Коэффициенты уровня компонента оказывают влияние на трудоемкость разработки
отдельного компонента ПС.
Коэффициенты уровня функции оказывают влияние на трудоемкость разработки
отдельной функции программного средства.
Перечень поправочных коэффициентов в разрезе уровней влияния приведен в таблице 3.2.
23
Таблица 3.2
Перечень поправочных коэффициентов,
учитываемых при расчете трудоемкости разработки ПС, в разрезе уровней влияния
Уровень влияния
уровень проекта
уровень подпроцесса
процесса разработки
уровень компонента
уровень функции
Поправочные коэффициенты,
относящиеся к уровню влияния
коэффициент, учитывающий степень новизны ПС
коэффициент, учитывающий требования к надежности ПС
коэффициент, учитывающий требования к производительности ПС
коэффициент, учитывающий требования к уровню информативности документации на фазах жизненного цикла ПС
коэффициент, учитывающий используемые технологии разработки
коэффициент, учитывающий опыт разработки программных
средств подобного типа
коэффициент, учитывающий влияние сроков работ
коэффициент, учитывающий уровень квалификации аналитиков
коэффициент, учитывающий опыт работы аналитиков в данной предметной области
коэффициент, учитывающий уровень квалификации проектировщиков
коэффициент, учитывающий опыт работы проектировщиков
с используемыми средствами проектирования
коэффициент, учитывающий используемые средства проектирования
коэффициент, учитывающий уровень квалификации программистов
коэффициент, учитывающий используемую среду разработки
коэффициент, учитывающий уровень квалификации персонала, осуществляющего тестирование
коэффициент, учитывающий используемые средства тестирования
коэффициент, учитывающий размер базы данных
коэффициент повторного использования программного
компонента
коэффициент, учитывающий сложность функции
коэффициент, учитывающий степень повторного использования функции
коэффициент, учитывающий конкретные условия и средства
разработки
коэффициент, учитывающий опыт работы программистов с
данным средством разработки
Поправочный коэффициент представляет собой дискретную величину. Значение поправочного коэффициента выбирается из соответствующей таблицы Методики. Таблицы
24
значений поправочных коэффициентов для расчета трудоемкости разработки ПС приведены в пункте 3.2.
Поправочные коэффициенты используются для уточнения значения трудоемкости
разработки ПС. Если для определения уровня какого-либо поправочного коэффициента
отсутствуют необходимые данные, то следует принять значение этого коэффициента равным единице и таким образом, не учитывать его влияние при расчете трудоемкости.
3.2. Порядок расчета трудоемкости разработки ПС
3.2.1. Для расчета трудоемкости разработки ПС необходимо определить примерный объем (размер) этого программного средства, который оно будет иметь после завершения процесса разработки. Объем ПС определяется исходя из выполняемых им функций
путем суммирования объемов этих функций.
Объем каждой отдельной функции разрабатываемого ПС (Vиi) выражается числом
строк исходного текста, написанных непосредственно разработчиком на используемом
средстве разработки (без учета текста, сгенерированного автоматически, использованного
из библиотек и т.д.).
Для определения объема функции используется «Каталог функций программных
средств» (таблица 3.3). Функции, приведенные в Каталоге функций, сгруппированы по
типам и классам функций (каталог сформирован на основе результатов обработки собранной статистики в подразделениях Банка России в 2003-2004 годах). Классы всегда определяются внутри типов функций.
Состав функций ПС определяется на основании имеющейся в техническом задании
информации о составе функций разрабатываемого ПС.
Исходный объем ПС в существенной степени влияет на точность результатов расчета трудоемкости, поэтому точность определения его отдельных составляющих (объемов
функций) имеет большое значение. Чем детальнее в техническом задании проработана
функциональная архитектура ПС, тем точнее будут результаты расчетов трудоемкости его
разработки.
Учитывая тот факт, что конкретная функция, реализованная с использованием различных средств разработки, будет иметь различный объем (число строк исходного текста)
в Методике в качестве единицы объема введено понятие «строка исходного текста на
25
условном языке». Диапазоны значений объемов функций, приведенные в Каталоге функций выражены в строках исходного текста на условном языке.
Возможны два способа определения объемов функций разрабатываемого ПС.
1-й способ. Выбирается среднее значение объема соответствующей функции (Vi),
выраженное числом строк исходного текста на условном языке, из диапазона, указанного
в таблице 3.3. Этот упрощенный способ применяется, когда пользователь Методики затрудняется экспертным методом оценить объем функции в строках исходного текста,
написанного на используемом им языке (средстве) разработки.
2-й способ. Выбирается экспертным методом значение объема функции (Vиi) из допустимого диапазона значений, границы которого с помощью соответствующего коэффициента (таблица 3.4) пересчитываются для используемого языка (средства) разработки по
следующим формулам:
Vmni  Vni / kpi ,
(3.1)
Vmvi  Vvi / kpi ,
где Vmni – нижняя граница объема i-й функции ПС на используемом языке (средстве) разработки;
Vmvi – верхняя граница объема i-й функции ПС на используемом языке (средстве) разработки;
Vni – нижняя граница объема i-й функции ПС на условном языке (таблица 3.3);
Vvi – верхняя граница объема i-й функции ПС на условном языке (таблица 3.3);
kpi – переводной коэффициент, определяемый в зависимости от используемого
средства разработки по таблице 3.4;
i 1  n - количество функций ПС.
Численное значение объема функции (Vиi) выбирается из диапазона (Vmni , Vmvi).
Каталог содержит функции различной степени детализации, поэтому некоторые из
них могут пересекаться или вкладываться друг в друга. При использовании каталога
необходимо выбирать из него наиболее детальные функции, чтобы повысить точность
расчетов.
26
Таблица 3.3
Каталог функций программных средств
Объем функции ПС
Наименование типа, класса; наименование (содержание) функции
(строк исходн. текста
на условном языке)
1
2
1. Управляющие операции
1.1. Обработка ошибочных ситуаций
1.1.1. Обработка ошибочных ситуаций
2000-4000
1.2. Информационная безопасность
1.2.1. Криптопреобразование
1.2.2. Обеспечение безопасности обмена данными
1.2.3. Организация криптозащиты с помощью ПТК Крип-
1000-1500
200-500
5000-6000
тоцентр авизо
1.2.4. Контроль целостности ПО
2500-3500
1.3. Реализация интерфейсов между подсистемами
1.3.1. Взаимодействие с другим ПО
500-1000
1.3.2. Взаимодействие с транспортной (почтовой) систе-
2000-3000
мой
1.3.3. Реализация интерфейса между ТПК РАБИС Повол-
6000-7000
жье и ТПК ПУ
1.3.4. Интерфейсная программа УТМ
2000-2500
1.3.5. Реализация ПО обмена информацией между ЦОИ и
9000-10000
клиентами (WEB-сервер)
1.4. Выполнение регламентных операций
1.4.1. Пусковое решение
500-1000
1.4.2. Завершение операций (день, месяц, год)
4000-5000
1.4.3. Операционный день
10000-15000
1.5. Реализация взаимосвязей систем и компонентов
1
1.5.1. Удаленная доставка информации с подтверждением
получения
2
200-500
27
1.5.2. Вызов удаленных процедур
500-1000
1.5.3. Управление файлами, доступом к файлам и переда-
200-500
чей файлов между удаленными и разнородными файловыми системами
1.5.4. Обработка сообщений
10-200
1.5.5. Обработка распределенных транзакций
10-300
1.5.6. Реализация средства контроля состояния распреде-
100-200
ленной сети однородных компонент
1.5.7. Доступ к общей памяти:
1.5.8. - в рамках одной машины
10-50
1.5.9. - в рамках вычислительной сети
10-200
1.5.10. Ведение журнала обращений к распределенной си-
10-500
стеме
2. Вычислительные операции
2.1. Ввод первичных платежных документов
2.1.1. Ввод данных первичных документов в интерактив-
2000-9000
ном режиме
2.1.2. Ввод данных по нарушениям в интерактивном ре-
2000-4000
жиме
2.1.3. Ввод и первичный контроль документов из файлов
1500-6000
2.2. Обработка платежных документов
2.2.1. Обработка входной информации
4000-5000
2.2.2. Обработка документов на исключение из картотеки
2000-2500
в ЦОИ
2.2.3. Обработка документов ответисполнителей
4000-6000
2.2.4. Обработка документов ответного авизования
6000-7000
2.2.5. Обработка документов по принудительной квитовке
1500-2000
1
2
2.2.6. Обработка и учет заявок сопровождаемых регионов
2500-3500
2.2.7. Обработка протоколов
2000-2500
2.2.8. Обработка документов начального авизования
7000-10000
2.2.9. Обработка документов МЭР в ЦОИ
5000-10000
28
2.2.10. Обработка прочих данных
5000-10000
2.3. Формирование отчетов
2.3.1. Формирование отчетов
1000-10000
2.4. Генерация отчетных документов
2.4.1. Просмотр и редактирование отчетных форм
500-1000
2.4.2. Подготовка форм отчетности
1000-7000
2.5. Обработка статистических данных
2.5.1. Получение статистических данных
500-1000
2.5.2. Статистическая обработка данных
2000-5000
2.6. Анализ и составление балансов
2.6.1. Анализ балансов
1000-2000
2.6.2. Выполнение баланса и оборотов КО за месяц
2500-3500
2.6.3. Выполнение ежедневного баланса
1500-2000
2.6.4. Корректировка балансов
2.6.5. Пересчет балансов
200-500
2000-3000
2.7. Тестирование
2.7.1. Подготовка к тестированию
300-1000
2.7.2. Тестирование
2000-4000
2.8. Проведение экономического анализа
2.8.1. Анализ безналичных расчетов в платежных систе-
2500-3500
мах
2.8.2. Анализ денежной массы в обращении по районам
5000-6000
2.8.3. Анализ курсов валют, устанавливаемых ЦБ
3500-4500
2.8.4. Анализ курсов основной валюты в обменных пунк-
7000-8000
тах КО
1
2.8.5. Анализ событий нефинансового характера
2
300-1100
2.9. Выполнение задач планирования
2.9.1. Планирование инспекторских проверок
1500-2000
2.9.2. Планирование эмиссии
4000-5000
2.9.3. Планирование прочих задач
800-4000
3. Операции, зависящие от аппаратуры
29
3.1. Прием платежных документов от различных источников
3.1.1. Прием файлов, первичный контроль
1000-1500
3.1.2. Прием информации из ЦОИ
2000-8000
3.1.3. Прием данных, содержащихся в DBF файлах
200-1200
3.1.4. Прием информации поступающей от ГЦИ
1500-2000
3.1.5. Прием описи к конвертам с документами
1500-2000
3.1.6. Прием файлов от РКЦ
500-800
3.1.7. Прием текстовых файлов
300-800
3.2. Регистрация входных документов
3.2.1. Регистрация входных документов
500-1000
3.2.2. Регистрация исходящих авизо
2500-3000
3.2.3. Регистрация телеграфных и почтовых авизо
1000-1500
3.3. Протоколирование
3.3.1. Ведение протокола выполнения расчетов
500-700
3.3.2. Обработка протоколов
1000-2000
3.3.3. Протоколирование работы
2500-3500
3.3.4. Формирование протокола проводок
700-1500
3.4. Работа с файлами
3.4.1. Загрузка файлов DBF
1000-1500
3.4.2. Обработка файлов
500-6000
3.4.3. Сортировка файлов
500-2000
3.4.4. Формирование последовательных файлов
500-3000
1
2
3.5. Конвертация данных
3.5.1. Конвертация данных для ГНИ (ПФР)
1500-2000
3.5.2. Конвертация файлов
1000-2000
3.5.3. Конвертация прочих данных
1000-4500
3.6. Мониторинг
3.6.1. Мониторинг отчетности КО
6000-7000
3.7. Ведение архива и копирование информации
3.7.1. Архивирование
500-4000
30
3.7.2. Работа с архивом ГУ
6000-8000
3.7.3. Задачи подсистемы ведения электронного архива
6000-7500
3.7.4. Реализация подсистемы для выборки архивов
1000-1500
3.7.5. Реализация подсистемы для создания архивов
1500-2500
4. Операции управления данными
4.1. Поиск в БД
4.1.1. Поиск, предоставление и вывод информации
1000-6000
4.1.2. Обработка записей базы данных
500-3000
4.2. Создание и поддержка БД
4.2.1. Формирование базы данных
1000-8000
4.2.2. Создание и изменение схемы базы данных
200-1000
4.2.3. Контроль целостности и восстановление БД
500-700
4.2.4. Реализация библиотеки подключения к БД
1000-1200
4.2.5. Функции настройки и модификации БД
1500-2000
4.3. Ведение журналов
4.3.1. Ведение журнала регистрации запросов и подтвер-
2000-5000
ждений по начальным (ответным) авизо
4.3.2. Вывод журналов приема-передачи
4.3.3. Контроль и журнализация доступа к защищенным
500-800
1500-2000
ресурсам
4.3.4. Формирование журнала
1
300-500
2
4.4. Работа со справочниками
4.4.1. Ведение справочников
500-8000
4.4.2. Ведение справочника РКЦ
1500-2000
4.4.3. Просмотр и корректировка справочников
2000-3000
4.5. Контроль информации документов
4.5.1. Контроль информации на приеме
500-2000
4.5.2. Контроль правильности сводных данных
500-1000
4.5.3. Контроль кассовых операций
800-1300
4.5.4. Проверка и контроль на соответствие УТП транс-
1500-2000
портной машины УОС
31
4.5.5. Контроль и обработка телеграмм от кустов
5000-6000
4.5.6. Контроль информации на вводе
3000-4000
5. Операции управления пользовательского интерфейса
5.1. Настройка ПС на условия применения
5.1.1. Настройка параметров
500-1000
5.1.2. Настройка аналитических таблиц
1000-2000
5.2. Реализация пользовательского интерфейса
5.2.1. Реализация стандартного графического пользова-
5000-10000
тельского интерфейса для многооконного приложения
5.2.2. Реализация стандартного графического пользова-
1000-2000
тельского интерфейса для однооконного приложения
5.2.3. Реализация стандартного графического пользова-
2500-3000
тельского интерфейса для диалогового приложения
5.2.4. Реализация интерфейса пользователя
500-5000
6. Операции, связанные с бухгалтерским учетом
6.1. Ведение бухгалтерского учета в подразделениях банка и
расчеты РКЦ со сторонними организациями
6.1.1. Бухгалтерский учет расходных материалов в РКЦ и
1500-2000
РЦИ
1
6.1.2. Бухгалтерский учет медикаментов и расходных ма-
2
15000-20000
териалов
6.1.3. Складской учет материальных ценностей в РКЦ и
1500-2000
РЦИ
6.1.4. Складской учет материальных ценностей
10000-12000
6.1.5. Учет внутрибанковских операций по столовой
12000-15000
6.1.6. Учет движения товаров на складе столовой
12000-15000
6.1.7. Учет запчастей и материалов для автотранспорта
10000-15000
6.1.8. Учет кадров, расчет труда и заработной платы в
30000-40000
РКЦ
6.1.9. Учет материальных запасов
15000-20000
6.1.10. Учет основных средств
20000-25000
32
6.1.11. Учет путевых листов, лимитов по ГСМ. Отчетность
7000-10000
по ГСМ
6.1.12. Учет расходов на содержание помещений и средств
3000-4000
связи
6.1.13. Учет резервных фондов
15000-20000
6.1.14. Учет нематериальных активов (программного обес-
15000-20000
печения)
Таблица 3.4
Значения переводных коэффициентов (kpi) для различных средств разработки
Средство разработки*)
Значение kpi
Языки низкого уровня (Assembler)
0,17
Процедурные языки высокого уровня (Pascal, C)
0,42
С#
1,64
C++
1,00
Microsoft Visual С++
1,58
Borland C++
1,95
PowerBuilder
3,33
Языки 4GL (Visual Basic, VBA, Delphi)
3,48
Visual FoxPro
2,85
Системы программирования на основе СУБД типа FoxPro (Clipper,
2,56
Clarion)
Встроенные в ПО макроязыки
3,86
Системы программирования на основе СУБД типа Oracle,
1,83
SqlServer, Informix
Командные скриптовые языки
1,87
HTML/CSS (без использования редакторов)
0,20
HTML/CSS (с использованием редакторов)
0,10
XML/XSLT
0,20
Java
1,69
JavaScript
1,87
Cкриптовые языки для WEB (ASP, PHP, Pearl)
1,74
SQL
1,96
*)Примечание. Указанные в таблице средства разработки обозначают группу средств подобного
типа. Поэтому, если имеется средство разработки, непосредственно не указанное в левом столбце,
то его необходимо самостоятельно отнести к какой-либо из групп, наиболее близкой по уровню
используемого языка.
3.2.2. При использовании 2-го способа определения объема функции (см. пункт
3.2.1) значение объема функции (Vi), выраженное числом строк исходного текста на
условном языке, определяется исходя из объема функции (Vиi) на используемом языке
(средстве) разработки по формуле:
33
(3.2)
Vi  Vиi * kpi ,
где Vиi – объем i-й функции ПС на используемом языке (средстве) разработки;
kpi – переводной коэффициент, определяемый в зависимости от используемого
средства разработки по таблице 3.4;
i 1  n - количество функций ПС.
3.2.3. Отдельные функции разрабатываемого программного средства могут реализовываться неоднократно в неизменном виде или с некоторыми изменениями. Простое
суммирование объемов одинаковых функций может привести к завышению трудоемкости
их разработки. Скорректированный объем i-ой функции ПС (Vмi) определяется по формуле:
Vмi  Vi * ri *k i ,
(3.3)
где Vi – объем i-ой функции ПС (определяемый на основании пункта 3.2.2);
ri – число реализаций i-ой функции;
ki – коэффициент, учитывающий степень повторного использования i-ой функции (может принимать значения от 0 до 1). Под степенью повторного использования
функции подразумевается часть программного кода функции, которая пишется разработчиками заново. Так если разработчики пишут весь код функции «с нуля», то степень повторного использования равна 1. Если функция входит в состав готового компонента или
библиотеки, то на трудозатраты она никак не влияет и её степень повторного использования равна 0. К примеру, степень повторного использования всех функций, которые реализованы в готовом компоненте, если этот компонент включается в разрабатываемое программное средство, равна 0. Если код функций изменяется частично, то величина коэффициента повторного использования равна доле изменений. Например, если заново переписывается 60% кода функции, входящей в компонент, то степень повторного использования равна 0,6;
i 1  n - количество функций ПС.
3.2.4. Скорректированный объем функции ПС (Vмi) не учитывает влияние различных субъективных и объективных факторов на трудоемкость разработки ПС. Для учета
этого влияния используются поправочные коэффициенты уровня функции. Скорректированный с учетом влияния различных факторов объем функции ПС (Vki) определяется по
формуле:
Vki= Vмi *Ксложн * Кср.разр* Копыт,
(3.4)
34
где Vмi – скорректированный объем i-ой функции ПС, определяемый в соответствии с пунктом 3.2.3;
Ксложн – коэффициент сложности функции, определяемый в соответствии с
пунктом 3.2.6;
Кср.разр – коэффициент, учитывающий конкретные условия и средства разработки ПС (таблица 3.5);
Копыт – коэффициент, учитывающий опыт работы программистов с данным
средством разработки (таблица 3.6).
Таблица 3.5
Значения коэффициента,
учитывающего конкретные условия и средства разработки ПС (Кср.разр)
Средства разработки ПС*)
Значения Кср.разр
1
2
Языки низкого уровня (Assembler)
1,52
Процедурные языки высокого уровня (Pascal, C)
1,18
С#
0,92
C++
1,00
Microsoft Visual С++
0,89
Borland C++
0,84
PowerBuilder
0,84
Языки 4GL (Visual Basic, VBA, Delphi)
0,69
Visual FoxPro
0,76
Системы программирования на основе СУБД типа FoxPro (Clipper,
0,58
Clarion)
Встроенные в ПО макроязыки
0,73
Системы программирования на основе СУБД типа Oracle, SqlServer,
0,63
Informix
Командные скриптовые языки
0,79
HTML/CSS (без использования редакторов)
0,68
HTML/CSS (с использованием редакторов)
0,59
XML/XSLT
0,69
Java
0,92
1
2
JavaScript
0,76
Cкриптовые языки для WEB (ASP, PHP, Pearl)
0,81
SQL
0,65
*)Примечание. Указанные в таблице средства разработки обозначают группу средств подобного
типа. Поэтому, если имеется средство разработки, непосредственно не указанное в левом столбце,
то его необходимо самостоятельно отнести к какой-либо из групп, наиболее близкой по уровню
используемого языка.
35
Таблица 3.6
Значения коэффициента,
учитывающего опыт работы программистов с данным средством разработки (Копыт)
Уровень опыта
работы
Опыт работы разработчика
Значение Копыт
разработчика
Очень низкий
не более 1 законченного проекта
1,20
Низкий
1-2 законченных проекта
1,09
Средний
3-4 законченных проекта
1,00
Высокий
5 законченных проектов
0,91
Очень высокий
более 5 законченных проектов
0,84
3.2.5. Функция ПС может состоять из следующих типов операций:
- управляющие операции;
- вычислительные операции;
- операции, зависящие от аппаратуры;
- операции управления данными;
- операции управления пользовательского интерфейса;
- операции, связанные с бухгалтерским учетом.
Сложность функции определяется на основе характеристик сложности операций,
входящих в состав данной функции. Уровень сложности функции зависит от уровня
сложности соответствующего типа операции.
Для каждого класса функций, приведенного в Каталоге функций, определены операции, входящие в состав функций данного класса. Перечень операций приведен в таблице 3.7.
Уровни сложности операций ( Lv ) определяются по таблицам 3.8 – 3.13.
36
Таблица 3.7
Операции, входящие в состав различных классов функций
Класс функций
Тип операций
1
2
Функции, обеспечивающие прием платежных документов от различных источников
Функции, обеспечивающие регистрацию входных
документов
Функции, обеспечивающие протоколирование
Функции, обеспечивающие ввод первичных платежных документов
Функции, обеспечивающие контроль информации
документов
Функции, обеспечивающие обработку платежных
документов
операции, зависящие от аппаратуры
операции, зависящие от аппаратуры
операции, зависящие от аппаратуры
вычислительные операции
операции управления данными
вычислительные операции
Функции, обеспечивающие обработку ошибочных
ситуаций
Функции, обеспечивающие работу со справочниками
Функции, обеспечивающие формирование отчетов
Функции, обеспечивающие ведение журналов
Функции, обеспечивающие создание и поддержку
БД
Функции, обеспечивающие поиск в БД
управляющие операции
Функции, обеспечивающие информационную безопасность
Функции, обеспечивающие генерацию отчетных
документов
Функции, обеспечивающие настройку ПС на условия применения
управляющие операции
Функции, обеспечивающие обработку статистических данных
Функции, обеспечивающие анализ и составление
балансов
Функции, обеспечивающие реализацию пользовательского интерфейса
Функции, обеспечивающие работу с файлами
Функции, обеспечивающие реализацию интерфейсов между подсистемами
Функции, обеспечивающие выполнение регламентных операций
Функции, обеспечивающие тестирование
1
Функции, обеспечивающие проведение экономического анализа
вычислительные операции
операции управления данными
вычислительные операции
операции управления данными
операции управления данными
операции управления данными
вычислительные операции
операции управления пользовательского интерфейса
вычислительные операции
операции управления пользовательского интерфейса
операции, зависящие от аппаратуры
управляющие операции
управляющие операции
вычислительные операции
2
вычислительные операции
37
Функции, обеспечивающие выполнение задач планирования
Функции, обеспечивающие конвертацию данных
Функции, обеспечивающие мониторинг
Функции, обеспечивающие ведение архива и копирование информации
Функции, обеспечивающие реализацию взаимосвязей систем и компонентов
Функции, обеспечивающие ведение бухгалтерского
учета в подразделениях банка и расчеты РКЦ со
сторонними организациями
вычислительные операции
операции, зависящие от аппаратуры
операции, зависящие от аппаратуры
операции, зависящие от аппаратуры
управляющие операции
операции, связанные с бухгалтерским учетом
Таблица 3.8
Уровень сложности управляющих операций
Значение
Lv
Код без циклов, с небольшим количеством не вложенных
1
структурированных операторов. Упрощенная схема взаимодействия модулей посредством вызова процедур
Низкий
Простое вложение структурированных операторов. Приме2
нение, в основном, простых предикатов
Средний
Применение, в основном, простого вложения и нескольких
3
средств межмодульного взаимодействия, логических таблиц, простых функций обратного вызова или обмена сообщениями, включая распределенную обработку на основе
промежуточного ПО
Высокий
Многократное вложение структурированных операторов с
4
множеством составных предикатов. Управление очередью
и стеком. Однородная распределенная обработка. Мягкие
требования к режиму однопроцессорной обработки в реальном времени
Очень высокий Использование методов написания программ на основе ре5
курсии и многократного входа в программу. Обработка
прерываний фиксированного приоритета, синхронизация
задач, сложные функции обратного вызова, разнородная
распределенная обработка. Жесткие требования к режиму
однопроцессорной обработки в реальном времени
Сверхвысокий
Сложное управление ресурсами с динамически изменяю6
щимися приоритетами. Управление на уровне микрокоманд. Жесткие требования к режиму распределенной обработки
*)Примечание. В том случае, когда характеристика уровня соответствует нескольким поУровень
сложности
Очень низкий
Характеристика уровня
ложениям из таблиц 3.8-3.13, то выбирается наиболее высокий уровень сложности
38
Таблица 3.9
Уровень
сложности
Очень низкий
Низкий
Средний
Высокий
Очень высокий
Сверхвысокий
Уровень сложности вычислительных операций
Характеристика уровня
Значение
Lv
Вычисление
упрощенных
выражений:
например,
A=B+C*(D-E)
Вычисление выражений средней сложности (одномерные
массивы)
Использование стандартных математических и статистических процедур. Основные операции с матрицами/векторами
Базовые элементы численного анализа: многомерная интерполяция, обыкновенные дифференциальные уравнения,
простые случаи усечения и округления
Сложный, но структурированный численный анализ, матричные уравнения близкие к сингулярным, дифференциальные уравнения в частных производных. Простое распараллеливание
Сложный и неструктурированный численный анализ: высокоточный анализ стохастических данных. Сложное распараллеливание
1
2
3
4
5
6
Таблица 3.10
Уровень
сложности
Очень низкий
Низкий
Средний
Высокий
Очень высокий
Сверхвысокий
Уровень сложности операций, зависящих от аппаратуры
Характеристика уровня
Упрощенные операторы чтения, записи с простыми форматами
Не требуется никакой информации о характеристиках конкретного типа процессоров или устройств ввода/вывода.
Ввод/вывод осуществляется на уровне команд типа
GET/PUT
Операции ввода/вывода включают выбор устройства, проверка его состояния и обработку ошибок
Операции ввода/вывода на физическом уровне (трансляция
физических адресов хранения данных; операции поиска,
чтения, и т.д.). Оптимизированное совмещение ввода/вывода
Процедуры для определения, обработки и маскирования
прерываний. Управление каналом связи. Встроенные системы с определенными требованиями к производительности
Написание управляющего кода, работающего синхронно с
устройством, программирование на уровне микроопераций.
Встроенные системы, критичные к производительности
Значение
Lv
1
2
3
4
5
6
39
Таблица 3.11
Уровень
сложности
Очень низкий
Низкий
Средний
Высокий
Очень высокий
Сверхвысокий
Уровень сложности операций управления данными
Характеристика уровня
Простые массивы в основной памяти. Простые запросы на
обновление
Использование единственного файла без изменения структуры данных, без редактирования. Промежуточные файлы
не используются. Запросы на обновление и запросы SQL
умеренной сложности
Многофайловый ввод и однофайловый вывод. Простые
структурные изменения, простые правки. Сложные запросы на обновление и запросы SQL
Простые триггеры, активизируемые содержанием потоков
данных. Сложное реструктурирование данных
Управление распределенными базами данных. Сложные
триггеры. Оптимизация поиска
Сильно связанные динамические реляционные и объектные
структуры. Речевое управление данными
Значение
Lv
1
2
3
4
5
6
Таблица 3.12
Уровень сложности операций управления пользовательского интерфейса
Уровень
Характеристика уровня
Значение
сложности
Lv
Очень низкий
Простые формы, генераторы отчетов
1
Низкий
Использование простых средств построения интерфейса
2
пользователя
Средний
Использование простых (стандартных) элементов управле3
ния
Высокий
Разработка новых элементов управления и усовершенство4
вание существующих. Простой голосовой ввод/вывод,
мультимедиа
Очень высокий Двух/трехмерная графика средней сложности, динамиче5
ская графика, мультимедиа
Сверхвысокий
Сложная мультимедийная информация, виртуальная ре6
альность, интерфейс речевого управления
40
Таблица 3.13
Уровень сложности операций, связанных с бухгалтерским учетом
Уровень
Характеристика уровня
Значение
сложности
Lv
Очень низкий
Учет нематериальных активов, учет основных средств
1
Низкий
Учет расходов на содержание помещений и средств связи
2
Средний
Учет внутрибанковских операций по столовой, учет мате3
риальных запасов, учет запчастей и материалов для автотранспорта
Высокий
Бухгалтерский учет расходных материалов в РКЦ и РЦИ
4
Бухгалтерский учет медикаментов и расходных материалов
Складской учет материальных ценностей в РКЦ и РЦИ
Учет движения товаров на складе столовой
Очень высокий Учет кадров, расчет труда и заработной платы в РКЦ
5
Складской учет материальных ценностей
Сверхвысокий
Учет путевых листов, лимитов по ГСМ. Отчетность по
6
ГСМ
3.2.6. Коэффициент сложности функции (Ксложн) определяется по таблица 3.14.
Таблица 3.14
Значение коэффициента сложности функции (Ксложн)
в зависимости от уровня сложности функции
Уровень
Значение Ксложн
Lv
сложности функции
Очень низкий
1
0,82
Низкий
2
0,87
Средний
3
1,00
Высокий
4
1,10
Очень высокий
5
1,20
Сверхвысокий
6
1,41
3.2.7. Объем компонента ПС рассчитывается как сумма объемов функций ПС, входящих в данный компонент. Для учета влияния различных факторов на трудоемкость разработки компонентов ПС используются поправочные коэффициенты уровня компонента.
Скорректированный с учетом влияния различных факторов объем i-го компонента ПС
(Vккi) определяется по формуле:
r
Vкк i  Vk j * K пик ,
(3.5)
j 1
где Vkj – объем j-ой функции ПС входящей в i-ый компонент ПС, определяемый в
соответствии с пунктом 3.2.4;
j  1  r – число функций ПС, входящих в i-ый компонент ПС;
41
Кпик – коэффициент повторного использования программного компонента (таблица 3.15);
i  1  m - количество компонентов ПС.
Таблица 3.15
Значения коэффициента
повторного использования программного компонента (Кпик)
Уровень требований
Характеристика
Значение Кпик
Низкий
Средний
Высокий
Очень высокий
Исключительно высокий
Повторно не используются
На уровне проекта
На уровне программы
На уровне линии продуктов
На уровне нескольких линий
продуктов
0,97
1,00
1,04
1,09
1,14
Примечание. Этот параметр учитывает дополнительные трудозатраты, необходимые для создания компонентов, предназначенных для повторного использования в текущих и будущих проектах. Эти дополнительные трудозатраты необходимы на создание более общей архитектуры программного компонента, более детализованных спецификаций и более тщательного проведения
испытаний с тем, чтобы гарантировать готовность компонентов к использованию в составе других
приложений. «На уровне проекта» может применяться к повторному использованию на уровне
модулей, входящих в состав какого-либо проекта по разработке бизнес-приложений. «На уровне
программ» подходит для повторного использования на уровне нескольких проектов по разработке
бизнес-приложений для одной организации. «На уровне линии программных продуктов» применяется, если повторное использование распространяется на несколько организаций. «На уровне
нескольких линий» означает повторное использование на уровне линий бизнес-приложений, приложений для маркетинга и коммерции. Разработка с целью повторного использования накладывает некоторые ограничения на значения коэффициентов Кнад и Кдокум. Значение Кнад должно быть,
самое большое, на один уровень ниже, чем значение Кпик. Значение Кдокум должно быть, по меньшей мере, равно среднему при номинальном и высоком значении Кпик, и, по меньшей мере, равно
высокому при очень и исключительно высоком значении Кпик.
3.2.8. Объем ПС (V) рассчитывается как сумма объемов компонентов, входящих в
состав ПС, и определяется по формуле:
m
V   Vкк i ,
(3.6)
i 1
где Vккi – объем i-го компонента, определяемый в соответствии с пунктом 3.2.7;
i  1  m - количество компонентов ПС.
3.2.9. Если для расчета трудоемкости разработки программное средство не разбивалось на компоненты, объем ПС (V) рассчитывается как сумма объемов функций, входящих в состав ПС, и определяется по формуле:
n
V   Vкi ,
(3.7)
i 1
где Vкi – объем i-той функции ПС, определяемый в соответствии с пунктом 3.2.4;
42
i 1  n - количество функций ПС.
3.2.10. Исходя из объема ПС (V) определяется базовая трудоемкость разработки
ПС. При расчете базовой трудоемкости разработки ПС учитывается влияние следующих
факторов:
- степень новизны разрабатываемого ПС;
- уровень требований к показателям качества ПС;
- условия и средства разработки ПС;
- опыт и квалификация разработчика.
Для учета влияния вышеперечисленных факторов используются поправочные коэффициенты уровня проекта.
Базовая трудоемкость разработки ПС ( Tбаз ) с учетом влияния различных факторов
определяется по формуле:
Tбаз  A * V C * K н * Кнад*Кпроизв*Кдокум* Ктех* Кор,
(3.8)
где V – объем ПС, определяемый в соответствии с пунктами 3.2.8 или 3.2.9;
Кн – коэффициент, учитывающий степень новизны ПС (таблица 3.16);
Кнад – коэффициент, учитывающий требования к надежности ПС (таблица 3.17);
Кпроизв – коэффициент, учитывающий требования к производительности ПС
(таблица 3.18);
Кдокум – коэффициент, учитывающий требования к уровню информативности
документации на фазах жизненного цикла ПС (таблица 3.19);
Ктех – коэффициент, учитывающий использование технологий разработки (см.
пункт 3.2.11);
Кор – коэффициент, учитывающий опыт разработки программных средств подобного типа (таблица 3.20);
А, С – поправочные коэффициенты, рассчитанные на основе собранной статистики в подразделениях Банка России в 2003-2004 годах (А = 0,19, С = 0,74).
Таблица 3.16
Значение коэффициента, учитывающего степень новизны ПС (Кн)
Степень новизны
Значение Кн
Принципиально новое ПС, не имеющее доступных аналогов на но1,42
вом типе ЭВМ/ОС
Принципиально новое ПС, не имеющее доступных аналогов на
1,34
прежнем типе ЭВМ и новом типе ОС
Принципиально новое ПС, не имеющее доступных аналогов на но1,12
43
вом типе ЭВМ и прежнем типе ОС
Принципиально новое ПС, не имеющее доступных аналогов на
прежнем типе ЭВМ/ОС
ПС, являющееся развитием определенного параметрического ряда
ПС на новом типе ЭВМ/ОС
ПС, являющееся развитием определенного параметрического ряда
ПС на прежнем типе ЭВМ и новом типе ОС
ПС, являющееся развитием определенного параметрического ряда
ПС на новом типе ЭВМ и прежнем типе ОС
ПС, являющееся развитием определенного параметрического ряда
ПС на прежнем типе ЭВМ/ОС
1,06
1,00
0,94
0,87
0,80
Таблица 3.17
Значения коэффициента, учитывающий требования к надежности ПС (Кнад)
Уровень
требований
Характеристика
Значение Кнад
к надежности ПС
Очень низкий
Сбои ПС приводят к некоторым неудобствам
0,88
Низкий
Незначительный, легко восполнимый ущерб
0,95
Средний
Средний, восполнимый ущерб
1,00
Высокий
Крупные финансовые потери
1,06
Очень высокий
Риск для жизни людей
1,16
44
Таблица 3.18
Значения коэффициента,
учитывающего требования к производительности ПС (Кпроизв)
Характеристика
Значение Кпроизв
Производительность ПС не играет роли
Требования к производительности ПС не установлены (однако
производительность ПС должна обеспечивать приемлемое время
отклика при работе пользователя в интерактивном режиме)
Имеются умеренные требования к производительности
Повышенные требования к производительности
Исключительно высокие требования к производительности
0,94
1,00
1,06
1,12
1,18
Таблица 3.19
Значения коэффициента,
учитывающего требования к уровню информативности документации (Кдокум)
Уровень
Характеристика
Значение Кдокум
требований
Очень низкий
Не учтены многие потребности жизненного цикла
0,88
Низкий
Не учтены некоторые потребности жизненного
0,94
цикла
Средний
Соответствует потребностям жизненного цикла
1,00
Высокий
Повышенный объем для жизненного цикла данно1,07
го ПС
Очень высокий
Большой (избыточный) объем для жизненного
1,14
цикла данного ПС
Примечание. Экономия трудозатрат путем установления очень низкого значения коэффициента
повлечет дополнительные расходы в процессе сопровождения. Плохая или отсутствующая документация приведет к увеличению коэффициента, связанного с параметром «Понимание ПС».
Таблица 3.20
Значения коэффициента,
учитывающий опыт разработки программных средств подобного типа (Кор)
Уровень опыта
Значение
Опыт разработки
разработки приложений
Кор
Очень низкий
не более 1 законченного проекта
1,22
Низкий
1-2 законченных проекта
1,10
Средний
3-4 законченных проекта
1,00
Высокий
5 законченных проектов
0,88
Очень высокий
более 5 законченных проектов
0,81
45
3.2.11. Значение коэффициента, учитывающего используемые технологии разработки (Ктех), определяется исходя из структуры разрабатываемого ПС и технологии взаимодействия компонентов ПС. Значение коэффициента Ктех определяется по формуле:
l
K тех  K стр   K mi ,
(3.9)
i 1
где Кстр – коэффициент, учитывающий структуру разрабатываемого программного
средства (таблица 3.21);
Ктi – коэффициент, учитывающий i-ую технологию взаимодействия компонентов ПС (таблица 3.22);
i  1  m - количество используемых технологий взаимодействия компонентов
ПС.
Таблица 3.21
Значения коэффициента,
учитывающего структуру разрабатываемого программного средства (Кстр)
Тип структуры
Значения Кстр
Монолитное ПС
ПС с набором библиотек
Многокомпонентное ПС, функционирующее в рамках одной рабочей
станции
Многокомпонентное ПС, работающее в соответствии с архитектурой
«клиент-сервер»
Распределенное программное средство
Распределенное программное средство, функционирующее на неоднородном аппаратном обеспечении
0,70
1,00
1,10
1,25
1,60
1,85
Таблица 3.22
Значения коэффициента,
учитывающего технологию взаимодействия компонентов ПС (Кт.)
Технологии
Оригинальный протокол взаимодействия (sockets)
Использование Интернет протоколов
Удаленный вызов процедур (RPC)
Брокер запросов (CORBA)
Объектно-ориентированные технологии (COM/DCOM)
Значения Кт
0,80
0,40
0,45
0,30
0,35
3.2.12. На основе рассчитанной базовой трудоемкости разработки ПС ( Tбаз ) определяются трудоемкости отдельных подпроцессов разработки. На трудоемкость подпро-
46
цессов оказывают влияние различные факторы. Влияние этих факторов на трудоемкость
подпроцессов учитывается с помощью поправочных коэффициентов уровня подпроцесса.
3.2.13. Трудоемкость подпроцесса «Анализ требований к ПС» (Т1) определяется по
формуле:
T1  A * Tбаз * K квал.ан * K опыт.ан ,
(3.10)
где Tбаз – базовая трудоемкость разработки ПС, определяемая в соответствии с
пунктом 3.2.10;
Кквал ан – поправочный коэффициент, учитывающий уровень квалификации аналитиков (таблица 3.23);
Копыт ан – поправочный коэффициент, учитывающий опыт работы аналитиков в
данной предметной области (таблица 3.24);
А – поправочный коэффициент, рассчитанный на основе собранной статистики
в подразделениях Банка России в 2003-2004 годах (А = 0,01).
Таблица 3.23
Значения коэффициента, учитывающего уровень квалификации аналитиков (Кквал ан)
Уровень квалификации аналитиков
Значение Кквал ан
Крайне низкий
Очень низкий
Низкий
Средний
Высокий
Очень высокий
Исключительно высокий
1,60
1,34
1,15
1,00
0,87
0,74
0,66
Примечание. Аналитики – часть персонала организации, занятая в разработке технических требований, высокоуровневом проектировании и составлении рабочего плана. Основными характеристиками, которые следует рассмотреть при определении категории для данного параметра, являются способность к проектированию и анализу, производительность и аккуратность, а также коммуникабельность и способность к совместной работе.
Таблица 3.24
Значения коэффициента,
учитывающего опыт работы аналитиков в данной предметной области (Копыт ан)
Уровень опыта
Опыт работы аналитика
Значение Копыт ан
работы аналитика
Очень низкий
не более 1 законченного проекта
1,19
Низкий
1-2 законченных проекта
1,07
Средний
3-4 законченных проекта
1,00
Высокий
5 законченных проектов
0,87
Очень высокий
более 5 законченных проектов
0,81
47
3.2.14. Трудоемкость подпроцесса «Проектирование» (Т2) определяется по формуле:
T2  A *Tбаз * K квал.пр * K опыт.пр * K ср.пр ,
(3.11)
где Tбаз – базовая трудоемкость разработки ПС, определяемая в соответствии с
пунктом 3.2.10;
Кквал пр – поправочный коэффициент, учитывающий уровень квалификации проектировщиков (таблица 3.25);
Копыт пр – поправочный коэффициент, учитывающий опыт работы проектировщиков с используемыми средствами проектирования (таблица 3.26).
Кср пр – поправочный коэффициент, учитывающий используемые средства проектирования (таблица 3.27);
А – поправочный коэффициент, рассчитанный на основе собранной статистики
в подразделениях Банка России в 2003-2004 годах (А = 0,12).
Таблица 3.25
Значения коэффициента,
учитывающего уровень квалификации проектировщиков (Кквал пр)
Уровень квалификации проектировщиков
Значение Кквал пр
Крайне низкий
1,32
Очень низкий
1,20
Низкий
1,09
Средний
1,00
Высокий
0,92
Очень высокий
0,83
Исключительно высокий
0,77
Примечание. При определении уровня квалификации кроме квалификации необходимо учесть
эффективность работы, скрупулезность, коммуникабельность и способность работать в коллективе.
Таблица 3.26
Значения коэффициента,
учитывающего опыт работы проектировщиков
с используемыми средствами проектирования (Копыт пр)
Уровень опыта
работы
Опыт работы проектировщика
Значение Копыт пр
проектировщика
Очень низкий
не более 1 законченного проекта
1,11
Низкий
1-2 законченных проекта
1,04
Средний
3-4 законченных проекта
1,00
Высокий
5 законченных проектов
0,92
Очень высокий
более 5 законченных проектов
0,88
48
Таблица 3.27
Значения коэффициента, учитывающего используемые средства проектирования (Кср пр)
Средства проектирования
Значения Кср пр
Средства проектирования не использовались
Средства проектирования БД (BPWIN, ERWIN/ERX, Designer
2000, DataDirect Explorer, Oracle Designer, Silverrun RBM и BPM,
Together J)
Средства проектирования типа: Microsoft Visual Modeler, Cadre
OMT)
Объектно-ориентированные CASE- средства (Rational Rose, dbUIM/X)
1,06
1,03
0,93
0,84
3.2.15. Трудоемкость подпроцесса «Программирование» (Т3) определяется по формуле:
T3  A * Tбаз * K квал.прог * Kср ,
(3.12)
где Tбаз – базовая трудоемкость разработки ПС, определяемая в соответствии с
3.2.10;
Кквал
прог
– поправочный коэффициент, учитывающий уровень квалификации
программистов (таблица 3.28);
Кср - поправочный коэффициент, учитывающий используемую среду разработки
(таблица 3.29);
А – поправочный коэффициент, рассчитанный на основе собранной статистики
в подразделениях Банка России в 2003-2004 годах (А = 0,79).
Таблица 3.28
Значения коэффициента, учитывающего уровень квалификации программистов (Кквал прог)
Уровень квалификации программистов
Значение Кквал прог
Крайне низкий
Очень низкий
Низкий
Средний
Высокий
Очень высокий
Исключительно высокий
1,18
1,11
1,05
1,00
0,95
0,89
0,86
Примечание. Оценка должна сроиться на возможностях программистов как членов группы, а не
индивидуальных возможностях каждого программиста. При определении уровня квалификации
кроме квалификации необходимо учесть эффективность работы, скрупулезность, коммуникабельность и способность работать в коллективе.
49
Таблица 3.29
Значения коэффициента, учитывающего используемую среду разработки (Кср)
Значение
Используемая среда разработки
Кср
Простые средства редактирования (Notepad, vi), необходимость написания
1,06
make-файлов
Мощные текстовые редакторы (UltraEdit, MultiEdit, XEmacs), средства ав1,04
томатизации создания make-файлов (JAM)
Интегрированные среды разработки (Visual Studio)
1,00
Мощные интегрированные среды разработки с возможностью объектно0,95
ориентированного проектирования и автоматической генерацией кода (dbUIM/X, Borland JBuilder)
3.2.16. Трудоемкость подпроцесса «Тестирование» (Т4) определяется по формуле:
T4  A * Tбаз * K квал.тест * K БД * K ср.тс
(3.13)
где Tбаз – базовая трудоемкость разработки ПС, определяемая в соответствии с
пунктом 3.2.10;
Кквал
тест
– поправочный коэффициент, учитывающий уровень квалификации
персонала, осуществляющего тестирование (таблица 3.30);
Кср.
тс
– поправочный коэффициент, учитывающий используемые средства те-
стирования (таблица 3.31);
КБД – коэффициент, учитывающий размер БД (таблица 3.32);
А – поправочный коэффициент, рассчитанный на основе собранной статистики
в подразделениях Банка России в 2003-2004 годах (А = 0,07).
Таблица 3.30
Значения коэффициента,
учитывающего уровень квалификации персонала,
осуществляющего тестирование (Кквал тест)
Уровень квалификации персонала,
Значение Кквал тест
осуществляющего тестирование
Крайне низкий
1,50
Очень низкий
1,30
Низкий
1,13
Средний
1,00
Высокий
0,89
Очень высокий
0,76
Исключительно высокий
0,69
Примечание. При определении уровня квалификации кроме квалификации необходимо учесть
эффективность работы, скрупулезность, коммуникабельность и способность работать в коллективе.
50
Таблица 3.31
Значения поправочного коэффициента,
учитывающего используемые средства тестирования (Кср. тс)
Средства тестирования
Значения К
ср. тс
Автоматизированные средства тестирования не использовались
Автоматизированные средства тестирования использовались
1,00
0,76
Таблица 3.32
Значения коэффициента, учитывающего размер БД (КБД)
Отношение объема тестовых данных в БД к
объему ПС,
Значение
Размер БД
байты/количество строк исходного текста
КБД
(D/P)
Низкий
< 10
0,95
Средний
10<=D/P<100
1,0
Высокий
100<=D/P<1000
1,08
Очень высокий
D/P>=1000
1,15
Примечание. Объем данных в БД высчитывается исходя из размера одной записи и количества записей. Размер одной записи высчитывается исходя из используемых типов полей таблиц и
количества типов в каждом поле
3.2.17. Трудоемкость подпроцесса «Ввод в действие ПС» (Т5) определяется по
формуле:
T5  A * Tбаз * K квал.в н ,
(3.14)
где Tбаз – базовая трудоемкость разработки ПС, определяемая в соответствии с
пунктом 3.2.10;
Кквал вн – поправочный коэффициент, учитывающий уровень квалификации персонала, осуществляющего ввод в действие ПС (таблица 3.33);
А – поправочный коэффициент, рассчитанный на основе собранной статистики
в подразделениях Банка России в 2003-2004 годах (А = 0,01).
51
Таблица 3.33
Значения коэффициента,
учитывающего уровень квалификации персонала,
осуществляющего ввод в действие ПС (Кквал вн)
Уровень квалификации персонала,
Значение Кквал вн
осуществляющего ввод в действие ПС
1,16
Крайне низкий
Очень низкий
1,09
Низкий
1,02
Средний
1,00
Высокий
0,94
Очень высокий
0,88
Исключительно высокий
0,87
Примечание. При определении уровня квалификации кроме квалификации необходимо учесть
эффективность работы, скрупулезность, коммуникабельность и способность работать в коллективе.
3.2.18. Исходя из рассчитанных трудоемкостей подпроцессов разработки ПС (Т1,
Т2, Т3, Т4, Т5, см. пункты 3.2.13-3.2.17) в зависимости от заданных ограничений определяются либо сроки, необходимые для реализации подпроцессов разработки ПС, либо количество разработчиков.
Ограничением может быть одно из следующих:
-
задано (ограничено) число разработчиков для каждого подпроцесса разработки
ПС;
-
заданы сроки реализации подпроцессов разработки ПС.
Срок реализации подпроцесса разработки ПС (в месяцах) определяется по формуле:
Тi
,
(3.15)
Ni * Ф
где ti – время, необходимое для реализации i-го подпроцесса разработки ПС (месяцы);
ti 
Тi – трудоемкость i-го подпроцесса разработки ПС (чел.-дни);
Ni – количество разработчиков, принимающих участие в разработке ПС в ходе i-го
подпроцесса;
Ф – фонд времени одного разработчика в течение месяца, дней/месяц;
i  1 5 .
Если сроки разработки ПС заданы, то их соблюдения добиваются путем подбора
нужного количества разработчиков для каждого подпроцесса разработки ПС.
52
Количество разработчиков для каждого подпроцесса разработки ПС определяется по
формуле:
Тi
,
(3.16)
ti * Ф
где Ni – количество разработчиков, необходимое для реализации i-го подпроцесса разNi 
работки ПС;
ti – время, реализации i-го подпроцесса разработки ПС (месяцы);
Тi – трудоемкость i-го подпроцесса разработки ПС (чел.-дни);
Ф – фонд времени одного разработчика в течение месяца, дней/месяц;
i  1 5 .
3.2.19. Трудоемкость процесса разработки ПС (Т) складывается из трудоемкостей
отдельных подпроцессов разработки (Т1, Т2, Т3, Т4, Т5, см. пункты 3.2.13-3.2.17):
u
T  Ti
(3.17)
i 1
где
Тi – трудоемкость i-го подпроцесса разработки ПС;
i 1  u – количество подпроцессов разработки ПС (в Методике u = 5).
3.2.20. Срок реализации ПС (в месяцах) (t) определяется по формуле:
u
t   ti
(3.18)
i 1
где
ti – время, реализации i-го подпроцесса разработки ПС (месяцы);
i 1  u – количество подпроцессов разработки ПС (в Методике u = 5).
3.2.21. Увеличение сроков разработки по сравнению с расчетными, как правило, не
приводит к изменению суммарных трудозатрат на разработку ПС. Однако в случае сокращения сроков выполнения плана работ по разработке ПС существует тенденция к увеличению трудозатрат как на ранних этапах проекта (с тем, чтобы свести на нет дополнительные риски и улучшить архитектуру), так и на поздних этапах при параллельном проведении дополнительных испытаний и составлении документации. В этом случае трудоемкость процесса разработки ПС следует скорректировать по следующей формуле:
Тсрок = Т * Кср,
где Тсрок – трудоемкость с учетом сроков разработки;
Т – трудоемкость процесса разработки;
(3.19)
53
Кср – коэффициент, учитывающий влияние сроков работ на трудоемкость
(таблица 3.34).
Таблица 3.34
Значения коэффициента, учитывающего
влияние сроков работ на трудоемкость (Кср)
Продолжительность работ по сравнению с номинальной, %
меньше или равно 75
от 76 до 85
от 86 до 99
больше или равно 100
Значение Кср
1,43
1,14
1,05
1,00
Пример расчета трудоемкости разработки ПС приведен в Приложении 1 к настоящей
Методике.
54
4. ОЦЕНКА ТРУДОЕМКОСТИ СОПРОВОЖДЕНИЯ ПРОГРАММНЫХ
СРЕДСТВ
4.1. Общие положения
4.1.1. Методика охватывает основные работы процесса сопровождения, а также
вспомогательные и организационные процессы, относящиеся к сопровождению ПС. Основные работы процесса сопровождения:
- подготовка процесса;
- анализ проблем и изменений;
- внесение изменений;
- проверка и приемка при сопровождении;
- перенос;
- снятие с эксплуатации.
Вспомогательные процессы:
1) Документирование – процесс формализованного описания информации, созданной в процессе или работе жизненного цикла. Данный процесс состоит из
набора работ, при помощи которых планируют, проектируют, разрабатывают,
выпускают, редактируют, распространяют и сопровождают те документы, в
которых нуждаются все заинтересованные лица.
2) Обеспечение качества – процесс обеспечения соответствующих гарантий того,
что ПС и процессы в жизненном цикле проекта соответствуют установленным
требованиям и утвержденным планам. Обеспечение качества должно быть организационно и полномочно независимым от субъектов, непосредственно связанных с разработкой ПС.
Организационные процессы:
1) Управление – процесс, состоящий из общих работ и задач, которые могут
быть использованы любой стороной, управляющей соответствующим процессом. Администратор отвечает за управление ПС, проектом, работами и задачам соответствующего процесса.
2) Создание инфраструктуры – процесс установления и обеспечения инфраструктуры, необходимой для любого другого процесса. Инфраструктура мо-
55
жет содержать технические и программные средства, инструментальные средства, методики, стандарты и условия для разработки.
3) Усовершенствование – процесс установления, оценки, измерения, контроля и
улучшения любого процесса жизненного цикла ПС.
4) Обучение – процесс обеспечения первоначального и продолженного обучения
персонала. Должно быть запланировано и заранее выполнено обучение персонала с целью готовности его к работам по разработке ПС.
4.1.2. Методика может применяться для расчета трудоемкости сопровождения программных средств, разработанных в Банке России, и программных средств, приобретенных для Банка России.
4.1.3. Трудоемкость работ процесса сопровождения ПС рассчитывается с учетом
следующих факторов:
-
сложность ПС;
-
язык программирования и другие средства разработки ПС;
-
наличие аналогов ПС;
-
степень участия службы сопровождения в разработке ПС;
-
характер поставки ПС;
-
характер внедрения ПС;
-
полнота тестирования ПС;
-
количество сопровождаемых рабочих мест.
Перечень поправочных коэффициентов, учитывающих влияние вышеперечисленных
факторов, приведен в таблице 4.1.
56
Таблица 4.1
Перечень поправочных коэффициентов,
учитываемых при расчете трудоемкостей работ процесса сопровождения ПС,
в разрезе учитываемых факторов
Факторы, учитываемые при расчете
Поправочные коэффициенты,
трудоемкостей работ процесса
учитывающие влияние фактора
сопровождения ПС
сложность ПС
коэффициент, учитывающий сложность ПС
коэффициент, учитывающий язык проЯзык программирования и другие средства
граммирования и другие средства разработразработки ПС
ки ПС
коэффициент, учитывающий наличие в
наличие аналогов ПС
фонде программ аналогов данного ПС
коэффициент, учитывающий степень участепень участия службы сопровождения в
стия службы сопровождения в разработке
разработке ПС
ПС
коэффициент, учитывающий характер похарактер поставки ПС
ставки ПС
коэффициент,
учитывающий
характер
характер внедрения ПС
внедрения ПС
коэффициент, учитывающий количество
количество сопровождаемых рабочих мест
сопровождаемых рабочих мест
коэффициент, учитывающий полноту теполнота тестирования ПС
стирования ПС
Поправочный коэффициент представляет собой дискретную величину. Значения поправочных коэффициентов выбираются из соответствующих таблиц Методики, приведенных в пункте 4.2.
Поправочные коэффициенты используются для уточнения значения трудоемкости
сопровождения ПС. Если для определения уровня какого-либо поправочного коэффициента отсутствуют необходимые данные, то следует принять значение этого коэффициента
равным единице и таким образом, не учитывать его влияние при расчете трудоемкости.
Все поправочные коэффициенты имеют одинаковый уровень влияния – уровень работы процесса сопровождения.
4.1.4. Процесс сопровождения может осуществляться отдельной организацией, сопровождающей ПС, или совместно участниками системы сопровождения: Опорным центром по сопровождению и разработчиками ПС.
Если процесс сопровождения ПС осуществляется организацией, сопровождающей
ПС, то все задачи работ по сопровождению ПС выполняются данной организацией.
Если в процессе сопровождения ПС участвуют Опорный центр по сопровождению и
разработчики ПС, то работы (задачи) по сопровождению распределяются между ними.
57
Распределение работ (задач) между Опорными центрами по сопровождению и разработчиками ПС приведено в пунктах 4.2.2 – 4.2.7.
4.1.5. Для расчета трудоемкости сопровождения ПС необходимо знать полный
объем этого программного средства (т.е. сумма строк кода, написанного разработчиком,
сгенерированного автоматически, используемого из библиотек и т.д.).
4.1.6. . Если полный объем ПС неизвестен, то сначала определяется объем кода ПС,
написанного разработчиком в соответствии с пп. 3.2.1-3.2.2. Затем с помощью таблицы
переводных коэффициентов, сформированной на основе результатов обработки собранной
статистики в подразделениях Банка России в 2003-2004 годах (табл. 4.2), рассчитывается
полный объем ПС по формуле, приведенной в п.4.1.7. Коэффициенты в таблице сгруппированы по типам средств разработки.
Таблица 4.2
Таблица переводных коэффициентов для расчета объема сопровождаемого ПС
Средства разработки
Коэффициент
A
1
1.024
8.001
Коэффициент
С
1
1.0076
0.8243
C++
Языки 4GL (Visual С++,Visual Basic, VBA, Delphi)
Visual FoxPro
Системы программирования на основе СУБД типа FoxPro
1.07
0.9946
(Clipper, Clarion)
Системы программирования на основе СУБД типа Oracle,
1.1757
0.9886
SqlServer, Informix
HTML/CSS
1
1
Java
1.105
0.9911
*) Примечание1: Указанные в таблице средства разработки обозначают группу средств подобного типа. Поэтому, если имеется средство разработки, непосредственно не указанное в левом
столбце, то его необходимо самостоятельно отнести к какой-либо из групп, наиболее близкой по
уровню используемого языка. Если сделать это невозможно (либо затруднительно), то поправочные коэффициенты A и C принять равными единице.
Примечание 2. Из таблицы были исключены те языки программирования, по которым не была
произведена статистическая обработка в силу малого объема выборки (малый объем выборки объясняется тем, что данный язык программирования не используется либо используется крайне редко при разработке программных средств для подразделений Банка России).
4.1.7. Расчет объема сопровождаемого ПС выполняется по формуле:
n
Vсопр   Ai (V разрki ) Ci
(4.1)
i 1
где Vразр – объем программного средства, который оно будет иметь после завершения процесса разработки;
n – количество используемых средств разработки;
58
ki – весовой коэффициент средства разработки – определяет объем части ПС,
разрабатываемый с помощью этого средства разработки;
Ai, Ci переводные коэффициенты, рассчитанные на основе результатов обработки собранной статистики в подразделениях Банка России в 2003-2004 годах;
4.2. Порядок расчета трудоемкости сопровождения ПС
4.2.1. Трудоемкость сопровождения ПС складывается из трудоемкостей следующих работ процесса сопровождения:
- подготовка процесса;
- анализ проблем и изменений;
- внесение изменений;
- проверка и приемка при сопровождении;
- перенос;
- снятие с эксплуатации.
4.2.2. Порядок расчета трудоемкости работы «Подготовка процесса»
Работа «Подготовка процесса» включает следующие задачи:
1) разработка, документальное оформление и выполнение плана и процедуры для
проведения работ и задач процесса сопровождения;
2) определение процедур для: получения, документирования и контроля сообщений о возникающих проблемах и заявок на внесение изменений от пользователей; обеспечение обратной связи с пользователями;
3) реализация процесса управления конфигурацией для управления изменениями
существующей системы.
Работа «Подготовка процесса» выполняется Опорным центром по сопровождению.
Трудоемкость работы «Подготовка процесса» (Тпп) в чел.-днях определяется по формуле:
Tпп  V C *VDB * K сл.пп * K ан.пп * K уч.пп ,
(4.2)
где V – объем ПС в строках исходного текста (как написанного разработчиком
вручную, так и сгенерированного автоматически);
VD – объем документации в строках (только эксплуатационная документация и
документация сопровождения);
59
Ксл.пп – коэффициент этапа подготовки процесса, учитывающий сложность ПС
(таблица 4.3);
Кан.пп – учитывающий наличие в фонде программ аналогов данного ПС (таблица 4.4);
Куч.пп – коэффициент этапа подготовки процесса, характеризующий степень
участия службы сопровождения в разработке ПС (таблица 4.5);
B, С – поправочные коэффициенты, рассчитанные на основе собранной статистики в подразделениях Банка России в 2003-2004 годах (B = 0,10, С = 0,17).
Таблица 4.3
Значения коэффициента этапа подготовки процесса, учитывающего сложность ПС (Ксл.пп)
Уровень
Характеристики ПС
Ксл.пп
сложности ПС
1
2
3
Очень низкий
Низкий
Средний
Код без циклов, с небольшим количеством не вложенных структурированных операторов: DO, CASE, IF-THEN-ELSE. Упрощенная схема взаимодействия модулей посредством вызова процедур и упрощенных сценариев
Вычисление упрощенных выражений: например, A=B+C*(D-E)
Упрощенные операторы чтения, записи с простыми форматами
Простые массивы в основной памяти. Простые запросы на обновление
Простые формы, генераторы отчетов
Простое вложение структурированных операторов. Применение, в основном,
простых предикатов
Вычисление выражений средней сложности (одномерные массивы)
Не требуется никакой информации о характеристиках конкретного типа
процессоров или устройств ввода/вывода. Ввод/вывод осуществляется на
уровне команд GET/PUT
Использование единственного файла без изменения структуры данных, без
редактирования. Промежуточные файлы не используются. Запросы на обновление и запросы SQL умеренной сложности.
Использование простых средств построения интерфейса пользователя
Применение, в основном, простого вложения и нескольких средств межмодульного взаимодействия, логических таблиц, простых функций обратного
вызова или обмена сообщениями, включая распределенную обработку на
основе промежуточного ПО
Использование стандартных математических и статистических процедур.
Основные операции с матрицами/векторами
Операции ввода/вывода включают выбор устройства, проверка его состояния и обработку ошибок.
Многофайловый ввод и однофайловый вывод. Простые структурные изменения, простые правки. Сложные запросы на обновление и запросы SQL.
Использование простых (стандартных) элементов управления
0,79
0,85
1,00
1
2
3
Высокий
Многократное вложение структурированных операторов с множеством составных предикатов. Управление очередью и стеком. Однородная распределенная обработка. Мягкие требования к режиму однопроцессорной обработки в реальном времени.
Базовые элементы численного анализа: многомерная интерполяция, обыкновенные дифференциальные уравнения, простые случаи усечения и округления
Операции ввода/вывода на физическом уровне (трансляция физических адресов хранения данных; операции поиска, чтения, и т.д.). Оптимизированное
совмещение ввода/вывода.
1,12
60
Очень
высокий
Сверхвысокий
Простые триггеры, активизируемые содержанием потоков данных. Сложное
реструктурирование данных
Разработка новых элементов управления и усовершенствование существующих. Простой голосовой ввод/вывод, мультимедиа
Использование методов написания программ на основе рекурсии и многократного входа в программу. Обработка прерываний фиксированного приоритета, синхронизация задач, сложные функции обратного вызова, разнородная распределенная обработка. Жесткие требования к режиму однопроцессорной обработки в реальном времени
Сложный, но структурированный численный анализ, матричные уравнения
близкие к сингулярным, дифференциальные уравнения в частных производных. Простое распараллеливание
Процедуры для определения, обработки и маскирования прерываний.
Управление каналом связи. Встроенные системы с определенными требованиями к производительности
Управление распределенными базами данных. Сложные триггеры. Оптимизация поиска.
Двух/трехмерная графика средней сложности, динамическая графика, мультимедиа.
Сложное управление ресурсами с динамически изменяющимися приоритетами. Управление на уровне микрокоманд. Жесткие требования к режиму
распределенной обработки
Сложный и неструктурированный численный анализ: высокоточный анализ
стохастических данных. Сложное распараллеливание.
Написание управляющего кода, работающего синхронно с устройством,
программирование на уровне микроопераций. Встроенные системы, критичные к производительности
Сильно связанные динамические реляционные и объектные структуры. Речевое управление данными.
Сложная мультимедийная информация, виртуальная реальность, интерфейс
речевого управления
1,24
1,51
Таблица 4.4
Значения коэффициента,
учитывающего наличие в фонде программ аналогов данного ПС (Кан.пп)
N
п/п
1
2
N
п/п
1
2
3
4
Признак наличия аналогов
Кан.пп
Есть
Нет
1,00
1,18
Таблица 4.5
Значения коэффициента этапа подготовки процесса, учитывающего
степень участия службы сопровождения в разработке ПС (Куч.пп)
Характеристика степени участия
Куч.пп
службы сопровождения (ССо) в разработке ПС
ССо разрабатывала ПС или значительную его часть
0,68
ССо участвовала в разработке ПС на правах соисполнителя
0,85
ССо в разработке ПС не участвовала, но имела информацию о
1,00
ходе разработки и принимала участие в испытаниях ПС
ССо в разработке ПС не участвовала. Информации о разработке
1,15
до момента сдачи в фонд не имелось
4.2.3. Порядок расчета трудоемкости работы «Анализ проблем и изменений»
61
Перечень задач работы:
1) Регистрация и классификация поступающих заявок (предложений) пользователей на доработку ПС;
2) Воспроизведение ошибок на технологическом стенде организации, осуществляющей сопровождение ПС;
3) Описание обнаруженных ошибок;
4) Определение сроков устранения ошибок и выполнения работ по доработке ПС.
Задачи «Регистрация и классификация поступающих заявок (предложений) пользователей на доработку ПС», «Воспроизведение ошибок на технологическом стенде организации, осуществляющей сопровождение ПС», «Описание обнаруженных ошибок» выполняются Опорным центром по сопровождению.
Задача «Определение сроков устранения ошибок и выполнения работ по доработке
ПС» выполняется разработчиками ПС совместно с Опорным центром по сопровождению.
Трудоемкость работы «Анализ проблем и изменений» (Тан) в чел.-днях определяется по формуле:
Tан  V C *VDB * Kсл.ан * K хв.ан * K те.ан * K уч.ан ,
(4.3)
где V – объем ПС в строках исходного текста (как написанного разработчиком
вручную, так и сгенерированного автоматически);
VD – объем документации в строках (только эксплуатационная документация и
документация сопровождения);
Ксл.ан – коэффициент этапа анализа проблем и изменений, учитывающий сложность ПС (таблица 4.6);
Куч.ан – коэффициент этапа анализа проблем и изменений, характеризующий
степень участия службы сопровождения в разработке ПС (таблица 4.7);
Кхв.ан – коэффициент, учитывающий характер внедрения ПС (таблица 4.8);
Кте.ан – коэффициент, учитывающий полноту тестирования ПС(таблица 4.9);
B, С – поправочные коэффициенты, рассчитанные на основе собранной статистики в подразделениях Банка России в 2003-2004 годах (B = 0,15, С = 0,01).
Таблица 4.6
Значения коэффициента этапа анализа проблем и изменений, учитывающего сложность
ПС (Ксл.ан)
Уровень
Характеристики ПС
Ксл.ан
сложности ПС
62
1
Очень низкий
Низкий
Средний
2
Код без циклов, с небольшим количеством не вложенных структурированных операторов: DO, CASE, IF-THEN-ELSE. Упрощенная схема взаимодействия модулей посредством вызова процедур и упрощенных сценариев
Вычисление упрощенных выражений: например, A=B+C*(D-E)
Упрощенные операторы чтения, записи с простыми форматами
Простые массивы в основной памяти. Простые запросы на обновление
Простые формы, генераторы отчетов
Простое вложение структурированных операторов. Применение, в основном,
простых предикатов
Вычисление выражений средней сложности (одномерные массивы)
Не требуется никакой информации о характеристиках конкретного типа
процессоров или устройств ввода/вывода. Ввод/вывод осуществляется на
уровне команд GET/PUT
Использование единственного файла без изменения структуры данных, без
редактирования. Промежуточные файлы не используются. Запросы на обновление и запросы SQL умеренной сложности.
Использование простых средств построения интерфейса пользователя
Применение, в основном, простого вложения и нескольких средств межмодульного взаимодействия, логических таблиц, простых функций обратного
вызова или обмена сообщениями, включая распределенную обработку на
основе промежуточного ПО
Использование стандартных математических и статистических процедур.
Основные операции с матрицами/векторами
Операции ввода/вывода включают выбор устройства, проверка его состояния и обработку ошибок.
Многофайловый ввод и однофайловый вывод. Простые структурные изменения, простые правки. Сложные запросы на обновление и запросы SQL.
Использование простых (стандартных) элементов управления
3
0,58
0,68
1,00
63
1
Высокий
Очень
высокий
Сверхвысокий
N
п/п
1
2
3
4
2
Многократное вложение структурированных операторов с множеством составных предикатов. Управление очередью и стеком. Однородная распределенная обработка. Мягкие требования к режиму однопроцессорной обработки в реальном времени.
Базовые элементы численного анализа: многомерная интерполяция, обыкновенные дифференциальные уравнения, простые случаи усечения и округления
Операции ввода/вывода на физическом уровне (трансляция физических адресов хранения данных; операции поиска, чтения, и т.д.). Оптимизированное
совмещение ввода/вывода.
Простые триггеры, активизируемые содержанием потоков данных. Сложное
реструктурирование данных
Разработка новых элементов управления и усовершенствование существующих. Простой голосовой ввод/вывод, мультимедиа
Использование методов написания программ на основе рекурсии и многократного входа в программу. Обработка прерываний фиксированного приоритета, синхронизация задач, сложные функции обратного вызова, разнородная распределенная обработка. Жесткие требования к режиму однопроцессорной обработки в реальном времени
Сложный, но структурированный численный анализ, матричные уравнения
близкие к сингулярным, дифференциальные уравнения в частных производных. Простое распараллеливание
Процедуры для определения, обработки и маскирования прерываний.
Управление каналом связи. Встроенные системы с определенными требованиями к производительности
Управление распределенными базами данных. Сложные триггеры. Оптимизация поиска.
Двух/трехмерная графика средней сложности, динамическая графика, мультимедиа.
Сложное управление ресурсами с динамически изменяющимися приоритетами. Управление на уровне микрокоманд. Жесткие требования к режиму
распределенной обработки
Сложный и неструктурированный численный анализ: высокоточный анализ
стохастических данных. Сложное распараллеливание.
Написание управляющего кода, работающего синхронно с устройством,
программирование на уровне микроопераций. Встроенные системы, критичные к производительности
Сильно связанные динамические реляционные и объектные структуры. Речевое управление данными.
Сложная мультимедийная информация, виртуальная реальность, интерфейс
речевого управления
3
1,32
1,67
2,35
Таблица 4.7
Значения коэффициента этапа анализа проблем и изменений, учитывающего
степень участия службы сопровождения в разработке ПС (Куч.ан)
Характеристика степени участия
Куч.ан
службы сопровождения (ССо) в разработке ПС
ССо разрабатывала ПС или значительную его часть
0,41
ССо участвовала в разработке ПС на правах соисполнителя
0,68
ССо в разработке ПС не участвовала, но имела информацию о
1,00
ходе разработки и принимала участие в испытаниях ПС
ССо в разработке ПС не участвовала. Информации о разра1,38
ботке до момента сдачи в фонд не имелось
64
Таблица 4.8
Значения коэффициента, учитывающего характер внедрения ПС (Кхв.ан)
N
п/п
1
2
3
4
Характер внедрения ПС
Кхв.ан
Локальное внедрение ПС
Внедрение ПС в составе комплекса невзаимосвязанных ПС
Внедрение ПС в составе комплекса взаимосвязанных ПС
Внедрение ПС как компонентов разрабатываемой или
функционирующей системы обработки информации (СОИ),
связанной с другими компонентами
1,00
1,18
1,59
3,38
Таблица 4.9
Значения коэффициента, учитывающего полноту тестирования ПС (Кте.ан)
N
п/п
1
2
3
4
5
6
7
8
9
Характеристика полноты тестирования
Кте.ан
Тестирование некоторых функций ПС (до 30%)
Тестирование значительной части функций ПС (30-70%)
Тестирование всех основных функций ПС
Тестирование режимов с рабочей нагрузкой
Тестирование режимов с пиковой нагрузкой
Тестирование всех режимов
Тестирование режимов с рабочей нагрузкой с разработкой
специальных ПС
Тестирование режимов с пиковой нагрузкой с разработкой
специальных ПС
Тестирование всех режимов с разработкой специальных ПС
1,00
1,81
2,54
2,04
3,38
6,90
9,04
9,04
14,06
4.2.4. Порядок расчета трудоемкости работы «Внесение изменений»
Перечень задач работы:
1) Внесение изменений в ПС;
2) Внесение изменений в технорабочую документацию;
3) Тестирование и отладка ПС;
4) Формирование обновлений ПС.
Задачи работы «Внесение изменений» выполняются разработчиками ПС.
Трудоемкость работы «Внесение изменений» (Твн) в чел.-днях определяется по
формуле:
n
Tвн  V * V * V
C
B
D
E
Доп
k K
*
i 1
i
n
раз i
* K сл.вн * K уч.вн ,
(4.4)
где V – объем ПС в строках исходного текста (как написанного разработчиком
вручную, так и сгенерированного автоматически);
65
VD – объем документации в строках (только эксплуатационная документация и
документация сопровождения);
VДоп – объем доработок (количество строк исходного текста, написанных разработчиком вручную (без учета кода, сгенерированного автоматически, использованного из
библиотек, повторно используемого и покупного ПО) ;
Ксл.вн – коэффициент этапа внесения изменений, учитывающий сложность ПС
(таблица 4.10);
Куч.вн – коэффициент этапа внесения изменений, характеризующий степень
участия службы сопровождения в разработке ПС (таблица 4.11);
n – количество используемых средств разработки;
ki – весовой коэффициент средства разработки – определяет объем части ПС,
разрабатываемый с помощью этого средства разработки;
Краз i – коэффициент, учитывающий язык программирования и средства разработки ПС (таблица 4.12);
B, С, Е – поправочные коэффициенты, рассчитанные на основе собранной статистики в подразделениях Банка России в 2003-2004 годах (B = 0,07, С = 0,43, Е = 0,06).
Таблица 4.10
Значения коэффициента этапа внесения изменений, учитывающего сложность ПС (Ксл.вн)
Уровень
Характеристики ПС
Ксл.вн
сложности ПС
1
2
3
Очень низкий
Низкий
Код без циклов, с небольшим количеством не вложенных структурированных операторов: DO, CASE, IF-THEN-ELSE. Упрощенная схема взаимодействия модулей посредством вызова процедур и упрощенных сценариев
Вычисление упрощенных выражений: например, A=B+C*(D-E)
Упрощенные операторы чтения, записи с простыми форматами
Простые массивы в основной памяти. Простые запросы на обновление
Простые формы, генераторы отчетов
Простое вложение структурированных операторов. Применение, в основном,
простых предикатов
Вычисление выражений средней сложности (одномерные массивы)
Не требуется никакой информации о характеристиках конкретного типа
процессоров или устройств ввода/вывода. Ввод/вывод осуществляется на
уровне команд GET/PUT
Использование единственного файла без изменения структуры данных, без
редактирования. Промежуточные файлы не используются. Запросы на обновление и запросы SQL умеренной сложности.
Использование простых средств построения интерфейса пользователя
0,86
0,90
66
1
Средний
Высокий
Очень
высокий
Сверхвысокий
2
Применение, в основном, простого вложения и нескольких средств межмодульного взаимодействия, логических таблиц, простых функций обратного
вызова или обмена сообщениями, включая распределенную обработку на
основе промежуточного ПО
Использование стандартных математических и статистических процедур.
Основные операции с матрицами/векторами
Операции ввода/вывода включают выбор устройства, проверка его состояния и обработку ошибок.
Многофайловый ввод и однофайловый вывод. Простые структурные изменения, простые правки. Сложные запросы на обновление и запросы SQL.
Использование простых (стандартных) элементов управления
Многократное вложение структурированных операторов с множеством составных предикатов. Управление очередью и стеком. Однородная распределенная обработка. Мягкие требования к режиму однопроцессорной обработки в реальном времени.
Базовые элементы численного анализа: многомерная интерполяция, обыкновенные дифференциальные уравнения, простые случаи усечения и округления
Операции ввода/вывода на физическом уровне (трансляция физических адресов хранения данных; операции поиска, чтения, и т.д.). Оптимизированное
совмещение ввода/вывода.
Простые триггеры, активизируемые содержанием потоков данных. Сложное
реструктурирование данных
Разработка новых элементов управления и усовершенствование существующих. Простой голосовой ввод/вывод, мультимедиа
Использование методов написания программ на основе рекурсии и многократного входа в программу. Обработка прерываний фиксированного приоритета, синхронизация задач, сложные функции обратного вызова, разнородная распределенная обработка. Жесткие требования к режиму однопроцессорной обработки в реальном времени
Сложный, но структурированный численный анализ, матричные уравнения
близкие к сингулярным, дифференциальные уравнения в частных производных. Простое распараллеливание
Процедуры для определения, обработки и маскирования прерываний.
Управление каналом связи. Встроенные системы с определенными требованиями к производительности
Управление распределенными базами данных. Сложные триггеры. Оптимизация поиска.
Двух/трехмерная графика средней сложности, динамическая графика, мультимедиа.
Сложное управление ресурсами с динамически изменяющимися приоритетами. Управление на уровне микрокоманд. Жесткие требования к режиму
распределенной обработки
Сложный и неструктурированный численный анализ: высокоточный анализ
стохастических данных. Сложное распараллеливание.
Написание управляющего кода, работающего синхронно с устройством,
программирование на уровне микроопераций. Встроенные системы, критичные к производительности
Сильно связанные динамические реляционные и объектные структуры. Речевое управление данными.
Сложная мультимедийная информация, виртуальная реальность, интерфейс
речевого управления
3
1,00
1,08
1,15
1,31
67
N
п/п
1
2
3
4
Таблица 4.11
Значения коэффициента этапа внесения изменений, учитывающего
степень участия службы сопровождения в разработке ПС (Куч.вн)
Характеристика степени участия
Куч.вн
службы сопровождения (ССо) в разработке ПС
ССо разрабатывала ПС или значительную его часть
0,78
ССо участвовала в разработке ПС на правах соисполнителя
0,90
ССо в разработке ПС не участвовала, но имела информацию о
1,00
ходе разработки и принимала участие в испытаниях ПС
ССо в разработке ПС не участвовала. Информации о разработ1,09
ке до момента сдачи в фонд не имелось
Таблица 4.12
Значения коэффициента,
учитывающего язык программирования и средства разработки ПС (К.раз)
Средства разработки ПС*)
Значения К.раз
Языки низкого уровня (Assembler)
1,38
Процедурные языки высокого уровня (Pascal, C)
1,14
С#
0,93
C++
1,00
Microsoft Visual С++
0,91
Borland C++
0,87
PowerBuilder
0,87
Языки 4GL (Visual Basic, VBA, Delphi)
0,75
Visual FoxPro
0,81
Системы программирования на основе СУБД типа FoxPro (Clipper,
0,66
Clarion)
Встроенные в ПО макроязыки
0,78
Системы программирования на основе СУБД типа Oracle, SqlServer,
0,70
Informix
Командные скриптовые языки
0,83
HTML/CSS (без использования редакторов)
0,78
HTML/CSS (с использованием редакторов)
0,66
XML/XSLT
0,75
Java
0,94
JavaScript
0,81
Cкриптовые языки для WEB (ASP, PHP, Pearl)
0,85
SQL
0,72
*)Примечание. Указанные в таблице средства разработки обозначают группу средств подобного
типа. Поэтому, если имеется средство разработки, непосредственно не указанное в левом столбце,
то его необходимо самостоятельно отнести к какой-либо из групп, наиболее близкой по уровню
используемого языка.
Трудоемкость реализации процесса разработки зависит от объема доработок, который определяется путем экспертных оценок с привлечением специалистов службы сопровождения, участвовавших в испытаниях ПС. На объем доработок влияют такие факторы,
как количество пользователей и частота изменений ПС (в случае смены требований зако-
68
нодательства, изменения технологии и т.п.). Как правило, объем доработок не должен
превышать 20% объема ПС.
4.2.5. Порядок расчета трудоемкости работы «Проверка и приемка при сопровождении»
Перечень задач работы:
1) Поставка обновлений (изменений) ПС;
2) Тестирование обновлений (изменений) ПС;
3) Тиражирование обновлений (изменений) ПС.
Задача «Поставка обновлений (изменений) ПС» выполняется разработчиками ПС.
Задача «Тестирование обновлений (изменений) ПС» выполняется Опорным центром
по сопровождению.
Задача «Тиражирование обновлений (изменений) ПС» выполняется разработчиками
ПС или Опорным центром по сопровождению.
Трудоемкость работы «Проверка и приемка при сопровождении» (Тпс) в чел.-днях
определяется по формуле:
Tпc  V C * K сл.пс * K те.пс * K хв.пс ,
(4.5)
где V – объем ПС в строках исходного текста (как написанного разработчиком
вручную, так и сгенерированного автоматически);
Ксл.пс – коэффициент этапа проверки и приемки при сопровождении, учитывающий сложность ПС (таблица 4.13);
Кхв.пс – коэффициент этапа проверки и приемки при сопровождении, учитывающий характер внедрения ПС (таблица 4.14);
Кте.пс – коэффициент, учитывающий полноту тестирования ПС (таблица 4.15);
С – поправочный коэффициент, рассчитанный на основе собранной статистики
в подразделениях Банка России в 2003-2004 годах (С = 0,27).
69
Таблица 4.13
Значения коэффициента этапа проверки и приемки при сопровождении, учитывающего
сложность ПС (Ксл.пс)
Уровень
Характеристики ПС
Ксл.пс
сложности ПС
1
2
3
Очень низкий
Низкий
Средний
Высокий
Код без циклов, с небольшим количеством не вложенных структурированных операторов: DO, CASE, IF-THEN-ELSE. Упрощенная схема взаимодействия модулей посредством вызова процедур и упрощенных сценариев
Вычисление упрощенных выражений: например, A=B+C*(D-E)
Упрощенные операторы чтения, записи с простыми форматами
Простые массивы в основной памяти. Простые запросы на обновление
Простые формы, генераторы отчетов
Простое вложение структурированных операторов. Применение, в основном,
простых предикатов
Вычисление выражений средней сложности (одномерные массивы)
Не требуется никакой информации о характеристиках конкретного типа
процессоров или устройств ввода/вывода. Ввод/вывод осуществляется на
уровне команд GET/PUT
Использование единственного файла без изменения структуры данных, без
редактирования. Промежуточные файлы не используются. Запросы на обновление и запросы SQL умеренной сложности.
Использование простых средств построения интерфейса пользователя
Применение, в основном, простого вложения и нескольких средств межмодульного взаимодействия, логических таблиц, простых функций обратного
вызова или обмена сообщениями, включая распределенную обработку на
основе промежуточного ПО
Использование стандартных математических и статистических процедур.
Основные операции с матрицами/векторами
Операции ввода/вывода включают выбор устройства, проверка его состояния и обработку ошибок.
Многофайловый ввод и однофайловый вывод. Простые структурные изменения, простые правки. Сложные запросы на обновление и запросы SQL.
Использование простых (стандартных) элементов управления
Многократное вложение структурированных операторов с множеством составных предикатов. Управление очередью и стеком. Однородная распределенная обработка. Мягкие требования к режиму однопроцессорной обработки в реальном времени.
Базовые элементы численного анализа: многомерная интерполяция, обыкновенные дифференциальные уравнения, простые случаи усечения и округления
Операции ввода/вывода на физическом уровне (трансляция физических адресов хранения данных; операции поиска, чтения, и т.д.). Оптимизированное
совмещение ввода/вывода.
Простые триггеры, активизируемые содержанием потоков данных. Сложное
реструктурирование данных
Разработка новых элементов управления и усовершенствование существующих. Простой голосовой ввод/вывод, мультимедиа
0,92
0,94
1,00
1,04
70
1
Очень
высокий
Сверхвысокий
2
Использование методов написания программ на основе рекурсии и многократного входа в программу. Обработка прерываний фиксированного приоритета, синхронизация задач, сложные функции обратного вызова, разнородная распределенная обработка. Жесткие требования к режиму однопроцессорной обработки в реальном времени
Сложный, но структурированный численный анализ, матричные уравнения
близкие к сингулярным, дифференциальные уравнения в частных производных. Простое распараллеливание
Процедуры для определения, обработки и маскирования прерываний.
Управление каналом связи. Встроенные системы с определенными требованиями к производительности
Управление распределенными базами данных. Сложные триггеры. Оптимизация поиска.
Двух/трехмерная графика средней сложности, динамическая графика, мультимедиа.
Сложное управление ресурсами с динамически изменяющимися приоритетами. Управление на уровне микрокоманд. Жесткие требования к режиму
распределенной обработки
Сложный и неструктурированный численный анализ: высокоточный анализ
стохастических данных. Сложное распараллеливание.
Написание управляющего кода, работающего синхронно с устройством,
программирование на уровне микроопераций. Встроенные системы, критичные к производительности
Сильно связанные динамические реляционные и объектные структуры. Речевое управление данными.
Сложная мультимедийная информация, виртуальная реальность, интерфейс
речевого управления
3
1,08
1,17
Таблица 4.14
Значения коэффициента этапа проверки и приемки при сопровождении, учитывающего
характер внедрения ПС (Кхв.пс)
N
Характер внедрения ПС
Кхв.пс
п/п
1
Локальное внедрение ПС
1,00
2
Внедрение ПС в составе комплекса невзаимосвязанных ПС
1,03
3
Внедрение ПС в составе комплекса взаимосвязанных ПС
1,08
4
Внедрение ПС как компонентов разрабатываемой или функ1,21
ционирующей системы обработки информации (СОИ), связанной с другими компонентами
71
Таблица 4.15
Значения коэффициента, учитывающего полноту тестирования ПС (Кте.пс)
N
п/п
1
2
3
4
5
6
7
8
9
Характеристика полноты тестирования
Кте.пс
Тестирование некоторых функций ПС (до 30%)
Тестирование значительной части функций ПС (30-70%)
Тестирование всех основных функций ПС
Тестирование режимов с рабочей нагрузкой
Тестирование режимов с пиковой нагрузкой
Тестирование всех режимов
Тестирование режимов с рабочей нагрузкой с разработкой
специальных ПС
Тестирование режимов с пиковой нагрузкой с разработкой
специальных ПС
Тестирование всех режимов с разработкой специальных ПС
1,00
1,10
1,16
1,12
1,21
1,34
1,42
1,42
1,52
4.2.6. Порядок расчета трудоемкости работы «Перенос»
Перечень задач работы:
1) Разработка плана переноса;
2) Уведомление пользователей о планах и работах по переносу;
3) Обучение специалистов пользователя работе в новой среде;
4) Архивация прежних программ и документации;
5) Анализ влияния перехода к новой среде.
Трудоемкость работы «Перенос» (Тп) в чел.-днях определяется по формуле:
Tп  V C *VDB * Kсл.п * K хп.п * K рм.п ,
(4.6)
где V – объем ПС в строках исходного текста (как написанного разработчиком
вручную, так и сгенерированного автоматически);
VD – объем документации в строках (только эксплуатационная документация и
документация сопровождения);
Ксл.п – коэффициент этапа переноса, учитывающий сложность ПС (таблица
4.16);
Кхп.п – коэффициент этапа переноса, учитывающий характер поставки ПС (таблица 4.17);
Крм.п – коэффициент, учитывающий количество сопровождаемых рабочих
мест (таблица 4.18);
B, С – поправочные коэффициенты, рассчитанные на основе собранной статистики в подразделениях Банка России в 2003-2004 годах (B = 0,34, С = 0,04).
72
Таблица 4.16
Значения коэффициента этапа переноса, учитывающего сложность ПС (Ксл.п)
Уровень
Характеристики ПС
Ксл.п
сложности ПС
1
2
3
Очень низкий
Низкий
Средний
Высокий
Код без циклов, с небольшим количеством не вложенных структурированных операторов: DO, CASE, IF-THEN-ELSE. Упрощенная схема взаимодействия модулей посредством вызова процедур и упрощенных сценариев
Вычисление упрощенных выражений: например, A=B+C*(D-E)
Упрощенные операторы чтения, записи с простыми форматами
Простые массивы в основной памяти. Простые запросы на обновление
Простые формы, генераторы отчетов
Простое вложение структурированных операторов. Применение, в основном,
простых предикатов
Вычисление выражений средней сложности (одномерные массивы)
Не требуется никакой информации о характеристиках конкретного типа
процессоров или устройств ввода/вывода. Ввод/вывод осуществляется на
уровне команд GET/PUT
Использование единственного файла без изменения структуры данных, без
редактирования. Промежуточные файлы не используются. Запросы на обновление и запросы SQL умеренной сложности.
Использование простых средств построения интерфейса пользователя
Применение, в основном, простого вложения и нескольких средств межмодульного взаимодействия, логических таблиц, простых функций обратного
вызова или обмена сообщениями, включая распределенную обработку на
основе промежуточного ПО
Использование стандартных математических и статистических процедур.
Основные операции с матрицами/векторами
Операции ввода/вывода включают выбор устройства, проверка его состояния и обработку ошибок.
Многофайловый ввод и однофайловый вывод. Простые структурные изменения, простые правки. Сложные запросы на обновление и запросы SQL.
Использование простых (стандартных) элементов управления
Многократное вложение структурированных операторов с множеством составных предикатов. Управление очередью и стеком. Однородная распределенная обработка. Мягкие требования к режиму однопроцессорной обработки в реальном времени.
Базовые элементы численного анализа: многомерная интерполяция, обыкновенные дифференциальные уравнения, простые случаи усечения и округления
Операции ввода/вывода на физическом уровне (трансляция физических адресов хранения данных; операции поиска, чтения, и т.д.). Оптимизированное
совмещение ввода/вывода.
Простые триггеры, активизируемые содержанием потоков данных. Сложное
реструктурирование данных
Разработка новых элементов управления и усовершенствование существующих. Простой голосовой ввод/вывод, мультимедиа
0,81
0,86
1,00
1,11
73
1
Очень
высокий
Сверхвысокий
2
Использование методов написания программ на основе рекурсии и многократного входа в программу. Обработка прерываний фиксированного приоритета, синхронизация задач, сложные функции обратного вызова, разнородная распределенная обработка. Жесткие требования к режиму однопроцессорной обработки в реальном времени
Сложный, но структурированный численный анализ, матричные уравнения
близкие к сингулярным, дифференциальные уравнения в частных производных. Простое распараллеливание
Процедуры для определения, обработки и маскирования прерываний.
Управление каналом связи. Встроенные системы с определенными требованиями к производительности
Управление распределенными базами данных. Сложные триггеры. Оптимизация поиска.
Двух/трехмерная графика средней сложности, динамическая графика, мультимедиа.
Сложное управление ресурсами с динамически изменяющимися приоритетами. Управление на уровне микрокоманд. Жесткие требования к режиму
распределенной обработки
Сложный и неструктурированный численный анализ: высокоточный анализ
стохастических данных. Сложное распараллеливание.
Написание управляющего кода, работающего синхронно с устройством,
программирование на уровне микроопераций. Встроенные системы, критичные к производительности
Сильно связанные динамические реляционные и объектные структуры. Речевое управление данными.
Сложная мультимедийная информация, виртуальная реальность, интерфейс
речевого управления
3
1,22
1,45
Таблица 4.17
Значения коэффициента этапа переноса, учитывающего характер поставки ПС (Кхп.п)
N
Кхп.п
Характер поставки
п/п
1
Локальная поставка стандартного комплекта ПС или поставка
1,00
в комплекте с несвязанными ПС
2
Локальная поставка нестандартного комплекта ПС
1,13
3
Поставка стандартного комплекта ПС в составе комплекса
1,25
взаимосвязанных ПС
4
Поставка нестандартного комплекта ПС в составе комплекса
1,37
взаимосвязанных ПС
5
Поставка комплекта ПС как компонента системы обработки
1,43
информации (СОИ), не связанного с другими компонентами
6
Поставка комплекта ПС как компонента СОИ, связанного с
1,49
другими компонентами поставки
7
Поставка комплекта ПС как компонента СОИ, связанного с
другими компонентами поставки и с уже функционирующими
1,54
компонентами СОИ
Примечание: Локальная поставка стандартного комплекта ПС или поставка в комплекте с
несвязанными ПС подразумевает поставку комплекта ПС в базовом варианте (ориентированном
на потребности большинства пользователей данного класса ПО) либо поставку комплекта ПС, в
котором каждое отдельное ПС может функционировать независимо от других, входящих в состав
данного комплекта.
Локальная поставка нестандартного комплекта ПС подразумевает поставку ПС в расширенном (по сравнению с базовым) варианте, и ориентированным на потребности конкретного пользо-
74
вателя. Например, дополнительно в комплекте могут поставляться различные тестовые примеры,
средства отладки и настройки, предназначенные для оптимизации комплекта ПС под нужды конкретного пользователя либо небольшой группы пользователей (фирмы, предприятия и т.п.)
Поставка стандартного комплекта ПС в составе комплекса взаимосвязанных ПС подразумевает поставку комплекта ПС в базовом варианте, в котором отдельные ПС могут функционировать
только совместно друг с другом и не могут использоваться самостоятельно.
Поставка нестандартного комплекта ПС в составе комплекса взаимосвязанных ПС подразумевает поставку ПС в расширенном (по сравнению с базовым) варианте, ориентированным на потребности конкретного пользователя, в котором отдельные ПС могут функционировать только
совместно друг с другом (не могут использоваться самостоятельно).
Поставка комплекта ПС как компонента системы обработки информации (СОИ), не связанного с другими компонентами подразумевает поставку, как части функционирующей сложной системы такой комплект ПС, в котором каждое отдельное ПС может функционировать независимо
от других, входящих в состав данного комплекта.
Поставка комплекта ПС как компонента СОИ, связанного с другими компонентами поставки подразумевает поставку, как части функционирующей сложной системы такой комплект ПС, в
котором отдельные ПС могут функционировать только совместно друг с другом и не могут использоваться самостоятельно.
Поставка комплекта ПС как компонента СОИ, связанного с другими компонентами поставки
и с уже функционирующими компонентами СОИ, подразумевает поставку, как части функционирующей сложной системы, такого комплекта ПС, в котором отдельные ПС могут функционировать только совместно друг с другом и не могут использоваться самостоятельно, а также тех, работа, которых оказывает влияние на другие компоненты СОИ, и на которые влияет работа других
компонентов СОИ.
Таблица 4.18
Значения коэффициента,
учитывающего количество сопровождаемых рабочих мест (Крм.п)
N
п/п
1
2
3
Количество сопровождаемых рабочих мест
Крм.п
1
2–4
больше 4
1,00
1,10
1,30
4.2.7. Порядок расчета трудоемкости работы «Снятие с эксплуатации»
Перечень задач работы:
1) Разработка и оформление плана снятия с эксплуатации;
2) Уведомление пользователя о планах и работах по снятию с эксплуатации;
3) Обучение пользователей в течение периода параллельной эксплуатации прежнего и нового программных средств;
4) Архивация связанной с прежним объектом документации разработки, журналов
регистрации и программ.
Трудоемкость работы «Снятие с эксплуатации» (Тсн) в чел.-днях определяется по
формуле:
Т сн  V C * VDB * K сл.сн * K хп.сн ,
(4.7)
75
где V – объем ПС в строках исходного текста (как написанного разработчиком
вручную, так и сгенерированного автоматически);
VD – объем документации в строках (только эксплуатационная документация и
документация сопровождения);
Ксл.сн – коэффициент этапа снятия с эксплуатации, учитывающий сложность ПС
(таблица 4.19);
Кхп.сн – коэффициент этапа снятия с эксплуатации, учитывающий характер поставки ПС (таблица 4.20);
B, С – поправочные коэффициенты, рассчитанные на основе собранной статистики в подразделениях Банка России в 2003-2004 годах (B = 0,11, С =0,04).
76
Таблица 4.19
Значения коэффициента этапа снятия с эксплуатации, учитывающего сложность ПС
(Ксл.сн)
Уровень
Характеристики ПС
Ксл.сн
сложности ПС
1
2
3
Очень низкий
Низкий
Средний
Высокий
Код без циклов, с небольшим количеством не вложенных структурированных операторов: DO, CASE, IF-THEN-ELSE. Упрощенная схема взаимодействия модулей посредством вызова процедур и упрощенных сценариев
Вычисление упрощенных выражений: например, A=B+C*(D-E)
Упрощенные операторы чтения, записи с простыми форматами
Простые массивы в основной памяти. Простые запросы на обновление
Простые формы, генераторы отчетов
Простое вложение структурированных операторов. Применение, в основном,
простых предикатов
Вычисление выражений средней сложности (одномерные массивы)
Не требуется никакой информации о характеристиках конкретного типа
процессоров или устройств ввода/вывода. Ввод/вывод осуществляется на
уровне команд GET/PUT
Использование единственного файла без изменения структуры данных, без
редактирования. Промежуточные файлы не используются. Запросы на обновление и запросы SQL умеренной сложности.
Использование простых средств построения интерфейса пользователя
Применение, в основном, простого вложения и нескольких средств межмодульного взаимодействия, логических таблиц, простых функций обратного
вызова или обмена сообщениями, включая распределенную обработку на
основе промежуточного ПО
Использование стандартных математических и статистических процедур.
Основные операции с матрицами/векторами
Операции ввода/вывода включают выбор устройства, проверка его состояния и обработку ошибок.
Многофайловый ввод и однофайловый вывод. Простые структурные изменения, простые правки. Сложные запросы на обновление и запросы SQL.
Использование простых (стандартных) элементов управления
Многократное вложение структурированных операторов с множеством составных предикатов. Управление очередью и стеком. Однородная распределенная обработка. Мягкие требования к режиму однопроцессорной обработки в реальном времени.
Базовые элементы численного анализа: многомерная интерполяция, обыкновенные дифференциальные уравнения, простые случаи усечения и округления
Операции ввода/вывода на физическом уровне (трансляция физических адресов хранения данных; операции поиска, чтения, и т.д.). Оптимизированное
совмещение ввода/вывода.
Простые триггеры, активизируемые содержанием потоков данных. Сложное
реструктурирование данных
Разработка новых элементов управления и усовершенствование существующих. Простой голосовой ввод/вывод, мультимедиа
0,43
0,55
1,00
1,52
77
1
Очень
высокий
Сверхвысокий
2
Использование методов написания программ на основе рекурсии и многократного входа в программу. Обработка прерываний фиксированного приоритета, синхронизация задач, сложные функции обратного вызова, разнородная распределенная обработка. Жесткие требования к режиму однопроцессорной обработки в реальном времени
Сложный, но структурированный численный анализ, матричные уравнения
близкие к сингулярным, дифференциальные уравнения в частных производных. Простое распараллеливание
Процедуры для определения, обработки и маскирования прерываний.
Управление каналом связи. Встроенные системы с определенными требованиями к производительности
Управление распределенными базами данных. Сложные триггеры. Оптимизация поиска.
Двух/трехмерная графика средней сложности, динамическая графика, мультимедиа.
Сложное управление ресурсами с динамически изменяющимися приоритетами. Управление на уровне микрокоманд. Жесткие требования к режиму
распределенной обработки
Сложный и неструктурированный численный анализ: высокоточный анализ
стохастических данных. Сложное распараллеливание.
Написание управляющего кода, работающего синхронно с устройством,
программирование на уровне микроопераций. Встроенные системы, критичные к производительности
Сильно связанные динамические реляционные и объектные структуры. Речевое управление данными.
Сложная мультимедийная информация, виртуальная реальность, интерфейс
речевого управления
3
2,18
4,38
Таблица 4.20
Значения коэффициента этапа снятия с эксплуатации, учитывающего характер поставки
ПС (Кхп.сн)
N
Характер поставки
Кхп.сн
п/п
1
Локальная поставка стандартного комплекта ПС или постав1,0
ка в комплекте с несвязанными ПС
2
Локальная поставка нестандартного комплекта ПС
1,63
3
Поставка стандартного комплекта ПС в составе комплекса
2,45
взаимосвязанных ПС
4
Поставка нестандартного комплекта ПС в составе комплекса
3,50
взаимосвязанных ПС
5
Поставка комплекта ПС как компонента системы обработки
4,11
информации (СОИ), не связанного с другими компонентами
6
Поставка комплекта ПС как компонента СОИ, связанного с
4,79
другими компонентами поставки
7
Поставка комплекта ПС как компонента СОИ, связанного с
другими компонентами поставки и с уже функционирующи5,54
ми компонентами СОИ
Примечание: Локальная поставка стандартного комплекта ПС или поставка в комплекте с
несвязанными ПС подразумевает поставку комплекта ПС в базовом варианте (ориентированном
на потребности большинства пользователей данного класса ПО) либо поставку комплекта ПС, в
котором каждое отдельное ПС может функционировать независимо от других, входящих в состав
данного комплекта.
78
Локальная поставка нестандартного комплекта ПС подразумевает поставку ПС в расширенном (по сравнению с базовым) варианте, и ориентированным на потребности конкретного пользователя. Например, дополнительно в комплекте могут поставляться различные тестовые примеры,
средства отладки и настройки, предназначенные для оптимизации комплекта ПС под нужды конкретного пользователя либо небольшой группы пользователей (фирмы, предприятия и т.п.)
Поставка стандартного комплекта ПС в составе комплекса взаимосвязанных ПС подразумевает поставку комплекта ПС в базовом варианте, в котором отдельные ПС могут функционировать
только совместно друг с другом и не могут использоваться самостоятельно.
Поставка нестандартного комплекта ПС в составе комплекса взаимосвязанных ПС подразумевает поставку ПС в расширенном (по сравнению с базовым) варианте, ориентированным на потребности конкретного пользователя, в котором отдельные ПС могут функционировать только
совместно друг с другом (не могут использоваться самостоятельно).
Поставка комплекта ПС как компонента системы обработки информации (СОИ), не связанного с другими компонентами подразумевает поставку, как части функционирующей сложной системы такой комплект ПС, в котором каждое отдельное ПС может функционировать независимо
от других, входящих в состав данного комплекта.
Поставка комплекта ПС как компонента СОИ, связанного с другими компонентами поставки подразумевает поставку, как части функционирующей сложной системы такой комплект ПС, в
котором отдельные ПС могут функционировать только совместно друг с другом и не могут использоваться самостоятельно.
Поставка комплекта ПС как компонента СОИ, связанного с другими компонентами поставки
и с уже функционирующими компонентами СОИ, подразумевает поставку, как части функционирующей сложной системы, такого комплекта ПС, в котором отдельные ПС могут функционировать только совместно друг с другом и не могут использоваться самостоятельно, а также тех, работа, которых оказывает влияние на другие компоненты СОИ, и на которые влияет работа других
компонентов СОИ.
4.2.8. Исходя из рассчитанных трудоемкостей работ по сопровождению ПС (Т1,
Т2, Т3, Т4, Т5, Т6 см. пункты 4.2.2-4.2.7) для каждой работы сопровождения ПС определяется количество разработчиков по формуле:
Тi
,
(4.8)
ti * Ф
где Ni – количество разработчиков, необходимое для реализации i-й работы сопровожNi 
дения ПС;
ti – время, реализации i-й работы сопровождения ПС (месяцы);
Тi – трудоемкость i-й работы сопровождения ПС (чел.-дни);
Ф – фонд времени одного разработчика в течение месяца, дней/месяц;
i  1 6 .
4.2.9. Трудоемкость процесса сопровождения ПС (Т) складывается из трудоемкостей отдельных работ сопровождения (Т1, Т2, Т3, Т4, Т5, Т6, см. пункты 4.2.2-4.2.7):
u
T  Ti
(4.9)
i 1
где
Тi – трудоемкость i-й работы сопровождения ПС;
i 1  u – количество работ сопровождения ПС (в Методике u = 6).
79
Пример расчета трудоемкости сопровождения ПС приведен в Приложении 2 к
настоящей Методике.
80
ПРИЛОЖЕНИЕ 1
ПРИМЕРЫ РАСЧЕТА ТРУДОЕМКОСТИ РАЗРАБОТКИ ПС
Ниже приведены расчеты трудоемкости разработки ПС «Расчет экономических показателей коммерческих банков» (ПС «Комбанк») по методикам 1996 года, 2001 года и
2004 года.
1. Пример расчета по методике 1996 года
Разработка ПС «Комбанк» предусматривает проведение всех стадий разработки
ПС, кроме стадии «Эскизный проект».
Исходные данные:
1) Состав функций, реализуемых ПС «Комбанк»:
а) формирование базы данных о коммерческих банках;
б) ввод данных в интерактивном режиме;
в) обработка записей базы данных (корректировка, удаление записей);
г) поиск в базе данных по заданным условиям;
д) расчет экономических показателей банков;
е) вывод результатов расчета в табличной форме на экран и на печать.
2) Все функции разрабатываются с использованием системы программирования
на базе СУБД FoxPro.
3) ПС «Комбанк» имеет следующие характеристики:
–
оно разрабатывается на известном разработчикам типе ЭВМ (на ПЭВМ типа IBM
PC) и в известной ОС (MS-DOS), но при отсутствии известных разработчикам аналогов, т.е. коэффициент новизны Кн = 1,1 (см. таблицу 2.1);
–
в составе ПС «Комбанк» планируется использовать некоторые типовые программные модули (например, для ввода данных в интерактивном режиме), охватывающие не более 20% всех функций ПС «Комбанк», поэтому коэффициент Кт = 0,9
(см. таблицу 2.3);
–
расчет показателей коммерческих банков не является особо сложным, поэтому согласно таблице 2.5 ПС «Комбанк» следует отнести к 3-й группе сложности;
–
в ПС «Комбанк» предусматривается выдача на экран меню функций ПС и различных подсказок пользователю, поэтому по таблице 2.6 определяем единственный
коэффициент повышения сложности ПС:
81
Кi = 0,06
и затем в соответствии с пунктом 2.2.10 определяем коэффициент сложности ПС:
Ксл = 1 + 0,06 = 1,06;
–
коэффициенты удельного веса трудоемкости стадий разработки ПС в общей трудоемкости разработки ПС принимаются по таблице 2.2.
По каталогу функций ПС (таблица 2.7, графа 3) определяем объем каждой из функ-
ций разрабатываемого ПС «Комбанк», указанных выше в пункте 2.3.2, и сводим эти данные в таблицу.
NN
п/п
1
2
3
4
5
6
Таблица объемов функций разрабатываемого ПС
Номер
Наименование (содержание)
функции
функции
по таблице
2.7
Формирование базы данных о банках
204
Ввод данных в интерактивном режиме
103
Обработка записей базы данных
205
Поиск в базе данных по заданным условиям
206
Расчет экономических показателей банков
302
Вывод результатов расчета в табличной форме на
104
экран и на печать
Общий объем ПС (сумма объемов функций), Vо
Объем
функции,
усл. маш.
команд
5580
1680
2750
10560
8650
3740
32960
Согласно формуле (8) пункта 2.2.11 определяем общий объем разрабатываемого
ПС (Vo) как сумму объемов входящих в него функций:
Vo = V1 + ... + V6 = 32960 (условных машинных команд - УМК).
По таблице 2.4 для 3-й группы сложности ПС и для объема ПС Vo = 32960 УМК
определяем значение базовой трудоемкости разработки ПС:
а) для Vо = 32000 УМК Тб = 1364 чел.-дня (норма № 21);
б) для Vo = 34000 УМК Тб = 1465 чел.-дней (норма № 22);
в) методом интерполяции определяем, что для Vo = 32960 УМК Тб = 1412 чел.-дней.
По таблице 2.8 определяем поправочный коэффициент Кур на пересечении вертикальной графы «Персональные ЭВМ (IBM PC-совместимые)» и горизонтальной графы
«Системы программирования на основе СУБД типа FoxPro»:
Кур = 0,15.
Рассчитываем скорректированное значение трудоемкости разработки ПС с учетом
конкретных условий и средств разработки (согласно формуле (6) пункта 2.2.7):
Тур = Тб * Кур = 1412 * 0,15 = 212 (чел.-дней).
82
В соответствии с пунктом 2.2.2 (перечисление 3г), для ПС «Комбанк» определен
единственный коэффициент повышения сложности Кi = 0,06, поэтому согласно пункту
2.2.10 вычисляем коэффициент сложности ПС:
Ксл = 1 + 0,06 = 1,06.
Рассчитываем приближенную общую трудоемкость разработки ПС (согласно формуле (5) пункта 2.2.6):
То = Тур * Ксл = 212 * 1,06 = 225 (чел.-дней).
По таблице 2.2 с учетом отсутствия стадии ЭП определяем удельные веса трудоемкости стадий:
L1 = 0.12 (ТЗ);
L3'= L2 + L3 = 0,53 (ТП);
L4 = 0,26 (РП);
L5 = 0.09 (ВН).
По формулам (2) пункта 2.2.2 определяем трудоемкость каждой стадии разработки
ПС «Комбанк» (с учетом того, что согласно пункту 2.3.2 Кн = 1,1 и Кт = 0,9):
Т1 = 30 ч-д. (ТЗ);
Т3 = 131 ч-д. (ТП);
Т4 = 58 ч-д. (РП);
Т5 = 22 ч-д. (ВН).
Пусть запланированы следующие сроки реализации стадий:
ТЗ - 1 мес.,
ТП - 3 мес.,
РП - 1 мес.,
ВН - 1 мес.
Тогда, исходя из рассчитанной трудоемкости стадий и с учетом того, что в календарном месяце содержится примерно 22 рабочих дня, потребуется следующая численность исполнителей на каждой стадии:
ТЗ - 2 чел.,
ТП - 2 чел.,
РП - 3 чел.,
ВН - 1 чел.
2. Пример расчета по методике 2001 года
Определить трудоемкость разработки и среднюю численность разработчиков ПС
«Расчет экономических показателей банков» (ПС «Комбанк»).
Разработка ПС «КОМБАНК» предусматривает проведение всех стадий разработки:
-
анализ;
-
проектирование;
-
программирование;
-
тестирование;
-
внедрение.
83
Исходные данные:
Состав функций, реализуемых ПС «КОМБАНК»:
а) реализация стандартного графического интерфейса;
б) функции, обеспечивающие взаимодействие с системой управления базами
данных;
в) расчет экономических показателей.
Все функции разрабатываются с использованием системы программирования на
базе СУБД FoxPro.
По каталогу функций ПС (таблица 4.3) определяем объем каждой из функций разрабатываемого ПС «КОМБАНК» и сводим эти данные в таблицу.
NN
п/п
1
2
3
4
Таблица объемов функций разрабатываемого ПС
Объем
функции,
Наименование (содержание)
Количество
строк
функции
функций
исходн.
текста
Реализация стандартного графического интерфейса (многооконное прило5000
1
жение)
Создание и изменение схемы БД, кон900
1
троль и восстановление целостности
Ведение базы данных:
чтение
10
20
модификация
15
20
Расчет экономических показателей
20
50
Суммарный
объем
функции,
строк исходн.
текста
5000
900
200
300
1000
Определяем общий объем разрабатываемого ПС (Vo) как сумму объемов входящих
в него функций:
Vo = V1 + V2 + V3 +V4= 7400 (строк исходного текста).
По таблице 4.1 и для объема ПС Vo = 7400 строк исходного текста определяем значение базовой трудоемкости разработки ПС:
Норм= 558 чел.-дней
Расчет показателей коммерческих банков не является особо сложным, поэтому согласно таблице 4.4:
Ксложн=1,0
Базовая трудоемкость равна:
Тб=Норм*Ксложн=558 чел.-дней
Общая трудоемкость разработки определяется
84
То = Тб * Кн *Ккач
По таблице 4.5 определяем значение коэффициента новизны (при условии, что ПС
«КОМБАНК» разрабатывается на известном разработчикам типе ЭВМ и в известной ОС):
Кн = 0,7
Значение Ккач является произведением коэффициентов Кнад,, Кпроизв , Кдокум и Кпик,,
значения которых выбираются из таблиц 4.6 – 4.9:
-
коэффициент, учитывающий требования к надежности ПС
Кнад=1,1
-
коэффициент, учитывающий требования к производительности ПС
Кпроизв=1,0
-
коэффициент, учитывающий требования к уровню информативности документации на фазах жизненного цикла ПС
Кдокум=1,0
-
коэффициент повторного использования программных компонентов
Кпик=1,15
Общая трудоемкость разработки будет равна
То=558*0,7*1,1*1,0*1,0*1,15=494 чел.-дня
Трудоемкость разработки ПС с учетом конкретных условий разработки (Тур) рассчитывается по формуле:
Тур = То * Кср.упр.жиз*Кср.разр
Значение поправочного коэффициента, учитывающего использование средств
управления жизненным циклом, выбирается из таблицы 4.10:
Кср.упр.жиз=1,17
Значение поправочного коэффициента, учитывающего конкретные условия и средства разработки ПС, выбирается из таблицы 4.11:
Кср.разр=0,35
Подсчитываем Тур
Тур=494*1,17*0,35=202 чел.-дня
По таблице 4.14 определяем коэффициенты удельного веса трудоемкости стадий
разработки ПС в общей трудоемкости:
L1 = 0,2;
L2 = 0,15;
L3'= 0,2;
L4 = 0,4;
85
L5 = 0,05.
Рассчитываем трудоемкости отдельных стадий
Т1 = 40ч-д.;
Т2= 30 ч-д.
Т3 = 40 ч-д.;
Т4 = 81 ч-д.;
Т5 = 11 ч-д.
Пусть запланированы следующие сроки реализации стадий:
Анализ - 2 мес.,
Проектирование - 2 мес.,
Программирование - 2 мес.,
Тестирование – 2 мес.,
Внедрение – 0,5 мес.
Тогда, исходя из рассчитанной трудоемкости стадий и с учетом того, что в календарном месяце содержится примерно 22 рабочих дня, потребуется следующая численность исполнителей на каждой стадии:
Анализ - 1 чел.,
Проектирование – - 2 чел.,
Программирование - 1 чел.,
Тестирование – 2 чел.,
Внедрение – 1 чел.
3. Пример расчета по настоящей методике
Определить трудоемкость разработки и среднюю численность разработчиков ПС
«Расчет экономических показателей банков» (ПС «Комбанк»).
Разработка ПС «КОМБАНК» предусматривает проведение всех подпроцессов процесса разработки:
-
анализ требований к ПС;
-
проектирование;
-
программирование;
-
тестирование;
-
ввод в действие ПС.
Исходные данные:
Состав функций, реализуемых ПС «КОМБАНК»:
а) формирование базы данных;
б) ввод данных в интерактивном режиме;
в) обработка записей базы данных;
г) поиск в базе данных;
86
д) статистическая обработка данных;
е) формирование отчетов.
Все функции разрабатываются с использованием системы программирования на
базе СУБД FoxPro.
По каталогу функций ПС (таблица 3.3) определяем объем каждой из функций разрабатываемого ПС «КОМБАНК» и сводим эти данные в таблицу.
NN
п/п
1
2
3
4
5
6
Таблица объемов функций разрабатываемого ПС
Объем
Скорректированный
функции,
Число
Наименование (содержание)
объем функции,
строк
реализаций
функции
строк исходн.
исходн.
функции
текста
текста
Формирование базы данных
1000
1
1000
Ввод данных в интерактивном
2000
1
2000
режиме
Обработка записей базы данных
1000
1
1000
Поиск в базе данных
1000
1
1000
Статистическая обработка дан1500
1
1500
ных
Формирование отчетов
1000
1
1000
Расчет показателей коммерческих банков не является особо сложным, поэтому со-
гласно пункту 3.2.6:
Ксложн=1,0
По таблице 3.5 определяем значение коэффициента, учитывающего конкретные
условия и средства разработки ПС:
Кср.разр=0,58
По таблице 3.6 определяем значение коэффициента, учитывающего опыт работы
программистов с данным средством разработки:
Копыт=1,0
На основании пункта 3.2.4 определяем скорректированные с учетом влияния различных факторов объемы функций разрабатываемого ПС «КОМБАНК» и сводим эти данные в таблицу.
NN
п/п
1
2
3
Таблица объемов функций разрабатываемого ПС
Наименование (содержание)
Скорректированный объем функции,
функции
строк исходн. текста
Формирование базы данных
580
Ввод данных в интерактивном режиме
1160
Обработка записей базы данных
580
87
4
5
6
Поиск в базе данных
Статистическая обработка данных
Формирование отчетов
580
870
580
Определяем общий объем разрабатываемого ПС (Vo) как сумму объемов входящих
в него функций (пункт 3.2.9):
Vo = V1 + V2 + V3 +V4+V5+V6= 4350 (строк исходного текста на условном
языке)
.
Базовая трудоемкость разработки определяется по формуле 9.
По таблице 3.16 определяем значение коэффициента, учитывающего степень новизны ПС (при условии что, ПС «КОМБАНК» разрабатывается на известном разработчикам типе ЭВМ и в известной ОС):
Кн = 1,06
По таблице 3.17 определяем значение коэффициента, учитывающего требования к
надежности ПС:
Кнад=1,06
По таблице 3.18 определяем значение коэффициента, учитывающего требования к
производительности ПС:
Кпроизв=1,0
По таблице 3.19 определяем значение коэффициента, учитывающего требования к
уровню информативности документации на фазах жизненного цикла ПС:
Кдокум=1,0
По таблице 3.20 определяем значение коэффициента, учитывающего опыт разработки программных средств подобного типа:
Кор=1,0
Согласно пункту 3.2.11 определяем значение коэффициента, учитывающего использование технологий разработки:
Ктех=0,7
Базовая трудоемкость разработки будет равна
Тбаз=0,19*4350 0,74*1,06*1,06*1,0*1,0*0,7*1,0=74 чел.-дня
Рассчитываем трудоемкости отдельных подпроцессов (пункты 3.2.13 – 3.2.17)
Т1 = A * Тбаз * Кквал.ан * Копыт.ан = 0,01*74*1,0*1,0 =1ч-д.;
Т2= A * Тбаз * Кквал.пр * Копыт.пр* Кср.пр = 0,12*74*1,0*1,0*1,06 =10 ч-д.
Т3 = A * Тбаз * Кквал.прог* Кср = 0,79*74*1,0*1,0 =59 ч-д.;
Т4 = A * Тбаз * Кквал.тест* КБД * Кср.тс = 0,07*74*1,0*1,0*1,0 =6 ч-д.;
Т5 = A * Тбаз * Кквал.вн = 0,01*74*1,0 =1 ч-д.;
88
Суммируя трудоемкости отдельных подпроцессов, получаем трудоемкость разработки:
Т=77 чел.-дней
Пусть запланированы следующие сроки реализации подпроцессов:
Анализ требований к ПС - 2 мес.,
Проектирование - 2 мес.,
Программирование - 2 мес.,
Тестирование – 2 мес.,
Ввод в действие ПС - 2 мес.
Тогда, исходя из рассчитанной трудоемкости подпроцессов и с учетом того, что в
календарном месяце содержится примерно 22 рабочих дня, потребуется следующая численность исполнителей на каждого подпроцесса:
Анализ требований к ПС - 1 чел.,
Проектирование – - 1 чел.,
Программирование - 3 чел.,
Тестирование – 1 чел.,
Ввод в действие ПС – 1 чел.
4. Комментарий к примерам расчета трудоемкости разработки
1). Трудоемкость, рассчитанная по настоящей Методике, оказалась ниже (примерно на 65%) трудоемкости, рассчитанной по методике 1996 года, и ниже (примерно на
61%) трудоемкости, рассчитанной по методике 2001 года.
Это объясняется следующим:
а) используемый в новой Методике способ позволяет более точно определить количество строк исходного текста, написанного вручную, и не учитывает текст, сгенерированный автоматически;
б) используемая для измерения объема программ единица «строка исходного текста» (вместо «условной машинной команды») позволяет более точно определить объем ПС;
в) при расчете используются уточняющие коэффициенты, отражающие влияние на трудоемкость различных факторов (сложность ПС, средства разработки, требования к качеству и т.д.). В новой Методике их состав значительно расширен, а значения уточнены.
2). Методика 1996 года устарела и ее невозможно использовать для расчета трудоемкости современных ПС. В настоящей Методике учитываются возможность использования современных технологических и языковых средств и архитектура современных ПС. В
89
разделе 5 приложения 1 данной Методики приведен пример расчета трудоемкости разработки такого ПС.
5. Пример расчета трудоемкости разработки ПС
Определить трудоемкость разработки и среднюю численность разработчиков ПС
«Средство тестирования».
Разработка ПС «Средство тестирования» предусматривает проведение всех подпроцессов процесса разработки
-
анализ требований к ПС;
-
проектирование;
-
программирование;
-
тестирование;
-
ввод в действие ПС.
Исходные данные:
-
используется CASE-технология разработки;
-
используются объектно-ориентированные технологии (COM/DCOM);
-
используется Брокер запросов (CORBA);
-
все функции разрабатываются на Visual С++;
-
разрабатываемое ПС является многокомпонентным, работающим в соответствии с архитектурой «клиент-сервер».
90
По каталогу функций ПС (таблица 3.3) определяем объем каждой из функций разрабатываемого ПС «Средство тестирования» и сводим эти данные в таблицу:
№
функ
ции
1
2
3
4
5
6
7
8
9
10
Наименование (содержание)
функции
Реализация стандартного
графического пользовательского интерфейса для диалогового приложения
Реализация стандартного
графического пользовательского интерфейса для многооконное приложения
Создание и изменение схемы базы данных
Обработка записей базы
данных
Обработка сообщений
Обработка распределенных
транзакций
Средства контроля состояния распределенной сети
однородных компонент
Доступ к общей памяти:
В рамках одной машины
В рамках вычислительной сети
Ведение журнала обращений к распределенной системе
Статистическая обработка
данных
Объем функции ПС
(строк исходн. текста)
3000
Число
реализаций
функции
1
3000
10000
1
10000
1000
1
1000
3000
1
3000
200
300
1
1
200
300
200
1
200
50
1
50
200
500
1
1
200
500
5000
2
10000
Скорректированный
объем функции,
строк исходн. текста
ПС «Средство тестирования» относим к высокому уровню сложности, поэтому согласно пункту 3.2.6:
Ксложн=1,1
По таблице 3.5 определяем значение коэффициента, учитывающего конкретные
условия и средства разработки ПС:
Кср.разр=0,89
По таблице 3.6 определяем значение коэффициента, учитывающего опыт работы
программистов с данным средством разработки:
Копыт=1,0
91
На основании пункта 3.2.4 определяем скорректированные с учетом влияния различных факторов объемы функций разрабатываемого ПС «Средство тестирования» и сводим эти данные в таблицу.
NN
п/п
1
1
2
3
4
5
6
1
7
8
9
10
Таблица объемов функций разрабатываемого ПС
Наименование (содержание)
Скорректированный объем функции,
функции
строк исходн. текста
2
3
Реализация стандартного графического
2937
пользовательского интерфейса для диалогового приложения
Реализация стандартного графического
9790
пользовательского интерфейса для многооконное приложения
Создание и изменение схемы базы данных
979
Обработка записей базы данных
2937
Обработка сообщений
196
Обработка распределенных транзакций
294
2
3
Средства контроля состояния распределен196
ной сети однородных компонент
Доступ к общей памяти:
В рамках одной машины
49
196
В рамках вычислительной сети
Ведение журнала обращений к распреде490
ленной системе
Статистическая обработка данных
9790
ПС «Средство тестирования» состоит из двух компонентов:
-
Компонент 1;
-
Компонент 2.
Компонент 1 содержит следующие функции:
-
Реализация стандартного графического пользовательского интерфейса для диалогового приложения;
-
Статистическая обработка данных.
Компонент 2 содержит следующие функции:
-
Реализация стандартного графического пользовательского интерфейса для многооконное приложения;
-
Создание и изменение схемы базы данных;
-
Обработка записей базы данных;
-
Обработка сообщений;
-
Обработка распределенных транзакций;
92
-
Средства контроля состояния распределенной сети однородных компонент;
-
Доступ к общей памяти;
-
Ведение журнала обращений к распределенной системе.
Для Компонента 1 определяем по таблице 3.15 значение коэффициента повторного
использования программных компонентов:
Кпик = 1,09
Объем Компонента 1 определяется на основе пункта 3.2.7:
Vkk1 = 13873(строк исходного текста на условном языке)
Для Компонента 2 определяем по таблице 3.15 значение коэффициента повторного
использования программных компонентов:
Кпик = 1,09
Объем Компонента 2 определяется на основе пункта 3.2.7:
Vkk2 = 16489(строк исходного текста на условном языке)
Определяем общий объем разрабатываемого ПС (Vo) как сумму объемов входящих
в него компонентов (пункт 3.2.8):
Vo = Vkk1 + Vkk2= 30362 (строк исходного текста на условном языке)
.
Базовая трудоемкость разработки определяется по формуле 9.
По таблице 3.16 определяем значение коэффициента, учитывающего степень новизны ПС (при условии, что ПС разрабатывается на известном разработчикам типе ЭВМ
и в известной ОС):
Кн = 0,8
По таблице 3.17 определяем значение коэффициента, учитывающего требования к
надежности ПС:
Кнад=1,0
По таблице 3.18 определяем значение коэффициента, учитывающего требования к
производительности ПС:
Кпроизв=1,0
По таблице 3.19 определяем значение коэффициента, учитывающего требования к
уровню информативности документации на фазах жизненного цикла ПС:
Кдокум=1,0
По таблице 3.20 определяем значение коэффициента, учитывающего опыт разработки программных средств подобного типа:
93
Кор=1,0
Согласно пункту 3.2.11 определяем значение коэффициента, учитывающего использование технологий разработки:
Ктех=1.25+0.3+0.35=1,9
Базовая трудоемкость разработки будет равна
Т=0,19*30362 0,74*0,8*1,0*1,0*1,0*1,9*1,0=600 чел.-дней
Рассчитываем трудоемкости отдельных подпроцессов (пункты 3.2.13 – 3.2.17)
Т1 = A * Тбаз * Кквал.ан * Копыт.ан = 0,01*600*1,0*1,0 =6ч-д.;
Т2= A * Тбаз * Кквал.пр * Копыт.пр* Кср.пр = 0,12*600*1,0*1,0*1,06 =77 ч-д.
Т3 = A * Тбаз * Кквал.прог* Кср = 0,79*600*1,0*1,0 =474 ч-д.;
Т4 = A * Тбаз * Кквал.тест* КБД * Кср.тс = 0,07*600*1,0*1,0*1,0 =42 ч-д.;
Т5 = A * Тбаз * Кквал.вн = 0,01*600*1,0 =6 ч-д.;
Суммируя трудоемкости отдельных подпроцессов, получаем трудоемкость разработки:
Т=605 чел.-дней
Пусть запланированы следующие сроки реализации подпроцессов:
Анализ требований к ПС - 1 мес.,
Проектирование - 2 мес.,
Программирование - 2 мес.,
Тестирование – 2 мес.,
Ввод в действие ПС - 1 мес.
Тогда, исходя из рассчитанной трудоемкости подпроцессов и с учетом того, что в
календарном месяце содержится примерно 22 рабочих дня, потребуется следующая численность исполнителей на каждого подпроцесса:
Анализ требований к ПС - 1 чел.,
Проектирование – - 4 чел.,
Программирование - 11 чел.,
Тестирование – 1 чел.,
Ввод в действие ПС – 1 чел.
94
ПРИЛОЖЕНИЕ 2
ПРИМЕРЫ РАСЧЕТА ТРУДОЕМКОСТИ СОПРОВОЖДЕНИЯ ПС
Ниже приведены расчеты трудоемкости сопровождения ПС «Расчет экономических
показателей коммерческих банков» (ПС «Комбанк») по методикам 1996 года, 2001 года и
2004 года.
1. Пример расчета трудоемкости сопровождения ПС «Комбанк»
по методике 1996 года
Укрупненные нормы времени на сопровождение ПС ЭВМ охватывают работы, выполняемые на этапах:
-
формирование и ведение фонда ПС ЭВМ;
-
подготовка к поставкам и сопровождению ПС;
-
поставка ПС;
-
сопровождение ПС у пользователей;
-
оказание научно-технических услуг пользователям ПС.
Значения факторов трудоемкости для ПС «Комбанк» приведены в таблице.
Объем ПС –32960 ТУМ
№ п/п
1
2
3
4
5
6
7
Вид поправочных коэффициентов
Наличие в фонде программ аналогов данного ПС
Степень
участия
службы сопровождения в разработке ПС
Язык программирования и другие средства
разработки ПС
Характер внедрения
ПС
Полнота тестирования
поставленного ПС
Объем документации – 3000 строк
Характеристики поправочных коэффициентов
Аналогов в фонде нет
ССо участвовала в разработке ПС на правах соисполнителя
Системы программирования
на основе СУБД типа FoxPro
Локальное внедрение ПС
Функциональное тестирование всех основных функций
ПС
Характер
поставки Локальная поставка станПС
дартного комплекта ПС
ПС средней сложности
Сложность ПС
Условное
обозначение
Значение
Кан
1,25
Куч
0,8
Крз
0,7
Кхв
1,0
Кте
1,7
Кхп
1,0
Ксл
1,0
В результате расчетов определяется трудоемкость выполнения каждого вида работ:
95
Норма времени
№
п/п
№
таблицы
Вид работы
№в
таблице
Формула расчета
значение
Трудоемкость
чел.-дни
Этап: формирование и ведение фонда ПС
1Приемка и освоение
ОПС
2Ведение фонда ПС
ВТ
3
3.8
3в
17
Тос=Ксл*Кан*Куч*Нвр.ос
3.9
3в
11
Тос=0,8*Ксл*Нвр.вф
Итого по этапу
17,00
8,80
25,80
Этап: подготовка к постановкам и сопровождению ПС
1Проверка и оценка
ОПС
2Анализ ОПС
3.10
3в
7,6
Тпр=Ксл*Куч*Нвр.пр
6,08
3.11
3в
6,0
Тан=Ксл*Куч*Нвр.ан
4,80
3Корректировка ОПС
3.12
6,6
Ткр=Ксл*Кяз*Куч*Нвр.кр
3,69
4Подготовка ПС к сопровождению
5Формирование эталона ПС
6Включение эталона
ПС в фонд
3Изготовление и контроль комплекта поставки программной
части ПС
4Изменение эталона
ПС
3.8
3в
17
6,80
3.13
3в
4,3
Тпс=0,4*
Ксл*Кан*Куч*Нвр.ос
Тфэ=Ксл*Нвр.фэ
3.13
3в
4,3
Твк=Нвр.фэ
4,30
Тдм=Нвр.ип
1,00
Тиэ=0,4*Ксл*Нвр.фэ
1,72
3.13
3б
4,3
Итого по этапу
4,30
32,69
Этап: поставка ПС
1Поставка ПС
3.14
1б
1,3
Тп=Кхп*Нвр.п
1,30
Итого по этапу
1,30
96
Этап: сопровождение ПС у пользователя
1Сопровождение ПС у
пользователя в гарантийный период
Тсг=
0,2*(Тан+Ткр)+Тиэ+Тп
4,71
Итого по этапу
4,71
Этап: оказание научно-технических услуг
Проверка
функцио1
нирования поставленных ПС на контрольных задачах
пользователя
постав2Настройка
ленных ПС на параметры задач пользователя
3Генерация конкретных вариантов ПС
4Ввод поставленных
ПС в эксплуатацию
на реальных задачах
пользователя
5Комплексирование
ПС с другими программными
средствами
6Доработка ПС без
создания
дополнительных модулей
7Разработка дополнительных модулей к
ПС (ОДР- 1400)
8Разработка новых тестов для условий
пользователя
9Сопровождение ПС в
послегарантийный
период
Передача ПС в аренду
Выбор ПС, позволяющих
реализовать
необходимые пользователю функции
Разработка рекомендаций по доработке
3.15
4
4,4
Тпф=Кхв*Нвр.пф
3.16
4
11
Тнп=Кхв*Ксл*Нвр.нп
11,00
3.17
4
20
Тгв=Кхв*Ксл*Нвр.гв
20,00
3.18
4
23,1
Твв=Кхв*Ксл*Нвр.вв
23,10
3.19
4
16,5
Ткм=Кхв*Нвр.км
16,50
3.20
4
8,8
Тдр=Кяз*Ксл*Куч*Нвр.др
3.21
6
41,2
Трд=Кяз*Куч*Нвр.рд
3.11
3в
6,0
Ттс=
Кхв*Кте*Куч*Ксл*Нвр.анс
8,16
Тпг=
0,2*(Тан+Ткр)+Тиэ+Тп
4,71
Тпа=0,3*Кхв*Нвр.пф
1,32
Твп=Кхв*Нвр.вп
2,00
Трр=Ксл*Куч*Нвр.ан
4,80
3.15
2
4,4
2
3.11
3в
5,8
4,4
4,93
23,07
97
ПС и развитию
Обучение специалистов потребителя для
работы с ПС
Оказание
технической помощи пользователю
3.22
3в
17,41
Тоб=Ксл*Нвр.об
3.23
2
2,75
Топ=Ксл* Кхв*Нвр.оп
17,41
2,75
Итого по этапу
144,15
Итого: чел.-дня
208,65
2. Пример расчета трудоемкости сопровождения ПС «Комбанк»
по методике 2001 года
В соответствии с ГОСТ Р ИСО/МЭК 12207-99 процесс сопровождения состоит из
следующих работ:
-
подготовка процесса;
-
анализ проблем и изменений;
-
внесение изменений;
-
проверка и приемка при сопровождении;
-
перенос;
-
снятие с эксплуатации.
По данным разработчика объем ПС в строках исходного текста составил 20000
строк, объем документации – 3000 строк. Значения факторов трудоемкости для ПС «Комбанк» приведены в таблице.
Объем ПС –20000 строк текста
Объем документации – 3000 строк
№ п/п
Вид поправочных коХарактеристики поправочУсловное
Значение
эффициентов
ных коэффициентов
обозначение
1
Наличие в фонде про- Аналогов в фонде нет
Кан
1,25
грамм аналогов данного ПС
2
Степень
участия ССо участвовала в разработКуч
1,80
службы сопровожде- ке ПС на правах соисполниния в разработке ПС
теля
3
Язык программирова- Системы программирования
Крз
0,70
ния и другие средства на основе СУБД типа FoxPro
разработки ПС
4
Характер внедрения Локальное внедрение ПС
Кхв
1,00
ПС
5
Полноту тестирования Функциональное тестироваКте
1,70
поставленного ПС
ние всех основных функций
ПС
6
Характер поставки ПС Локальная поставка станКхп
1,00
98
7
дартного комплекта ПС
ПС средней сложности
Сложность ПС
Ксл
1,00
В результате расчетов определяется трудоемкость выполнения каждого вида работ:
№
п/п
Норма времени
№
Формула расчета
значетабние
лицы
Работа «Подготовка процесса»
Вид работы
1
Подготовка процесса
2
Анализ сообщения о
проблеме или заявки на
внесение изменений
Верификация возникшей проблемы
Разработка вариантов
реализации изменений
Документальное оформление сообщения о проблеме или заявки на
внесение
изменения;
результатов их анализа
и вариантов реализации
изменений и получение
согласования выбранного варианта реализации
изменения в соответствии с договором
3
4
5
Тпп=Ксл*Кан*Куч*Нвр.пп
Итого на работу
Работа «Анализ проблем и изменений»
Трудоемкость
чел.-дни
5.8
13
5.9
5,8
Тан=Ксл*Кхв*Куч*Нвр.ан
4,6
5.10
11,6
Твер=Ксл*Кте*Куч* вр.вер
15,8
5.11
6,1
Твар=Кхв*Куч*Ксл*Нвр.вар
4,8
Тсогл=5 чел.-дней
5,0
Итого на работу
13,0
13,0
30,2
99
Работа «Внесение изменений»
6
7
Анализ и определение
перечней программ и
документов, требующих
изменения; документальное оформление результатов
Реализация процесса
разработки для внесения
изменений
5.12
5,6
5.13
97,0
Тдр=Куч*Ксл*Нвр.ан
Траз=Краз*Куч*Ксл*Нвр.раз
Итого на работу
Работа «Проверка и приемка при сопровождении»
8
9
Проверка внесенного
изменения в целях подтверждения работоспособности измененного
ПС
Получение
подтверждения
правильности
внесенного изменения
от
организациизаказчика
5.14
3,7
Тпи=Кте*Кхв*Ксл*Нвр.пи
Тпод=5 чел.-дней
Итого на работу
Работа «Перенос»
10 Проверка соответствия
переносимого ПС стандарту ИСО/МЭК 1220799» и «Разработка плана
переноса
11 Уведомление пользователей о планах и работах по переносу
12 Обучение специалистов
пользователя работе в
новой среде
13 Архивация
прежних
программ и документации
14 Анализ влияния перехода к новой среде
5.15
12,3
Тпп=Кхп*Нвр.п
Туп=1,0 чел.-день
Тоб=Ксл*Нвр.об
4,5
54,3
58,8
6,3
5,0
11,3
12,3
1,0
5.16
16,2
5.17
9,4
Тар=Нвр.ар
9,4
5.18
6,8
Тап=Ксл*Нвр.ап
6,8
Итого на работу
16,2
45,7
100
Работа «Снятие с эксплуатации»
Разработка и оформление плана снятия с эксплуатации
16 Уведомление пользователя о планах и работах
по снятию с эксплуатации
17 Обучение пользователей
в течение периода параллельной эксплуатации прежнего и нового
программных средств
18 Архивация связанной с
прежним объектом документации разработки,
журналов регистрации и
программ
15
5.19
12,3
5.20
20,0
5.17
9,4
Тпсэ=Кхп*Нвр.псэ
12,3
Туп=1,0 чел.-день
1,0
Тобн=Ксл*Нвр.обн
20,0
Тар=Нвр.ар
9,4
Итого на работу
ИТОГО
42,7
201,7
3. Пример расчета трудоемкости сопровождения ПС «Комбанк»
по настоящей методике
Процесс сопровождения состоит из следующих работ:
-
подготовка процесса;
-
анализ проблем и изменений;
-
внесение изменений;
-
проверка и приемка при сопровождении;
-
перенос;
-
снятие с эксплуатации.
По данным разработчика объем ПС в строках исходного текста составил 20000
строк, объем документации – 3000 строк, объем доработок – 1400 строк.
Характеристики поправочных коэффициентов для расчета трудоемкости сопровождения ПС «Комбанк» приведены в таблице.
101
№
п/п
1
2
3
4
5
6
7
8
Вид
Характеристики
поправочных коэффициентов
поправочных коэффициентов
Наличие в фонде программ Аналогов в фонде нет
аналогов данного ПС
Степень участия службы со- ССо участвовала в разработке
провождения в разработке ПС
ПС на правах соисполнителя
Язык программирования и дру- Системы программирования на
гие средства разработки ПС
основе СУБД типа FoxPro
Характер внедрения ПС
Локальное внедрение ПС
Полнота тестирования ПС
Функциональное тестирование
всех основных функций ПС
Характер поставки ПС
Локальная поставка стандартного комплекта ПС
Сложность ПС
ПС средней сложности
Количество сопровождаемых 1
рабочих мест
Условное
обозначение
Кан.пп
Куч.пп, Куч.ан,
Куч.вн,
Краз
Кхв.ан, Кхв.пс
Кте.ан, Кте.пс
Кхп.п, Кхп.сн
Ксл.пп, Ксл.ан,
Ксл.вн, Ксл.пс,
Ксл.п, Ксл.сн
Крм.п
В результате расчетов определяется трудоемкость выполнения каждой работы:
№
п/п
Формула расчета
Трудоемкость
чел.-дни
Работа «Подготовка процесса»
1
Тпп = VC * VDB* Ксл.пп * Кан.пп * Куч.пп
C = 0,17, B = 0,10, Ксл.пп = 1, Кан.пп = 1,18, Куч.пп = 0,85
12,03
Работа «Анализ проблем и изменений»
2
Тан = VC * VDB * Ксл.ан *Кхв.ан * Куч.ан* Кте.ан
C = 0,01, B = 0,15, Ксл.ан = 1, Кхв.ан = 1, Куч.ан = 0,68, Кте.ан = 2,54
6,34
Работа «Внесение изменений»
3
113,54
n
E
Tвн  V C *VDB *V Доп
*
k K
i 1
i
раз i
n
* K сл.вн * K уч.вн
C = 0,43, B = 0,07, E = 0,06, Ксл.вн = 1, Краз = 0,66, Куч.вн = 0,9, n = 1, k = 1
Работа «Проверка и приемка при сопровождении»
4
Тпc = VC * Кте.пс * Кхв.пс * Ксл.пс
C = 0,27, Ксл.пс = 1, Кхв.пс = 1, Кте.пс = 1,16
Работа «Перенос»
16,82
5
Tп  V C * VDB * Ксл.п * Кхп.п* Крм.п
22,61
C = 0,04, B = 0,34, Ксл.п = 1, Кхn.п = 1, Крм.п = 1
102
Работа «Снятие с эксплуатации»
6
Т сн  V C * VDB * Ксл.сн* Кхп.сн
3,59
C = 0,04, B = 0,11, Ксл.сн = 1, Кхn.сн = 1
ИТОГО
174,93
4. Комментарий к примерам расчета трудоемкости сопровождения ПС
1). Трудоемкость, рассчитанная по настоящей Методике, оказалась ниже (примерно на 16%) трудоемкости, рассчитанной по методике 1996 года, и ниже (примерно на
13%) трудоемкости, рассчитанной по методике 2001 года.
Это объясняется следующим:
а) используемая для измерения объема программ единица «строка исходного текста» (вместо «условной машинной команды») позволяет более точно определить объем ПС;
б) при расчете используются уточняющие коэффициенты, отражающие влияние на трудоемкость различных факторов (сложность ПС, средства разработки и т.д.). В новой Методике их состав значительно расширен, а
значения уточнены.
в) уровни уточняющих коэффициентов, отражающие влияние на трудоемкость различных факторов, определяются отдельно для каждой работы
процесса сопровождения.
2). Методика 1996 года устарела и ее невозможно использовать для расчета трудоемкости современных ПС. В настоящей Методике учитываются возможность использования современных технологических и языковых средств.
Download