ЧЕЛОВЕЧЕСКИЙ ФАКТОР

ЧЕЛОВЕЧЕСКИЙ ФАКТОР В ПРОГРАММИРОВАНИИ ДЛЯ ЭВМ

М. Вайсер, Б. Шнейдерман, Р. Уиллиджнс, Б. Уиллиджис, Дж. Эл - кертон, К. Симпсон, М. МакКоли, Э. Роланд, Дж. Рут, Т. Роберте, С. Шеп - пард, В. Барфилд, Т.-Ч. Ченг, Э. Маржак, Р. Эбертс, Г. Салвенди, Г.-И. Буллингер, Ф. Корндёрфер, Дж. Шерит, К. Кобаяси.

Влияние поведенческого фактора на процесс разработки си­стем программного обеспечения является одним из предметов исследования специальной отрасли знаний — психологии про­граммирования, которая занимается изучением поведения че­ловека при работе с ЭВМ и использовании информационных систем. В настоящей главе основное внимание уделяется влиянию поведенческого фактора на процесс создания програм­много обеспечения, а не его проявлению в получаемом про­граммном изделии, заметному конечному пользователю. Неко­торые особенности программных изделий, обусловленные воз­действием поведенческого фактора, рассматриваются в гл. 5. Из обзорных работ по психологии программирования следует отметить работы [21, 64, 51, 73].

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

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

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

На каждом этапе разработки программного обеспечения требуются высокий уровень знания поставленной задачи и соответствующих проблем ее реализации на ЭВМ, а также профессиональные навыки решения подобных задач. Процесс создания программного обеспечения весьма изменчив и поэто­му непредсказуем. Из-за различия личностных качеств на­блюдается исключительное разнообразие результатов при ре­шении сходных задач разными исполнителями. Одному испол­нителю может потребоваться 10 или 20 недель для выполне­ния работы, которую другой завершит в течение одной неде­ли [19]. В связи со значительными различиями субъектов - исполнителей (подтверждаемыми повторными измерениями) оказывается предпочтительным применение методов планиро­вания эксперимента.

Влияние опыта и знаний субъекта с трудом поддается оценке. Не обнаружено четкой зависимости между стажем ра­боты программиста >и оценками его производительности. Более явно прослеживается зависимость производительности труда ^т способностей конкретных исполнителей (см. разд. 1.6).

1.1. Методология

Задача получения надежной информации относительно того, что же делают программисты в процессе работы, является ключевой при анализе влияния поведенческого фактора на про­цесс создания программного обеспечения. Некоторые методы получения такой информации рассматриваются ниже. 1.1.1. Самоанализ и протокольный анализ

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

Таблица 1.1. Приемы самоанализа

Видео - или звукозапись

«Размышления вслух» с записью или без нее Анализ «движений карандаша» Регистрация нажатий клавиш Регистрация используемых команд

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

Интроспективные эксперименты могут проводиться путем опроса группы субъектов с целью получения оценок исполь­зования ими при разработке программ таких приемов, как структурированное расположение текста программы, организа­ция комментариев, выбор мнемонических имен переменных, разработка блок-схем алгоритмов, применение методов мо­дульного построения программ и отладочных средств. Такие целенаправленные исследования помогают понять некоторые стандартные приемы, используемые программистом при рабо­те: выбор коротких «ли длинных имен переменных, меток или комментариев к операторам программы и имен модулей или программных комплексов. Как только удается описать стиль работы одного из программистов, становится возможным про­верить, насколько полезны используемые им приемы и обу­чить им остальных исполнителей. Если же какой-либо из прие­мов становится общеупотребительным, опытные программисты начинают утверждать, что следовали ему неявно на протяже­нии десятилетий, но без четко сформулированного правила; в этом случае обсуждение теряет общность, а обучение за­трудняется.

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

Автор работы [82] опубликовал некоторые протоколы, связанные с решением нескольких известных задач (напри­мер, задачи о девяти ферзях), вместе с интересными наблюде­ниями и гипотезами. С целью построения модели процесса познания при разработке программного обеспечения выполнен экстенсивный анализ протоколов составления программ [14] при использовании возможностей манипуляции строками текс­та на ЭВМ. Для прослеживания процесса разработки про­грамм ■ квалифицированным программистом и программ истом - новичком использован метод протокольного анализа [1]. Ав­торы работы [34] воспользовались методом «размышления вслух» для изучения процесса познания в программировании.

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

ЧЕЛОВЕЧЕСКИЙ ФАКТОР

Этапы проектирования программного обеспечения интерфейса человек — ЭВМ

Проектирование качественного программного обеспечения ин­терфейса человек —ЭВМ не является жестким, статическим процессом. Характер и содержание каждого интерфейса варьи­руются в соответствии с конкретной областью его использова­ния, и в группах разработчиков часто …

Оценка эффективности человеко-машинных систем

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

Потребность в документации

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

Как с нами связаться:

Украина:
г.Александрия
тел./факс +38 05235  77193 Бухгалтерия
+38 050 512 11 94 — гл. инженер-менеджер (продажи всего оборудования)

+38 050 457 13 30 — Рашид - продажи новинок
e-mail: msd@msd.com.ua
Схема проезда к производственному офису:
Схема проезда к МСД

Оперативная связь

Укажите свой телефон или адрес эл. почты — наш менеджер перезвонит Вам в удобное для Вас время.