книги из ГПНТБ / Сакман Г. Решение задач в системе человек - ЭВМ пер. с англ
.pdf70 |
Глава 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 — символический пор,.—Прим. перев.