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

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

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

70

Глава 3

работы были выполнены фирмой «Систем девелопмент корп.» по заказу Управления перспективного планиро­ вания научно-исследовательских работ Министерства обороны США. Одна из них посвящена сопоставлению процесса отладки программ при открытой и закрытой системах доступа к вычислительной машине; объектом исследования являлась группа из 12 опытных програм­ мистов в среднем с семилетним стажем. Во второй рабо­ те группа из 9 программистов-стажеров была использо­ вана для сравнения процессов отладки программ, про­ исходящих в режиме взаимодействия человека с маши­ ной и при отсутствии непосредственной связи с ней. Ниже последовательно рассматриваются основные мо­ менты обеих работ, причем первое исследование будет фигурировать под названием «опытный программист»,

авторое — «программист-стажер».

Вобоих экспериментальных исследованиях была ис­ пользована СРВ фирмы «Систем девелопмент корп.»,

работавшая в нормальном режиме открытого доступа и в смоделированном закрытом режиме (режиме работы без взаимодействия). СРВ представляет собой систему универсального назначения (см. доклад Шварца и др. [53]), во многих отношениях сходную с системой, соз­ данной по проекту MAC в МТИ (см. отчет Шерра [51]). Шварц [53] охарактеризовал этот класс систем с раз­ делением времени, выделив четыре свойства, важных с точки зрения пользователя: «мгновенную» реакцию, независимость действий каждого пользователя, возмож­ ность практически одновременной работы нескольких пользователей и универсальность.

В системе СРВ использована вычислительная маши­ на IBM типа A:N/FSQ-32. Приведем общее описание по­ рядка использования системы. Программы пользовате­ ля хранятся на магнитной ленте или во внешнем нако­ пителе на магнитном диске. Когда пользователь присту­ пает к работе со своей программой, он обращается к одному из пультов, оборудованных телетайпами. Пуль­ ты снабжены также устройствами, обеспечивающими непосредственный ввод/вывод информации в машину Q-32. Через телетайп пользователь вводит в машину команду, предусматривающую загрузку и перевод в ра*

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

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

гательную память (память

на магнитном барабане).

Все программы, находящиеся

в данный момент времени

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

3.2. Исследование деятельности опытного

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

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

План проведения экспериментального исследования деятельности опытного программиста приведен ниже.

 

 

Открытый режим

Закрытый режим

Группа

I

Алгебра

(6)

Лабиринт

(6)

Группа

I I

Лабиринт

(6)

Алгебра

(6)

В с е г о

(12)

(12)

Рлава 3

В рассматриваемой работе в качестве плана экспери­ мента выбран латинский квадрат1 размером 2X2. Про­ цедура, предусматривающая повторение эксперимента, выглядит следующим образом. В эксперименте участво­ вали две группы испытуемых по шесть человек в каж­ дой; объектом исследования являлась отладка програм­ мы при открытом и закрытом режимах доступа к вы­ числительной машине. Составлялись и отлаживались программы для решения задач двух типов — алгебраиче­ ской и лабиринтной. Повторение экспериментов было организовано таким образом, что каждый испытуемый, являясь контрольным по отношению к самому себе, ре­ шал одну задачу в режиме открытого, а другую — в ре­ жиме закрытого доступа. Обратите внимание, что в приведенном выше плане эксперимента программы, предназначенные для решения каждой из двух предло­ женных задач, присутствуют в каждой строке и каждом, столбце один и только один раз, так что план удовлет­ воряет требованиям латинского квадрата размером 2x2 . Испытуемые включались в каждую из групп слу­ чайным образом, а порядки выбора задачи и режима работы были уравновешены.

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

ку программ, и времени работы центрального

процессо­

р а — выполняются независимые

процедуры

дисперсион­

ного анализа. Основное преимущество плана

типа

«ла-

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

{пХп) -расположение из п элементов по строкам и столбцам

(таб­

лица), в котором элементы в линиях

не

повторяются.

Считается,

что название «латинский» было введено

Эйлером,

использовавшим

при изучении расположения данного вида в качестве его элементов

буквы

латинского

алфавита. Более подробные сведения можно най­

ти в

монографиях

К. А. Рыбникова

«Введение в

комбинаторный

анализ» (Изд-во МГУ,

1972)

и Ч. Хикса «Основные принципы плани­

рования эксперимента»

(М.,

«Мир»,

1967). — Прим.

