Файл: Сакман Г. Решение задач в системе человек - ЭВМ пер. с англ.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.04.2024

Просмотров: 141

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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% соответственно). Обнаруженные раз­ личия частично можно объяснить большей сложностью задач, предлагавшихся при исследовании деятельности квалифицированных программистов, а также весьма разнообразным опытом программирования у отдельных испытуемых, что способствует более резкому проявлению индивидуальных различий программистов.