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

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

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

редактирования текста программ (РЕД). Различие в технологии разработки заключалось в том, что разработчики подсистем пер­ вой группы проводили разработку последовательно на двух ЭВМ: технологической ЭВМ БЭСМ-6 с использованием САРПО ТЕМП, а затем на объектной ЭВМ СМ 1800. В данном конкретном случае такая технология была вызвана отсутствием у разработчиков в те­ чение некоторого времени ЭВМ СМ 1800. Разработчики подсистем второй группы из другой организации проводили разработку под­ систем на объектной ЭВМ СМ 1800, используя ее как персональ­ ную ЭВМ.

Средний стаж коллектива разработчиков первой группы подси­ стем составлял 3,3 года, второй группы подсистем — 5 лет. Объем подсистем первой группы составлял около 28 тыс. команд (86 мо­ дулей), второй группы — около 10 тыс. команд (21 модуль). Объем программных средств в большой степени характеризует их слож­ ность, следовательно, подсистемы первой группы более сложны в разработке, чем второй. Значения перечисленных факторов, дейст­ вующих при разработке подсистем, привели к тому, что производи­ тельность труда разработчиков второй группы составила 12,6 команды на человеко-день, что в 1,3 раза выше, чем произво­ дительность труда разработчиков первой группы. Средняя произ­ водительность труда разработчиков системы ПРА в целом состави­ ла 5,8 команды на человеко-день, что в 1,3 раза меньше значения производительности труда разработчиков САРПО РУЗА-Б.

Производительность труда при разработке трансляторов для МВК «Эльбрус». Анализ процесса разработки и характеристик трансляторов МВК «Эльбрус» проводился [8] в широком плане по 142 показателям, распределенным в 9 разделах. Среди этих ха­ рактеристик приведены весьма приближенные оценки объема про­ грамм 10 трансляторов и трудоемкости их разработки. Все транс­ ляторы разрабатывались на базовом языке Эль-76 [39] различны­ ми коллективами высококвалифицированных специалистов. Использовались близкие по составу средства автоматизации раз­ работки и технологические процессы без формализованного регла­ ментирования. Оценки трудоемкости разработки проводились экс­ пертами без тщательного анализа состава участвовавших специ­ алистов и длительности работ, что определило их невысокую досто­ верность (около ± 5 чел.-лет). Представляет интерес сопоставле­ ние этих оценок с аналогичными для других разработок сложных ПС того же класса на языках высокого уровня.

Из 10 завершенных или завершавшихся разработок транслято­ ров только по транслятору с Кобола отсутствует оценка трудоем­ кости. Суммарный объем программ остальных анализировавшихся трансляторов '[8] составил 327 тыс. строк языка Эль-76. Полная ч трудоемкость их разработки около 316 человеко-лет. Таким обра­ зом, средняя производительность труда разработчиков составила

141

около 1 тыс. строк в год, или около 4 строк на человеко-день. Зна­ чения производительности труда для разных трансляторов колеб­ лются от 2 до 10 строк на человеко-день, однако для шести транс­ ляторов находятся в диапазоне 3-^6,5 строки на человеко-день.

Полученные данные целесообразно сравнить с фактографиче­ скими ТЭП разработки САРПО РУЗА, которая создавалась в ос­ новном на языке высокого уровня ПЛ-1 и близка по характеристи­ кам объекта разработки. Производительность труда при создании

системы РУЗА около 2 строк на человеко-день

(см. табл. 3.6), что

только вдвое меньше, чем при

разработке

трансляторов МВ К

«Эльбрус». Это различие прежде

всего обусловлено разными ме­

тодиками оценки, а главное, особенностями процесса разработки. В отличие от комплексной САРПО РУЗА, разработанной по едино­ му проекту, трансляторы МВК «Эльбрус» создавались как относи­ тельно небольшие, практически независимые компоненты при сравнительно простой связи с ядром системы программирования, что способствует уменьшению трудоемкости. Ряд трансляторов в этой системе оценивался до полного завершения государственных испытаний, что также вызывало увеличение рассчитываемой произ­

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