перев.

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

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

73

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

3.2.2 Методика

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

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

Чтобы воспроизвести закрытый режим,

было

реше­

но воспользоваться системой TSS и машиной

Q-32,

пред­

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

74

Глава

3

передаваемое

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

содержало инструкции,

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

Каждый программист должен был составить собст­ венную программу, руководствуясь собственной логикой и исходя при сопоставлении возможных вариантов про­ граммы из специфики задачи. Процедуры составления программ не зависели от условий отладки. Другими сло­ вами, независимо от способа проверки программы (в от­ крытом или закрытом режиме) при ее составлении программисты не прибегали к диалогу с вычислительной системой. Для записи программ они использовали про­ цедурно-ориентированный язык, предназначенный для систем с разделением времени (JTS — JOVIAL TimeSharing) .

Экспериментальные задачи. Для программирования в эксперименте были предложены две задачи. Одна из них предусматривала написание испытуемыми програм­ мы решения алгебраических уравнений при условии ис­ пользования телетайпного ввода. Каждое из уравнений содержало одну зависимую переменную. Программа должна была обеспечивать вычисление значений зависи­ мой переменной при значениях независимых перемен­ ных, вводимых с помощью телетайпа, а также обнаружи­ вать специфические ошибки телетайпного ввода. Что ка­ сается логической процедуры решения задачи, то всем программистам было рекомендовано воспользоваться известным результатом Самюэльсона и Бауэра [49]. Составленные для решения этой задачи программы по­ лучили наименование «Алгебра».

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

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

75

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

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

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

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

76 Глава 3

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

новного теста

квалификации

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

ВРКТ —

Basic Programming

Knowledge

Test — анкетного теста,

разработанного

Берджером и

др. [4] в

Университете

Южной Калифорнии.

 

 

 

 

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

 

 

 

 

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

параметры. В табл.

3.1

приведе­

ны экспериментальные данные: переменные, характери­ зующие деятельность пользователя, условия экспери­ мента, описательная статистика, неконвертированиые экспериментальные данные и показатели, характеризую­ щие значимость различий в средних значениях оценок для групп испытуемых, использовавших разделение вре­ мени и пакетную обработку. Значения средних и сред­ неквадратичных отклонений для двух основных оценоч­ ных критериев — количества человеко-часов, затраченных на отладку программ, и времени работы центрального процессора — приводятся в табл. 3.2. Эти неконвертиро­ ваниые значения оценок свидетельствуют о существен­ ном преимуществе открытого доступа в отношении за­ трат человеко-часов на отладку программ: ско­ рость отладки увеличивается на 50—300%. Время рабо­ ты центрального процессора характеризуется противо­ положной тенденцией: в случае закрытого режима вре­ мя работы центрального процессора примерно на 30%

 

 

 

 

 

 

 

Таблица

3.1

Сводная

таблица

экспериментальных

данных

 

 

А. Критерии,

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

для оценки деятельности при

отладке

 

 

 

 

 

программ

 

 

 

 

 

 

 

 

 

 

 

Время работы

цент­

 

 

 

 

 

Время

отладки

рального процессора

 

 

 

 

 

программы, ч

при прогоне

програм­

 

 

 

 

 

 

 

мы, с

 

 

 

 

 

 

«Алгебра»

«Лабиринт»

«Алгебра»

«Лабиринт»

 

 

 

 

 

Режим доступа к вычислительной

системе

 

Группа I

 

 

открытый

закрытый

открытый

закрытый

 

 

 

 

 

Испытуемые

 

 

 

 

 

 

 

 

1

 

 

 

 

15

4,5

749

 

82

2

 

 

 

 

29

20,5

1781

240

3

 

 

 

 

6

7,0

678

 

57

4

 

 

 

 

57

26,0

1228

273

5

 

 

 

 

15

8,0

-1434

401

6

 

 

 

 

85

8,0

1727

 

91

 

 

 

 

 

Режим доступа к вычислительной системе

 

Группа И

 

закрытый

открытый

закрытый

открытый

 

 

 

 

 

Испытуемые

 

 

 

 

 

 

 

 

7

 

 

 

 

170

12,5

3075

257

8

 

 

 

 

31

2,0

370

541

9

 

 

 

 

20

3,0

403

 

115

10

 

 

 

 

27

2,0

527

269

11

 

 

 

 

23

3,5

416

 

141

12

 

 

 

 

