Lecture09 (Лекции по Технологии программирования. Компонентный подход)
Описание файла
Файл "Lecture09" внутри архива находится в папке "Лекции по Технологии программирования. Компонентный подход". PDF-файл из архива "Лекции по Технологии программирования. Компонентный подход", который расположен в категории "". Всё это находится в предмете "основы программной инженерии" из 6 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Технологии программирования. Компонентный подходВ. В. КуляминЛекция 9. Принципы создания удобного пользовательскогоинтерфейсаАннотацияРассматриваются основные факторы удобства использования ПО, а также психо-физиологическиеособенности человека, делающие предметы удобными и неудобными для него. Рассказывается ометодике проектирования, ориентированного на удобство использования.Ключевые словаУдобство использования, удобство обучения, ментальная модель, метафора, наглядность,эвристики удобства использования, проектирование, ориентированное на удобство использования,модель ролей пользователей, модель задач, модель содержимого интерфейса, эвристическоеинспектирование интерфейса, GOMS, тестирование удобства использования.Текст лекцииУдобство использования программного обеспеченияОдним из важных показателей качества программного обеспечения является удобство егоиспользования.
Оно описывается с помощью таких характеристик, как понятностьпользовательского интерфейса, легкость обучения работе с ним, трудоемкость решенияопределенных задач с его помощью, производительность работы пользователя с ПО, частотапоявления ошибок и жалоб на неудобства. Для построения действительно удобных программнужен учет контекста их использования, психологии пользователей, необходимости помогатьначинающим пользователям и предоставлять все нужное для работы опытных. Однако самымзначимым фактором является то, помогает ли данная программа решать действительно значимыедля пользователей задачи.Многие программисты имеют технический или математический склад ума. Для таких людей«понятность», «легкость обучения» представляются весьма субъективными факторами.
Сами онидостаточно легко воспринимают сложные вещи, если те представлены в рамках непротиворечивойсистемы понятий, как бы дико эта система и входящие в нее понятия ни выглядели дляпостороннего наблюдателя. Такие люди чаще всего изучают новое ПО при помощи документациии искренне убеждены в том, что пользователи будут разбираться с написанной ими программойтем же способом. Типичный подход программиста при разработке пользовательскогоинтерфейса — предоставить пользователю те же рычаги и кнопки, с помощью которыхпрограммист сам хотел бы управлять своей программой.К пользователям, у которых возникли проблемы с программой, многие программистыдостаточно суровы.
Любимый их ответ в такой ситуации — «RTFM!» (read this fucking manual,прочти эту чертову инструкцию). Они любят рассказывать друг другу анекдоты о «ламерах»,которые не в силах понять, что файлы нужно сохранять.Посмотрим теперь, что будет с «обычным человеком», впервые попытавшимсявоспользоваться компьютером вообще и текстовым редактором в частности (как ни тяжелопредставить такое сейчас).Пользователь открывает редактор, скажем, Microsoft Word, как-то набирает текст, затемпечатает его на принтере и выключает компьютер.
Когда он включает компьютер в следующийраз и не находит важный документ, который он набрал (вы же сами помните!), он страшнораздосадован. Что вы говорите? Надо было сохранить документ? Что значит «сохранить»? Куда?Он же набрал документ и своими глазами видел, что «тот в компьютере есть». Зачем его еще как-то «сохранять»? Ну ладно, ну хорошо, раз вы так уверяете, что нужно нажать эту кнопочку, онбудет ее нажимать. Да-да, каждые 10 минут, специально для вас, он будет нажимать эту кнопочку(зачем она нужна?...).
Конечно же, спустя некоторое время он забудет это сделать.Человек «понимает» смысл и назначение вещей и действий с ними, только если они в егосознании находятся в рамках некоторой системы связанных друг с другом понятий. Набор текстана компьютере больше всего напоминает набор текста на печатной машинке (и специально сделанвыглядящим так в редакторах WYSIWYG), чуть менее он близок к письму. В обоих этих случаях,написав или напечатав некоторый текст на листе бумаги, мы получим достаточно долгохранящийся документ. Чтобы избавиться от него, нужно предпринимать специальные действия —смять, порвать, пролить на него кофе, выкинуть в мусорную корзину.
Если такой документпропадает без наших действий, значит кто-то (сотрудник, начальник, жена, ребенок илиуборщица) взял его. Человек, только что столкнувшийся с электронными документами,воспринимает их как аналоги бумажных и ожидает от них тех же свойств.Документы «в компьютере» не такие. У компьютера есть два вида памяти — оперативная, иливременная, и постоянная.
В большинстве случаев набранный в редакторе текст находится воперативной памяти, содержимое которой пропадает при отключении питания. Чтобы текст смог«пережить» это отключение, он должен быть перемещен в постоянную память. Именно для этогослужит операция «сохранить документ».В предыдущем абзаце описана некоторая система понятий, непривычная для новичка и недоступная с помощью непосредственного созерцания компьютера и размышлений. Ее необходимокак-то передать новому пользователю, иначе он не сможет понять, зачем же сохранять уженаписанные документы, ведь они и так есть. Иначе, максимум, что он сможет сделать — выучитьритуал, согласно которому нужно иногда нажимать на кнопку «Сохранить». Очень многие людиработают с компьютерами и другой сложной техникой с помощью ритуалов, поскольку не всегдав силах разобраться в новой для них системе понятий, в рамках которой действует эта техника.
Ногораздо чаще — потому, что ее производитель и разработчики не тратят столько усилий, скольконужно, чтобы научить этой системе каждого пользователя.Если же подпускать пользователей к компьютеру только после прочтения необходимойдокументации и усвоения ее информации, редко кто из них вообще заинтересуетсяиспользованием компьютера. Они используют компьютер и программное обеспечение только какинструменты для решения своих задач (единственный вид программ, где можно хоть как-торассчитывать на чтение документации, — игры и развлечения), и им не хочется тратить время начтение инструкций и осмысление правил, не относящихся напрямую к их области деятельности.Почему бы этим программам не быть столь же наглядными, как молоток и отвертка — никто нестанет же всерьез читать инструкцию к отвертке?Можно поспорить с этим на том основании, что компьютер и ПО намного сложнее отвертки, сих помощью можно выполнять гораздо больше действий и сами действия гораздо сложнее.
Но, сдругой стороны, умеют же сейчас делать автомобили, для вождения которых нужно знать толькоправила движения и основные элементы управления, а если что-то идет не так — пустьразбираются автослесари. Автомобиль сравним по сложности с самыми сложными программами,а то и превосходит их. И многие водители (по крайней мере, на Западе), используют автомобили,ничего не понимая в их устройстве.
Пользователи изначально не хотят читать инструкции и небудут этого делать, пока эти инструкции занимают сотни страниц, написаны непонятным и сухимязыком, требуют внимательности и обдумывания, не отвечают сразу на вопросы, которыеинтересуют пользователя в данный момент, а также пока начальство не скажет, что инструкциювсе-таки прочитать надо.
Но ведь есть еще и естественная человеческая забывчивость...Удобство обычной, «не компьютерной» модели работы с документами подтверждается тем,что Palm Pilot, первый компьютер без разделения памяти на временную и постоянную, разошелсянебывалым для такого устройства тиражом — за первые два года было продано около 2-хмиллионов экземпляров.Все сказанное выше служит иллюстрацией того факта, что «простота» и «легкость обучения»все-таки не совсем субъективны, а имеют объективные составляющие, которые необходимоучитывать при разработке части программного обеспечения, предназначенной длянепосредственного взаимодействия с человеком — пользовательского интерфейса.
Еслипосмотреть внимательнее, непонимание программистами пользователей в большой степенивызвано их, программистов, собственной ленью и нежеланием задумываться над непривычнымивещами.Рисунок 57. Что это? Лень или ошибка программиста, использовавшегоне то стандартное окно Windows? А что делать пользователю, получившему такое сообщение?Психологические и физиологические факторыВопросы удобства использования программного обеспечения тесно связаны с аналогичнымивопросами для других видов инструментов и оборудования, а также предметов быта. И решаютсяони на примерно той же основе, что и вопросы типа «удобна ли эта дверная ручка», «удобно литакое табло спидометра в автомобиле», «удобен ли данный способ управления станком» и пр.На применяемые в этой области решения огромное влияние оказывают общие законыпсихологии и физиологии человека, ведь вещи удобны или неудобны большей частью не из-засубъективных предпочтений, а из-за того, что строение человеческого тела и законы работысознания помогают или мешают использовать их эффективно.Фундаментальной основой для определения удобств и неудобств понимания человекомфункционирования и способов использования различных предметов является когнитивнаяпсихология, которая изучает любые познавательные процессы человеческого сознания.Психология использования машин, инструментов, оборудования и предметов обихода в ходепрактической деятельности человека обычно называется инженерной психологией [1,2].
Зарубежом выделена особая наука, изучающая психологические, физиологические и анатомическиеаспекты взаимодействия человека и компьютера, которая так и называется — взаимодействиечеловека и компьютера (Human-Computer Interaction, HCI).При рассмотрении задач построения удобного ПО используют много информации изперечисленных дисциплин. Наиболее важные для разработки пользовательского интерфейсарезультаты этих дисциплин можно сформулировать следующим образом.Человеку свойственно ошибатьсяОбычный человек в нормальном состоянии постоянно делает ошибки разного рода. Можносказать, что человек, в отличие от компьютера, является адаптивной аналоговой системой иуспешность его «функционирования» в гораздо большей степени определяется не точностьювыполнения действий и формулировки мыслей, а способностью быстро выдать хорошееприближение к нужному результату и достаточно быстро поправиться, если это необходимо.Понаблюдайте за разговором двух хорошо знакомых людей — в нем очень часто встречаютсяобрывки фраз, восклицания и междометия.