Следовательно, производительность труда при применении язы­ ка Эль-76 близка к аналогичным показателям других языков высо­ кого уровня и наличие аппаратной поддержки трансляционных средств с языка Эль-76 практически не влияет на технико-эконо­ мические характеристики процесса разработки программ. Увеличе­ ние скорости трансляции программ в «Эльбрусе» по сравнению с ЕС ЭВМ, по-видимому, практически не отразилось на производи­ тельности труда разработчиков трансляторов, так как загрузки ЭВМ не достигали предельных, и, кроме того, разработка транс­ ляторов производилась в значительной части на ЭВМ БЭСМ-6 в режиме интерпретации.

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

142

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

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

В опытно-конструкторских работах накладные расходы, обус­

ловленные

затратами

на

административный

и

обслуживающий

персонал

предприятия,

на

аренду помещений,

электроэнергию

и т. п. составляют обычно

[1,56] — 60—90%

затрат на непосред­

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

Данные, полученные ретроспективным методом по трем клас­ сам программ, обработаны для получения стоимости непосредст­ венной разработки команды (оператора на ассемблере) с учетом

накладных

 

расходов

конкретных организацнй-разработчиков.

В результате

затраты

на оплату труда разработчиков составили

в среднем

за

команду

[26]: для СРВ — 12 р., для ИПС — 4,6 р.,

для ППП

(САРПО) — 1,7 р. Исходные данные характеризуются

очень большой дисперсией, поэтому средние значения следует рас­ сматривать только как ориентиры, отражающие соотношение за­ трат для разных классов КП. Более достоверные данные получены фактографическим методом при создании технологических систем автоматизации. Непосредственная разработка в САРПО одного оператора ассемблера с учетом накладных расходов составила по системам: ЯУЗА-6Д— 3,3 р., РУЗА-Б — 1,5 р., ПРА— 1,7 р. Значе­ ния для ЯУЗА-6Д выше приведенных для ППП, так как ряд паке­ тов прикладных программ имел небольшой объем, что отразилось на снижении относительной стоимости их разработки.

В ретроспективных данных регистрировались затраты на созда­ ние стендов для комплексной отладки и на машинное время всех используемых в процессе разработки ЭВМ. Эти данные имеют

143

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

Для подкласса ИПС и ППП затраты на машинное время со­ ставляют около половины в суммарной стоимости команды (54 и 43% соответственно). Снижение доли календарного машинного

времени при одновременном повышении уровня

автоматизации

(см. § 3.4) обусловлено значительным улучшением

использования

процессорного времени технологических и реализующих ЭВМ (см. § 4.2). Повышению производительности труда для этих классов программ сопутствует снижение затрат на машинное время до 5,4 р. на команду для ИПС и до 1,3 р. на команду для ППП. В ре­ зультате полная стоимость создания команды в рассматриваемых классах программ составляет: 34 р. — СРВ, 10 р. — ИПС, 3 р .—

ППП, что. в частности, подтверждает рациональность выделения лих классов ПС.

В приведенных оценках не учтена стоимость создания средств автоматизации разработки программ. Это обусловлено трудностью выделения небольшой составляющей С3р при относительно низком уровне автоматизации, особенно для КП третьего класса, КП вто­ рого класса разрабатывались при более высоком уровне автомати­ зации, однако технологические средства обычно являлись компо­ нентами операционных систем и не создавались специально для конкретного проекта КП. Поэтому в затратах на машинное время косвенно учитывается стоимость эксплуатации соответствующих САРПО. Гипотетические примеры оценки влияния на совокупную стоимость КП затрат на автоматизацию разработки программ при­ ведены в §4.1.

Затраты на имитацию внешней среды особенно существенны для КП третьего класса и могут значительно превышать полную стоимость разработки программ (см. § 4.2). Однако имеется прин-

144

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

3.4.ВЛИЯНИЕ НЕКОТОРЫХ ФАКТОРОВ

НА ПРОИЗВОДИТЕЛЬНОСТЬ ТРУДА РАЗРАБОТЧИКОВ ПРОГРАММ

