sdt-book-2006 (1133574), страница 35
Текст из файла (страница 35)
Статистика показывает, что они находят до 80% ошибок,обнаруживаемых за весь период разработки ПО.Литература к Лекции 8[1] G. E. Krasner, S. T. Pope. A cookbook for using the Model-View-Controller user interfaceparadigm in Smalltalk-80. Journal of Object-Oriented Programming, 1(3), pp.
26–49, AugustSeptember 1988. SIGS Publications, NY, USA, 1988.[2] CORBA Event Service Specification, version 1.2. Object Management Group, October 2004.Доступен как http://www.omg.org/cgi-bin/apps/doc?formal/04-10-02.pdf.[3] Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированногопроектирования. Паттерны проектирования. СПб.: Питер-ДМК, 2001.[4] M. E. Fagan.
Design and Code inspections to reduce errors in program development. IBMSystems Journal, vol. 15, No. 3, pp. 258–287, 1976.[5] M. E. Fagan. Advances in Software Inspections. IEEE Transactions on Software Engineering,vol. 12, No. 7, pp. 744–751, July 1986.[6] S. Ambler. Process Patterns: Building Large-Scale Systems using Object Technology.
CambridgeUniversity Press, Cambridge, MA, 1998.[7] М. Фаулер и др. Архитектура корпоративных программных приложений. М.: Вильямс,2004.[8] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. Pattern-Oriented SoftwareArchitecture. A System of Patterns. Wiley, 2002.[9] Э. Дж. Брауде. Технология разработки программного обеспечения. СПб.: Питер, 2004.118Лекция 9. Принципы создания удобного пользовательскогоинтерфейсаАннотацияРассматриваются основные факторы удобства использования ПО, а также психо-физиологическиеособенности человека, делающие предметы удобными и неудобными для него.
Рассказывается ометодике проектирования, ориентированного на удобство использования.Ключевые словаУдобство использования, удобство обучения, ментальная модель, метафора, наглядность,эвристики удобства использования, проектирование, ориентированное на удобство использования,модель ролей пользователей, модель задач, модель содержимого интерфейса, эвристическоеинспектирование интерфейса, GOMS, тестирование удобства использования.Текст лекцииУдобство использования программного обеспеченияОдним из важных показателей качества программного обеспечения является удобство егоиспользования. Оно описывается с помощью таких характеристик, как понятностьпользовательского интерфейса, легкость обучения работе с ним, трудоемкость решенияопределенных задач с его помощью, производительность работы пользователя с ПО, частотапоявления ошибок и жалоб на неудобства.
Для построения действительно удобных программнужен учет контекста их использования, психологии пользователей, необходимости помогатьначинающим пользователям и предоставлять все нужное для работы опытных. Однако самымзначимым фактором является то, помогает ли данная программа решать действительно значимыедля пользователей задачи.Многие программисты имеют технический или математический склад ума. Для таких людей«понятность», «легкость обучения» представляются весьма субъективными факторами.
Сами онидостаточно легко воспринимают сложные вещи, если те представлены в рамках непротиворечивойсистемы понятий, как бы дико эта система и входящие в нее понятия ни выглядели дляпостороннего наблюдателя. Такие люди чаще всего изучают новое ПО при помощи документациии искренне убеждены в том, что пользователи будут разбираться с написанной ими программойтем же способом. Типичный подход программиста при разработке пользовательскогоинтерфейса — предоставить пользователю те же рычаги и кнопки, с помощью которыхпрограммист сам хотел бы управлять своей программой.К пользователям, у которых возникли проблемы с программой, многие программистыдостаточно суровы.
Любимый их ответ в такой ситуации — «RTFM!» (read this fucking manual,прочти эту чертову инструкцию). Они любят рассказывать друг другу анекдоты о «ламерах»,которые не в силах понять, что файлы нужно сохранять.Посмотрим теперь, что будет с «обычным человеком», впервые попытавшимсявоспользоваться компьютером вообще и текстовым редактором в частности (как ни тяжелопредставить такое сейчас).Пользователь открывает редактор, скажем, Microsoft Word, как-то набирает текст, затемпечатает его на принтере и выключает компьютер. Когда он включает компьютер в следующийраз и не находит важный документ, который он набрал (вы же сами помните!), он страшнораздосадован. Что вы говорите? Надо было сохранить документ? Что значит «сохранить»? Куда?Он же набрал документ и своими глазами видел, что «тот в компьютере есть».
Зачем его еще както «сохранять»? Ну ладно, ну хорошо, раз вы так уверяете, что нужно нажать эту кнопочку, онбудет ее нажимать. Да-да, каждые 10 минут, специально для вас, он будет нажимать эту кнопочку(зачем она нужна?...). Конечно же, спустя некоторое время он забудет это сделать.Человек «понимает» смысл и назначение вещей и действий с ними, только если они в егосознании находятся в рамках некоторой системы связанных друг с другом понятий. Набор текста119на компьютере больше всего напоминает набор текста на печатной машинке (и специально сделанвыглядящим так в редакторах WYSIWYG), чуть менее он близок к письму.
В обоих этих случаях,написав или напечатав некоторый текст на листе бумаги, мы получим достаточно долгохранящийся документ. Чтобы избавиться от него, нужно предпринимать специальные действия —смять, порвать, пролить на него кофе, выкинуть в мусорную корзину. Если такой документпропадает без наших действий, значит кто-то (сотрудник, начальник, жена, ребенок илиуборщица) взял его.
Человек, только что столкнувшийся с электронными документами,воспринимает их как аналоги бумажных и ожидает от них тех же свойств.Документы «в компьютере» не такие. У компьютера есть два вида памяти — оперативная, иливременная, и постоянная. В большинстве случаев набранный в редакторе текст находится воперативной памяти, содержимое которой пропадает при отключении питания.
Чтобы текст смог«пережить» это отключение, он должен быть перемещен в постоянную память. Именно для этогослужит операция «сохранить документ».В предыдущем абзаце описана некоторая система понятий, непривычная для новичка и недоступная с помощью непосредственного созерцания компьютера и размышлений. Ее необходимокак-то передать новому пользователю, иначе он не сможет понять, зачем же сохранять уженаписанные документы, ведь они и так есть. Иначе, максимум, что он сможет сделать — выучитьритуал, согласно которому нужно иногда нажимать на кнопку «Сохранить». Очень многие людиработают с компьютерами и другой сложной техникой с помощью ритуалов, поскольку не всегдав силах разобраться в новой для них системе понятий, в рамках которой действует эта техника. Ногораздо чаще — потому, что ее производитель и разработчики не тратят столько усилий, скольконужно, чтобы научить этой системе каждого пользователя.Если же подпускать пользователей к компьютеру только после прочтения необходимойдокументации и усвоения ее информации, редко кто из них вообще заинтересуетсяиспользованием компьютера.
Они используют компьютер и программное обеспечение только какинструменты для решения своих задач (единственный вид программ, где можно хоть как-торассчитывать на чтение документации, — игры и развлечения), и им не хочется тратить время начтение инструкций и осмысление правил, не относящихся напрямую к их области деятельности.Почему бы этим программам не быть столь же наглядными, как молоток и отвертка — никто нестанет же всерьез читать инструкцию к отвертке?Можно поспорить с этим на том основании, что компьютер и ПО намного сложнее отвертки, сих помощью можно выполнять гораздо больше действий и сами действия гораздо сложнее.
Но, сдругой стороны, умеют же сейчас делать автомобили, для вождения которых нужно знать толькоправила движения и основные элементы управления, а если что-то идет не так — пустьразбираются автослесари. Автомобиль сравним по сложности с самыми сложными программами,а то и превосходит их. И многие водители (по крайней мере, на Западе), используют автомобили,ничего не понимая в их устройстве. Пользователи изначально не хотят читать инструкции и небудут этого делать, пока эти инструкции занимают сотни страниц, написаны непонятным и сухимязыком, требуют внимательности и обдумывания, не отвечают сразу на вопросы, которыеинтересуют пользователя в данный момент, а также пока начальство не скажет, что инструкциювсе-таки прочитать надо.