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

книги из ГПНТБ / Сакман Г. Решение задач в системе человек - ЭВМ пер. с англ

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

80

Глава 3

Таблица 3.2

Характеристики деятельности опытного программиста

Программа «Алгебра» Программа «Лабиринт»

открытый

закрытый

открытый

закрытый

режим

режим

режим

режим

Усилия, затраченные на отладку программ (в человеко-часах)

Среднее

значение

 

34,5

50,2

4,0

12,3

Среднеквадратичное

от­

30,5

58,9

4,3

8,7

клонение

 

 

 

 

 

 

Время работы

центрального

процессора (в

секундах)

Среднее

значение

 

1266

907

229

191

Среднеквадратичное

от­

473

1067

175

136

клонение

 

 

 

 

 

 

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

В табл. 3.3 приведены результаты трех вариантов обработки методом дисперсионного анализа данных экс­ перимента, выполненного по плану типа «латинский квадрат». Первый вариант предусматривает непо­ средственный анализ неконвертированных оценок. По второму варианту анализируются параметры, получен­ ные в результате извлечения квадратного корня из ис­ ходных данных, что позволяет получить распределение, более близкое к нормальному. В третьем варианте также анализируются дисперсии параметров, полученных в ре­ зультате извлечения квадратного корня из неконверти­ рованных данных, но с учетом ковариации, характери­ зующей искусство программиста при составлении про­ грамм; последнее имеет статистическое смещение. Та­ ким образом практически устранялось влияние мастер­ ства программирования у отдельных испытуемых (ха­ рактеристика— личная оценка времени составления

Исследования

деятельности

программистов

81

Таблица 3.3

Сопоставление результатов трех вариантов дисперсионного анализа

Оценки эффективности деятельности

Уровни значимости

Неконвертиро-

Преобразова­

Преобразова­

ние извлечении ния извлечения

ванные оцен­

квадратного

квадратного

ки

корня

корня и кова-

 

 

риации

Усилия,

затраченные

на

отладку программ

(в человеко-часах)

Сравнение

открытого

и

Отличие

0,10

0,025

закрытого режимов

исполь­

средних

 

 

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

незначимо

 

 

стемы

 

 

 

 

 

 

 

Сравнение

отладки про­

0,025

0,001

0,10

грамм

«Алгебра» и

«Лаби­

 

 

 

ринт»

Время работы центрального процессора (в секу, дах)

Сравнение

открытого

 

и

Отличие

Отличие

Отличие

закрытого режимов

ис­

средних

средних

средних

пользования

вычислитель­

незначимо

незначимо

незначимо

ной системы

обслужива­

 

То же

0,001

0,05

Сравнение

 

ния программ

«Алгебра»

и

 

 

 

«Лабиринт»

 

 

 

 

 

 

программ), так что различия открытого и закрытого ре­ жимов можно было исследовать в более чистом виде.

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

82

Глава

3

Результаты,

приведенные в

табл. 3.3, представляют

собой основные выводы, полученные в коде данного экс­ перимента. Первая строка содержит результаты сопо­ ставления деятельности в открытом и закрытом режи­ мах, основанного на оценке количества человеко-часов, затрачиваемых на отладку программ. Анализ дисперсий неконвертированных параметров не обнаруживает зна­ чимых различий. Анализ дисперсий параметров, подвер­ гнутых преобразованию извлечения квадратного корня, свидетельствует о преимуществе с 10%-ным уровнем значимости открытого доступа к системе. Последний ва­ риант дисперсионного анализа, учитывающий ковариацию и оперирующий квадратными корнями неконверти­ рованных параметров, демонстрирует статистически значимое превосходство открытого режима с уровнем значимости 0,025. Такой очевидный тренд значимости средних разностей, свидетельствующий об уменьшении количества человеко-часов, требующихся на отладку программ при открытом режиме, связана с увели­ чением степени учета индивидуальных различий при статистической обработке результатов эксперименталь­ ного исследования с помощью различных вариантов дис­ персионного анализа. В противоположность критерию затрат человеко-часов на отладку для времени работы центрального процессора значимой тенденции при сопо­ ставлении открытого и закрытого режимов выявить не удается. Если соответствующие различия действительно существуют и, как показывают данные табл. 3.3, при открытом режиме требуется более длительное время работы центрального процессора, эти различия все же не имеют статистической значимости при таких малых выборках и больших индивидуальных различиях между программистами, сказывающихся даже в тех случаях, когда исходные данные подвергаются преобразованиям извлечения корня и ковариации.