Общая характеристика целей и способов количественного ана­ лиза влияния факторов. Основной целью количественного анализа влияния факторов на производительность труда разработчиков программ по фактическим данным, собранным ретроспективным и фактографическим методами (см. табл. 3.2, 3.5—3.6), является про­ верка некоторых аналитических моделей, качественный анализ ко­ торых проведен во второй главе. В базе ретроспективных данных (см. табл. 3.2) представлены численные значения 23 факторов, ха­ рактеризующих программные средства, реализующие ЭВМ и технологическую среду процесса разработки ПС, из которых коли­ чественно получены оценки влияния восьми основных факторов.

В§ 3.3 приведено влияние на трудоемкость разработки и произво­ дительность труда разработчиков трех основных факторов: классов и подклассов ПС, объема КП и календарного времени разработки.

Вданном параграфе приведены результаты исследований влияния на производительность труда разработчиков программ еще пяти факторов: ограничений на память реализующей ЭВМ, общего уров­ ня автоматизации технологии разработки ПС, уровней языков программирования, методов доступа программистов к реализую­ щим и технологическим ЭВМ, уровня квалификации коллектива разработчиков I[26].

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

признакам, за исключением исследуемого. В этой группе для каж-

145

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

к моменту начала многих разработок ПС для СРВ языки высо­ кого уровня еще не получили достаточно широкого распростра­ нения;

практически все СРВ имели в своем составе ЭВМ с ограничен­ ными ресурсами по объему памяти для команд и данных, а также

производительности, что приводило к необходимости экономии ре­ сурсов ЭВМ для решения поставленных задач;

трансляторы с языков высокого уровня (Фортран, Алгол, ПЛ-1 и др.) давали большой коэффициент расширения объема програм­ мы по отношению к объему программы, написанной программи­

стом средней квалификации на машинном языке или покомандном автокоде, а также не позволяли работать с упакованными данными.

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

Выигрыш в производительности труда при переходе от авто­ кодов к алгоритмическим языкам высокого уровня типа ПЛ-1, Фортран, Алгол при разработке ПС второго класса составляет 34%. При разработке КП третьего класса языки высокого уровня пока применяются в ограниченном объеме и только в сочетании с автокодами. Это обстоятельство не позволило выделить для КП третьего класса долю прироста производительности труда за счет применения языков высокого уровня.

Влияние методов доступа к технологическим ЭВМ. В боль­ шинстве случаев разработка КП для реализующей ЭВМ прово­ дится с использованием САРПО (см. § 1.2), расположенной на бо­ лее мощной по характеристикам технологической ЭВМ с другой системой команд (кросс-система) или с той же системой команд (резидент-система). Имеются разные методы доступа пользовате­ лей к работе с технологическими ЭВМ; пультовый (монопольное использование ЭВМ), пакетный при вводе заданий с перфокарт и многотерминальный с использованием дисплеев в диалоговом ре­

жиме работы. Наиболее используемые методы доступа при разра­ ботке КП разных классов: для СРВ — пультовый (27% разработрк) и терминальный (36%); для ИПС — терминальный (67%); для ППП — терминальный (62%). В большинстве разработок

149

КП в той или иной степени использовались все три метода до­

ступа.

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

Из-за малого числа КП в каждой однородной группе статисти­ ческая точность расчетов невысокая, но тенденции изменения про­

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

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

Т а б л и ц а 3.7

ВЛИЯНИЕ НА ПРОИЗВОДИТЕЛЬНОСТЬ ТРУДА РАЗЛИЧНЫХ МЕТОДОВ ДОСТУПА К ТЕХНОЛОГИЧЕСКИМ ЭВМ

 

 

Производительность труда при исполь­

Прирост, %

производитель­

 

 

ности труда

при использо­

Классы

зовании различных методов доступа,

вании многотерминального

 

команд на чел.-день

 

метода доступа

комплексов

 

 

 

по сравнению

программ

 

 

терми­

 

 

 

 

пультовый

пакетный

с пультовым

с пакетным

 

 

нальный

СРВ

до

0,9

1,03

1,29

43

25

30 тыс. команд

СРВ от 30 до

 

 

 

 

 

100

тыс. ко­

 

1,69

2,13

 

27

манд

более

 

 

СРВ

1,16

-

1,87

61

_

100 тыс. команд

ППП

 

-

5,38

8,47

-

57

150

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