30

1,0

652

 

50

Среднее

значение

(группа 1)

34,50

12,33

1266,16

190 ,-66

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

откло-

30,52

8,72

473,38

136,42

пение (группа

I)

 

 

 

 

 

 

 

Среднее

значение

(груп-

50,16

4,00

907,16

228,83

па II)

 

 

 

 

 

 

 

 

 

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

откло-

58,85

4,25

1067,06

174,64

пение (группа II)

 

 

 

 

 

 

 

Значение

F-критерия

 

0,33

4,42

0,56

 

0,17

Вероятность

р

 

 

 

0,10

 

 

 

 

 

 

 

 

 

Продолжение

табл.

3.1

Б. Вспомогательные

критерии оценки

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

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

 

 

 

Время состав­

Размер программы

Время прохож­

 

 

 

ления про­

дения про­

 

 

 

граммы, ч

 

 

 

граммы, с

 

 

 

«Алгеб­

«Лаби­

«Алгебра»

«Лабиринт»

«Алгеб­

«Лаби­

 

 

 

ра»

ринт»

ра»

ринт»

 

 

 

 

Г р у п п а

I

 

 

 

Испытуемые

 

 

 

 

 

 

 

1

 

11

•20

4433

1538

3,2

6,8

2

 

 

76

23

3215

1371

2,0

3,7

3

 

 

24

4

 

1050

651

3,5

2,8

4

 

 

58

6

4957

3227

3,5

0,6

5

 

 

66

5

4042

1890

7,9

3,9

6

 

 

111

50

2460

1286

2,4

4,2

 

 

 

Г р у п п а

I I

 

 

 

Испытуемые

 

 

 

 

 

 

 

7

 

88

16

2140

1501

3,5

2,4

8

 

19

2

3550

2188

5,0

5,4

1

9

 

12

2

 

1186

1000

3,0

2,3

10

 

60

16

6137

3287

6,6

8,0

11

 

7

2

2286

933

2,2

2,0

12

 

24

10

2690

1348

1,6

1,8

Среднее

значение

57,66 18,00

3359,50

1660,50

3,75

3,66

(группа

I)

 

 

 

 

 

 

 

 

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

36,22 17,67

1437,63

867,72

2,12

2,01

отклонение- (группа I)

35,00

8,00

2998,16

1709,50

3,65

3,65

Среднее

значение

(группа II)

 

32,01

6,92

1719,26

894,19

1,85

2,51

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

отклонение

(группа 11)

1,31

1,66

 

 

0,00

0,00

0,00

Значение

F-критерия

 

0,15

Вероятность р

Продолжение табл. 3.1

В.Условия эксперимента

Опыт

Общий

Язык

Тестовая

стаж рабо­

оценка

работы

ты в

програм­

БРКТ 1

с TSS,

области

мирования

(знания

мое

програм­

(SCAMP=0,

програм­

 

мирования,

JTS=I)l

миста)

 

годы

 

 

 

 

 

 

 

 

Г р у п п а

I

 

 

Испытуемые

 

 

 

 

 

 

1

 

2

2

1

32

8

 

2

 

0

7

I

51

14

 

3

 

9

11

1

35

12

 

4

 

4

3

]

38

6

 

5

 

6

5

I

45

13

 

6

 

2

11

0

47

5

 

 

 

 

Г р у п п а

I I

 

 

Испытуемые

 

 

 

 

 

 

7

 

30

4

0

47

12

 

8

 

3

2

1

50

11

 

9

 

18

10

"0

43

10

 

10

 

12

9

1

25

5

 

11

 

10

8

1

46

12

 

12

 

32

4

1

32

4

Среднее

значение

3,83

6,50

0,83

40,50

"9,00

(группа

I)

 

 

 

 

 

 

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

3,25

3,88

0,40

9,81

3,57

ное

отклонение

 

 

 

 

 

(группа

I)

 

 

 

 

 

 

Среднее

значение

17,50

6,16

0,66

41,33

9,66

(группа

II)

 

 

 

 

 

 

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

11,51

3,25

0,51

7,44

3,82

ное

отклонение

 

 

 

 

 

(группа

II)

 

 

 

 

 

 

Значение F-кри-

7,82

• 0,02

0,38

0,02

0,09

терия

 

 

0,05

 

 

 

 

Вероятность р

 

 

 

 

1 SCAMP символический пор,.—Прим. перев.

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