Результаты, полученные при анализе разностей па­ раметров, характеризующих работу с программами «Ал­ гебра» и «Лабиринт», не вызывают удивления. Совер­ шенно очевидно, что «Алгебра» — более трудоемкая за­ дача, о чем свидетельствуют и значения оценок деятель­ ности пользователей (см. табл. 3. 1). Изменение характе*

Исследования

деятельности программистов

83

ра значимости разностей оценок для программ «Алгеб­ ра» и «Лабиринт», вытекающее из данных табл. 3.3, определяется различиями трех использованных вариан­ тов дисперсионного анализа. В частности, это указыва­ ет на большую чувствительность параметров, получен­ ных преобразованием извлечения квадратного корня, по сравнению с неконвертированными параметрами при выявлении значимых различий между задачами.

 

 

 

 

 

 

 

 

 

 

 

Таблица

3.4

 

Диапазон индивидуальных

различий, проявляющихся в

 

 

 

 

характеристиках

деятельности

программистов

 

 

 

Оценка эффективности

деятельности

 

Худшая

Лучшая

Соотноше-

 

 

оценка

оценка

ш е

Время

отладки

программы

«Алгеб­

170

6

28

1

ра»,

ч

 

отладки

программы

«Лаби­

26

1

26

1

Время

ринт»,

ч

 

 

 

 

 

 

 

3075

370

8

1

Время

работы

центрального

процес­

сора

с

программой «Алгебра»,

ч

 

 

 

11

1

Время

работы

центрального

процес­

541

50

сора с программой «Лабиринт», с

111

7

16 1

Время

составления

программы

«Ал­

гебра»,

ч

 

 

 

 

 

 

 

 

.25

1

Время

составления

программы

«Ла­

50

2

биринт»,

ч

 

 

 

 

 

 

 

 

 

 

Размер

программы

«Алгебра»

 

6137

1050

6

1

Размер

программы

«Лабиринт»

 

3287

651

5 1

Время

однократного

с

прохождения

7,9

1,6

5 1

программы

«Алгебра»,

 

 

 

8,0

0,6

13 1

Время

однократного

 

прохождения

программы

«Лабиринт»,

с

 

 

 

 

 

 

 

Индивидуальные

 

различия.

Данные,

приведенные в

табл.

3.4,

характеризуют

диапазоны

индивидуальных

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

Данные табл. 3.4 свидетельствуют об очень боль­ ших, как правило на порядок, индивидуальных различи­ ях, зарегистрированных у этой группы высококвалифи-

6*

84

Глава 3

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

Если программист хорош, То он чудо, как хорош, Но зато, когда он плох, Как чудовищно он плох1 .

Эта «чудовищная» составляющая плотности распре­ деления показателей деятельности программистов пред­ ставлена длинным «хвостом» в области вероятностей больших отклонений. Она создает положительную асим­

метрию из-за

того, что один плохой программист может

израсходовать

столько же времени или средств, сколь­

ко достаточно

для 5, 10 или 20 хороших специалистов.

Использование методов очищения выборки, обеспечи­

вающих

выявление и исключение подобных

программи­

стов, может привести к значительной экономии

време­

ни, усилий и денежных средств.

 

 

 

Для получения дополнительных сведений, касающих­

ся

этих

поразительных индивидуальных

различий,

15

видов

экспериментальных данных (оценочные

пара­

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

U hen a programmer is good, Не is very, very good,

But when he is bad, He is horrid.

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

There was a little girl, Who had a little cirl, Just in the middle,

Of her forehead. When she was good,

She was very, very good, And when she was bad, She was horrid.

— Прим. перев.

Исследования

деятельности программистов

85

1. Существенный

фактор деятельности программиста,

названный «скоростью программирования», связан с ускорением составления и отладки программы, умень­ шением времени работы центрального процессора и ис­ пользованием языка более высокого уровня.

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

На этом заканчивается описание методики и резуль­ татов первого исследования. Перейдем к исследованию,

вкотором участвовали программисты-стажеры.

3.3.Исследование деятельности

программиста-стажера

3.3.1. План эксперимента

Для данного эксперимента в качестве плана также был выбран латинский квадрат размером 2X2.

 

 

 

Непосредственного взаимо­

Непосредственное взаимо­

 

 

 

действия с вычислительной

действие с вычислительной

 

 

 

системой

нет

системой

Группа

I

(4)

Головоломка

с

кубами

Программа сортировки

Группа

I I

(5)-

Программа

сортировки

Головоломка с кубами

В с е г о

 

 

9 испытуемых

 

Согласно этому плану, задача «Программа сортиров­ ки» решалась группой I (состоявшей из четырех испы­ туемых) в закрытом режиме, а группой I I (состоявшей из пяти испытуемых)—в режиме диалога с машиной. Вторая задача — «Головоломка с кубами» — отрабаты­ валась группой I в режиме диалога, а группой I I — в за­ крытом режиме.

При определении значимости различий между сред­ ними значениями, соответствующими двум различным

86

tлава &

условиям проведения эксперимента (работа в режиме диалога с машиной и работа при отсутствии непосред­ ственной оперативной связи с ней) и двум задачам, использовался дисперсионный анализ. Первое различие, вызываемое изменением условий, представляло главный объект экспериментального изучения, второе же пред­ ставляло интерес с точки зрения контроля.

3.3.2. Методика

Девять программистов-стажеров были случайным образом разделены на две группы, в одну из которых вошли четыре человека, а в другую—пять. Пока одна из групп решала первую задачу в режиме диалога, вторая группа испытуемых работала над этой же задачей, не прибегая к взаимодействию с машиной. Переходя к ре­ шению второй задачи, группы меняли режим доступа к вычислительной системе. Все испытуемые при решении обеих задач пользовались входным языком TINT, кото­ рый относится к подмножеству языка JOVIAL, при ра­ боте с системой TSS, снабженной соответствующим опе­

ративным

интерпретатором

[25].

 

Условия

эсперимента:

работа при

взаимодействии

и без взаимодействия с вычислительной

системой. Под

взаимодействием в данном эксперименте понимается использование TSS и языка TINT в полном объеме. Ни­ каких ограничений на использование испытуемыми это­ го языка не налагалось.

Условия работы без взаимодействия с вычислитель­ ной системой были такими же, как и в режиме взаимо­ действия, за исключением того, что пользователи после выполнения каждой пробной попытки были вынуждены прерывать отладку программы. За воспроизведением программ испытуемыми велось тщательное наблюдение с тем, чтобы можно было предотвратить их невольный переход в режим диалога. Если член группы, работав­ шей без взаимодействия с системой, сразу же обнару­ живал ошибку в своей программе и в это время никто из этой группы не стоял в очереди к телетайпу, он по­ лучал разрешение приступить к очередному просчету программы, не проходя канонического периода ожида-

Исследования деятелоности программистов 87

ния. Время ожидания доступа к свободному пульту вво­ да при работе в режиме без взаимодействия меняется в очень широких пределах, но, как правило, оно измеряет­ ся минутами, а не часами.

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

пор, пока

ие получали правильного решения в процес­

се прогона

своей программы.

Оценки

эффективности деятельности. В качестве оце­

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

3.3.3. Результаты

!

Квалификационные

параметры. Сводка результатов

эксперимента приведена в табл. 3.5. Результаты диспер­ сионного анализа указывают на существование значимо­ го различия между неконвертированными средними значениями времени (в часах), затраченного на отлад­ ку программ, в условиях взаимодействия и без взаимо­ действия с вычислительной системой при уровне значи­ мости 0,13. Расхождение между средними значениями времени работы центрального процессора (в секундах), соответствующими двум режимам проведения экспери­ мента, оказалось значимым с уровнем значимости 0,08.

88

 

 

 

Глава 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3.5

 

Оценки

деятельности

программиста-стажера

 

 

 

 

 

Программа сорти­

 

Головоломка с ку­

 

 

 

 

 

ровки

 

 

бами

 

 

 

 

оператив­

без взаимо­ оператив­

без взаимо

 

 

 

 

ное взаимо­

действия

ное взаимо­

действия

 

 

 

 

действие

 

действие

 

Усилия,

затраченные

на отладку

программы

человеко-часах)

