2) Создание инфраструктуры – процесс установления и обеспечения инфраструктуры, необходимой для любого другого процесса. Инфраструктура может содержать технические и программные средства, инструментальные средства, методики, стандарты и условия для разработки.
3) Усовершенствование – процесс установления, оценки, измерения, контроля и улучшения любого процесса жизненного цикла ПС.
4) Обучение – процесс обеспечения первоначального и продолженного обучения персонала. Должно быть запланировано и заранее выполнено обучение персонала с целью готовности его к работам по разработке ПС.
5.1.2. Методика может применяться для расчета трудоемкости сопровождения программных средств, разработанных в Банке России, и программных средств, приобретенных для Банка России.
5.1.3. Трудоемкость работ процесса сопровождения ПС рассчитывается с учетом следующих факторов:
- сложность ПС;
- язык программирования и другие средства разработки ПС;
- наличие аналогов ПС;
- степень участия службы сопровождения в разработке ПС;
- характер поставки ПС;
- характер внедрения ПС;
- полнота тестирования ПС;
- количество сопровождаемых рабочих мест.
Перечень поправочных коэффициентов, учитывающих влияние вышеперечисленных факторов, приведен в таблице 4.1.
Таблица 4.1
Перечень поправочных коэффициентов,
учитываемых при расчете трудоемкостей работ процесса сопровождения ПС,
в разрезе учитываемых факторов
Факторы, учитываемые при расчете | Поправочные коэффициенты, |
сложность ПС | коэффициент, учитывающий сложность ПС |
Язык программирования и другие средства разработки ПС | коэффициент, учитывающий язык программирования и другие средства разработки ПС |
наличие аналогов ПС | коэффициент, учитывающий наличие в фонде программ аналогов данного ПС |
степень участия службы сопровождения в разработке ПС | коэффициент, учитывающий степень участия службы сопровождения в разработке ПС |
характер поставки ПС | коэффициент, учитывающий характер поставки ПС |
характер внедрения ПС | коэффициент, учитывающий характер внедрения ПС |
количество сопровождаемых рабочих мест | коэффициент, учитывающий количество сопровождаемых рабочих мест |
полнота тестирования ПС | коэффициент, учитывающий полноту тестирования ПС |
Поправочный коэффициент представляет собой дискретную величину. Значения поправочных коэффициентов выбираются из соответствующих таблиц Методики, приведенных в пункте 4.2.
Поправочные коэффициенты используются для уточнения значения трудоемкости сопровождения ПС. Если для определения уровня какого-либо поправочного коэффициента отсутствуют необходимые данные, то следует принять значение этого коэффициента равным единице и таким образом, не учитывать его влияние при расчете трудоемкости.
Все поправочные коэффициенты имеют одинаковый уровень влияния – уровень работы процесса сопровождения.
5.1.4. Процесс сопровождения может осуществляться отдельной организацией, сопровождающей ПС, или совместно участниками системы сопровождения: Опорным центром по сопровождению и разработчиками ПС.
Если процесс сопровождения ПС осуществляется организацией, сопровождающей ПС, то все задачи работ по сопровождению ПС выполняются данной организацией.
Если в процессе сопровождения ПС участвуют Опорный центр по сопровождению и разработчики ПС, то работы (задачи) по сопровождению распределяются между ними. Распределение работ (задач) между Опорными центрами по сопровождению и разработчиками ПС приведено в пунктах 4.2.2 – 4.2.7.
5.1.5. Для расчета трудоемкости сопровождения ПС необходимо знать полный объем этого программного средства (т. е. сумма строк кода, написанного разработчиком, сгенерированного автоматически, используемого из библиотек и т. д.).
5.1.6. . Если полный объем ПС неизвестен, то сначала определяется объем кода ПС, написанного разработчиком в соответствии с пп. 3.2.1-3.2.2. Затем с помощью таблицы переводных коэффициентов, сформированной на основе результатов обработки собранной статистики в подразделениях Банка России в 2003-2004 годах (табл. 4.2), рассчитывается полный объем ПС по формуле, приведенной в п.4.1.7. Коэффициенты в таблице сгруппированы по типам средств разработки.
Таблица 4.2
Таблица переводных коэффициентов для расчета объема сопровождаемого ПС
Средства разработки | Коэффициент A | Коэффициент С |
C++ | 1 | 1 |
Языки 4GL (Visual С++,Visual Basic, VBA, Delphi) | 1.024 | 1.0076 |
Visual FoxPro | 8.001 | 0.8243 |
Системы программирования на основе СУБД типа FoxPro (Clipper, Clarion) | 1.07 | 0.9946 |
Системы программирования на основе СУБД типа Oracle, SqlServer, Informix | 1.1757 | 0.9886 |
HTML/CSS | 1 | 1 |
Java | 1.105 | 0.9911 |
*) Примечание1: Указанные в таблице средства разработки обозначают группу средств подобного типа. Поэтому, если имеется средство разработки, непосредственно не указанное в левом столбце, то его необходимо самостоятельно отнести к какой-либо из групп, наиболее близкой по уровню используемого языка. Если сделать это невозможно (либо затруднительно), то поправочные коэффициенты A и C принять равными единице.
Примечание 2. Из таблицы были исключены те языки программирования, по которым не была произведена статистическая обработка в силу малого объема выборки (малый объем выборки объясняется тем, что данный язык программирования не используется либо используется крайне редко при разработке программных средств для подразделений Банка России).
5.1.7. Расчет объема сопровождаемого ПС выполняется по формуле:
(4.1)
где Vразр – объем программного средства, который оно будет иметь после завершения процесса разработки;
n – количество используемых средств разработки;
ki – весовой коэффициент средства разработки – определяет объем части ПС, разрабатываемый с помощью этого средства разработки;
Ai, Ci переводные коэффициенты, рассчитанные на основе результатов обработки собранной статистики в подразделениях Банка России в 2003-2004 годах;
5.2. Порядок расчета трудоемкости сопровождения ПС
5.2.1. Трудоемкость сопровождения ПС складывается из трудоемкостей следующих работ процесса сопровождения:
подготовка процесса;
анализ проблем и изменений;
внесение изменений;
проверка и приемка при сопровождении;
перенос;
снятие с эксплуатации.
5.2.2. Порядок расчета трудоемкости работы «Подготовка процесса»
Работа «Подготовка процесса» включает следующие задачи:
1) разработка, документальное оформление и выполнение плана и процедуры для проведения работ и задач процесса сопровождения;
2) определение процедур для: получения, документирования и контроля сообщений о возникающих проблемах и заявок на внесение изменений от пользователей; обеспечение обратной связи с пользователями;
3) реализация процесса управления конфигурацией для управления изменениями существующей системы.
Работа «Подготовка процесса» выполняется Опорным центром по сопровождению.
Трудоемкость работы «Подготовка процесса» (Тпп) в чел.-днях определяется по формуле:
, (4.2)
где V – объем ПС в строках исходного текста (как написанного разработчиком вручную, так и сгенерированного автоматически);
VD – объем документации в строках (только эксплуатационная документация и документация сопровождения);
Ксл. пп – коэффициент этапа подготовки процесса, учитывающий сложность ПС (таблица 4.3);
Кан. пп – учитывающий наличие в фонде программ аналогов данного ПС (таблица 4.4);
Куч. пп – коэффициент этапа подготовки процесса, характеризующий степень участия службы сопровождения в разработке ПС (таблица 4.5);
B, С – поправочные коэффициенты, рассчитанные на основе собранной статистики в подразделениях Банка России в 2003-2004 годах (B = 0,10, С = 0,17).
Таблица 4.3
Значения коэффициента этапа подготовки процесса, учитывающего сложность ПС (Ксл. пп)
Уровень сложности ПС | Характеристики ПС | Ксл. пп |
1 | 2 | 3 |
Очень низкий | Код без циклов, с небольшим количеством не вложенных структурированных операторов: DO, CASE, IF-THEN-ELSE. Упрощенная схема взаимодействия модулей посредством вызова процедур и упрощенных сценариев | 0,79 |
Вычисление упрощенных выражений: например, A=B+C*(D-E) | ||
Упрощенные операторы чтения, записи с простыми форматами | ||
Простые массивы в основной памяти. Простые запросы на обновление | ||
Простые формы, генераторы отчетов | ||
Низкий | Простое вложение структурированных операторов. Применение, в основном, простых предикатов | 0,85 |
Вычисление выражений средней сложности (одномерные массивы) | ||
Не требуется никакой информации о характеристиках конкретного типа процессоров или устройств ввода/вывода. Ввод/вывод осуществляется на уровне команд GET/PUT | ||
Использование единственного файла без изменения структуры данных, без редактирования. Промежуточные файлы не используются. Запросы на обновление и запросы SQL умеренной сложности. | ||
Использование простых средств построения интерфейса пользователя | ||
Средний | Применение, в основном, простого вложения и нескольких средств межмодульного взаимодействия, логических таблиц, простых функций обратного вызова или обмена сообщениями, включая распределенную обработку на основе промежуточного ПО | 1,00 |
Использование стандартных математических и статистических процедур. Основные операции с матрицами/векторами | ||
Операции ввода/вывода включают выбор устройства, проверка его состояния и обработку ошибок. | ||
Многофайловый ввод и однофайловый вывод. Простые структурные изменения, простые правки. Сложные запросы на обновление и запросы SQL. | ||
Использование простых (стандартных) элементов управления |
1 | 2 | 3 |
Высокий | Многократное вложение структурированных операторов с множеством составных предикатов. Управление очередью и стеком. Однородная распределенная обработка. Мягкие требования к режиму однопроцессорной обработки в реальном времени. | 1,12 |
Базовые элементы численного анализа: многомерная интерполяция, обыкновенные дифференциальные уравнения, простые случаи усечения и округления | ||
Операции ввода/вывода на физическом уровне (трансляция физических адресов хранения данных; операции поиска, чтения, и т. д.). Оптимизированное совмещение ввода/вывода. | ||
Простые триггеры, активизируемые содержанием потоков данных. Сложное реструктурирование данных | ||
Разработка новых элементов управления и усовершенствование существующих. Простой голосовой ввод/вывод, мультимедиа | ||
Очень | Использование методов написания программ на основе рекурсии и многократного входа в программу. Обработка прерываний фиксированного приоритета, синхронизация задач, сложные функции обратного вызова, разнородная распределенная обработка. Жесткие требования к режиму однопроцессорной обработки в реальном времени | 1,24 |
Сложный, но структурированный численный анализ, матричные уравнения близкие к сингулярным, дифференциальные уравнения в частных производных. Простое распараллеливание | ||
Процедуры для определения, обработки и маскирования прерываний. Управление каналом связи. Встроенные системы с определенными требованиями к производительности | ||
Управление распределенными базами данных. Сложные триггеры. Оптимизация поиска. | ||
Двух/трехмерная графика средней сложности, динамическая графика, мультимедиа. | ||
Сверхвысокий | Сложное управление ресурсами с динамически изменяющимися приоритетами. Управление на уровне микрокоманд. Жесткие требования к режиму распределенной обработки | 1,51 |
Сложный и неструктурированный численный анализ: высокоточный анализ стохастических данных. Сложное распараллеливание. | ||
Написание управляющего кода, работающего синхронно с устройством, программирование на уровне микроопераций. Встроенные системы, критичные к производительности | ||
Сильно связанные динамические реляционные и объектные структуры. Речевое управление данными. | ||
Сложная мультимедийная информация, виртуальная реальность, интерфейс речевого управления |
Таблица 4.4
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |


