Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Оценка затрат на разработку программных средств

..pdf
Скачиваний:
10
Добавлен:
12.11.2023
Размер:
11.13 Mб
Скачать

вой версии могут приобретать большое значение в жизненном цик­ ле всей серии КП:

С,с«^©/Яс(/7к.,р,).

 

 

 

(2 .23)

Таким образом, полные

затраты на сопровождение в жизнен­

ном цикле КП можно представить в виде

 

 

Сс- я 1с

lg (Пк- 10~') H-aic С„

v

+ Ntaf3l. (Пк, р,).

(2.24)

 

 

I = 1

 

 

 

Вследствие длительного срока сопровождения

и

эксплуатации

tc ~ /,(в ряде случаев 10—20 лет)

и большого числа версий, содер­

жащих

результаты модернизаций, совокупные

затраты на сопро­

вождение в некоторых случаях значительно превышают затраты на первичную разработку программ. Однако эти затраты распре­ деляются по всему интервалу времени сопровождения, вследствие чего при подготовке каждой версии затраты обычно меньше (влия­ ет коэффициент р,), чем на первичную разработку КП. Длительное сопровождение иногда вызывает неоднократную смену специали­ стов, осуществляющих сопровождение. При таких заменах появля­ ются значительные затраты на обучение новой группы сопровож­ дения, что вызывает рост общих затрат. В этих случаях заметную роль может играть уровень языка программирования. Применение стандартных ЯВУ при создании КП позволяет снижать относи­ тельные затраты на сопровождение, что особенно сильно прояв­ ляется при изменении коллектива специалистов. Экономика сопро­ вождения программ приобретает все большее значение по мере накопления высококачественных ПС длительного использования и должна явиться предметом специальных исследований.

Приведенные выражения (2.3) — (2.24) могут служить ориен­ тирами для предварительных оценок, однако необходимо критиче­ ски анализировать и уточнять зависимости и значения коэффициен­ тов для конкретных условий. Так как некоторые параметры входят одновременно в несколько составляющих совокупных затрат и из­ меняют их в различных направлениях, то возникает ряд оптимиза­ ционных задач. В принципе возможна постановка задачи глобаль­ ной минимизации совокупных затрат и потерь на всем жизненном цикле КП в зависимости от всех выделенных факторов. Для этого необходимы достоверные данные о коэффициентах а,- и dj, а также

о зависимостях составляющих затрат от параметров. Примеры ча­ стной оптимизации некоторых затрат при разработке КП приводят­ ся в гл. 4.

in

Г л а в а 3

РЕАЛЬНЫЕ ХАРАКТЕРИСТИКИ ПРОЦЕССА РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ

3.1. МЕТОДЫ СБОРА И ОБРАБОТКИ ДАННЫХ О РАЗРАБОТКАХ ПРОГРАММНЫХ СРЕДСТВ

Методы сбора первичных данных. Достоверность оценки ТЭП силь­ но зависит от методов сбора первичных данных о характеристиках разработки КП. Они определяют точность, полноту, иерархию и временную этапность собираемых данных. Сбор технико-экономи­ ческой информации о разработках программ может осуществлять­ ся экспертным, ретроспективным и фактографическим методами. Каждый из них имеет свои отличительные черты и область рацио­ нального применения.

Ме т о д э к с п е р т н ы х о ц е н о к [4] основывается на сборе информации путем опроса специалистов. Предполагается, что со­ бираемые экспертным опросом данные нигде до того не фиксиро­ вались, поэтому качество информации полностью определяется знаниями, памятью и эрудированностью экспертов. Сбор данных методом экспертных оценок не требует больших затрат. Собирае­ мая информация может быть сразу представлена в обобщенном виде, удобном для первичного анализа. Применение метода экс­ пертных оценок целесообразно в тех случаях, когда нет более до­ стоверных документальных источников информации и опрос специ­ алистов— единственный способ получить ее. Субъективизм в оцен­ ках экспертов может быть уменьшен при проведении опросов ме­ тодом Дельфи [4] и соответствующей математико-статистической обработкой данных.

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

графе приводится полный состав возможных ответов. Эксперт под­ черкивает необходимый ответ (или ответы). В открытых вопросах

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

112

ности собираемой информации опрос экспертов может произво­

диться в несколько этапов (два-три) с постепенным

уточнением

результатов.

 

р е т р о с п е к т и в н о г о

м е т о д а

Характерной особенностью

[27] является сбор

информации с использованием имеющейся до­

кументации после

завершения

разработки программ.

Для этого

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

Сбор данных ретроспективным методом может быть проведен за относительно короткое время и не требует больших затрат на заполнение таблиц. Заполнение таблиц осуществляется разработ­ чиком на основании имеющихся у него документов. Недостатком метода является то, что часть необходимой информации обычно от­ сутствует в документации на КП. Такая информация, как условия разработки, характеристики технологического процесса, — не отра­ жается в документах, а финансовые документы, регистрирующие использование денежных ресурсов, и графики работ обычно унич­ тожаются по прошествии некоторого времени.

Ф а к т о г р а ф и ч е с к и й м е т о д с б о р а информации осно­ вывается на регистрации данных в момент их появления или по прошествии небольшого времени [105]. Сбор технико-экономиче­ ской информации происходит в процессе разработки ПС. Данные должны фиксировать выполнение совокупности работ за отчетный период (месяц, квартал), использование ресурсов (машинное вре­ мя, материалы, количество разработчиков, фонд заработной пла­ ты) и условия, влияющие на ход разработки. Фактографический метод сбора информации обладает рядом достоинств: высокой до­ стоверностью собираемой информации; возможностью получить глубокую детализацию данных; возможностью применения собран­ ной информации в форме сводного графика для контроля хода раз­ работки ПС практически на всех этапах технологического про­ цесса.

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

113

ный период. В отчетной форме необходимо указывать только те факторы, которые меняют свое значение на протяжении всего времени разработки ПС. По сравнению с предыдущими метода­

ми, где собирается

обобщенная

информация, фактографический

метод требует значительно больших затрат труда.

А в т о м а т и з а ц и я с б о р а

т е х н и к о - э к о н о м и ч е с к о й

ин ф о р м а ц и и .

Сбор информации

фактографическим мето­

дом — это процесс, сопровождающий

весь цикл разработки ПС.

Для автоматизации этой работы необходимо формализовать опера­ ции сбора данных, разработать специальные формы документов для регистрации текущего состояния разработки компонент КП и включить операции сбора в технологический график разработки программ. Значительная часть информации о разработке ПС, та­ кая, как объем и сложность разрабатываемых программ, язык программирования, использование машинного времени и другая, может быть собрана автоматически в процессе взаимодействия разработчиков с инструментальными средствами автоматизации разработки. Машинная обработка технико-экономической инфор­ мации начинается с момента кодирования первичных данных о разработке ПС и внесения их в автоматизированную базу данных

[6, 105]. Информация, хранимая в базе данных,

сортируется

и

обрабатывается

с целью получения обобщенных

результатов

и

выдачи их для

анализа разработчикам ПС. Сбор информации

осуществляется в процессе функционирования системы автомати­ зации разработки программ (см. § 1.2) [9, 68].

О с о б е н н о с т и с б о р а т е х н и к о - э к о н о м и ч е с к о й ин­ ф о р м а ц и и . Первичная информация о разработках ПС, собирае­ мая в соответствии с ретроспективным методом, может быть пред­

ставлена тремя группами статистических данных (табл. 3.1) [27]. В первую группу входят характеристики разработанных программ­ ных средств. Вторую группу составляют ресурсы разработки. В третью группу входят характеристики технологического процесса

и используемых средств автоматизации разработки. Первая и вто­ рая группы данных необходимы для проведения количественных оценок затрат на разработку КП. Они являются исходными для расчета технико-экономических показателей разработки, таких, как производительность труда и стоимость единицы программной продукции. Данные этих групп могут также рассматриваться в роли факторов, влияющих на затраты. Так, объем КП влияет на его стоимость, а дефицит ресурсов отражается на длительности разработки (см. § 2.2.).

Третья группа данных отражает основную совокупность факто­ ров, влияющих на ТЭП разработки ПС. Факторы характеризуют технологический процесс, его структуру и качественные характери­ стики средств автоматизации этого процесса. С целью более точ­ ного определения уровня автоматизации и эффективности техноло-

114

Т а б л и ц а 3.1

СТРУКТУРА И ОБЩИЕ ХАРАКТЕРИСТИКИ СТАТИСТИЧЕСКИХ ДАННЫХ О РАЗРАБОТКЕ КП

Наименование групп

I. Характеристики КП

И. Ресурсы разра­ ботки

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

Функциональное назначение ПС:

автоматизированная система обработки ин­ формации и управления, работающая в рс-

альном масштабе времени (третий класс) многоабонентная информационно-поисковая система сбора, переработки, хранения и выдачи информации пакет прикладных программ общего назначения

система автоматизации разработки программного обеспечения Объем представленных на испытания про­

грамм в командах и строках текста с указаннем уровня языка программирования

Объем заимствованного программного обеспечения из других КП в данном комплексе

Число компонент в комплексе программ: программных и информационных модулей

Объем вспомогательных ПС, созданных в процессе разработки данного КП (программы имитации, диагностики ошибок, регистрации и обработки)

Длительность основного цикла обработки информации, с

Допустимое время ожидания отклика систе­ мы при обработке наиболее приоритетных со­ общений, с

Число типов сообщений, обрабатываемых КП

Характеристики ЭВМ, на которой функцио­ нирует разработанный КП:

число уровней хранения программ и данных тнп запоминающего устройства команд Степень использования производительности

ипамяти Число предполагаемых к внедрению экземп­

ляров кп Время разработки КП:

дата начала разработки технического зада­ ния на КП дата передачи КП на государственные или

межведомственные испытания Среднее число сотрудников, принимавших

участие в разработке КП: руководители и си­ стемные аналитики, программисты, вспомога­ тельный персонал

Среднемесячная заработная плата на одного сотрудника подразделения, руб.

Условное

обозначение

СРВ

ИПС

ППП

САРПО

Як

Я*

Я»

Та

Тот

Р

N

Гн

5

3

115

 

 

Продолжение

Наименование групп

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

Условное

обозначение

 

Средний процент накладных расходов (%)

 

Количество фактически затраченного на раз­

 

работку КП машинного времени, ч:

 

 

на технологической ЭВМ

 

 

на стенде динамической отладки или на реа-

III. Характерней-

лизующей ЭВМ

 

 

Тип средств автоматизации разработки про-

ки среды разра-

граммного

обеспечения:

резидент-системы,

боткн КП

кросс-системы

 

 

 

 

Коэффициент расширения транслятора с ал­

 

горитмического

языка (относительная величи­

 

на)

 

 

программ,

использу­

 

Объем технологических

 

емых для автоматизации процесса разработки

 

Методы доступа программистов к ЭВМ при

 

разработке данного КП

 

 

 

Среднее число лет работы коллектива специа­

 

листов на момент начала данной разработки:

 

по решению

аналогичных функциональных

 

задач (тематический стаж)

 

 

по работе с операционной системой и сред­

 

ствами автоматизации, использованными при

 

разработке

КП (технологический

стаж)

 

в области

разработки

программ

(програм­

мистский стаж)

Ки«

Туех

Т'лин

Кхр

я х

/тем

/тег

/ар

гии разработки КП применяются таблицы сбора данных о средст­ вах автоматизации с детализированными закрытыми вопросами. Примерный состав средств автоматизации разработки программ с классификацией по уровням технологии представлен в табл. 1.3. Приведенный перечень средств может использоваться для анкети­ рования технологического обеспечения процессов разработки конк­ ретных КП в виде дополнительной таблицы. Ресурсы разработки и характеристики технологического процесса собираются на весь проект в целом, а также по этапам технологического процесса. В последнем случае анализ данных позволяет произвести оценку структуры технологического процесса и эффективности инструмен­ тальных средств, применяемых на каждом из этапов.

Для сбора данных фактографическим методом и их последую­

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

разработчиками заносятся следующие данные: наименование ис­ полненной работы в соответствии с типовыми этапами и видами работ по разработке КП; время, затраченное на каждую работу; степень завершенности работы в процентах и степень обеспеченно-

116

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

тельно обработанные и обобщенные данные из первичных форм от­ четности, а также некоторые дополнительные сведения. В состав регистрируемых данных обычно входят: плановые и ежемесячно фиксируемые фактические сроки завершения работ; среднее за ме­ сяц количество разработчиков, участвующих в выполнении данного

вида работы; стаж

разработчиков

тематический, технологический

и программистский

на момент

начала разработки; заработная

плата разработчиков. В зависимости от уровня иерархии проводи­ мых работ, как правило, заполняются три типа вторичных форм по разработке: модулей, групп модулей и КП в целом (общесистем­ ные работы). По завершении приемо-сдаточных испытаний групп модулей в момент передачи их в подразделение комплексной от­ ладки фиксируются данные об объеме модулей и групп модулей (в операторах исходного текста и командах для загрузки в память реализующей ЭВМ ).

Наиболее существенными особенностями сбора технико-эконо­

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

Психологические аспекты, сбора информации оказывают суще­

ственное влияние на качество собираемой информации и на трудо­ емкость сбора. Руководители разработки ПС, понимая, что сбор такой информации может вскрыть некоторые негативные стороны разработки, иногда неохотно дают сведения и участвуют в этой работе. Сбор технико-экономической информации (особенно фак­ тографическим методом) делает разработку открытой, лишает разработчиков завесы «таинственности», что, по их представлению, может лишить их некоторых преимуществ.

Расчет технико-экономических показателен разработки КП. На

основе статистической информации о разработках КП могут быть рассчитаны: общая трудоемкость разработки, производительность труда разработчиков программ, удельная стоимость разработки и затраты машинного времени на единицу объема программ [26].

117

Для расчета ТЭП разработки КП использовались первичные дан­ ные, приведенные в табл. 3.1. Трудоемкость разработки и изготов­ ления опытного образца i-ro комплекса программ

Clpi =

Sr/pj-250 [чел.-дней],

(3.1)

г д е 5,

— среднее число разработчиков, принимавших участие в разработке

КП;

/р = /к—ti\

— длительность разработки i-го КП, годы; 250 — среднее число ра­

бочих дней в году.

 

Производительность труда разработчиков КП:

 

р _

П«1

Гкоманд 1

(3.2)

 

С1Р,

[чел.-дней J

 

Денежные затраты на разработку КП состоят из затрат на оплату труда разработчиков Dip г- и стоимости использованного ма­ шинного времени D 2p i'

Dpi = D ipi + D2v,i [(руб.)],

(3.3)

которые можно представить выражениями:

0 Ipl- 3 , . S , . / pf.1 2 .(l+

-^ -)[(р у б .)];

(3.4)

^ 2 рi = ^тех i Н" ^дин i =

^^тсх i *^тех i -{- Д0

дип i •^дин i>

где DTtxi и D^Kni — соответственно стоимости

использованного машинного вре­

мени на технологической ЭВМ и на стенде с реализующей ЭВМ при отладке КП в реальном масштабе времени; А£>теи и дЬдян» — соответственно стоимости одного часа машинного времени

на технологической ЭВМ и на стенде с реализующей ЭВМ.

Для проведения сопоставительного анализа ТЭП по различным классам КП, средствам автоматизации технологических процессов и другим характеристикам разработки ПС для общих совокупно­ стей и однородных групп рассчитываются средние ТЭП: производи­

тельность труда Р, стоимость разработки одной команды DK, дли­

тельность разработки комплекса программ 7Р, затраты машинного

времени на одну команду /МкСредние значения программистского, технологического и тема­

тического стажа работы специалистов-разработчиков для i-го КП:

5

0

 

О= - £ = ! - .

(3.5)

51

 

где tj — индивидуальный стаж работы /-го специалиста, годы.

На основании данных о различных видах стажа определяется средний обобщенный стаж работы коллектива разработчиков i-ro КП:

CPi

inpj-Мтех j -Нтем i

(3.6)

3

 

 

118

Таким образом, каждый вид стажа имеет одинаковый вес в факторе обобщенного стажа работы (не отдается предпочтение ни одному из видов стажа).

О с о б е н н о с т и п р и м е н е н и я м а т е м а т и к о - с т а т и ­ с т и ч е с к и х м е т о д о в д л я о б р а б о т к и и с х о д н ы х д а н- н ы х. При интегральном подходе к объекту исследования, когда рассматривается разработка КП в целом, он представляет собой многомерный объект, характеризующийся большим числом факто­ ров, влияющих на технико-экономические показатели его разработ­ ки (см. § 2.2). Сложность программ как объектов экономических ис­ следований требует тщательного подхода к выбору и применению математических методов с целью получения количественных зависи­ мостей ТЭП от основных факторов. При выборе методов для тех­ нико-экономического анализа разработок программных средств можно воспользоваться подходами, разработанными для экономи­ ческого анализа сложных объектов [41, 45].

Одним из математических требований, предъявляемых к методу корреляции, является однородность в качественном и количествен­

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

При обработке данных о КП должны использоваться как пол­ ные совокупности данных, составляющие качественно однородные группы, так и однородные совокупности, составляющие количест­ венно однородные группы. Обработка полных совокупностей дан­ ных позволяет сохранить весь диапазон изменения ТЭП и фактор­ ных признаков, что является необходимым условием проведения достоверного анализа результатов сбора и обработки данных и выработки рекомендаций. В отдельных случаях, когда позволяет объем статистики, сделаны попытки образования количественно однородных групп. Обработка данных в таких группах произво­ дится с целью количественной оценки влияния некоторых факто­ ров на ТЭП разработки КП.

Основы обработки статистических данных о разработках комп­ лексов программ. С учетом особенностей при^ененйя корреляцион­ но-регрессионного метода для анализа разработок комплексов про­ грамм могут быть использованы две последовательно усложняю­ щиеся схемы обработки статистических данных. Первая схема (рис. 3.1) ограничивается анализом парных зависимостей между

результативными и факторными признаками, а вторая схема обес-

119

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

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

1

Рис. 3.1. Блок-схема анализа парных зависимостей между резуль­ тативными и факторными признаками

120

Соседние файлы в папке книги