Среднее

значение

 

0,71

 

4,7

 

9,2

 

13,6

Среднеквадратичное

от-

0,66

 

3,5

 

4,2

 

7,0

клонение

 

 

 

 

 

 

 

 

 

 

Время работы

центрального

процессора

секундах)

Среднее

значение

 

11,1

 

109,1

 

290,2

875,3

Среднеквадратичное

от-

9,9

 

65,6

 

213,0

392,6

клонение

 

 

 

 

 

 

 

 

 

 

В обоих

случаях

деятельность

испытуемых

оказалась

более эффективной

(с точки зрения быстроты

получения

решения)

при

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

режима

взаимодействия

с вычислительной

системой.

Использование

при обра­

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

мых при получении

статистических

характеристик.

В этом эксперименте

подобный эффект

не наблюдался.

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

Исследования деятельности программистов 89

ки трудности задачи в качестве нормировочного множи­

теля. Следует иметь в виду, что при введении

любого

нормировочного

множителя могут усложниться

анализ

и интерпретация

результатов. В настоящем эксперимен­

те было решено

использовать одну из самых

распро­

страненных оценок такого рода — число команд в про­ грамме. Производилось сравнение времени работы цент­

рального процессора, приходящегося

на одну команду,

и времени отладки на одну команду

(в человеко-часах),

затрачиваемого каждым испытуемым на решение обеих задач в открытом и закрытом режимах. Результаты сравнения показывают, что испытуемые, работавшие в режиме диалога с машиной, имеют значимо более низ­ кие оценки как для времени счета, приходящегося на од­ ну команду (в секундах, уровень значимости 0,01), так и для времени отладки, приходящегося на одну коман­ ду (в часах, уровень значимости 0,06).

Индивидуальные

различия. Одним из

основных ре­

зультатов первого

экспериментального

исследования

оказалось выявление существенных индивидуальных раз­ личий между программистами. В связи с различиями в объеме выборки и масштабе для сопоставления индиви­ дуальных различий, проявившихся в обоих эксперимен­ тальных исследованиях, были рассчитаны коэффициенты вариации. (Коэффициент вариации, выражаемый в про­ центах, равен отношению среднеквадратичного отклоне­ ния к среднему значению, умноженному на 100.) Окон­ чательные результаты показывают, что коэффициенты вариации времени отладки программы (в человеко-ча­ сах) и времени работы центрального процессора, полу­ ченные в данном эксперименте, лишь на 16% ниже ко­ эффициентов вариации, рассчитанных по результатам экспериментального исследования деятельности квали­ фицированных программистов (значения медианы со­ ставляют 66 и 82% соответственно). Обнаруженные раз­ личия частично можно объяснить большей сложностью задач, предлагавшихся при исследовании деятельности квалифицированных программистов, а также весьма разнообразным опытом программирования у отдельных испытуемых, что способствует более резкому проявлению индивидуальных различий программистов.

Соседние файлы в папке книги из ГПНТБ