Справочник от Автор24
Поделись лекцией за скидку на Автор24

Пользовательский интерфейс

  • 👀 1178 просмотров
  • 📌 1116 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Пользовательский интерфейс» pdf
Содержание Лекция 1. Понятие интерфейса. Качество пользовательского интерфейса. Критерии эффективного проектирования. .................................................................................................... 2 Понятие пользовательского интерфейса ........................................................................................................................ 2 Популярные стили пользовательского интерфейса................................................................................................... 3 Критерии эффективного интерфейса ......................................................................................................................... 4 Модели пользовательского интерфейса..................................................................................................................... 7 Лекция 2 Психология человека и компьютера ............................................................................................................. 10 Психология пользователей, восприятие и внимание человека................................................................................ 10 Информационные процессы человека: память и познание ..................................................................................... 11 Лекция 3 Проектирование пользовательского интерфейса.......................................................................................... 14 Стандартизация пользовательского интерфейса ..................................................................................................... 14 Компьютерные стандарты........................................................................................................................................ 15 Нормативная база системы ...................................................................................................................................... 17 Руководящие принципы и нормативы ..................................................................................................................... 21 Применение руководящих принципов..................................................................................................................... 22 Разработка интерфейсов для использования во всем мире ..................................................................................... 23 Жизненный цикл программного продукта............................................................................................................... 24 Лекция 4 Правила проектирования пользовательского интерфейса............................................................................ 27 Принципы проектирования пользовательского интерфейса ................................................................................... 27 Правило 1: дайте контроль пользователю ............................................................................................................... 27 Правило 2: уменьшите нагрузку на память пользователя ....................................................................................... 31 Правило 3:Сделайте интерфейс совместимым ........................................................................................................ 36 Лекция 5 Этапы разработки пользовательского интерфейса ....................................................................................... 40 Разработка, ориентированная на обучающихся....................................................................................................... 40 Четыре этапа разработки.......................................................................................................................................... 41 Итерационная природа разработки пользовательского интерфейса ....................................................................... 41 Первый этап: сбор и анализ информации, поступающей от пользователей ........................................................... 42 Второй этап: разработка пользовательского интерфейса ........................................................................................ 45 Третий этап: построение пользовательского интерфейса ....................................................................................... 47 Четвертый этап: подтверждение качества пользовательского интерфейса ............................................................ 48 Лекция 6. Инструментарий разработчика интерфейсов............................................................................................... 50 Передача информации визуальным способом ......................................................................................................... 50 Передача информации визуальным способом ......................................................................................................... 50 Использование цвета в интерфейсе программных продуктов................................................................................. 50 Использование звука в анимации............................................................................................................................. 51 Ключевые вопросы разработка ................................................................................................................................ 53 Десять основных проблем, связанных с удобством применения ГПИ и ОПИ ....................................................... 59 Лекция 7.MS Agent графические персонажи для интерфейсов ................................................................................... 61 Общая характеристика программ-агентов ............................................................................................................... 61 Программы, использующие агентов ........................................................................................................................ 63 Персонажи MS Agent................................................................................................................................................ 63 Особенности создания персонажей.......................................................................................................................... 64 1 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Лекция 1. Понятие интерфейса. Качество пользовательского интерфейса. Критерии эффективного проектирования. Понятие пользовательского интерфейса Интерфейс — одно из тех слов, над которым мы обычно мало задумываемся. Нельзя сказать, что понятие интерфейса никогда не определялось. В различных источниках (словарях, учебниках и т.п.) понятие интерпретируется разным образом. Приведем несколько таких определений. 1. Интерфейс — это «место, где независимая система встречается и взаимодействует или производит коммуникацию с другой такой же». В английском языке это слово используется в двух вариантах: как имя существительное и как глагол. 2. Раскрывая термин «интерфейс» узкоспециализированно, можно сказать, что он объединяет устройства ввода и вывода и программное обеспечение, которое обслуживает их. В более широком смысле интерфейс включает в себя все, что помогает пользователю взаимодействовать с компьютером, в том числе документацию, обучение и техническую поддержку. 3. Пользовательский интерфейс — это совокупность информационной модели проблемной области, средств и способов взаимодействия пользователя с информационной моделью, а также компонентов, обеспечивающих формирование информационной модели. 4. Интерфейс — это способ, которым выполняется какая-либо задача с помощью какого-либо продукта. 5. Интерфейс программы — это то, что пользователи видят на экране. 6. Интерфейс — это способ, с помощью которого пользователь взаимодействует с компьютером, так же важен, как и вычисления сами по себе. Другими словами, приспособленный к человеческому восприятию интерфейс является фундаментом для построения любого компьютера, операционной системы или программного окружения. Можно расширить и пояснить каждое из этих утверждений тем, что интерфейс содержит полный спектр взаимодействия между пользователем и компьютером. В этот термин включается аппаратное и программное обеспечение компьютера, дающее информацию пользователю и позволяющее ему работать с компьютером. К аппаратному обеспечению компьютерного интерфейса относятся клавиатура, манипулятор типа мыши, джойстика или трекбола, системный блок, монитор. Программное обеспечение пользовательского интерфейса содержит все, что помогает пользователям видеть, слышать, отмечать, трогать на экране компьютера, а также информацию, с которой пользователь работает. Кроме того, в интерфейсе есть печатная и электронная информация — справочники, руководства, учебники и много другой документации, дополняющей программное и аппаратное обеспечение. Это делает взаимодействие с программными и аппаратными средствами интерфейса более удобным и позволяет человеку общаться с компьютером, а компьютеру — представлять информацию пользователю. Дизайн пользовательского интерфейса должен быть одобрен и принят его пользователями. Без хорошо проработанного интерфейса даже выдающаяся система не будет успешной. Построение интерфейса для конечного пользователя будет эффективным, до тех пор, пока не потребует от пользователя совершить какие-либо действия из-за того, что программа нуждается в дополнительной информации. Наиболее продуктивный путь проектирования оптимального интерфейса — сделать дизайн продукта в соответствии с желаниями, потребностями и опытом пользователя. Рассмотрим опыт создания интерфейсов в индустрии развлечений. Компания Диснея сделала свои парки такими, чтобы отдыхающие получали удовольствие от прогулок по ним. Проектировщики знали, что их будущие клиенты — семейные пары с детьми, и предвидели их поведение. Посетители будут голодны, обуреваемы жаждой, усталые и не захотят стоять в длинных очередях. Точка зрения компании Диснея: дизайн есть опыт, а опыт есть искусство. Они выяснили, что люди хотят иметь, т.е. их опыт, затем разработали сценарии отдыха, осуществили 2 PDF created with FinePrint pdfFactory trial version www.pdffactory.com соответствующий Дизайн, окончательно протестировали, чтобы точно знать, что нуждается в доработке. Эту же последовательность действий надо выполнять и при разработке пользовательского интерфейса. Популярные стили пользовательского интерфейса Развитие программного обеспечения потребовало отдельного изучения и прогресса в области разработки программных интерфейсов. Их многообразие позволяет выделить ряд стилей пользовательского интерфейса, которые завоевали популярность в индустрии программных средств. Среди них: Ø графический пользовательский интерфейс (GUI); Ø пользовательский Web-интерфейс (WUI); Ø пользовательские интерфейсы карманных устройств (HUI); Ø объектно-ориентированные ПИ. Графический пользовательский интерфейс (Graphical User Interface — GUI) определяется как стиль взаимодействия «пользователь - компьютер», в котором применяются четыре фундаментальных элемента: окна, пиктограммы, меню и указатели. Иногда GUIинтерфейс называют WIMP-интерфейсом (Windows — окна, Icons — пиктограммы, Menus — меню и Pointers — указатели). Важнейшие свойства GUI-интерфейса — это возможность непосредственного манипулирования, поддержка мыши или указателя, использование графики и наличие области для функций и данных приложения. Базовый WUI-стиль (Web User Interface) весьма схож с меню иерархической структуры, которые пользователи знают по опыту работы в средах с неграфическим интерфейсом, за исключением более наглядного представления и использования гиперссылок. Необходимая навигация выполняется в рамках одного или нескольких приложений с использованием текстовых или визуальных гиперссылок. В зависимости от структуры гиперссылок приложения навигация в пределах WUI-интерфейса приводит к отображению Webстраниц в иерархии приложения — по одной за раз — в линейном или нелинейном стиле внутри одного GUI-окна. Во многих отношениях WUI-ориентированные приложения — это «шаг назад в будущее» — или, может быть, нечто худшее, учитывая объемы электронных документов и других материалов в Web. Приведем основные особенности приложения, использующего WUI-стиль. Ø Информация обычно отображается в единственном GUI - окне, называемом браузером, хотя для представления данных в приложении могут использоваться несколько окон браузеров. Ø Браузер обеспечивает меню для Web-пpилoжeния. Ø Клиентская область не содержит традиционных пиктограмм. Ø Поддержка указателя осуществляется в основном для выбора с помощью одного щелчка мышью или выбора по навигационным ссылкам. Ø Технология «drag and drop» («перетащить и поместить») не поддерживается, за исключением случаев специального программирования в определенных средах. Действия кнопки 2 мыши также ограничены. Web-ориентированное ПО становится все более похожим на GUI-ориентированное программное обеспечение (возможно потому, что пользователи неизменно требуют наличия популярных и полезных свойств GUI-интерфейса наподобие метода «drag and drop» или всплывающих меню). Сегодня широко известны два основных класса PDA (Personal Digital Assistant — персональный цифровой ассистент — «карманный» компьютер, предназначенный для выполнения некоторых специальных функций). В одних используется настоящий GUI-стиль как по внешнему виду, так и по поведению, в других применяется подмножество GUIинтерфейса. Для ввода данных пользователем оба класса устройств применяют «жестикуляционный» стиль с пером и сенсорным экраном. Обычно подобные устройства обладают очень маленьким экраном. Каждая область дисплея PDA меньше, чем большинство окон GUI-ориентированных приложений для настольных и портативных систем. Для поддержки PDA обычно используется GUI3 PDF created with FinePrint pdfFactory trial version www.pdffactory.com ориентированное программное обеспечение для портативных или настольных компьютеров. Проектирование программных объектов дает возможность предоставить в распоряжение пользователя приложение, обладающее объектно-ориентированным стилем пользовательского интерфейса и/или объектно-ориентированной внутренней структурой (реализацией). Многие объектно-ориентированные свойства реального мира находят отражение во внешнем виде, поведении, требованиях к взаимодействию и функциональных возможностях. Компьютеризованное усовершенствование или дополнение объектов реального мира, если только оно плохо спроектировано или реализовано, не очевидно для конечного пользователя и не в состоянии преодолеть его устоявшиеся знания и восприятие. Представленные в явном виде при проектировании обозначения классов объектив, иерархии классов и наследование посредством иерархии классов остаются прозрачными для пользователя. Объектно-ориентированный прикладной пользовательский интерфейс должен обладать следующими свойствами; Ø Обеспечивать непосредственное манипулирование (перетаскивать любые объекты куда угодно). Ø Обеспечивать непосредственный ввод данных (записывать любую информацию). Ø Обеспечивать контекстную зависимость от объектов (всплывающие (контекстные) меню, справки, согласованность и т.д.). Хороший прикладной объектно-ориентированный ПИ прост в использовании; это значит, что его механизмы пользовательского интерфейса прозрачны. Очевидно, что абсолютное количество пользователей использует интерфейс в стиле мейнфреймов или миникомпьютеров. Однако тенденция к доминированию явно склоняется в пользу GUI-интерфейсов и им подобных. Не совсем ясно, какой стиль пользовательского интерфейса будет доминировать в карманных устройствах, хотя можно возразить, что в любом случае эти стили также представляют собой разновидность GUI-стиля. GUI-интерфейс преобладает в сфере персональных компьютеров, и количество разновидностей этого стиля невелико. WUI-интерфейсы соответствующих приложений, которые используют GUI-стиль, превалируют в области доступа к сетям Internet и Intranet. Стилевые детали WUI-интерфейсов мало, чем отличаются, подтверждением чему служат диалоговые окна Web-браузеров. Однако в разнообразии деталей ПИ для приложений господствует анархия. Стили ПИ для карманных устройств включают как GUI-стили, так и стили, отличные от GUI. Критерии эффективного интерфейса Основой конкурентоспособности является качество. И хотя кроме качества в конкурентоспособность входят цена, сроки поставки, гарантии, сервисное обслуживание и ряд других слагаемых, именно качеству отдают предпочтение покупатели и заказчики при выборе продукции. Образно говоря, качество — это камень на шее предприятия, но если оно сможет удержаться с ним на плаву, этот камень превратится в спасательный круг, который придаст предприятию дополнительную плавучесть. Набор критериев для оценки качества интерфейса и связи между ними можно изобразить в виде схемы (рис. 1.1). 4 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Рис. 1.1. Критерии качества интерактивного дизайна Критерии проектирования соотносятся с другими и образуют понятие «качество интерфейса» (см. рис. 1.1.). Данное понятие определяется так: взятые вместе критерии поднимают один ключевой вопрос - как эффективный интерактивный дизайн обеспечивает людям успешный и положительный опыт работы? В табл. 1.1. записаны все критерии и вопросы, которые помогают раскрыть их содержание и необходимость для оценки программного продукта. Таблица 1.1 Описание критериев интерактивного дизайна Критерий Описание проектирования Качество интерфейса В совокупности критерии поднимают ключевой вопрос — как эффективный интерактивный дизайн способствует успеху работы? Понимание Насколько хорошо группа проектировщиков понимает потребности, пользователей задачи тех людей, для которых предназначен данный продукт? В какой мере отражено данное понимание в программном обеспечении? Эффективность Является ли продукт результатом действительно обдуманного и процесса тщательно реализованного проектирования? Как был профинансирован, проектирования распланирован проект? Как решались другие проблемы, например взаимоотношений между членами группы? Надобность Что обеспечивает эффективность проекта? Имеет ли продукт общественную, экономическую и другую значимость? Пригодность к изучению и использованию Насколько сложен данный продукт в использовании и обучении? Соответствует ли он своему назначению? Все ли особенности продукта наглядно отражены? Как организована его поддержка и имеются ли альтернативные пути достижения поставленных целей в зависимости от опыта работы, навыков и привычек пользователей? Соответствует ли дизайн продукта решению поставленных проблем? Отвечает ли продукт требованиям практичности и целесообразности? В какой степени решение проблемы соответствует социальным, культурным, экономическим и техническим аспектам? Соответствие Эстетическое чувство Насколько использование продукта эстетически приятно? Является ли он цельным с точки зрения дизайна, графики, последовательности действий, информативности? Связаны ли стиль и дух продукта? Отвечает ли дизайн технологическим нормам? Удовлетворяет ли он задаче интеграции программного и аппаратного обеспечения? 5 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Изменяемость Управляемость Насколько обоснованна способность продукта изменяться? В какой мере продукт соответствует требованиям индивидуального пользователя и группы? Как проектирование позволяет продукту меняться и подстраиваться под различные, возможно непредвиденные, случаи использования? Поддерживает ли дизайн продукта понятие «использование» как функциональность или в полном объеме содержания этого термина? В какой мере продукт помогает пользователям управлять такими процессами, как инсталляция, тренировка, сопровождение и др.? Соответствует ли дизайн объекта требованиям коммерческих мероприятий, например конкурсов по использованию продукта, а также концепции «право собственности»? 6 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Модели пользовательского интерфейса Ментальные модели Модель отражает ожидания человека, работающего с компьютером, и тот опыт, который он получает в результате. Это лишь формальная расшифровка опыта и ожиданий пользователя от окружающего мира. Определение Ментальная, или концептуальная, модель — это лишь внутреннее отображение того, как пользователь понимает и взаимодействует с системой. Люди формируют ментальные модели по ряду причин. Они позволяют пользователям: Ø предсказывать (или обозначать невидимые) события; Ø найти причины замеченных событий; Ø определить необходимые действия для осуществления нужных изменений; Ø использовать их как мнемонические устройства для запоминания событий и связей (отношений); Ø обеспечивать понимание аналогичных устройств; Ø применять стратегии, которые позволяют преодолеть ограничения, заложенные в алгоритме обработки информации. В основе ментальной модели — все взаимоотношения между пользователями и их компьютерами, поэтому она является фундаментом для выработки принципов и правил пользовательского интерфейса. Почему это так важно, если речь идет о моделях? Пользователи всегда имеют ментальные модели и будут разрабатывать и модифицировать их независимо от особенностей системы. Задача проектировщиков пользовательского интерфейса —сделать все возможное, чтобы облегчить процесс разработки эффективной ментальной модели. Когда они переносят знания об окружающем нас мире в мир компьютер, начинает действовать концепция метафор. Определение Ø Метафора — это «понятие, переносящее свойства или признаки одного объекта на другой для выяснения их сходства или аналогии». Ø Метафоры помогают пользователям освоить новые для себя области деятельности (например, работу с текстовым процессором), осмысляя их в терминах области, которая им уже знакома и понятна (например, пишущая машинка). Метафоры помогают проектировщикам, так как использование метафор позволяет им структурировать элементы интерфейса по аналогии с известной пользователям областью. Метафора «рабочий стол» используется в большинстве сегодняшних графических и объектно-ориентированных интерфейсов (ООПИ). Компьютерный «Рабочий стол» построен по аналогии с офисным. Все пользователи бывали в офисе, знакомы с его оборудованием, знают, для чего предназначены папки, шкафы, телефоны, блокноты. Проектировщики используют эту метафору, чтобы облегчить взаимодействие пользователей с компьютером, да и не только с ним. При построении интерфейсов рассматривается три вида моделей: § концептуальная модель пользователя; § модель программиста; § модель проектировщика. Модель пользователя Программные продукты должны разрабатываться, прежде всего для удовлетворения потребностей пользователя. Преимущество применения компьютеров и графических Пользовательских интерфейсов бесспорно, но только при условии, что продукт имеет хороший дизайн. Графический пользовательский интерфейс может использоваться для обучения и игры так же хорошо, как и для работы. 7 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Примером использования метафор может служить детская программа «Игровая комната», разработанная Лесли Гримм (Leslie Grimm) и реализованная фирмой Broderbund Software, Inc. Это очень удачная детская программа, которая была отмечена специальной наградой. Она предлагает: «Добро пожаловать в «Игровую комнату», где дети учатся любить учиться». Графический пользовательский интерфейс прививает навыки работы с компьютером и мышью и, что особенно важно для детей от трех до шести лет, обучает чтению и математике. Программа помогает малышам научиться считать, распознавать буквы и цифры, распознавать Звуки и слова, запомнить новые слова, правильно их произносить, вести повествование, слагать и вычитать, планировать и анализировать, пользоваться клавиатурой, развивать творческие способности. В данном случае интерфейс — это метафора детской комнаты в доме, о которой каждый пользователь имеет свое представление, свою ментальную модель. Интерфейс полон предметов, игрушек, движущихся объектов. Щелчок мышью по некоторым из объектов раскрывает другие «комнаты», где ребенок вовлекается в обучающую игру. Для возврата в «Игровую комнату» служит иконка, расположенная в правом нижнем углу экрана. Это достаточно простой, но эффективный интерфейс: ребенок представляет себе, какие бывают комнаты и как они располагаются в квартире, что позволяет ему легко ориентироваться в программе. Есть большая разница между взрослыми и детьми. Взрослые не столь охотно по сравнению с детьми исследуют интерфейс. Интерфейс для малышей проектируется так, чтобы объекты и движущиеся предметы заинтересовывали маленьких пользователей. Дети любопытны и щелкают мышкой по всему, что видят на экране. Как определить вид пользовательской модели? Единственный способ — поговорить с пользователем и посмотреть, как он работает, потому что ментальная модель базируется на персональном опыте и ожиданиях. GUI рекомендует пять способов сбора информации о пользователях: ♦ анализ их задач; ♦ интервью с настоящими или потенциальными пользователями; ♦ посещения мест их работы; ♦ отзывы клиентов; ♦ тесты по пригодности. Даже правильно определив «источник» нужной информации, пользователи склонны рассказывать, что они делают, а не то, что им хотелось бы делать. Такой феномен называется WYKIWYL (аббревиатура от английских слов: What You Know Is What You Like — «Что Ты Знаешь Есть Что Ты Любишь»). Пользователи — не системные проектировщики и обычно не знакомы с технологией, применяемой в компьютерном программном и аппаратном обеспечений. Они больше полагаются на собственные представления, чем на действительное положение вещей. Помните, нет такого понятия — «рядовой пользователь». Собирайте данные от отдельных людей и групп, которые имеют разные персональные, профессиональные и компьютерные привычки и наклонности. Модель программиста Модель программиста — самая легкая для отображения, так как она может быть формально и недвусмысленно описана. На самом деле данная модель есть представленная в определенном виде функциональная спецификация программного продукта. Определение Программист — человек, который кодирует программу или систему. Объекты и данные составляющие программу, интересны программисту, но не обязательно в плане того, как пользователь взаимодействует с информацией. Например, сточки зрения программиста интерфейсы предназначены для сохранения и восстановления информации, представляют собой поля данных или записи в базе данных. Точка зрения на них у пользователя может быть иной, чем у разработчиков. Одни и те же данные могут быть входом в программу для проверки, личную записную книжку или деловую телефонную книгу. 8 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Программист знает компьютерную платформу, операционную систему, инструменты разработки, руководства и спецификации по программированию, нужные для создания программ. Таким образом, здесь не учитывается умение программиста предоставлять пользователю наиболее приемлемые модели и метафоры пользовательского интерфейса. Некоторые программисты не знакомы с пользовательской моделью компьютерных систем и программ. У них есть собственные ожидания и опыт работы с компьютером, которые они используют при написании программ. Программисты осведомлены больше о функциях программы, чем об интерфейсе. К примеру, если 24 строчки доступны в текстовом окне, программисты могут занять практически все, не думая, насколько пользователю будет удобно это читать. Модель проектировщика Работа проектировщика подобна работе архитектора. Как мы уже говорили, создание программного продукта во многом похоже на возведение дома. Проектировщик (архитектор) узнает идеи, пожелания пользователя (владельца дома), соединяет их со своими навыками и материалами, необходимыми для программиста (строителя), и проектирует программное обеспечение (дом), которое должно удовлетворять нужды пользователя. На рис. 1.2 приведена модель проектировщика как нечто среднее между моделью пользователя и моделью программиста. Разработчики обычно не входят в контакт с пользователями, для которых создают программы. Недостающим звеном между пользовательским окружением и программистским миром являются проектировщик пользовательского интерфейса и другие члены команды по разработке. Чем же на самом деле занимается проектировщик интерфейса? Как его модель взаимодействует с ментальной моделью пользователя и программистской моделью системы? Модель проектировщика описывает объекты, с которыми работает пользователь, и технику манипулирования ими. Рис.1.2. Роль и место проектировщика в разработке пользовательского интерфейса Становится понятным, что ощущения и впечатления от интерфейса есть наиболее заметная часть продукта, которая находится в центре внимания создателей. Отображение информации занимает лишь 10% всего процесса проектирования продукта. Без сомнения, иконки, графика и текст должны иметь приемлемый вид, но это далеко не главная вещь в интерфейсе. Проектирование модели лучше начинать с нижней части «айсберга». На самом деле наиболее важными аспектами являются описание объектов и метафор, их работа. Следовательно, визуальные и эстетические стороны интерфейса, например пиктограммы, должны быть сделаны просто и логично. 9 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Лекция 2 Психология человека и компьютера Психология пользователей, восприятие и внимание человека Роль пользователя в интерфейсе очень важна. Проектирование интерфейса должно базироваться на знании опыта и ожиданий пользователя. Разработчик должен хорошо знать основные физические, познавательные возможности, а также способности пользователей к восприятию. Когнитивная психология объясняет то, как работает наш мозг, как мы мыслим, как мы запоминаем, как мы обучаемся. Это информационно-процессуальная модель человеческого познания — модель, которая показывает нам схожесть человеческого познания с компьютером и то, что единая теория вычислений может быть использована для проведения исследований и проектирования в психологии и компьютерной отрасли. Но все же это разные модели восприятия, и человеческое познание много сложнее простой обработки и сохранения информации. Информационно-процессуальная модель представляет обучение как развивающий процесс, объединяющий прежние навыки, знания и приобретаемый опыт. Следовательно, она крайне необходима при проектировании программного обеспечения. Пока компьютеры не научатся как следует распознавать и воспроизводить человеческий голос, люди будут получать информацию визуально, через дисплей. Изучение возможностей человеческого восприятия важно даже если используются относительно простые технологии работы с интерфейсом программы. Рассмотрим лишь один пример, как компьютерная система должна учитывать наши способности восприятия. Когда на экране со скоростью молнии появляется и пропадает сообщение, которое невозможно прочитать, что вы обычно чувствуете? Раздражение, не так ли? Наша система восприятия отводит очень маленькое время для реакции на стимул и перевода глаз в точку появления информации. Также нужно время для прочтения сообщения и осмысления прочитанного. Возможности человеческого восприятия должны учитываться при определении временного периода на показ и удаление надписи с дисплея. Определение Ø Восприятие не просто видение чего-либо, это комбинирование информационных потоков, поступающих в мозг от наших органов чувств, зрения, слуха, вкуса, обоняния, осязания, со знаниями, опытом прошлого. Ø Восприятие — процесс сравнения новых образцов информации со старыми. Информационный поток, состоящий из опыта и ожиданий пользователя, который осуществляется через взаимосвязь человека и компьютера. Приведем пример восприятия: в классическом эксперименте людям была показана некая заглавная буква (к примеру, А) или двузначное число (к примеру, 17). Затем им показали 13 (сломанную заглавную букву В) и спросили, что они видели. Как вы думаете, что они сказали? Люди, которые увидели вначале букву, говорили, что это буква В, а те, кому предлагали комбинацию цифр, сказали, что это число 13. Нас окружает масса информации, наши чувства постоянно поглощают ее, а мозг перерабатывает. Мы даже не всегда осознаем этот процесс. Наше внимание привлекают лишь какие-то изменения в окружении. Случалось ли вам при разговоре с кем-нибудь в помещении, где находилось большое количество людей, услышать свое имя в беседе, ведущейся в другом конце комнаты? Вы были уверены, что поглощены собеседником, однако умудрились в общей гамме уловить знакомое до боли сочетание звуков! Это называется феноменом вечеринки. Данный пример подтверждает, что наша сенсорная система постоянно работает, а получаемая информация обрабатывается автоматически, без участия сознания человека. Любые внезапные и значимые изменения в нашем окружении привлекают наше внимание. Они могут касаться освещения, звуков, движений, цвета или всех этих явлений в комплексе. Вот почему в компьютере применяются многочисленные звуки звонков и колокольчиков. 10 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Информационные процессы человека: память и познание Компьютер не имеет чувств, подобных человеческим (или пока не имеет), но люди не способны на многое из того, что может компьютер. Чтобы заставить компьютер помогать нам и развлекать нас, надо больше узнать о том, как работают память и познавательная система человека. На рис. 2.1 представлены составляющие человеческой системы познания и памяти — хранение информации от органов чувств, краткосрочная память, долгосрочная память. Приведем несколько примеров того, как эти составляющие работают и как компьютерные и пользовательские интерфейсы могут помочь процессу обработки информации. Рис. 2.1. Система обработки и запоминания информации человеком: 1 —долгосрочная память; 2 — краткосрочная память; 3—хранилище Хранение информации от органов чувств есть установка буферов памяти, где содержатся результаты автоматической обработки информации, полученной от наших органов чувств (например, «феномен вечеринки»). Человек перерабатывает огромное количество информации, даже не осознавая этого. Буферная память сохраняет информацию (аудио-, визуальную и тактильную), которая может быть достаточно объемной и обладать высоким уровнем детализации. Представьте ваши органы чувств как часовых на аванпостах, собирающих информацию о мире вокруг нас. Они могут быть не очень точны, но весьма внимательны ко всему, что происходит, а также достаточно оперативны. Информация не может храниться очень долго, она постоянно обновляется, вытесняется новыми «поступлениями». Причем происходит это без осознанного участия с вашей стороны. Происходящее вокруг лишь привлекает наше внимание, но в дальнейшем информация обрабатывается с помощью более высоких функций мозга. При просмотре кинофильма вы не осознаете, что видите последовательность кадров. Ваша система чувств перерабатывает полученную информацию, кадр за кадром, так быстро, как только может. Высокоскоростные процессы деятельности мозга сглаживают, смягчают информацию, поэтому вы воспринимаете все как единое действие. Сообщение должно оставаться на экране столько времени, сколько это необходимо для того, чтобы пользователь не только прочитал его, но и понял. Человеческая система чувств воспринимает информацию от всего, что находится на дисплее компьютера. Анимация на заднем плане забавна, но если вы работаете с ней в окне, ваш мозг будет выполнять слишком много ненужных операций. Ваша система обработки информации будет занята задним планом окна, а не работой. Это приведет к усталости и напряжению глаз. Постоянная или повторяющаяся стимуляция действительно утомляет сенсорные механизмы, и они становятся менее восприимчивыми и способными к дифференциации изменений. Это называется привыканием, которое применимо к любой сенсорной информации, в том числе информации на мониторе, а также к изменениям в окружающей обстановке. Все факторы, включая свет, температуру, звуки, движения, изменения цвета, также влияют на человеческое внимание. Следовательно, все элементы компьютерного интерфейса важны и должны иметь строго определенное назначение. Краткосрочная память — это вторая ступень обработки информации. Воспринятые и обработанные данные переходят из хранилища в краткосрочную память, которая также берет информацию из долгосрочной памяти. Краткосрочная память имеет наименьшую, если можно 11 PDF created with FinePrint pdfFactory trial version www.pdffactory.com так выразиться, пропускную способность во всей системе обработки информации. Буферная память ограничена по емкости приблизительно семью (плюс-минус двумя) предметами. Новая информация поступает в краткосрочную память, вытесняя старую. Если информация не востребуется, в памяти данного вида она хранится не более 30 секунд. Краткосрочная память как область, отвечающая за процесс мышления, называется рабочей памятью. Если вас попросят перемножить число 538 шесть раз в уме, вы будете делать это в вашей краткосрочной памяти. Понять, как она работает, довольно легко. Но, кроме этого, нам необходимо знать, чего человек не может по сравнению с компьютером. Например, компьютер без особого труда обращается к сохраненной информации, а человеку порой сложно управляться даже с известной информацией. Люди используют различные способы сохранения информации в краткосрочной памяти. Основные из них — повторение и разбивка информации на части. Мы можем использовать один из них или их комбинацию. Телефонный номер можно повторять голосом «про себя» или вслух. Но любая новая информация может вытеснить старую. К примеру, в тот момент, когда вы повторяете номер телефона, пытаясь его запомнить, кто-то может вам сказать: «Эй, уже 11:35, пойдем на обед!». Номер телефона пропадет из вашей памяти, и вы будете повторять «одиннадцать тридцать пять, одиннадцать тридцать пять». Разбиение информации на части - эффективный способ запоминания информации. Он заключается в дроблении информации на куски и последующей группировке их по связи, порядку и смыслу. Разбиение информации задействует оба вида памяти: долговременную и краткосрочную. Запомнить номер 123-4567 легко. Семь цифр можно запомнить по порядку их следования. При разработке интерфейса вам необходимо знать ограничения и основные характеристики краткосрочной памяти. Например, если пользователи не могут понять информацию на экране и запросят справку по конкретной теме, не позволяйте окну справочной системы закрыть ту информацию, для которой она вызвана! Подобного рода помощь называется «деструктивной», потому что закрывает тот предмет, на котором пользователю нужно акцентировать внимание. Пользователи обычно прибегают к справочной системе два-три раза, пока полностью воспримут информацию. Долговременная память есть аналог базы данных телефонной компании или телефонной книги. Такого рода память — хранилище информации с неограниченной емкостью и продолжительностью хранения. Компьютеры также являются достаточно объемными, долговременными хранилищами информации, но имеют свои слабые и сильные стороны, приведенные в табл. 2.1. Проблема заключается не в количестве и сроке хранения, а в способе получения доступа к информации. Сколько раз вы пытались вспомнить чье-либо имя или название кинофильма и отказывались от этого? Этот феномен называется «вертеться на языке». Вы так мучительно пытаетесь что-либо вспомнить, что этот процесс начинает вызывать у вас почти боль! Вы примерно знаете, как звучит это слово, даже знаете его первые буквы или внешность того человека, чье имя хотите вспомнить, но не можете окончательно сформулировать информацию. Таблица 2.1 Слабые и сильные стороны людей и компьютеров Таблица 2.1 Объект Люди Сильные стороны Слабые стороны Краткосрочная память с малой емкостью Быстрая потеря данных из Переключение внимания краткосрочной памяти Бесконечная емкость долговременной Медленная обработка данных памяти Богатая, многокодовая Ошибки долговременная память Распознавание образов 12 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Компьютеры Память с большой емкостью Затрудненный доступ к долговременной памяти Простое сравнение с эталоном . Долговременная память Ограниченные способности к обучению Высокая скорость обработки Ограниченная емкость долгосрочной памяти Ограниченная интеграция данных Способность к обучению Обработка без ошибок Безотказный доступ к памяти Вы можете «выудить» лишь часть, но не всю информацию. Удивительная вещь, но если вы перестанете мучить себя, несколько секунд спустя она всплывет в вашей голове сама. Долговременная память очень сложна, и информация кодируется в сложной системе связи., Восстановив некоторые составляющие информации, вы воспроизводите какие-то связи в сети и через некоторое время можете получить все нужные данные. Существует стратегия для получения информации из памяти, как и стратегия, помогающая сохранять информацию в долговременной памяти. Мнемоника — это присоединение смысловых значений к запоминаемой информации. Часть номера телефона, который вы хотите запомнить, может быть частью адреса вашего прежнего места проживания. Вам потребуется лишь запомнить «ваш старый дом», и это поможет запомнить весь номер. Люди тренируют себя в запоминании очень большого объема информации, создавая внутренние визуальные «зацепки», которые помогают запомнить каждую часть информации по отдельности. При работе с этой информацией «зацепка» помогает восстановить каждый «кусок» информации и легко перемещаться между ними. Человек часто разбивает информацию на части, запоминает домашний и рабочий телефоны, номер страхового полиса, код автоответчика, компьютерные пароли и т.д. Ваш страховой номер содержит девять цифр, сложных для запоминания. Однако вы можете не запоминать каждую цифру отдельно. Запоминайте по три, две и четыре цифры сразу. Таким образом, можно запомнить три группы цифр по три цифры в каждой группе, даже если между ними нет никакой логической связи. Поскольку обращение к долгосрочной памяти вызывает затруднения, компьютерные интерфейсы должны разрабатываться с учетом этого и по возможности оказывать помощь. Для работы с информацией существуют два главных метода: распознавание и восстановление в памяти. Зачем заставлять пользователей вспоминать информацию, если они уже знают ее? Почему бы не дать перечень или меню данных и позволить распознать их? Восстановление в памяти включает в себя попытки распознавания информации без всякой помощи. Распознавание подразумевает попытку вспомнить информацию, используя какую-либо связь. Проектирование пользовательского интерфейса базируется на знании того, как человек познает и воспринимает. Одна из наиболее важных задач интерфейса: уменьшить доверие пользователя к собственной памяти и использовать преимущества компьютера для поддержки человеческих слабостей. 13 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Лекция 3 Проектирование пользовательского интерфейса Стандартизация пользовательского интерфейса Ведущие специалисты в области человеко-машинных компьютерных систем уже к середине 70-х ГГ. осознали необходимость формирования единых подходов к реализации пользовательского интерфейса. Однако в силу ограниченных технических возможностей вычислительных систем многие из принципов воспринимались программистами-практиками как некие абстрактные пожелания. В частности, о какой естественности интерфейса можно говорить, когда любая информация отображается на экране монитора только в буквенно-цифровом виде (в лучшем случае с использованием псевдографических символов). В связи с этим весьма длительное время основной формой общения пользователя с компьютером оставался диалог в форме «вопрос-ответ». Но, возможно, именно потому, что компьютер выступал в роли собеседника, очень быстро возникла необходимость исследования психологических аспектов общения человека с компьютером. В качестве иллюстрации того, насколько серьезно относятся «законодатели моды» к области компьютерных технологий к проблемам интерфейса, дующий факт. Американский Национальный институт стандартов (ANSI) имеет по данному направлению специальную консультативную группу — Комитет по стандартам интерфейса «человек-компьютер» (The Human-Computer Interface Standard Committee). Существуют подобные организации не только в США, но и в других странах; более того, имеются также международные исследовательские группы, работающие в этом направлении, например, Международный консультативный комитет по телеграфии и телефонии (International Telegraph and Telephone Consultation Committee), изучающий особенности интерактивных элементов интерфейса. Ситуация коренным образом изменилась в 1987 г., когда корпорация IBM объявила о намерении создать единую среду разработки приложений (Systems Application Architecture — SAA). Данный проект предусматривает не только, разработку единых принципов создания приложений, но и «материализацию» этих принципов на основе соответствующей технологической базы. Целями проекта являются: ♦ повышение производительности труда программистов и конечных пользователей; ♦ облегчение эксплуатации и сопровождения программного обеспечения; ♦ повышение эффективности распределенной обработки информации; ♦ увеличение отдачи инвестиций в разработку информационных систем. Проект SAA содержит 4 компонента: Ø соглашения по интерфейсу пользователя (CommonUser Access — CUA); Ø соглашения по программному интерфейсу (Common Programming Interface — CPI); Ø соглашения по разработке приложений (Common Applications — СА); Ø соглашения по коммуникациям (Common Communications Support— CCS). В качестве технологической базы для реализации соглашений по пользовательскому интерфейсу было предложено конкретное инструментальное средство — Programming Toolkit для операционной системы OS/2. При его создании был учтен накопленный к тому времени опыт разработки интерфейсов, а также последние достижения в данной области, в первую очередь — появление графических интерфейсов. Исследованиями и практической реализацией графических интерфейсов в то время уже занимались такие фирмы, как Xerox, Apple, Digital Research и Microsoft. В результате их деятельности были определены основные концепции построения графических пользовательских интерфейсов: ♦ использование единой рабочей среды пользователя в виде так называемого Рабочего стола; ♦ объектно-ориентированный подход к описанию заданий пользователей; ♦ использование графических окон в качестве основной формы отображения данных; ♦ применение средств не клавиатурного ввода, основанного на выборе и указании с помощью манипулятора «мышь». 14 PDF created with FinePrint pdfFactory trial version www.pdffactory.com В силу различных причин фирма IBM при реализации проекта SAA наиболее тесно сотрудничала с фирмой Microsoft, в результате чего была создана графическая оболочка Microsoft Windows IBM Top View. И хотя впоследствии пути двух гигантов компьютерного бизнеса несколько разошлись, основные положения проекта SAA живы и успешно развиваются: корпорацией IBM — применительно к OS/2, а фирмой Microsoft — в рамках семейства ОС Windows. Итак, стремление к стандартизации пользовательского интерфейса налицо, и оно обусловлено не только коммерческими интересами ведущих производителей программного обеспечения. Вместе с тем единого официально утвержденного стандарта пока нет, но уже сейчас хотелось бы знать, по каким параметрам может оцениваться «степень стандартизации» пользовательского интерфейса. Стандартизованный интерфейс (именно стандартизованный, а не стандартный) должен отвечать двум основным требованиям: ♦ обладать перечисленными в предыдущем разделе свойствами (естественности, согласованности и т.д.); ♦ быть узнаваемым (или предсказуемым, что в данном случае одно и то же). Второе требование, в свою очередь, предполагает, что интерфейс содержит только стандартные базовые элементы; каждый такой элемент должен иметь «узаконенное» название и определенный перечень свойств. Например, нельзя называть меню «списком» и при этом использовать его для вывода результатов расчетов. Компьютерные стандарты Стандарты делают нашу жизнь легче, раскрывая характеристики объектов и систем, окружающих нас. Раскладка телефонного номеронабирателя, к примеру, есть стандарт, который мы используем каждый раз, когда звоним. Если вы являетесь пользователем компьютера или печатной машины, то комфортно чувствуете себя, применяя стандарт QWERTY у клавиатуры (названный по левому верхнему ряду алфавитных клавиш). Стандарты есть везде — это основа индустриализации. Они позволяют архитектору и строителю понимать друг друга при строительстве, воплощать свои идеи в проекте дома, а затем и в реальном здании. Существуют стандарты электротехнические, механические, сантехнические, экологические и масса других, что помогает каждому лучше выполнять свою работу. Стандарты компьютерного проектирования разрабатываются государственными и общественными организациями, другими локальными и международными формациями. Самые известные организации по разработке стандартов — это American National Standards Institute (ANSI — Американский национальный институт стандартов), Deutsche In-genieuring Normer (DIN—Немецкий инженерный стандарт) в International Standards Organization (ISO — Международная организация по стандартизации). Стандарты существуют для дисплеев, клавиатур, системных деталей и т.д. Например, разработаны стандартные кабели, соединители, электрические шины, электронные протоколы передачи. Если вы хотите подключить принтер к компьютеру, вы должны использовать кабель для параллельного порта со стандартными разъемами. Большинство стандартов для аппаратной части компьютера спроектировано, чтобы обеспечить взаимодействие человека и компьютера. Один из международных стандартов гласит: «Кривизна скоса клавиатуры должна составлять от 0 до 250 ». Стандарты на программное обеспечение обычно применимы для основных характеристик пользовательского интерфейса. Существуют международные и локальные стандарты даже для столь обыденной вещи, как лист бумаги. Вы можете оценить их преимущества, работая в текстовом процессоре. С тех пор как были приняты международные стандарты для листов бумаги, их можно задать в свойствах программы для выбранного формата документа. Если стандартные размеры листа не будут заложены в текстовом процессоре, то нельзя задать приемлемый размер страницы, который можно было бы использовать по всему миру. Проектировщики и разработчики должны принимать во внимание эти условия и предусматривать поддержку для пользователей, предоставляя стандартные конфигурации и 15 PDF created with FinePrint pdfFactory trial version www.pdffactory.com разрешая изменять их свойства. Пользователи будут весьма благодарны им за это. Стандарты должны постоянно обновляться и совершенствоваться, иначе они начинают тормозить развитие технологии и препятствовать внедрению новаций. Многие из сегодняшних стандартов не полностью соответствуют нынешнему компьютерному программному и аппаратному обеспечению, а также всем нуждам пользователей компьютера. Крупные производители компьютерного оборудования и программного обеспечения связаны с международными организациями по принятию и разработке стандартов. Они преследуют две цели: помочь улучшению нынешних и будущих стандартов и адаптировать их для собственных программных продуктов. Программой по стандартизации в сфере информатизации на период с 1999 по 2010 г. предусматривается сотрудничество с международными организациями по стандартизации при проведении работ по трем приоритетным для Российской Федерации направлениям стандартизации информационных технологий, краткие сведения о которых мы приводим ниже. Направления 1-го приоритета Языки программирования и программный интерфейс. Участие России в разработке международных стандартов по данной тематике позволяет поддерживать те направления российской математической школы, которые имеют традиционно устойчивую позицию, а также разрабатывать новые языки для перспективных направлений программирования. Языки описания документов. Стандартизация в данной области позволяет обеспечить необходимую нормативную базу, поддерживающую создание, хранение и обращение документов в открытых системах, включая элементы доступа при поиске информации. Программная инженерия. Данное направление стандартизации представляется особо важным для России в ближайшей перспективе. В сочетании с сертификацией и внедрением систем качества, соответствующих требованиям международных стандартов, участие в разработке и применении этой группы стандартов дает отечественным разработчикам, а также изготовителям и поставщикам программных средств возможность повысить качество и конкурентоспособность своей продукции как на внутреннем, так и на внешнем рынках. Сервисы управления данными. Данное направление является перспективным в плане создания и развития отечественных систем распределенных баз данных и формирования национальных информационных ресурсов федерального, регионального и местного уровней в структуре Единого информационного пространства России. Работа в сетях и соответствующие соединения. Работы в данном направлении позволят стандартизировать функции, необходимые для установления и управления информационным обменом через сети и физические интерфейсы. Безопасность информационных технологий. Работы в области безопасности информационных технологий позволяют создать комплект стандартов, поддерживающих методы и средства обеспечения безопасности, в первую очередь на уровне личности и различных общественных групп. Данное направление является одним из важнейших с учетом бурного роста информационного обмена между компонентами всех уровней и перспектив развития Российской и Глобальной информационной инфраструктуры, включая Интернет. Терминология. Это направление предполагает разработку терминологии для информационных технологийи связанных областей. Направления 2-го приоритета Сбор данных и системы идентификации. Работы в данной области позволяют создать комплект стандартов, поддерживающих разработку идентификационных карт и соответствующих устройств для использования в межотраслевых приложениях и в международном обмене (например, как платежное средство в банковском деле), а также методы и средства для процесса автоматической идентификации и сбора данных, в частности с использованием штрих-кодов. Мультимедиа и представление информации. Стандартизация в данной области позволяет обеспечить необходимую нормативную базу, поддерживающую кодированное представление, обработку и обмен аудио, изображениями, мультимедиа- и гипермедиаинформацией для разнообразных приложений. Имеет важное значение для поддержки культурного обмена, образования и досуга. 16 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Пользовательский интерфейс. Работы в данной области позволяют создать комплект стандартов, поддерживающих пользовательский интерфейс для интерактивной деятельности в локальных и распределенных средах с использованием аудио, изображений, мультимедиа и гипермедиа информации, включая специальные интерфейсы для людей, имеющих физические недостатки или работающих в специфических условиях. Офисное оборудование. Стандартизация в данной области позволяет обеспечить необходимую нормативную базу, поддерживающую адекватный уровень требований к эксплуатационным характеристикам и методам тестирования офисного оборудования (принтеры, копировальное оборудование, цифровые сканеры, факсимильное оборудование и их комбинации). Кодированные наборы символов. Стандартизация в данной области позволяет обеспечить необходимую нормативную базу, поддерживающую множества графических символов и их кодированное представление для обеспечения одно- и многоязыковых функций при работе с информацией (интернационализация). Направления 3-го приоритета Среды для информационного обмена. Работы в данной области включают стандарты, поддерживающие требования к оптическим и магнитным носителям данных и соответствующим устройствам на их основе, обеспечивающим хранение и обмен данными в системах обработки информации. Геоинформационные технологии. Предусматривают развитие системы стандартов, направленных на повышение качества электронных карт и соответствие их требованиям международных стандартов, на сокращение трудоемкости и сроков изготовления электронных карт для создания предпосылок совместимости различных геоинформационных систем и в перспективе создания национальной базы геоинформационных данных. Информационные технологии в охране здоровья. Для Российской Федерации это направление представляется одним из приоритетных, особенно если иметь в виду невысокий уровень здоровья и продолжительности жизни, а также проблемы, связанные с малой плотностью населения и низкой обеспеченностью врачами вне больших городов. Необходимо отметить, что реализация направлений стандартизации в первую очередь ориентирована на устранение имеющегося разрыва между базами стандартов информационных технологий в России и в ведущих странах мира. Нормативная база системы Нормативную базу системы проектирования и разработки пользовательского интерфейса и программных продуктов составляют отраслевые и государственные стандарты. Список таких стандартов Приведен в табл. 3.1 и 3.2. Однако надо заметить, что практически нет ни одного стандарта, в котором бы четко были сформулированы правила построения и используемые инструменты. Таблица 3.1 Перечень отраслевых стандартов, связанных с инфраструктурными характеристиками качества программного продукта Код ОСТа Наименование ОСТ 115.0.1-95 Порядок разработки, согласования и принятия стандартов отрасли ОСТ 115.1.1-95 Информационная технология. Локальные вычислительные сети. Показатели качества. Учрежденческие ЛВС ОСТ 115.1.2-95 Информационная технология. Локальные вычислительные сети. Показатели качества. Производственные ЛВС ОСТ 115.1.3-95 Информационная технология. Локальные вычислительные сети. Методы испытаний на соответствие показателей качества учрежденческих ЛВС 17 PDF created with FinePrint pdfFactory trial version www.pdffactory.com ОСТ 115.1.4-95 Информационная технология. Локальные вычислительные сети. Методы испытаний на соответствие показателей качества производственных ЛВС ОСТ 115.1.6-96 Информационная технология. Сертификация программных средств. Методика экспертизы программной документации. Информационная технология. Сертификация программной продукции. Методы обоснования базовых значений показателей качества программного обеспечения. ОСТ 115.1.7-96 .ОСТ 115.1.8-96 ОСТ 115.1.9-96" Информационная технология. Сертификация информационного обеспечения автоматизированных систем Требования к проведению статистического анализа программных средств ОСТ 115.1.10-96 Требования к проведению динамического анализа программных средств ОСТ 115.1.11-96 Технологические факторы, определяющие показатель работоспособности программных средств. ОСТ 115.1.12-96 Информационные технологии. Сертификация средств и систем в сфере информатизации. Машины вычислительные электронные персональные IBM-совместимые. Требования к характеристикам качества и правилам их оценки Таблица 3.2 Перечень национальных стандартов, связанных с инфраструктурными характеристиками качества программного продукта КодГОСТа ГОСТ Р 1.2-92 ГОСТ Р 1.4-93 ГОСТ Р 1.5-92 ГОСТР 1.8-95 ГОСТР 40.101-95 ГОСТР 51000.1-95 ГОСТ Р 51000.2-95 ГОСТР 51000.3-96 ГОСТ Р 51000.4-96 ГОСТР 51000.5-96 Наименование ГОСТа Государственная система стандартизации Российской Федерации. Порядок разработки государственных стандартов Государственная система стандартизации Российской Федерации. Стандарты отраслей, стандарты предприятий, стандарты научнотехнических, инженерных обществ и других общественных объединений. Общие положения Государственная система стандартизации Российской Федерации. Общие требования к построению, изложению, оформлению и содержанию стандартов Государственная система стандартизации Российской Федерации. Порядок разработки и применения межгосударственных стандартов Государственная регистрация систем добровольной сертификации и их знаков соответствия Система аккредитации органов по сертификации, испытательных и измерительных лабораторий. Общие требования Общие требования к аккредитующему органу Общие требования к испытательным лабораториям Государственная система стандартизации в Российской Федерации. Система аккредитации в Российской Федерации. Общие требования к аккредитации испытательных лабораторий Общие требования к органам по сертификации продукции и услуг 18 PDF created with FinePrint pdfFactory trial version www.pdffactory.com ГОСТР 51000.6-96 Государственная система стандартизации в Российской Федерации. Система аккредитации в Российской Федерации. Общие требования к аккредитации органов по сертификации продукции я услуг. ГОСТРИСО/ МЭК 8631-9 Информационная технология. Программные конструктивные й условные обозначения для их представления ГОСТРИСО/ МЭК 9126-93 Информационная технология. Оценка программной продукции. Характеристики качества и руководство по их применению ГОСТРИСО 9127-94 Системы обработки информации. Документация пользователя. Информация на упаковке для потребительских программных пакетов ГОСТРИСО/ МЭК 9294-93 Информационная технология. Руководство по управлению документированием программного обеспечения ГОСТ 19.501-78 ЕСПД. Формуляр. Требования к содержанию и оформлению ГОСТ 19.505-79 ЕСПД. Руководство оператора ТОСТ 27.003-90 Надежность в технике. Состав и общие правила задания требований по надежности ГОСТ 27.203-83 Надежность в технике. Технологические системы. Общие требования к методам оценки ГОСТ 34.603-92 Информационная технология. Виды испытаний автоматизированных систем ГОСТ 16325-88 Машины вычислительные электронные цифровые общего назначения. Общие технические требования ГОСТ 21552-84 ГОСТ 23773-88 Средства вычислительной техники. Общие технические требования, правила приемки, методы испытаний, маркировка, упаковка, транспортирование и хранение Машины вычислительные электронные цифровые общего назначения. Методы испытаний ГОСТ 25764-83 Машины вычислительные и системы обработки данных. Ленты магнитные шириной 2,7 мм с 9-дорожечной записью. плотностью 32 перехода потока на 1 мм. Технические требования ГОСТ 27201-87 Машины вычислительные электронные персональные. Типы, основные параметры. Общие технические требования ГОСТ 27830-88 Накопители на жестких магнитных дисках с подвижными головками. Общие технические требования ГОСТ 27954-88 Видеомониторы персональных ЭВМ. Типы, основные параметры. Общие технические требования ГОСТ 8043-89 Персональные электронные вычислительные машины. Интерфейс накопителей на жестких несменных магнитных дисках с подвижными головками. Общие требования Код ГОСТа ГОСТ 28195-89 Наименование ГОСТа Оценка качества программных средств. Общие положения ГОСТ 28272-89 Накопители на гибких магнитных дисках. Общие технические требования ГОСТ 28273-89 Интерфейс накопителей на гибких магнитных дисках. Общие требования 19 PDF created with FinePrint pdfFactory trial version www.pdffactory.com ГОСТ 28406-89 Персональные электронные вычислительные машины. Интерфейсы видеомонитора. Общие требования ГОСТ 28806-90 Качество программных средств. Термины и определения ГОСТ 29124-91 Клавиатура ввода данных. Общие технические требования 20 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Руководящие принципы и нормативы Инструкции же обычно относятся к элементам представления информации и взаимодействия. Инструкции есть просто правила и объяснения, предназначенные для того, чтобы следовать им при создании элементов интерфейса, их поведения и внешнего вида. Таким образом, следование руководствам и инструкциям не является единственным критерием успеха. Многие люди видят, пользу инструкций и руководств в том, что они помогают работать и получать в итоге более цельный и пригодный к использованию интерфейс. Принципы создания интерфейса, отраженные в инструкциях, ни в коем случае не должны снижать и ограничивать творческую активность. Руководящие принципы, отраженные в инструкциях, должны позволять пользователю применять к интерфейсу свое знание реального мира. Интерфейс должен иметь схожее поведение с объектами и метафорами реального мира. Например, если пользователь видит на экране группу кнопок, похожих на кнопки на панели радиоприемника, он может и должен применить свое знание функций кнопок в реальном мире к компьютеру. Нормативы затрагивают три области проектирования интерфейса: физическую, синтаксическую и семантическую. ♦ Физическая область относится к аппаратному обеспечению программного пользовательского интерфейса. Оно содержит устройства для ввода информации: клавиатуру, мышь, трекбол и экран, чувствительный к касаниям. Эти нормативы касаются расположения клавиш, их раскладки и проектирования, использования мыши, устройств рукописного ввода. IBM в 1992 г. предложила норматив, по которому первая клавиша мыши служит для выделения, а вторая — для прямых манипуляций. Норматив Microsoft (1995) обозначает первую клавишу мыши для выделения и операции перемещения объектов по умолчанию, а вторая служит этим целям, только если пользователь задал для нее такие свойства. ♦ Синтаксическая область обобщает правила размещения информации на экране и последовательности действий пользователя. Например, печать документа использует прямую манипуляцию: вы должны потянуть иконку документа и поместить ее в иконку принтера. Это правильная совместимость действии. Помещение иконки принтера в иконку документа неверно. ♦ Третья область — семантическая. Она раскрывает сущность элементов; объектов и действий, составляющих часть интерфейса. К примеру, термин «Exit» (Выход) имеет точный, однозначный смысл для всех пользователей и предназначен для столь же однозначного действия. Этот термин не спутаешь с термином «Cancel» (Отмена). Термин Exit подразумевает конец взаимодействия с диалоговым окном и обычно означает полное окончание работы с программой, термин «Cancel» в общем смысле — остановку любого незаконченного действия и возврат на шаг назад. При разработке интерфейса разработчик может выйти за рамки руководящих принципов: создать новый элемент или усовершенствовать существующий. Нормативы Apple содержат указания на этот счет: ♦ основывайтесь на имеющемся интерфейсе; ♦ не назначайте новых функций уже существующим объектам; * ♦ очень аккуратно создавайте новые объекты. Необходимо помнить, что отклонение от нормативов и стандартов должно быть оправдано облегчением работы с программой. Руководящие принципы содержат характеристики стандартов презентаций, поведения и взаимодействия с элементами управления интерфейсом. Термины могут немного отличаться (к примеру, фирма ЮМ использует термин «радиокнопка», а фирма Microsoft — «опциональная кнопка»). Могут быть различия и в графической интерпретации, но суть остается той же самой. 21 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Применение руководящих принципов Задачи руководящих принципов по проектированию однозначны: предоставить пользователям возможность доступа к информации из любого места системы, в любой форме, создать такой интерфейс, который помогал бы людям работать и нравился бы им. Хорошо разработанный интерфейс позволяет пользователям сфокусироваться на выполнении задач, а не на особенностях программного и аппаратного обеспечения. С помощью руководящих принципов можно не только получить информацию по пользовательскому интерфейсу, но и при правильном подходе извлечь из них дополнительную пользу. Они могут применяться к целому ряду продуктов и платформ, имеющих аналогичный интерфейс. Разработка руководства по стилю упрощает и совершенствует весь процесс разработки и проектирования. Элементы интерфейсов, управляющие элементы и диалоговые Окна можно использовать в различных программах. Результаты по тестированию на удобство применения элементов интерфейсов и технологий могут обобщаться, а проектные решения, принятые на основе тестирования, применяться к различным продуктам. Руководства помогают в определении, тестировании и внедрении новых ключевых интерфейсных технологий и методов. На рис. 3.1 отображена структура стандартов, промышленных руководств по разработке и стилю оформления, обеспечивающих прочный фундамент для создания продукта. Рис. 3.1. Пирамида руководящих принципов корпоративного стиля продуктов Руководства могут разрабатываться на трех уровнях: ♦ корпоративном; ♦ комплектования продукта; ♦ стиля продукта. На корпоративном уровне формулируются общее представление, характер поведения й методы, применяемые ко всем продуктам, разрабатываемым в компании. Одна из целей корпоративного руководства заключается в поддержании корпоративной идентичности (использование цветов, графических элементов, иконок). Существует два основных пути разработки корпоративных руководств по стилю оформления. Можно получить разрешение на использование материалов из промышленных руководящих принципов по разработке и «собрать по частям» ваше собственное, внеся соответствующие дополнения и изменения. Такой документ впоследствии может заменить «промышленный, экземпляр». Однако это не самый удачный вариант. В конце концов, продублировав большую часть оригинального руководства, для получения дополнительной информации вы будете вынуждены обратиться к «первоисточнику». Второй метод заключается в надстройке корпоративного руководства по стилю оформления над промышленными указаниями. Комплектование продукта может быть описано в руководстве по разработке связанных групп продуктов. Отдельные продукты могут иметь собственные отдельные руководства по разработке. Подобные документы должны основываться на внутренних стандартах, руководствах по разработке, а также на уже существующих руководствах по стилю оформления. Необходимо помнить, что лучше описать допустимые отклонения от корпоративного руководства по стилю, указав только дополнения, добавления и противоречия, чем дублировать информацию 22 PDF created with FinePrint pdfFactory trial version www.pdffactory.com основного руководства. Применение руководящих принципов имеет ряд проблем. 1. Совместимость — одна из основных задач разработки пользовательского интерфейса. Совместимость очень сложно идентифицировать, определить и внедрить. Кроме того, она может и отвлекать от основных целей. Грудин делает предположение о том, что «когда совместимость пользовательского интерфейса становится первоочередной задачей, то это уводит наше внимание в сторону от главного — пользователей и их работы». Совместимость системы и интерфейса в некоторых случаях может противоречить ожиданиям и пожеланиям пользователей. Не стоит следовать руководящим принципам в области совместимости лишь ради самой совместимости — сначала правильно разработайте чтолибо, а уже потом — последовательно применяйте это ко всему интерфейсу. 2. При разработке интерфейс-продукта все руководящие принципы могут интерпретироваться по-разному. Не важно, насколько они детальны. Существуют интерфейсы, в которых отсутствовали предопределенные элементы или «поведение» которых отличалось от задуманного в руководстве по стилю оформления. Руководящие принципы по разработке интерфейса никогда не были и не будут «поваренной книгой» для программного проектирования. 3. Разработка интерфейса — больше искусство, чем наука. Конкретные примеры чрезвычайно полезны, поскольку демонстрируют, как надо следовать руководящим принципам по разработке. Чтобы обучить разработчиков использованию руководящих принципов, требуются продолжительные тренинги. Разработка интерфейсов для использования во всем мире Появление программного проектирования и разработку интерфейсов можно считать событием международного масштаба. Любой программный продукт, разрабатываемый сегодня, имеет потенциально широкую аудиторию пользователей из разных стран, говорящих на разных языках и имеющих разные культурные обычаи. Этот факт получил название интернационализации, или NLS (National Language Support — поддержка национального языка), ставшей главным условием международного успеха программных продуктов. Современное программирование й инструментарий интерфейса позволяют отделить большую часть того, что пользователь видит и чем оперирует на экране (программно закодированные элементы), от остальной части программы (жестко закодированной информации). Это дает возможность без особых усилий представлять программы на различных языках. Отделяя такую информацию, как текст, символы и иконки от системного кода, вы облегчаете доступ и переводчикам, и пользователям. Проблемы, которые необходимо решить при проектировании международных интерфейсов, сводятся к следующему: необходимо проектировать и разрабатывать пользовательский интерфейс с учетом: ♦ международных аббревиатур; ♦ акронимов; ♦ описательного текста; ♦ выделения мнемоник; ♦ грамматики персонализаций; ♦ двунаправленности языков (например, японский); ♦ длины текста; ♦ использования заглавных букв; ♦ вида заголовков колонок; ♦ вида иконок; ♦ использования символов; ♦ использования цвета; ♦ использования клавиш быстрого доступа; ♦ назначения комбинации клавиш; ♦ назначения функциональных клавиш; ♦ описателей полей ввода; 23 PDF created with FinePrint pdfFactory trial version www.pdffactory.com ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ назначения первых букв для навигации; использования символов с кодировкой в два байта; сортировки информации; формата денежных единиц; формата телефонных номеров; формата размера бумаги; формата размеров; формата адреса; формата даты; формата чисел; формата времени; юмора. Разработка и выполнение стандартов и руководящих принципов является лишь частью разработки интерфейса и процесса проектирования. В конечном счете, тестирование на удобство применения должно иметь такой же, а может и больший, вес. Если тестирование говорит вам, что следует отклониться от стандартных руководящих принципов по созданию интерфейса, то соотнесите его результаты с пользой, которую принесет соблюдение стандартов, и лишь потом принимайте решение до дальнейшей разработке. Жизненный цикл программного продукта Под жизненным циклом понимается последовательность процессов, действий и задач, которые осуществляются в ходе разработки, эксплуатации (использования) и сопровождения программного продукта в течение всей его жизни от определения требований до завершения использования. На этапе формирования требований к системе должны учитываться: ♦ область применения системы; ♦ требования пользователя (заказчика) к функциональным возможностям системы, к уровню ее безопасности и защищенности; ♦ эргономические требования и требования к уровню квалификации пользователей; ♦ степень документированности системы; ♦ организация сопровождения и т.д. Проектирование Начальный этап в разработке программного продукта (приложения) является наиболее критичным, поскольку на этой фазе определяется общая концепция создаваемого продукта. Если проект в своей основе неудовлетворителен, впоследствии трудно будет что-либо кардинально изменить в лучшую сторону. Эта часть процесса разработки включает не только определение цели и характеристик приложения, но й понимание того, кто является его потенциальными пользователями, — их задач, намерений, целей. Это предполагает учет таких показателей как, например, возраст пользователей, их пол, экспертные знания, уровень опыта, физические ограничения, специальные потребности и т.д. Продумайте структуру приложения и метафоры, которые могут быть применены при ее реализации. Решению указанной проблемы способствует наблюдение за работой пользователей при выполнении ими задач в данной предметной области. Прототипирование После того как определены основные концепции проекта, разрабатывается прототип создаваемого приложения, отражающий некоторые основные аспекты его функционирования. Прототип играет важную роль по многим причинам. Во-первых, он предоставляет хорошую возможность для обсуждения создаваемого приложения как внутри группы разработчиков, так и с потенциальными пользователями. Во-вторых, он может помочь вам определить характер потока заданий и лучше представить себе то, чем вы, собственно, занимаетесь. Это особенно полезно в начале процесса разработки. Форма представления прототипа зависит от цели разработки. Действующие прототипы обычно наиболее полно позволяют оценить качество механизма взаимодействия пользователя с 24 PDF created with FinePrint pdfFactory trial version www.pdffactory.com разрабатываемым приложением, т.е. качество интерфейса, Испытание программного продукта UCD-технология предполагает достаточно активное привлечение пользователя к процессу разработки. Совместное с потенциальным пользователем испытание создаваемого приложения обеспечивает получение весьма ценной дополнительной информации и является, как правило, залогом последующей успешной реализации продукта. Необходимо подчеркнуть, что испытание программного продукта принципиально отличается от его отладки. Первое и наиболее важное отличие обусловлено различными целями этих двух процессов: отладка имеет целью выявление дефектов (ошибок) программирования, в то время как в ходе испытаний вы оцениваете, насколько полно разработанное приложение (в частности, его интерфейс) отвечает потребностям и ожиданиям пользователя. Конечно, имеющиеся программные ошибки могут иногда повлиять на качество интерфейса, но это скорее исключение, чем правило. Второе принципиальное отличие состоит в том, что отладку выполняет непосредственно его разработчик, а основным действующим лицом при проведении испытаний является потенциальный пользователь (заказчик); Благодаря этому в ходе испытаний могут быть выявлены не только технические погрешности, но и концептуальные проблемы в предлагаемом продукте. Повторное выполнение этапов разработки Поскольку испытания часто обнаруживают те или иные слабости проекта или, по крайней мере, обеспечивают получение дополнительной информации, которую вы захотите использовать, почти всегда оказывается необходимым возврат к одному из предыдущих этапов разработки (а иногда и в начальную точку) и проведение повторных испытаний. Так может продолжаться до тех пор, пока и разработчик, и потенциальные пользователи не будут полностью удовлетворены полученными результатами. Оценка потребительских свойств приложения в процессе разработки Как было указано выше, основная цель испытаний — определить, насколько полно разработанное приложение (в первую очередь, его интерфейс) отвечает потребностям и ожиданиям пользователя. В связи с этим основным направлением испытаний приложения является оценка его «потребительских свойств» (usability). Такая оценка должна проводиться, начиная с самых ранних этапов разработки. Основой для проведения оценки должны служить данные о том, как пользователи обычно выполняют ту работу," которую призвано автоматизировать создаваемое приложение. По мере того как разработка продвигается, оценка потребительских свойств приложения должна постоянно уточняться. Чем чаще и корректнее будет проводиться оценка, тем выше будет качество разработки. Техника проведения испытаний потребительских свойств приложения Проведение испытаний потребительских свойств приложения требует привлечения значительных дополнительных сил и средств, в том числе специалистов тестовых лабораторий, имеющих в своем распоряжении соответствующее оборудование для регистрации результатов испытаний. Тем не менее даже обычные «офисные инструменты» (магнитофон, секундомер и записная книжка) могут принести существенную пользу. Используемые тесты не должны быть «всеохватывающими». Значительно более полезны быстрые итеративные тесты, ориентированные на исследование конкретных проблем; практика показывает, что при таком подходе 6-10 участников испытаний могут идентифицировать 80-90% основных проблем разработки. Запишите результаты теста, используя портативный магнитофон или, еще лучше, видеокамеру. Поскольку даже наилучший наблюдатель способен пропустить детали, последующий просмотр результатов может оказать неоценимую помощь. Кроме того, достаточно рискованно принимать решения, базирующиеся на выводах одного человека. Запись данных позволяет просматривать и оценивать результаты всей группы разработчиков. Альтернативный подход к проведению испытаний приложения Наряду с рассмотренным выше подходом, ряд проблем, возникающих в процессе создания программного продукта, может быть решен на основе методики «коллективной генерации идей». Как правило, для ее реализации формируется специальная группа из числа разработчиков (focus group — группа концентрации). Она бывает особенно полезна для 25 PDF created with FinePrint pdfFactory trial version www.pdffactory.com генерации начальных идей или для предварительной оценки идей, возникающих в процессе разработки. Для работы такой группы требуется председатель, который направлял бы дискуссию об аспектах выполнения того или иного шага разработки, позволяя вместе с тем участникам свободно выражать их мнения. Можно также использовать технику «сквозного контроля» (walkthroughs), при которой вы «проводите» пользователя по определенному, заранее продуманному сценарию работы с приложением и запрашиваете его впечатления по мере продвижения к конечной цели. Нет простого уравнения, позволяющего определить, каким образом вносимые изменения повлияют на первоначальный проект приложения. Однако важную роль в такой оценке могут сыграть следующие соображения. ♦ Каждая дополнительная характеристика потенциально влияет на поведение, сложность, устойчивость, эксплуатацию и издержки по сопровождению создаваемого ПО. ♦ После выхода в свет официальной версии продукта труднее устранить проблемы, оставшиеся нерешенными на стадии разработки, поскольку пользователи могут приспособиться или даже «подчиниться» имеющимся недостаткам вашего ПО. ♦ Простота пользовательского интерфейса — это далеко не то же самое, что его упрощенчество. Чтобы сделать нечто простым в использовании, часто требуется приложить много сил и создать весьма сложное изделие с точки зрения его внутренней организации. ♦ Доработки программного кода с целью расширения функциональных возможностей ПО совсем не обязательно будут иметь пропорциональный положительный эффект с точки зрения интерфейса пользователя. Например, если основная задача пользователя состоит в выборе единственного объекта, то, предоставляя ему возможность одновременного выбора нескольких объектов, вы только усложняйте ему работу. 26 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Лекция 4 Правила проектирования пользовательского интерфейса Принципы проектирования пользовательского интерфейса Принципы разработки интерфейса — это высокоуровневые концепции и представления, которые могут использоваться при проектировании программного обеспечения. Необходимо определить, какой из принципов наиболее важен и приемлем для вашей системы. Три принципа разработки пользовательского интерфейса формулируются так: ♦ контроль пользователем интерфейса; ♦ уменьшение загрузки памяти пользователя; ♦ последовательность пользовательского интерфейса; Решение о выборе оптимальных принципов построения интерфейса должно вырабатываться совместно всеми членами команды по проектированию. Эти решения должны способствовать улучшению покупаемости развитию программных продуктов. Правило 1: дайте контроль пользователю Основное правило проектирования - дайте пользователю контроль над системой. Простая аналогия этому: водитель автомобиля и пассажир поезда. Принципы, по которым пользователю дается контроль над системой, описаны ниже. После каждого из них приведено ключевое слово, чтобы принцип сохранился в вашей памяти. Принципы, которые дают пользователю контроль над системой: ♦ Используйте режимы благоразумно (безрежимность). ♦ Предоставьте пользователю возможность выбирать: работать либо мышью, либо клавиатурой, либо их комбинацией (гибкость). ♦ Позвольте пользователю сфокусировать внимание (прерываемость). ♦ Демонстрируйте сообщения, которые помогут ему в работе (полезность). ♦ Создайте условия для немедленных и обратимых действий, а также обратной связи (снисходительность). ♦ Обеспечьте соответствующие пути и выходы (способность ориентировки). ♦ Приспосабливайте систему к пользователям с различным уровнем подготовки (доступность). ♦ Сделайте пользовательский интерфейс более понятным (облегченность в пользовании). ♦ Дайте пользователю возможность настраивать интерфейс по своему вкусу (приспосабливаемость). ♦ Разрешите пользователю напрямую манипулировать объектами интерфейса (интерактивность). Дадим краткую характеристику каждого из правил. 1.1 Используйте режимы благоразумно Часто ли вы используете графическую программу для рисования на компьютере? Палитра инструментов рисования в ней — хороший пример использования режимов работы. Когда вы выбираете какой-либо инструмент, вы находитесь в одноименном режиме. Ваши движения мышью, нажатия клавиш на ней и клавиатуре продуцируют какие-либо рисунки и их свойства. При выборе инструмента для печати текста аналогичные действия активизируют режимы печати текста. Режимы — атрибут многих программных интерфейсов. Старайтесь применять их только по необходимости. Хороший пример простой работы в режиме — любой текстовой процессор. Набивая текст, вы всегда находитесь в одном из режимов — вставки или замены. Существует множество интерфейсов, которые излишне часто переключаются между режимами. В какой-то момент на экране появляется модальное диалоговое окно, пользователь становится ограниченным в действиях не только в программе, но и на экране. Есть два типа режимов интерфейса, которые во многих случаях необходимы, однако надолго лишают 27 PDF created with FinePrint pdfFactory trial version www.pdffactory.com пользователя самостоятельности. Первый тип — режим приложения. Он позволяет работать только в определенном месте программы либо устанавливает конкретный режим работы. Например, когда вы работаете с базой данных и выбираете режим ее просмотра, программа не «разрешает» вам добавлять,' удалять или модифицировать записи. Вы можете менять данные лишь в определенном режиме. Подобный подход приемлем только для просмотра данных в базе. А если пользователю понадобится изменить их? Почему он вынужден постоянно следить за тем, в каком режиме находится? В настоящее время проектировщики интерфейсов все чаще обходятся без переключения режимов. Если пользователь модифицирует данные, то должна быть обеспечена возможность сохранения информации и обновления базы в обычном режиме. Кроме того, необходимо разрешить ему доступ к данным и выход из базы также без каких-либо переключений. Возможно, оптимальным вариантом является показ данных в формате, соответствующем уровню доступа пользователя. При ограниченном доступе демонстрируется статичный текст, при полном — предусмотрите возможность ввода информации. Второй тип режима — системный. Используется он достаточно редко. Пока пользователь находится в этом режиме, ему не разрешено работать нигде, кроме текущей программы. Скажем, принтер печатает документ, и всплывающее сообщение показывает, что в нем закончилась бумага. Пользователь не может добавить бумагу в принтер немедленно и убрать сообщение с экрана. Он может продолжить работу с текстовым процессором или с какой-нибудь другой программой. Возможно, он захочет оставить данное сообщение на экране. Когда на экране появляется подобное сообщение, программы иногда берут контроль над целой системой. Сообщение «В принтере закончилась бумага» не должно становиться системным модальным диалогом. При разработке и программировании сообщений и информации о помощи не забывайте, о том насколько неудобен системный режим для пользователей. При выборе режимов важно следовать принципу немедленной визуальной обратной связи. Пользователь должен быть постоянно уверен в том, что он находится в нужном режиме. Во многих программах о режиме информирует курсор мыши. Это пример взаимодействия между основными идеями. Режимы — не всегда плохо. Позвольте человеку самому выбирать нужные ему режимы. Интерфейс должен быть настолько естественным, чтобы пользователю было комфортно работать с ними. Пользователь не думает о переключении в режим вставки или перезаписи при работе в текстовом процессоре — это вполне рационально и естественно. 1.2. Позвольте человеку использовать мышь и клавиатуру Не думайте, что, если к компьютеру подсоединена мышь, пользователь работает с ней постоянно. Возможно, вы оптимизируете интерфейс для ее использования, однако предоставьте возможность работы и с клавиатурой. Один из ключевых принципов организации Common User Access (CUA) гласит: «Пользователь должен иметь возможность производить действия с программой как с помощью мыши, так и с помощью клавиатуры». Возможность работы с клавиатурой предполагает использование клавиатуры вместо мыши. Это не значит, что пользователю будет легче работать, просто он либо не может ею пользоваться, либо ее у него нет. Панели инструментов созданы, чтобы ускорить работу при использовании мыши. Однако при работе с клавиатурой до них нельзя добраться — для подобных случаев предусмотрены «выпадающие» меню. Многие пользователи имеют привычку работать как с клавиатурой, так и с мышью. Увы, не во всех руководствах по проектированию учитывается это. Большинство программ для Macintosh не дают возможности полного доступа с клавиатуры. Однако для удобства работы клиентов проектировщики переходят к графическому интерфейсу, который для связи с другими программами разрешает ввод лишь с клавиатуры. Пользователи, которым необходимы специальные действия, обычно пользуются интерфейсом с клавиатурой. Некоторые новые программы также требуют поддержки ввода с клавиатуры для повышения эффективности работы. 1.3. Позвольте пользователю переключать внимание 28 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Людей всегда прерывают и отвлекают — телефон, коллеги, начальник и т.д. Программные интерфейсы должны быть спроектированы так, чтобы пользователь мог в любую минуту прерваться или сохранить результаты работы в данной стадии. Обеспечение контроля пользователя над программой и его поддержка — вот главные принципы разработки. Новички часто пользуются справочной системой, а более опытные пользователи больше полагаются на собственные знания. Не вынуждайте пользователей заканчивать выполнение начатых последовательностей действий. Дайте им выбор — аннулировать или сохранить данные и вернуться туда, где они прервались. Мастера все чаще выполняют обычные задачи. Но не переусердствуйте. Пусть у пользователей останется возможность контролировать процесс работы в программе. 1.4. Показывайте поясняющие сообщения и тексты Во всем интерфейсе используйте понятные для пользователя термины. Да, пространство экрана имеет цену, но важнее использовать язык, который легче понять. Сообщения — ключ к диалогу программы с пользователем. Все текстовые аспекты интерфейса должны быть разработаны теми, кто имеет знания по орфографии и лексике. Удачная надпись — это искусство, в том числе написание программной и системной документации, а также сообщений. Во многих известных проектах все тексты на экране, включая сообщения, приглашения, названия, заголовки, коды и справочную информацию, были результатом работы информационных проектировщиков или технических писателей. Следует выбрать правильный тон в сообщениях и приглашениях. Не менее важно застраховаться от проблем и ошибок. Неудачная терминология и неправильный тон приведут к тому, что пользователи будут винить себя в возникающих ошибках. 1.5. Обеспечьте немедленные и обратимые действия и обратную связь Каждый программный продукт должен включать в себя функции UNDO и REDO (отменить и повторить). Необходимо информировать пользователя о том, что данное действие не может быть отменено, и по возможности разрешить ему альтернативное действие. Постоянно держите человека в курсе происходящего в данный момент. 1.6. Предоставляйте понятные пути и выходы Дайте возможность пользователю свободно ориентироваться в интерфейсе. Определите пути доступа в любую его часть. Разрешите ему двигаться вперед и назад, по нисходящей и восходящей структурам интерфейса. Создайте удобные контекстные подсказки там, где они требуются. Основная функция данных элементов — показать, какие программы открыты, и разрешить пользователю доступ ко всем программам и данным. Многие панели инструментов, меню пуска, палитры и другие элементы интерфейса существующих операционных систем, наборы программных продуктов и утилиты разработаны, чтобы помочь пользователям ориентироваться в операционной системе и на пространстве жесткого диска, искать программы и данные. Люди нуждаются в быстром доступе к файлам, папкам, программам, каждодневным операциям, функциям утилит интерфейса. Системные и программные «помощники» и «ассистенты» также предлагают помощь при ориентации в программных функциях или задачах. Пользователи должны получать удовольствие при работе с интерфейсом любого программного продукта. 1.7. Приспосабливайтесь к пользователям с разными уровнями навыков Пользователи имеют разный уровень навыков использования программ. Многие программы предлагают специальные интерфейсы, которые помогают выбрать уровень сложности взаимодействия. Например, панель меню и выпадающие меню программ могут быть стандартными или усложненными в зависимости от выбора пользователя и типа выполняемой задачи. Использование Мыши и клавиатуры делает управление более гибким, облегчает работу и позволяет взаимодействовать с программой пользователям с различным уровнем подготовки. 29 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Не «жертвуйте» опытными пользователями во благо обычных. Вы должны предусмотреть для них быстрый доступ к функциям программы. Не утомляйте их прохождением многочисленных шагов для выполнения какого-либо действия, если они привыкли пользоваться одной макрокомандой. 1.8. Сделайте пользовательский интерфейс «прозрачным» Пользовательский интерфейс — «мифическая» часть программного продукта. При хорошем проекте пользователи даже не ощущают его «присутствия». Если он разра- ботан неудачно, пользователям придется приложить немало усилий для эффективного использования программного продукта. Задача интерфейса — помочь людям почувствовать себя находящимися как бы «внутри» компьютера, свободно манипулировать и работать с объектами. Это и называется «прозрачным» интерфейсом! «Прозрачность» интерфейса обеспечивается тем, что человеку будет дана возможность пользоваться объектами, отличными от системных команд. Мусорные корзины, уничтожители бумаг и т.д. позволяют нам сосредоточиться на решении задач, а не на системных функциях, которые производят эти объекты. Сделайте работу этих объектов похожей на функционирование объектов реального, а не компьютерного мира. В Windows 95 предусмотрена «Корзина для переработки», которая в отличие от мусорной корзины или уничтожителя имеет функцию восстановлений выброшенного объекта или документа. Однако в остальном интерфейс Windows 95 не столь прозрачен. Диалоговое окно «Закрытие программ», появляющееся при нажатии комбинации клавиш Ctrl+Alt+Del, показывает не только программы, в которых работает пользователь в данное время, но и длинный список различных системных программ, например Explorer, Rscrmtr и др. В данном окне можно выбрать любую программу и завершить ее. 1.9. Дайте пользователю возможность - настроить интерфейс на свой вкус Дайте человеку возможность настроить представление информации (цвета, шрифты, базирование, вид обзора, расположение элементов), поведение интерфейса (действия по умолчанию, макросы, кнопки) и интерфейсные функции (нажатие кнопок или клавиш, сочетание клавиш для быстрого выбора команд, мнемоника, расположение кнопок мыши для отдачи команд) так, как ему нравится. Секрет «прозрачного» интерфейса — в прямой связи с ментальной моделью. Пользователь должен быть сосредоточен непосредственно на выполнении задач, стоящих веред ним, а не разбираться в функциях программы. Визуально богатые сенсорные графические и мультимедийные интерфейсы должны содержать функцию настройки пользователем. Работая, человек должен чувствовать себя комфортно, настраивая интерфейс по своему вкусу, пользуясь своими любимыми цветами, шрифтами, графикой и др. 1.10. Разрешите пользователю прямое манипулирование объектами интерфейса Везде, где это возможно, разрешите пользователю напрямую взаимодействовать с объектами на экране. В дополнение к мыши и клавиатуре оптимизируйте взаимодействие пользователя с интерфейсом в более естественном, «натуральном» стиле. Кроме прямой манипуляции с объектами, поработайте с метафорами интерфейса и пользовательскими моделями. В популярном информационном менеджере Lotus Organizer есть мусорная корзина. Попробуйте выбросить в нее какой-либо объект или документ — он словно сгорает в пламени! Ожидаете ли вы нечто подобное от мусорной корзины? Пользователь начинает сомневаться в собственных силах, если прямые манипуляции с объектами не отвечают их ментальной модели и системе представлений о взаимодействии с реальным миром. Простое правило: увеличивайте метафоричность, но не ломайте ее. Иногда система прямых манипуляций терпит крах, если пользователь не знает, что надо взять и куда это поместить. Ваши объекты должны «кричать» человеку-пользователю. Иначе человек не поймет, как работать с этим 30 PDF created with FinePrint pdfFactory trial version www.pdffactory.com объектом. Единственная проблема прямых манипуляций: визуально не понятно, может ли объект быть перемещен и отпущен на экране. Пользователи должны чувствовать себя комфортно при производстве данной операции и знать о предполагаемом результате. Кроме того, необходимо, чтобы интерфейс можно было без труда изучить. 1.11. Как минимум, позвольте пользователю думать, что он контролирует ситуацию Пользователю должна быть предоставлена некоторая степень контроля над интерфейсом. В отдельных случаях он должен иметь полный контроль над тем, что делает,. даже в объеме операционной системы. Иногда ему нужно разрешить контроль только в пределах выполняемой задачи. Человеку свойственно огорчаться, если он сразу не получает желаемого или не имеет доступа к чему-то. В некоторых ситуациях компьютерные системы или программы нуждаются в определенном времени для осуществления какого-либо действия. Что мешает разработчику проекта держать пользователя в курсе происходящего? Именно в этом заключается возможность поддерживать внимание пользователя и уверенность, что машина все делает правильно. Хорошо разработанный интерфейс должен быть удобен для пользователей и развлекать их, пока компьютер находится в состоянии загрузки. Людям не нравится сидеть около компьютера, ничего не видя и ничего не делая, пока компьютер занят «своими делами». Если вы не можете дать пользователю контроль, так создайте хотя бы его иллюзию! Правило 2: уменьшите нагрузку на память пользователя Принципы проектирования приведены ниже. Принципы, позволяющие снизить загрузку памяти пользователя • Не загружайте кратковременную память (запоминание). • Полагайтесь на распознавание, а не на повторение (распознавание). • Представьте визуальные заставки (информирование). • Предусмотрите установки по умолчанию, команды Undo и Redo (терпимость). • Предусмотрите «быстрые» пути (быстрота). • Активизируйте синтаксис действий с объектами (интуитивность). • Используйте метафоры из реального мира (перенос). • Применяйте раскрытие и объяснение понятий и действий (контекст). • Увеличьте визуальную ясность (организация). 2.1. Не нагружайте кратковременную память Как известно, кратковременная память помогает нам хранить информацию в течение небольшого промежутка времени. Пользователи обычно работают над несколькими задачами одновременно, поэтому не стоит компьютерному интерфейсу загружать кратковременную память человека в моменты переключений между ними. Этот принцип проектирования часто нарушается, что вынуждает применять внешние «приспособления» для хранения информации (бумагу, калькулятор и т.д. для записи каких-либо сведений). Функции программ (отмена последнего действия и его повторение), действия с использованием буфера обмена (вырезание, копирование, вставка) позволяют пользователям манипулировать частями информации, необходимыми во многих местах, а также внутри обычных задач. Оптимальный вариант, если программа в нужный момент может автоматически сохранить и передать данные, пока человек занят выполнением задачи. Не вынуждайте пользователей запоминать и повторять то, что может (и должен) делать компьютер. Например, когда вам необходимо заполнить анкету, потребуется, ввести некоторые данные,— имя, адрес, телефонный номер, которые фиксируются системой для дальнейшего использования, при повторном входе пользователя в систему или открытии записи. Система 31 PDF created with FinePrint pdfFactory trial version www.pdffactory.com должна запоминать введенную информацию и обеспечить беспрепятственный доступ к ней в любое время. 32 PDF created with FinePrint pdfFactory trial version www.pdffactory.com 2.2. Полагайтесь на распознавание, а не на повторение Поддержка интерфейсом долгосрочной памяти подразумевает распознавание информации пользователем прежде, чем он вспомнит ее. Легче выбрать какой-либо объект из списка, чем вспоминать его правильное название для ввода в пустую строку. Рассмотрим задачи, решаемые в популярной программе, например Quicken. Когда вводится информация для чека, выписанного в счете до востребования, специальный календарь позволяет пользователю выбрать нужную дату, выбранный элемент Next check number вводит правильный номер чека, список зафиксированных действий — данные плательщика, и, таким образом, счет будет оплачен. Пользователь может совершить все действия, не напечатав ни слова! Онлайновая помощь, например сообщения, советы по пользованию инструментами, система контекстной помощи, помогает пользователю узнавать и выбирать информацию, а не вспоминать ее. Предусмотрите списки и меню, содержащие объекты или документы, которые можно выбрать, не заставляя пользователей вводить информацию вручную без поддержки системы. Почему люди должны запоминать, к примеру, аббревиатуру из двух букв для каждого штата США, когда они заполняют какую-нибудь анкету или форму? Не вынуждайте их запоминать коды для дальнейшего использования. Предусмотрите списки наиболее популярных объектов и документов, которые можно просто выбрать без заполнения командных строк и др. 2.3. Обеспечьте визуальные подсказки Необходимый аспект любого графического пользовательского интерфейса (и, конечно, объектно-ориентированного пользовательского интерфейса) состоит в том, что пользователи должны знать, где они находятся, что делают и что могут сделать в дальнейшем. Визуальная информация служит напоминанием для пользователей. Множество визуальных индикаторов сообщает, что я делаю. Когда пользователи находятся в каком-то режиме или работают мышью, это должно отражаться на экране. Индикация должна сообщать пользователю о режиме, в котором он находится. Форма курсора может меняться для указания текущего режима или действия, а индикатор — включаться и отключаться. Тест на визуальную информативность продукта: отойдите от компьютера во время выполнения задачи и позднее вернитесь к работе. Обратите внимание на визуальные подсказки интерфейса, которые должны информировать о том, с чем вы работали, где находились и что делали. 2.4. Предусмотрите функции отмены последнего действия, его повтора, а также установки по умолчанию Следуйте принципам проектирования, дающим пользователю контроль над системой. Предусмотрите в интерфейсе больше установок, которые могут быть изменены самим пользователем. Кроме того, не забудьте об обеспечении возврата к установкам по умолчанию. Иными словами, пользователи должны иметь возможность изменить цвет, шрифт, свойства программы или системы,- не задумываясь об их начальном варианте. Во время работы с данными, например при написании текста или созданий-графиков, операции отмены и повтора действия крайне важны". Команда отмены действия поможет шаг за шагом возвратиться к нужному месту. Команда повтора действия обратна выше описанной команде. Названные команды в зависимости от программы позволяют отменить произведенные изменения. Некоторые программы предусматривают бесконечное количество отмен или повторов действий. Многие текстовые процессоры постоянно сохраняют информацию во время работы, гарантируя пользователю возвращение на любую стадию подготовки документа. Человек может добраться до исходного материала, скопировать удаленный текст, возвратиться на нынешний отрезок работы и вставить текст. 33 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Используйте способность компьютера сохранять и отыскивать информацию о выборе пользователя, а также о свойствах системы. Предусмотрите многоуровневые системы отмены и повтора команд, обеспечивающие уверенную и спокойную работу с программой. 2.5. Обеспечьте ярлыки для интерфейса Кроме комбинированного использования мыши и клавиатуры изыщите другие возможности ускорить работу с программой. «Горячие» клавиши уменьшают загрузку памяти пользователя и доводят выполнение операции до автоматизма. Есть два основных способа для установки ярлыков: ускоряющие и мнемонические клавиши. Мнемонические (или доступа) — это одиночные, легко запоминаемые буквенноцифровые символы, передвигающие курсор на нужный объект и позволяющие сделать "выбор. Они используют различные меню (панель, выпадающие, появляющиеся) и списки. Мнемонические символы должны быть уникальными для каждого рода действий. Типичное меню окна использует стандартные клавиши: F — для файла, Е — для редактирования, V — для просмотра и Н — для вызова справочной системы. Следующий уровень меню (выпадающие) использует свои установки мнемонических клавиш. Например, N — новый документ, О — открыть, С — закрыть, S — сохранить. Мнемонические символы ускоряют движение и выбор нужного меню или списка. Для закрытия действующего окна пользователи могут использовать клавишу Alt (ускоряющую клавишу для передвижения в панели меню), F — для выбора файла и С — для закрытия. Ускорители (или клавиши быстрого доступа) — это клавиша или комбинация клавиш, которые пользователи должны нажать для совершения какого-либо действия. В предыдущем примере клавиша Alt служит для быстрого перемещения внутри окна к панели меню. Другие стандартные действия имеют стандартные ускорители, например Ctrl+P для печати. Как только пользователи достаточно хорошо освоят программный продукт, они начинают испытывать потребность в ускорителях. Не игнорируйте эту необходимость, однако при разработке следуйте стандартам. 2.6. Активизируйте синтаксис действий Вам не нужно разрабатывать полностью объектно-ориентированный интерфейс, чтобы получить преимущества от использования объектно-ориентированного синтаксиса взаимодействия. Ему следуют даже ориентированные на приложение программы, подобные процессору текста. Выберите слово или определенное количество текста (объект), затем пролистайте выпадающие меню или нажмите правую клавишу мыши для вызова меню, показывающего действие, которое должно быть произведено (действительное действие). Объектно-ориентированный синтаксис был описан разработчиками Xerox PARC при создании интерфейса для пользователей Star в конце 70-х гг. Преимущество объектноориентированного синтаксиса заключается в том, что пользователям не надо запоминать, какое действие правильно в определенный момент времени для данного объекта. Прежде всего надо выбрать объект. Затем разрешаются действия, которые могут быть произведены с объектом только тогда, когда он доступен. Недоступные действия выделяются серым цветом. Объектно-ориентированный синтаксис позволяет человеку понять взаимосвязь между объектами и действиями в программном продукте. Пользователи могут изучать и «листать» интерфейс, выбирая объекты и просматривая доступные действия. 2.7. Используйте метафоры реального мира Метафоры реального мира позволяют пользователям переносить свои знания из реального мира в мир компьютеров. Сегодняшние компьютеры укомплектованы аппаратными и программными телефонами, автоответчиками и факсами. Как пользователи взаимодействуют с ними? Не заставляйте их заново учиться работать с этими аппаратами, они должны переносить свои знания из реального мира. Будьте осторожны при выборе и использовании метафор для интерфейса. Выбрав 34 PDF created with FinePrint pdfFactory trial version www.pdffactory.com метафору, зафиксируйте ее и следуйте ей неукоснительно. Если вы обнаружите, что метафора не отвечает своему назначению во всем интерфейсе, выберите новую. Продолжайте метафору, не прерывая ее. 35 PDF created with FinePrint pdfFactory trial version www.pdffactory.com 2.8. Объясняйте понятия и действия Пользователи не должны заблуждаться по поводу возможностей программного продукта. Вам не нужно показывать абсолютно все его функции, а лишь те, в которых есть потребность. Некоторые программные продукты предоставляют различные меню для пользователей. Поначалу можно выбрать простое меню для каждодневных, обычных нужд. Позднее, по мере освоения продукта или при возникновении потребности в более сложных свойствах программы, пользователи смогут выбрать сложное меню. Это пример того, как пользователь получает контроль над задачей и программой. Новые свойства интерфейсов (Мастера и Советчики) раскрывают и объясняют понятия и действия при решении обычных задач. Мастера помогают пользователю выполнять задачу шаг за шагом, каждый из которых ясен и понятен любому. Никогда не забывайте о легком доступе к часто используемым функциям и действиям. Скройте непопулярные свойства и функции и позвольте пользователю вызывать их по мере надобности. Не пытайтесь отразить всю информацию в главном окне. Используйте вторичные окна. 2.9. Увеличьте визуальную ясность Применяйте принципы визуального проектирования, чтобы человеку было легче воспринимать информацию: группируйте объекты в меню или списке, нумеруйте объекты, используйте заголовки и приглашения. Некоторые программы одновременно представляют слишком много информации на экране. Это вызывает ощущение хаоса. Информация должна показываться в порядке, понятном для пользователей. Помните старое правило, что «форма должна соответствовать назначению». Избегайте случайной группировки и ненужных выделений. Визуальная дезорганизация мешает использованию и восприятию. Компьютерные графики и оформители книг хорошо освоили искусство представления информации. Этот навык должны иметь и члены команд по разработке пользовательского интерфейса. Правило 3:Сделайте интерфейс совместимым Совместимость — ключевой аспект для использования интерфейса. Однако не следует во что бы то ни стало стремиться к ней. Одним из основных преимуществ последовательности является то, что пользователи могут перенести свои знания и навыки из старой программы, которой они пользовались раньше, в новую. Принципы создания совместимого интерфейса: ♦ Проектирование последовательного интерфейса (последовательность). ♦ Общая совместимость всех программ (опыт). ♦ Сохранение результатов взаимодействия (прогнозирование). ♦ Эстетическая привлекательность и цельность (отношение). ♦ Поощрение изучения (предсказуемость). При создании информационного сообщения присвойте ему идентификационный номер. Впоследствии вместе с сообщением используйте его номер. Это позволит пользователям замечать, что похожие сообщения появляются каждый раз. В определенной ситуации, независимо от того, в каком месте интерфейса они находятся. 3.1. Проектирование последовательного интерфейса Пользователи должны иметь опорные точки при перемещении в интерфейсе. Это заголовки окон, навигационные карты и древовидные структуры. Другая визуальная помощь предоставляет немедленный, динамичный обзор местоположения. Пользователь также должен иметь возможность завершить поставленную задачу без изменения среды работы или переключения между стилями ввода информации. Если сначала он использовал клавиатуру, 36 PDF created with FinePrint pdfFactory trial version www.pdffactory.com должна быть обеспечена возможность завершить работу тоже с ней как с главным инструментом для взаимодействия. Человеку необходима визуальная помощь, прогнозирующая результаты работы. Когда объект переносится через другой, надо посредством визуального индикатора показать пользователю, может ли тот принять переносимый объект и что из этого выйдет. У пользователя должна быть возможность в любой момент прервать действие переноса. Контекстная помощь (советы и т.п., появляющиеся на индивидуальных полях, меню объектов и кнопок) также хорошее подспорье для пользователя. Он не должен покидать окно программы, не получив информации, которая подскажет, что произойдет при завершении задачи. 3.2. Общая совместимость всех программ Один из главных аспектов в разработке интерфейса — возможность обучения пользователя главным концепциям системы и программного продукта, которые могут применяться на новых ситуациях и в других программах. Совместимость проявляется на трех уровнях: подача информации, поведение программы и техника взаимодействия. Совместимость — одно из главных свойств пользовательского интерфейса, которое будет обсуждаться в следующей главе. Совместимость в подаче информации подразумевает, что пользователи могут воспринимать информацию и объекты в похожем логическом, визуальном и физическом виде во всем программном продукте. Если изменить информацию (статичный текст) нельзя, то она будет окрашена голубым цветом и таким же цветом будет окрашен текст на последующих экранах. Если определенный тип информации был введен с использованием одного типа контроля, то этот же тип будет применяться на всем протяжении работы над Задачей. Не изменяйте стиля представления информации без видимых причин. Совместимость в поведении подразумевает, что объект одинаков везде. Поведение контрольных инструментов, таких как кнопки, списки и меню, не изменяется внутри или от программы к программе. Существуют программы, где панель меню выбора немедленно выполняла заданное действие, вместо того чтобы показывать выпадающие меню, как можно было бы предположить. Пользователи должны быть уверены в последовательном поведении объектов интерфейса. Совместимость техники взаимодействия также важна. Одинаковые сочетания «быстрых» клавиш должны работать в похожих по назначению программах. Способы работы с мышью не должны отличаться от программы к программе. Мнемонические схемы клавиатуры тоже должны быть неизменны. Пользователи ожидают аналогичных результатов при взаимодействии одинаковыми методами с различными объектами. Изучение одной программы не должно кардинально отличаться от изучения подобной программы. Когда похожие объекты не работают одинаково в различных ситуациях, у пользователей происходит отрицательный перенос знаний. Это тормозит изучение программы и приводит к тому, что пользователь теряет уверенность в своих силах. 3.3. Улучшение интерфейса и последовательности Windows 95 и OS/2 Warp в настоящее время — достаточно популярные операционные системы. В интерфейсах данных систем были сделаны многочисленные визуальные улучшения. Этот пример подтверждает преимущества последовательности и недостатки непоследовательности. Рисунки 4.1-4.3 демонстрируют кнопки управления окном Рис. 3.1: Кнопки Рис. 3.2. Кнопки Рис. 3.3. Кнопки 37 PDF created with FinePrint pdfFactory trial version www.pdffactory.com строки заголовка строки заголовка строки заголовка в Windows 3.1 Windows 95 -. в OS/2 версии 3 в старой версии Windows — всем известные стрелки вниз и вверх. Правая крайняя стрелка максимизирует окно, левая совершает обратное действие. Пользователи могут проделать это действие щелчком мыши на системном меню в левом углу окна после выбора действия. Эта операция требует двойного щелчка мышкой, а кнопки изменения размеров окна в правом верхнем углу окна — более быстрого, единичного щелчка. Такое расположение и схема действий знакомы многим пользователям ПК, которых уже более 50 млн по всему миру (согласно статистике фирмы Microsoft). Пользователи обучены щелкать мышью по верхней правой кнопке окна для максимизации или восстановления прежних размеров и местоположения. Эта позиционная и визуальная совместимость присутствует в каждом окне. Для закрытия открытого окна пользователь может щелкнуть на системном меню и выбрать команду Close (Закрыть). Краткий путь для этой команды — двойной щелчок на системном меню. Большинство способов взаимодействия с интерфейсом требует двойного щелчка. В Windows 95 предлагается улучшение: окно закрывается одним щелчком. Решение хорошее, однако способ его реализации не столь удачен (см. рис. 4.2). Новая кнопка «Close» (которой соответствует иконка с изображением «х») переместилась направо, как и кнопка для изменения размера окна. Вместо того чтобы придумывать новые кнопку, технику взаимодействия, местоположение кнопки для доступа к функции, фирма Microsoft прибавила лишь новую кнопку и изменила метод взаимодействия, отказавшись от традиционной, ставшей привычной техники. 3.4. Сохранение результатов взаимодействия Как уже говорилось, совместимость в интерфейсе очень важна. Если пользователь, выполняя одни и те же действия, получает разные результаты, он более склонен обвинить себя, чем продукт. Это приводит к тому, что человек теряет уверенность в результатах своей работы. Совместимость шагов и действий должна соблюдаться во всем программном продукте. Процесс навигации также должен быть последовательным: не используйте Esc для возврата назад, а затем Exit в другом окне для аналогичного действия. Стандартные элементы интерфейса должны вести себя одинаково. Например, строка меню при наведении на нее курсора должна показывать выпадающее меню. Не удивляйте пользователя выполнением функции прямо из строки меню. Не «сжигайте» объект при помещении его в корзину для мусора! Еели результаты могут быть отличны от того, что ожидает пользователь, информируйте его перед выполнением действия. Дайте ему опции выполнения действия, возможность отменить действие или даже произвести другое. 3.5. Эстетическая привлекательность и цельность Многие из нынешних программных продуктов выглядят так, словно они разработаны разными людьми, которые даже ни разу не разговаривали между собой. Сомнения пользователей о цельности программного продукта возникают, если во всех его частях обнаруживается непоследовательность цветов, шрифтов, иконок и других составляющих интерфейса. Так же, как в печатной книге, имеющей предустановленные план, шрифты, заголовки и цветовую схему, в интерфейсе продукта должны быть визуально совместимые элементы, чтобы пользователь мог быстро его изменить. Приобретайте навыки графического проектировщика. Приятный для взгляда интерфейс не должен скрывать недостаток функциональности программного продукта. 3.6. Поощрение изучения Задача проектировщиков пользовательского интерфейса — создать дружественный интерфейс, который поощрял бы пользователя исследовать его составляющие и свойства без страха сделать что-либо неправильно. Мы медленно приходим к этому результату, но пользователи 38 PDF created with FinePrint pdfFactory trial version www.pdffactory.com ждут в настоящее время от продукта гораздо больше. Они ожидают помощи, направления, информации и даже развлечения. 39 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Лекция 5 Этапы разработки пользовательского интерфейса Если просто следовать принципам проектирования, руководствам и стандартам, это вовсе не означает, что будет создан удобный интерфейс. Не существует универсального способа разработки и проектирования, гарантирующего успешный конечный продукт. Вы должны сами выбирать, каким образом ив какой последовательности работать, согласуясь со своими привычками, стоящими перед вами задачами и используемой средой разработки. Крупная фирма может иметь в своем распоряжении несколько отделов, которые специализируются в каждой отдельной области процесса разработки. Небольшая компания может положиться только на одного или нескольких человек. Но в любом случае вы должны придерживаться коллективного подхода. Как правило, ни один отдел, ни один человек не обладают необходимыми навыками для выполнения всех этапов разработки. Идеальная команда для разработки программы должна обладать следующими навыками: проблемный анализ, программирование, разработка пользовательского интерфейса и команд, графическое проектирование, написание технической документации, тестирование на удобство применения. Некоторые члены команды могут иметь способности более чем в одной из перечисленных областей, но ни один из них не продемонстрирует всех навыков, которые требуются для разработки и пользовательского интерфейса, и кода продукта. Кроме того, в команду должны входить специалисты по вопросам бизнеса. Разработка, ориентированная на обучающихся В прошлом разработка программного обеспечения и пользовательского интерфейса развивались только за счет эволюции технологий и систем, на базе которых программы строились. Это называлось системно-управляемой или технологически управляемой разработкой (рис. 5.1). Рис. 5.1. Эволюция разработки интерфейсов Разработка, ориентированная на обучающихся, направлена на то, чтобы в процессе решения своих задач человек обучался новым навыкам работы с компьютером. Если вы вовлекаете пользователей в процесс разработки, то будьте осторожны и не полагайтесь только на них при продвижении вашего продукта на рынок. Бизнес-процессы и новые технологии также должны учитываться при разработке систем и интерфейсов. Пользователи могут быть не в курсе того, в каком направлении движется ваш бизнес и на каких технологиях вы собираетесь сконцентрироваться. 40 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Четыре этапа разработки Проектирование пользовательского интерфейса может осуществляться как отдельно, так и совместно с остальным процессом разработки продукта. Однако сейчас больше внимания уделяется элементам интерфейса и объектам, воспринимаемым и используемым пользователями, а не функциональности программы. Во многих проектах собственно разработка пользовательского интерфейса и программирование продукта ведутся параллельно, особенно на ранних стадиях. На более поздних этапах учитываются требования пользовательского интерфейса и обратной связи, выявляемые в результате тестирования на удобство применения. Процесс состоит из четырех основных этапов (рис. 5.2): ♦ сбор и анализ информации от пользователей; ♦ разработка пользовательского интерфейса; ♦ построение пользовательского интерфейса; ♦ подтверждение качества созданного пользовательского интерфейса. Данный алгоритм может использоваться как при разработке объектно-ориентированных пользовательских интерфейсов, так и при проектировании традиционных проблемноориентированных интерфейсов или ГПИ. Этот процесс зависит от материальной и программной платформ, операционной системы и применяемого инструментария. И IBM, и Microsoft выступают за ведение итерационного процесса разработки. Начинайте с малого, если вы впервые сталкиваетесь с процессом разработки и проектирования интерфейса. Не торопитесь принимать «стратегические» решения, особенно если приходится отказываться от традиционных позиций. Лучше начать с пилотных программ. Рис. 5.2. Итерационный процесс разработки и проектирования пользовательского интерфейса Итерационная природа разработки пользовательского интерфейса Любой удачный процесс разработки пользовательского интерфейса должен быть итерационным. Вам не удастся получить качественный интерфейс без периодического возврата к предыдущим этапам. Не трудитесь затратить усилия и время на сбор предъявляемых требований, проведите тестирование интерфейса с участием пользователей. Мнение пользователей и удобство применения продукта должны быть не менее важны, чем функциональность программы. 41 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Рис. 5.3. Различные схемы итерационного процесса На рис. 5.3, а изображена спираль с началом в центре, которая раскручивается на протяжении четырех этапов, чтобы показать, что итерации, на ранних стадиях быстрые и неформальные, со временем становятся более длинными и формальными. Внутренняя спираль демонстрирует постепенное сужение фокуса и подгонку пользовательского интерфейса под соответствующий продукт (рис. 5.3, б). Оба руководства — и CUA, и Windows — иллюстрируют круговой процесс (рис. 5.3, в). Спирали в окружности показывают, что в любой момент, на любом этапе вы можете вернуться к центральному «ядру» для дальнейшего усовершенствования интерфейса (рис. 5.3, г). Постоянно используйте итерационные проверки до тех пор, пока не достигнете намеченных целей либо критического предельного срока, отведенного для разработки. При возникновении спорных ситуаций помните о пользователях. В процессе должен принимать участие разработчик пользовательского интерфейса как «адвокат» пользователей. Первый этап: сбор и анализ информации, поступающей от пользователей Начать разработку интерфейса вы должны именно с этого — с ваших пользователей. Прежде чем приступать к разработке и построению любой системы, вам следует выяснить, какие проблемы потребители или пользователи хотят разрешить и как они привыкли работать. Наблюдайте за пользователями, расспрашивайте их. Обратите внимание на то, какие ограничения накладывают их компьютерные системы на техническое и программное обеспечение. Постоянно помните, что предлагаемое вами решение должно соответствовать не только настоящим, но и будущим потребностям пользователей. Первый этап — действия по сбору и анализу информации — может быть разбит на пятьшагов: ♦ определение профиля пользователей; ♦ анализ стоящих перед ними задач; ♦ сбор требований, предъявляемых клиентами; ♦ анализ рабочей среды пользователей; ♦ соответствие требований пользователей стоящим перед ними задачам. Проектирование и постановка вопросов, а также проведение анализа являются настоящим искусством. Будьте внимательны при опросе пользователей и анализе их ответов. Первый шаг: определение профиля пользователей Профиль пользователя дает ответ на вопрос: «Что пред-" ставляет собой ваш пользователь?». Он позволяет вам составить представление о возрасте, образовании, предпочтениях пользователей, получить другую необходимую информацию. Проводите интервьюирование и исследования, наблюдайте за пользователями и снимайте их на видео, почитайте специальную литературу (опубликованные тексты докладов, материалы прессы и маркетинговых исследований). Второй шаг: анализ стоящих перед пользователями задач Анализ стоящих перед пользователем задач — это определение того, чего хотят пользователи и каким образом они собираются решать свои задачи. Независимо от метода анализа задач вы должны получить ответы на следующие вопросы: ♦ Какие задачи решают пользователи? ♦ Какие задачи являются наиболее важными? ♦ Какие цели предпринимаются для решения задач? ♦ Какие цели преследуют пользователи при решении тех или иных задач? ♦ Какой информацией необходимо располагать для выполнения задач? ♦ Какой инструментарий (компьютеры и т.д.) используется для решения задач? ♦ Каков ожидаемый итог от решения задачи? ♦ Каким образом пользователи выполняют свою работу (вручную, на компьютере, по телефону и т.д.)? ♦ Каким образом они взаимодействуют с другими лицами при решении задач? 42 PDF created with FinePrint pdfFactory trial version www.pdffactory.com ♦ Каким образом задачи учитываются в общем бизнес-процессе? ♦ Как часто пользователям приходится решать задачи? ♦ Каким образом компьютер или другая компьютерная техника помогает пользователям в решении задач? Третий шаг: сбор требований, предъявляемых пользователями Анализ и сбор требований, предъявляемых пользователями, отвечают на вопрос: «Какую, с точки зрения пользователя, пользу принесет им предлагаемый продукт или интерфейс?». Практически во всех проектах программного обеспечения учитываются требования пользователей. Это помогает определить особенности проекта и структуру пользовательского интерфейса. Ключевыми в данном контексте являются следующие вопросы: ♦ Какие основные технологии требуются пользователям? ♦ Сколько пользователи и менеджеры готовы заплатить за продукт? ♦ Кто устанавливает продукт? ♦ Кто будет сопровождать продукт, когда он будет установлен? Как правило, сбором требований занимаются специальные группы. Существуют некоторые общие для всех пользователей требования, предъявляемые к бизнес-программам, в соответствии с которыми новый продукт должен: ♦ сокращать работу с бумагами; ♦ уменьшать ошибки пользователей; ♦ автоматизировать существующие ручные процессы; ♦ повышать скорость совершения трансакций. Четвертый шаг: анализ рабочей среды пользователей Анализ среды пользователя отвечает на вопрос: «Где ваши пользователи решают стоящие перед ними задачи?». Вы должны определить характеристики среды, которые могут оказывать влияние на выполнение пользователями своей работы. Соберите информацию в отношении: ♦ физической стороны рабочей среды (освещение, шум, -рабочее пространство, температура, наличие компьютеров, телефонов, количество персонала и т.д.); ♦ места работы пользователя и степени его мобильности (офис, квартира, стационарно, с передвижениями и т.д.); ♦ вопросов эргономики, условий труда (задействуются ли зрение, слух, работа ведется стоя/сидя, на клавиатуре и т.д.); ♦ особых запросов (уровень подготовки, физическое состояние, интерес к познавательному процессу, особенности речи и возможные недостатки); ♦ интернационализации и других культурологических условий (перевод, цвета, иконки, текст, сообщения и т.д.). Все эти факторы влияют на разработку продукта. Если вы создаете продукт для офисного клерка, то офисная среда имеет небольшое значение. Однако если вы занимаетесь проектом, предназначенным для операционного зала больницы или для трейдеров, работающих на бирже, то среда является определяющей как для проектирования интерфейса, так и для его тестирования. Пятый шаг: соответствие требований стоящим перед пользователями задачам Анализ соответствия требований стоящим перед пользователями задачам — своего рода проверка на их реалистичность. Если требования пользователей не соразмерны выполняемым задачам, вы должны предложить им оптимальный вариант. Проверьте, не превышают ли возможности продукта действительные потребности клиента. Если необходима только текстовая информация, не предлагайте ему дорогостоящий мультимедийный проект. Проанализировав задачи, стоящие перед пользователями, и их требования, вы увидите, какие элементы интерфейса потребуются и как их расположить. В предлагаемом примере в дополнение к текстовой информации клиенты должны иметь возможность Просматривать и распечатывать фотографии гостиниц и карты их расположения. Следовательно, вам нужно 43 PDF created with FinePrint pdfFactory trial version www.pdffactory.com разработать интерфейс, поддерживающий не только текстовую информацию. 44 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Второй этап: разработка пользовательского интерфейса Разработка пользовательского интерфейса для программного продукта обычно требует значительных затрат времени и ресурсов. Этап разработки состоит из определенных шагов, выполняемых в заданной последовательности. Существует большой соблазн начать программирование финальной версии продукта уже сейчас, не занимаясь разработкой интерфейса. Однако пройдите все этапы процесса разработки, прежде чем приступить к программированию. Разработка включает в себя следующие шаги: ♦ определение цели с точки зрения удобства применения продукта; ♦ разработка задач и сценария действий пользователей; ♦ определение целей и операций интерфейса; ♦ определение иконок объектов и визуального представления; ♦ разработка меню объектов и окон; ♦ оптимизация визуальной разработки. Первый шаг: определение цели с точки зрения удобства применения продукта На ранних стадиях разработки продукта вы должны точно определить, что, по вашим ожиданиям, он сможет сделать для пользователей. Причем эти цели должны прочно закрепиться в умах тех, кто будет принимать участие в работе над данным проектом. Цели разработки лучше всего сформулировать в терминах, характеризующих действия пользователя. Например, длительность задач, возможное количество ожидаемых ошибок. Ниже перечислены четыре области, наиболее подходящие для установления целей и задач: ♦ пригодность; ♦ эффективность; ♦ легкость в освоении; ♦ оценка пользователями качества продукта. Второй шаг: разработка сценария действий пользователей и задачи, стоящие перед ними Сложно с высокой степенью точности определить, что представляет собой сценарий по сравнению с задачей, стоящей перед пользователями. Как правило, сценарий является описанием действий, выполняемых пользователем. Сценарий представляется как последовательность задач, стоящих перед пользователями, или событий, направленных на достижение единой цеди. На втором шаге следует разработать несколько сценариев пользователей. Чем больше их будет, тем меньше вероятность того, что вы упустите из виду ключевые объекты и операции, необходимые в интерфейсе. Если вы создаете программу для множества разных людей, убедитесь в том, что сценарии содержат весь диапазон требований пользователей и навыков, необходимых для выполнения стоящих задач. Разработка компьютерных систем, основанная на сценарии действий пользователей, стала важной частью разработки системы, ориентированной на их потребности. Третий шаг: определение объектов и операций Третий шаг является, возможно, самым сложным (и самым важным) в процессе разработки. Ниже представлены некоторые действия, которые следует предпринять на этой стадии: ♦ выделить объекты, данные и действия из сценариев и задач, стоящих перед пользователями; ♦ просмотреть и уточнить список объектов и действий совместно с пользователями; ♦ начертить диаграмму взаимодействия между объектами; Прежде всего определите исходный набор объектов и действий пользователя на основании информации, собранной на первом этапе, а также сценариев, разработанных на втором этапе 45 PDF created with FinePrint pdfFactory trial version www.pdffactory.com При создании списков объектов и действий используйте метод мозгового штурма. Изучайте все материалы, имеющие отношение к задачам и сценариям, записывайте как можно больше объектов и действий, не беспокоясь о терминологии и многословных описаниях. Занимайтесь списками, пока не получите окончательный вариант, из которого удалены все повторения и в котором содержатся объекты и действия, возможно, не указанные в сценариях пользователей. Вам также нужно определить объекты устройств общего назначения, с помощью которых пользователи должны выполнять определенные вами действия. Одна из целей разработки пользовательского интерфейса заключается в том, чтобы максимально скрыть сложность внутренних бизнес-моделей и моделей программирования. Спрячьте от пользователей функционирование «системных объектов (списков клиентов, забронированных мест, гостиниц или баз данных). Они должны видеть эти объекты только через систему поиска или в списках имеющихся элементов. С точки зрения пользователей речь идет о больших контейнерах, стоящих где-то в компьютерной системе и хранящих все объекты, с которыми они работают. Пользователи не хотят знать об этих объектах больше, чем нужно для исправления или хранения информации. Работа, которая выполняется на третьем шаге, необходима для обеспечения вспомогательным материалом по объектам и действиям интерфейса. Теперь самое время создать изображения идентифицированных вами объектов. Это самая увлекательная часть разработки. Действительно, хорошая идея — просмотреть результаты, начиная со второго этапа анализа, совместно с пользователями. Четвертый шаг: определение иконок объектов и визуальных представлений Когда объекты уже установлены, определим, как наилучшим образом представить их на экране, в каком виде их увидят пользователи, какую информацию они будут содержать. При определении представлений объектов учитывайте способ общения пользователей с каждым из объектов и с информацией, содержащейся в них. Разработка иконок объектов Разработчик графики должен отвечать за проектирование иконок. Обратная связь с пользователями и проведение тестирования на удобство применения также должны использоваться для подтверждения того, что иконки узнаваемы, понятны и способны помогать в решении задач (рис. 5.4). РИС. 5.4. Примеры иконок объектов, выполненных вручную Не тратьте слишком много времени на ранних стадиях разработки интерфейса на иконки. Начните с черновых набросков, затем постепенно дорабатывайте и тестируйте иконки в процессе разработки. Пятый шаг: разработка меню и окна Когда объекты, их типы и иконки определены и разработаны, остается выяснить, как пользователи будут общаться с объектами и окнами. Следует ответить на следующие вопросы: ♦ Какие действия свойственны каждому объекту и типу? ♦ Что содержится во всплывающих меню? ♦ Каким окнам требуется панель меню? Для этого составляются список объектов и действий и матрица прямого манипулирования объектами из третьего шага, которые являются отправными пунктами для 46 PDF created with FinePrint pdfFactory trial version www.pdffactory.com пятого шага. Теперь самое время перестроить эти. схемы и определить действия, относящиеся к объектам, представленным в виде иконок, а также к открытым в окнах просмотра. Необходимо изучить каждое окно, чтобы решить, требуется ли пользователю панель меню. Поскольку приложения становятся все более объектно-ориентированными, то упомянутые панели открывают путь к способам более прямого взаимодействия, например прямому манипулированию и всплывающим меню. Приложения, имеющие только одно окно, для представления всех относящихся к ним действий требуют сложных панелей меню. Они разбиваются на объектно-ориентированные компоненты, при этом на уровне окна требуется меньше действий, а большая часть операций может выполняться косвенным образом, посредством всплывающих меню. Основное различие между панелью проблемно-ориентированного меню и объектноориентированного заключается в первом варианте панели — File. Панель объектноориентированного меню указывает объект как первый вариант на панели, а выпадающее меню содержит действия, допустимые для выделенного объекта в данном окне. Шестой шаг: усовершенствование визуальной разработки При первоначальной разработке схем окон удобнее пользоваться бумагой и карандашом. Когда вид окна определен, можно перейти к использованию инструментов прототипирования или проектирования, чтобы разработать схематическое изображение иконок и окон. Возможно, что, разрабатывая меню на шестом шаге, вы вернетесь назад. Третий этап: построение пользовательского интерфейса При первом обращении к итерационному процессу разработки вы должны скорее создавать прототипы, чем строить пользовательский интерфейс. Прототипирование является исключительно ценным способом создания первых проектов и демонстрации продукта, особенно на ранних этапах тестирования на удобство применения. Необходимо следовать трем «золотым» правилам при использовании прототипов как части процесса разработки интерфейса. ♦ Прототйпируйте на ранних стадиях и не забывайте про итерационный принцип разработки. ♦ Создавайте различные альтернативные варианты. ♦ Будьте готовы выбросить код прототипа. Существует много способов прототипирования интерфейсов: бумага и карандаш, доски для мела и фломастеров, альбомы для презентаций, клеящиеся листочки и т.д. Для показа последовательности визуальных разработок применяют прототип с анимацией либо презентационные графические программы (например, Lotus Freelance Graphics и др.). Может использоваться и такой способ: человек работает «компьютером», переключая экраны по запросу пользователя. Для прототипирования могут применяться либо специальные инструменты, либо инструменты проектирования (обычно для написания кода продукта). Инструменты прототипирования проще в использовании для непрограммистов, очень быстро создают и прототипы, и демонстрационные версии. Однако они, как правило, имеют весьма ограниченные функции, используют собственный код, который неприменим в окончательном проекте продукта. Инструменты проектирования обладают более широкими возможностями, но гораздо сложнее в освоении. Руководство по прототипированию по Радди и Исанси содержит следующие пунты: ♦ Заручитесь поддержкой руководителей проекта высокого уровня. ♦ Избавьтесь от вашего прототипа. ♦ Создайте высоконадежные прототипы. ♦ Используйте каждую возможность демонстрировать прототипы. ♦ Не тратьте время на прототипирование расширений. ♦ Начинайте пораньше. ♦ Напишите функциональную спецификацию прототипа. ♦ Распространите ее среди всех технических руководителей и разработчиков. ♦ Разрабатывайте идеальные, а не реалистичные прототипы. ♦ Используйте наилучший инструментарий. ♦ Начинайте активно действовать. ♦ Клиент-король. ♦ Посмотрите, что происходит за пределами страны. ♦ Следите за прототипом в вашей компании. 47 PDF created with FinePrint pdfFactory trial version www.pdffactory.com ♦ Уделяйте внимание эстетической стороне вопроса. ♦ Не передавайте другим ведение прототипирова-ния. ♦ Изучайте различные дисциплины. ♦ Делитесь своими знаниями с коллегами. ♦ Правильно понимайте корпоративные директивы по проектированию. ♦ Анализируйте интерфейсы появляющихся на рынке программ. ♦ Почувствуйте дух соревнований. ♦ Постарайтесь не превратиться в традиционного (слепо подчиняющегося правилам) разработчика. Четвертый этап: подтверждение качества пользовательского интерфейса Тестирование на удобство применения является ключевым элементом итерационного процесса разработки. Оно заключается в том, чтобы выдать продукт на руки большому количеству пользователей и посмотреть, смогут ли они с ним работать! Вот почему уделяется так много внимания данной теме. Цель тестирования на удобство при-• менения должна заключаться в оценке поведения, действий и степени удовлетворения пользователей. Многие разработчики обращаются к подобному виду тестирования (если вообще обращаются) ближе к концу проектирования. Однако это уже слишком поздно для того, чтобы на основании его результатов вносить изменения. Даже если они и вносятся, нельзя быть уверенным в том, что исправленный продукт можно использовать без проведения повторного тестирования. Составьте график проведения нескольких стадий тестирования, начиная с просмотров клиентами первоначальных вариантов разработки. Когда части продукта и интерфейса построены, предложите их пользователям и протестируйте снова. Окончательное тестирование всей системы проводится, когда продукт близок к завершению и все части собираются вместе. У вас не будет неприятных сюрпризов, если вы будете проводить тестирование итерационным методом, используя результаты опроса пользователей и обратную связь. В табл. 5.1 показано, как должны проводиться различные операции по определению удобства применения. Речь идет об общих этапах проектирования продукта, параллельных этапам итерационной разработки. Таблица 5.1 Действия по оценке удобства применения продукта Стадии разработки продукта Определение концепции Подтверждение концепции Разработка Проектирование Распространение пилотной версии. Анкета для пользователей пилотной Внедрениеверсии. продукта Действия по оценке возможности использования Сбор требований пользователей Концептуальное определение разработки Концептуальные оценки разработки (бумага/карандаш, прототипы) Оценки прототипов. Отслеживание и фиксирование проблем, возникающих у пользователей Итерационное тестирование на ранних стадиях разработки (индивидуальные модели, ключевые задачи). Итерационное тестирование окончательных вариантов разработки (целиком продукт, все задачи). Отслеживание и фиксирование проблем, возникающих у пользователей Наблюдение на месте за пользователями пилотной версии. Обратная связь с пользователями пилотной версии. Отслеживание и фиксирование проблем, возникающих у пользователей Наблюдение на месте за пользователями продукта. Обратная связь с пользователями продукта. Отслеживание и фиксирование проблем, возникающих у пользователей. Анкета для пользователей продукта 48 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Поддержка и обслуживание Поддержка и обслуживание Сравнение показателей удобства применения за длительный период времени (1-месячный, 3-месячный, 6-месячныйинтервалы). Обновления и внесение изменений в тесты. Тест для пилотных разработок новых продуктов Сравнение показателей удобства применения за длительный период времени (1-месячный, 3-месячный, 6-месячныйинтервалы). Обновления и внесение изменений в тесты. Тест для пилотных разработок новых продуктов Два направления, разработки Ясно, что разработка и проектирование программного продукта могут потребовать внедрения множества подсистем, сетей, баз данных, других программ и т.д. Как правило, операционная система, языки программирования и инструментарий для проектирования определяются раньше, еще до разработки пользовательского интерфейса. Мы не можем позволить себе роскоши создавать программный продукт с нуля, без привязок к предыдущим версиям, другим продуктам или специальному набору языков программирования и инструментарию. На рис. 5.5 представлены два различных подхода к разработке интерфейса. Рис. 5.5. Два направления разработки Историческим примером проектирования компьютерной системы на базе ее интерфейса является Apple Computer. Данный пример стал классикой успешной истории, где сначала был создан проект интерфейса, а затем построен сам компьютер для его поддержания! Персонал компании Apple всегда гордился своим дружественно настроенным к пользователю компьютером Macintosh. Разработка, ориентированная на пользователя, основана на ряде руководящих принципов: ♦ понимание нужд пользователей является движущей силой всего проекта; ♦ все, что пользователи видят и к чему прикасаются, должно проектироваться совместными усилиями; ♦ инновационный проект всегда является результатом интенсивной работы; ♦ используются команды специалистов в разных областях; ♦ конкурентоспособный проект требует постоянного акцента на соревновании; ♦ проект, утвержденный пользователями, управляет разработкой кода; ♦ принимаемые решения должны основываться на обратной связи с пользователями; ♦ информация от обратной связи с пользователями должна собираться часто, с научной точностью и скоростью; ♦ обратная связь осуществляется как с потенциальными, так и с уже существующими клиентами; ♦ последовательно должна стандартизироваться и внедряться разработка, ориентированная на пользователя; ♦ разработка, ориентированная на пользователя, должна постоянно совершенствоваться. 49 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Лекция 6. Инструментарий разработчика интерфейсов. Передача информации визуальным способом Передача информации визуальным способом Назначение любого интерфейса — обеспечить коммуникацию между двумя системами, в данном случае людьми и компьютерами. Практические советы и рекомендации по разработке программного обеспечения и пользовательского интерфейса основаны на традиционных способах, используемых при общении людей. Области визуального и графического проектирования базируются на знании теории искусства и визуального восприятия. Разработчику необходимо осознать важность и сложность графического отображения информации на бумаге и экране компьютера. Каждая строка, каждый управляющий элемент, блок, часть текста, цвет и рисунок, появляющиеся на экране, оказывают влияние на пользователя как по отдельности, так и в комбинации со всем остальным. На рис. 6.1 показана серия экранов, содержащих различные элементы проектирования. ************************************************************** Экран а представляет собой темную поверхность, т.е. видимых элементов он не имеет, не так ли? Неправильно — фон или Рабочий стол, хотя и пуст, является визуальным элементом, следовательно, на экране а есть один визуальный элемент. Экран б содержит линию, проходящую по его центру. Можно подумать, что на экране имеется один визуальный элемент. Но их там три: область над линией, сама линия, область под линией. Уловили идею? На экране в изображен блок, содержащий линию (вы подумали о двух элементах). В данном случае число визуальных элементов, различаемых пользователями, доходит да пяти: область вне блока, сам блок, область внутри блока над линией, сама линия, область внутри блока под линией. Как видите, с добавлением на экран каждого элемента визуальное воздействие на пользователя усиливается. Экран г является частью экрана, где показывается один слишком «популярный» групповой блок, появляющийся четыре раза на небольшой поверхности. Сравнив примеры, начиная с экрана а до экрана в, вы можете понять, насколько загромождены экраны и насколько сложна визуальная обработка информации, представленной на компьютерных экранах. Использование цвета в интерфейсе программных продуктов Возможно, цвет является наименее используемым элементом в разработке пользовательского интерфейса. Человек пытается придать значение всему, что видит и воспринимает. Поэтому цвет в пользовательском интерфейсе должен применяться с большой аккуратностью. Часто он используется только в качестве декоративного элемента. Это ограничивает его способность отображать значимую информацию в интерфейсе. Тафт повторяет один из основных принципов использования цвета: «Самое главное — не навреди». Рекомендации по использованию цвета. Знание теории восприятия и особенностей зрения привело к созданию очень важных фундаментальных рекомендаций по использованию цвета вне зависимости от средства представления информации. Данные рекомендации применимы к использованию цвета в печатных материалах, широковещательных средствах, а также на компьютерных дисплеях. Некоторые из этих рекомендаций могут показаться устаревшими (по дате их публикации). Однако базовые характеристики человеческого восприятия не меняются. Существует три группы рекомендаций: с точки зрения физиологии, восприятия и познавательности. Рекомендации с точки зрения физиологии ♦ Не применяйте одновременно высоконасыщенные и спектрально-интенсивные цвета. ♦ Избегайте насыщенно-синего цвета для текстов, тонких линий и малых форм. ♦ Не используйте близкие цвета, отличающиеся только количеством синего. ♦ Для четкого различения цветов старшим по возрасту операторам назначайте более высокие уровни яркости. ♦ Не забывайте о том, что цвета меняют свои оттенки в зависимости от цвета окружения. 50 PDF created with FinePrint pdfFactory trial version www.pdffactory.com ♦ Помните: величина заметного изменения оттенка варьируется в диапазоне спектра. ♦ Старайтесь выделять края не только цветом. ♦ Избегайте красного и зеленого цветов на периферии. ♦ Сочетайте противоположные цвета (красный-зеленый или синий-желтый). ♦ Для пользователей с дефектами зрения в различении цветов не применяйте близких цветов. Рекомендации с точки зрения восприятия цветов ♦ Не все цвета одинаково хорошо различаемы. ♦ Освещенность не равна яркости. ♦ Различные оттенки, по существу, имеют различные уровни насыщенности. ♦ Освещенность и яркость различимы на отпечатанном документе, но не на цветном дисплее. ♦ Не все цвета одинаково разборчивы и читаемы. ♦ Оттенки изменяются при перемене интенсивности и цвета фона. ♦ На малых поверхностях цветовые различия плохо заметны. Рекомендации с точки зрения познавательности ♦ Не злоупотребляйте цветом. ♦ Учитывайте, что цвета на экране и печатных копиях различаются. ♦ Группируйте взаимосвязанные элементы с помощью общего фона. ♦ Помните: аналогичным значениям соответствуют аналогичные цвета. ♦ Не забывайте: яркость и насыщенность привлекают внимание. ♦ Свяжите степень изменения цвета с важностью события. ♦ Размещайте цвета в соответствии с их спектральным расположением. ♦ Теплые и холодные цвета должны указывать на уровень действия. Существуют дополнительные рекомендации по использованию цвета. ♦ Используйте от трех до семи цветов. ♦ Применяйте цвета, расположенные в центре и на периферии, следующим образом: красный и зеленый — в центре визуального поля; синий — для слайдов, фона и выделения границ экрана. ♦ При модификации размеров и изобразительного ряда выбирайте цвета, которые изменяются минимально от кадра к кадру. ♦ Не используйте одновременно цвета высокой интенсивности и спектрально-экстремальные. ♦ Применяйте соответствующее кодирование для стандартных элементов. ♦ Для элементов, принадлежащих к одной группе, назначайте один и тот же цвет. ♦ Выбирайте один и тот же цветовой код для тренинга, тестирования, приложений и публикаций. ♦ Для привлечения внимания пользуйтесь интенсивными и насыщенными цветами. ♦ По возможности обращайтесь к избыточному кодированию форм с помощью цвета. ♦ За счет добавления цвета улучшайте восприятие информации. Тестирование показывает, что цвет является эффективным средством повышения качества выполнения задач. Цвет в интерфейсе необходимо применять осторожно и экономно, чтобы каждое дополнение было оправдано с точки зрения затрат. Дисплей может показывать от 256 цветов до 1024 или более, однако не увлекайтесь. Основной принцип: разработайте пользовательский интерфейс сначала в черно-белом варианте и позже, при необходимости, добавьте цвет. Использование звука в анимации Использование звука в пользовательском интерфейсе Звуковой канал недостаточно используется при взаимодействии человека с компьютером. Это становится еще более очевидным, когда мы начинаем осознавать, что в некоторых (часто критических) ситуациях мы визуально немощны из-за перенасыщения визуальной системы, плохого освещения или в связи с возрастом. Поэтому данная область заслуживает и должна получать больше внимания. По вопросу использования звука в качестве обратной связи всегда велось множество дискуссий. Если все хорошо продумано, ненавязчиво, можно по желанию звук включать и отключать, то прекрасно. Однако пользователи сразу начинают искать регулировку звука и проверять, издает ли аудиосистема какие-то сигналы, щелчки, нет ли надоедливых голосов, 51 PDF created with FinePrint pdfFactory trial version www.pdffactory.com которые будут мешать работе. Прежде всего необходимо выяснить, когда стоит применять звуковую информацию вместо визуальной. Рекомендации по использованию звуковой и визуальной формы представления информации приведены в табл. 6.1. Таблица 6.1 Рекомендации по использованию звуковой и визуальной форм представления информации Сообщение простое Визуальная форма представления информации не используется, если Сообщение короткое Сообщение короткое Сообщение не может быть отложено Сообщение длинное Сообщение может быть отложено Сообщение относится к событиям, происходящим во времени Сообщение призывает к немедленному ответному действию Визуальная система человека переполнена Сообщение относится к положению в пространстве Сообщение не призывает к немедленном ответному действию Слуховая система человека переполнена Рабочее место слишком яркое или слишком темное — необходима адаптация Характер работы требует постоянного перемещения пользователя Рабочее место слишком шумное — необходима адаптация Характер работы позволяет пользователю оставаться на месте Звуковая форма представления Использование анимации в пользовательском интерфейсе Анимации, как и звуку, одинаковое внимание уделяют и разработчики, и пользователи. Сегодня вы можете встретить сотни и даже тысячи иконок на CD ROM или в Internet. При перемещении мыши по различным областям экрана ее указатель изменяет свою форму для отображения типа действия, которое вы можете совершить с данным объектом или в данной области. Существует множество форм, которые может принимать указатель мыши (стрелка, перемещение, размер, ожидание, запрещение и т.д.). Иконки и указатели с анимацией также могут быть полезными. Под анимацией понимается изменение во времени визуального представления графического элемента. Аналогично звуку главное преимущество анимации заключается именно в развлекательности действия. Курсор с анимацией упрощает его поиск на экране, особенно это важно для небольших компьютерных записных книжек с малым разрешением. Анимация может использоваться для совершенствования визуальной связи между компьютерами и пользователями. Apple Macintosh была первой из популярных интерфейсных сред, применившей анимацию. Пользователи Macintosh могут вам описать, как мусорная корзина раздувается, когда они сбрасывают на нее объект. Большинство современных графических пользовательских интерфейсов применяет по крайней мере минимальный набор методов анимации для отображения действий, выполнения и состояния процесса, запущенного пользователем или системой. Анимация, используемая в распространенном интерфейсе операционной системы, включает в себя изменяющие масштаб и уменьшающиеся при открывании и закрывании окна, иконки песочных или обычных часов для отображения выполнения кратких процессов, а также индикаторы выполнения для более длительных процессов. На рис. 6.2 показан фрагмент анимации, используемой в Windows 95 для индикации процесса выполнения. По мере того как элементы перемещаются или копируются, в диалоговом окне появляется лист бумаги, перелетающий из одной папки в другую. Под анимацией также расположена полоска, отображающая процесс выполнения. Отметим текстовую обратную связь, в динамике отображающую действие (Move в данном примере), имя файла (LIBCAP.Z), исходное положение (SOFTWARE) и конечное положение (SOFTWARE). Пользователи чувствуют себя уверенно в 52 PDF created with FinePrint pdfFactory trial version www.pdffactory.com присутствии столь хорошо разработанного диалогового окна. Рис. 6.2. Индикатор процесса выполнения в Windows95 Таблица 6.2 Объекты и действия Вопросы, на которые может ответить анимация Вопросы, на которые может отвечать анимация Идентификация Перемещение Что это такое? Откуда я пришел и куда иду? Ориентирование Объекты и действия Где я нахожусь? Вопросы, на которые может отвечать анимация Выбор Что я могу теперь сделать? Демонстрация Что я могу с этим сделать? Объяснение Обратная связь Как я это делаю? Что происходит? История Что я сделал? Интерпретация Почему это произошло? Руководство Что я теперь должен делать? Ключевые вопросы разработка Какие управляющие элементы использовать В глазах пользователя каждая деталь, каждый управляющий элемент должны служить какой-то цели. С точки зрения разработчика каждая часть данных может быть представлена несколькими способами. Как разработчики и проектировщики решают, какие управляющие элементы, текст и метки должны представлять их на экране? На рис. 6.3 приведены несколько вариантов представления обычного поля ввода, которое присутствует в любой программе. В этом поле задается вопрос о возрасте пользователя: «Вам больше или меньше 21 года?» Можно было придумать и другие варианты представления данного поля, но были выбраны элементы наиболее популярные. В левой колонке первое поле — простое текстовое окно, где пользователя просят ввести «Да» или «Нет». В следующем варианте используются две кнопки с метками «Да» и «Нет». Третьим идет окно списка с одним вариантом вы бора. В следующей колонке показаны флажок, окно с выпадающим списком, управляющий элемент типа «колодец» (термин Microsoft) или перечень величин (термин IBM), поле с набором кнопками (SpinEdit) и, наконец, линейка с ползунком. *************************** Какие управляющие элементы оптимальны для сбора определенных типов вводимой 53 PDF created with FinePrint pdfFactory trial version www.pdffactory.com пользователями информации? Не существует одного единственно правильного пути представления информации на экране! К сожалению, публикуемые рекомендации и справочные материалы от производителей мало помогают в данном вопросе. Это на самом деле зависит от типа данных, которые требуется собрать, количества доступных данных, вида представления другой информации на экране, а также способа взаимодействия пользователей с управляющими элементами экрана (с помощью клавиатуры, мыши, сенсорного экрана и т.д.). Одним из ключевых факторов, который следует учитывать при выборе управляющих элементов, является масштабируемость. Выпадающее окно списка может прекрасно работать, когда речь идет о пяти элементах, а если в списке их содержится 500? Вертикальная полоса прокрутки хорошо работает с 20-страничным документом, но что будет, если прокрутить 200страничный? При выборе особого элемента управления всегда следует думать об объеме информации, с которым сможет работать пользователь. Взгляните на каскадное меню. Если число вариантов на одном уровне ограничено и в наличии всего несколько уровней, то такое меню работает очень хорошо. При использовании в качестве элемента интерфейса общего назначения, как в Windows 95 меню запуска Start, оно может выйти из-под контроля. Поскольку существует множество групп программ, каскадное меню программ Programs сразу заполняет весь экран, не оставляя возможности пройти при необходимости по меню и выбрать нужный элемент. Всегда следует просчитать, что произойдет с интерфейсом, если через него будет проходить больше данных, чем ожидалось. Метод Drag and Drop Интерфейсы становятся все более объектно-ориентированными, более графическими и визуальными, поэтому предпочтение все чаще отдается прямому манипулированию. Однако проблема метода Drag and Drop («перетащил и бросил») заключается в том, что отсутствует визуальное указание на то, что объекты могут или должны быть перемещены и сброшены на другие объекты. Если пользователи не выучат, как и когда использовать данный метод, то потенциальные преимущества не будут реализованы. Разработчики должны построить метафоры интерфейса и предложить интуитивно понятные схемы, призывающие и приглашающие пользователей к прямому манипулированию объектами в интерфейсе! Иначе как пользователи догадаются, какими объектами можно манипулировать? Существует четырехступенчатую подсказку, которая поможет эффективно пользоваться методом «перетащил и бросил»: v Какие объекты я могу перетаскивать? v Куда я могу их сбрасывать? v Что произойдет, если я это сделаю? v Если мне не нравится, как я могу этого избежать? Пользовательский интерфейс должен быть настолько наглядным, чтобы пользователям не приходилось долго размышлять или строить догадки, как взаимодействовать с тем, что они видят на экране. К сожалению, мы еще не выяснили, каким образом можно указывать на то, что объект можно перетаскивать и сбрасывать. И, наконец, при всей увлеченности интерфейсами с прямым манипулированием не стоит забывать о масштабируемости. Перемещение одного или нескольких объектов может быть простым и удобным, но что вы скажете о работе с сотнями объектов? Каким образом пользователи выберут группы объектов, прежде чем переместить их? Должны ли они перетаскивать и сбрасывать сотни объектов или существуют более оптимальные способы сделать это? Не заставляйте пользователей действовать прямым Манипулированием, когда другие методы более эффективны. Строка меню и панель инструментов Строки меню, панели инструментов и кнопки — все они могут использоваться для представления аналогичных действий. Обычно пользователи удивляются, не увидев привычную строку меню в окне. Действительно ли им нужны строки меню во всех окнах или панели инструментов могут послужить адекватной заменой (или дополнением)? Могут ли кнопки управления заменить или дополнить строки меню и панели инструментов? Когда компания IBM спроектировала пользовательский интерфейс OS/2, папки на Рабочем столе не имели строк меню в открытых окнах. Мы проверяли, создаст ли это проблемы для 54 PDF created with FinePrint pdfFactory trial version www.pdffactory.com пользователей. Был разработан прототип, в котором все окна имели строки меню, а все объекты — всплывающие меню. Фоновая область открытых окон и Рабочего стола также имели всплывающие меню. Опросили 21 пользователя по поводу их выбора. 13 из них сказали, что предпочли бы всплывающее меню, 7 — строку меню. Один из опрошенных отказался от обоих вариантов. Однако пользователи не хотят ограничиваться только всплывающим меню — 18 из 21 заявили, что полное удаление строки меню нежелательно. Результат данного опроса показал, что, несмотря на отдаваемое предпочтение, пользователи тем не менее выступают за существование альтернативы. Было рекомендовано обеспечить пользователей опциями, позволяющими использовать строку меню пожеланию. Перед всеми группами были поставлены задачи по обработке текста. За критерии теста были взяты скорость выбора команд и число допущенных ошибок. Кроме того, учитывалась степень субъективного удобства. Результаты показали, что пользователи действовали намного быстрее при работе с клавишами панели инструментов, когда речь шла о задачах, касающихся изменений стиля букв, курсива, подчеркивания или жирного выделения. Эти действия требовали одного щелчка мышью по панели инструментов. При использовании строки меню необходимо было выбрать один из вариантов, затем действие из выпадающего меню, а иногда открыть диалоговое окно, поставить нужные галочки и нажать на кнопку подтверждения сделанных изменений. Что касается пользователей, у которых были и панель, и строка меню, то они действовали не столь эффективно, как пользователи, снабженные только панелью инструментов. Вероятно, это можно объяснить тем, что им приходилось терять время на обдумывание варианта. Большинство пользователей заявили, что им нравилась возможность быстро осуществлять действия при помощи панели инструментов, однако они отметили, что не всегда легко разобраться со значением иконки. Результатом проведенных исследований стали некоторые рекомендации по ведению эффективной разработки: ♦ во всех приложениях использовать согласующиеся по представлению иконки; ♦ обеспечивать согласованное взаимодействие кнопок; ♦ группировать кнопки, выполняющие взаимосвязанные команды; ♦ расставлять кнопки в логичном порядке; ♦ размещать кнопки для обеспечения быстрой работы; ♦ обеспечить работу при помощи клавиатуры; ♦ разрешить пользователям самим заниматься конфигурированием; ♦ не допускать загромождения дисплея: ♦ иконки должны быть визуально различимы; ♦ использовать цвет, но с осторожностью; ♦ кнопки должны иметь визуальные подсказки к их активированию. Исследования и рекомендации обогащают профессиональный опыт в данной сфере. Панели инструментов представляют собой замечательные, хотя и не универсальные, элементы. К ним можно быстро получить доступ, но только пользователям, имеющим мышь! Знакомые и общие иконки легко распознаваемы, однако для специфических задач часто используются не вполне понятные иконки. Строки меню и выпадающие меню надо сначала просматривать — пока выбор не сделан, никаких действий не производится. По панели инструментов нужно только щелкнуть мышью, и дело сделано (всплывающие подсказки помогают пользователям просматривать и панели инструментов). Строки меню содержат все действия и маршруты для окон. Панели инструментов, в свою очередь, показываю» только общие, часто выполняемые действия. Компоновка и разработка окна Компоновка и разработка элементов окна — искусство и наука одновременно. Цвет, шрифт, размер, тип управляющих элементов, их размер, ориентирование управляющих элементов, вопросы симметричности, выделение, множество других факторов — все оказывает влияние на окончательный вид даже самого простого окна. К основным операциям с окнами относятся: изменение состояния, открытие и закрытие, перемещение, изменение размера, прокрутка, разбиение. Если даже система поддерживает многооконность, пользователь тем не менее обычно выполняет некоторую последовательность действий в пределах одного окна. Это окно называется активным. Активное окно, как правило, является окном самого верхнего уровня (т.е. расположено «поверх» других открытых окон). Визуально оно отличается своим заголовком, который подсвечивается специальным «активным» цветом. В каждый момент времени может 55 PDF created with FinePrint pdfFactory trial version www.pdffactory.com быть активным только одно окно. Хотя другие окна могут относиться к активным (выполняющимся) процессам, но только одно — активное — окно способно воспринимать информацию (команды или данные), вводимую пользователем. Заголовок неактивного окна отображается системным «неактивным» цветом (при необходимости приложение может запросить установленные системные цвета заголовка для активного и неактивного окон). При работе с клавиатурой для переключения между первичными окнами используется комбинация клавиш Alt+Tab. Комбинация клавиш Shift+Alt+Tab также обеспечивает переключение между окнами, но в обратном порядке (для переключения между окнами система также поддерживает комбинацию Alt+Esc). Повторная активизация окна не должна влиять на любой предшествующий выбор в пределах этого окна; другими словами, при активизации окна область выбора и фокус ввода восстанавливаются в том же виде, какой они имели в предыдущем активном состоянии. Кроме того, при повторной активизации первичного окна само окно и все связанные с ним вторичные окна становятся окнами верхнего уровня, причем восстанавливается их взаимное расположение. При открытии первичного окна оно автоматически становится активным и располагается на самом верхнем уровне. Если пользователь пытается открыть первичное окно, которое ранее уже было открыто в пределах того же Рабочего стола, активизируйте существующее окно, используя г приведенные ниже рекомендации (табл. 6.3). Если существующее окно свернуто, разверните его, восстановив его предыдущее состояние. Таблица 6.3 Действия при повторном выполнении операции Открыть Тип файла Действие при повторном выполнении операции Открыть Документ или файл данных Активизируется существующее окно объекта, которое отображается поверх других открытых окон Файл приложения Выводится сообщение о том, что открытое окно этого приложения уже существует; пользователю предлагается либо переключиться на открытое окно, либо открыть новое. В любом случае окно активизируется и отображается поверх других открытых окон Файл, который уже открыт в окне MDI-приложения Активизируется существующее окно файла; при этом содержащее его родительское окно MDI-приложения отображается поверх других окон Открывается новый экземпляр связанного MDI-приложения (поверх других окон) и в родительском окне отображается дочернее окно для данного файла. В качестве альтернативного варианта дополнительно может выводиться сообщение о том, что открытое окно этого приложения уже существует и пользователю предлагается выбор: использовать существующее окно или открыть новое родительское окно Файл еще не открыт, но связанное с ним MDIприложение уже загружено Пользователь закрывает первичное окно, нажимая кнопку «Закрыть» в заголовке окна или выбирая команду «Закрыть» из всплывающего меню окна. Хотя система поддерживает двойной щелчок мышью на пиктограмме заголовка окна как ускоренный способ закрытия окна (для совместимости с предшествующими версиями Windows), старайтесь избегать использования этой операции в качестве основного способа закрытия первичного окна. В процессе работы с одним и тем же приложением пользователю может потребоваться иметь на экране несколько открытых окон, содержащих информацию различных типов либо представляющих собой разное изображение одних и тех же данных. Для создания таких окон и управления ими существует специальная технология — многодокументный интерфейс, 56 PDF created with FinePrint pdfFactory trial version www.pdffactory.com сокращенно MDI (Multiple Document Interface), Во многих случаях взаимодействие пользователя с приложением ограничено рамками единственного первичного окна, которые могут быть несколько расширены за счет применения дополнительных вторичных окон. Рабочий стол и Панель задач обеспечивают управление несколькими первичными окнами, относящимися к разным приложениям. То окно, которое было открыто последним, отображается поверх других окон и для него создается вход на Панели задач; такая техника обеспечивает пользователям возможность переключения между окнами и перемещения их по поверхности экрана. Подход, при котором на экране может быть оставлено открытым единственное окно, соответствующее выбранному пользователем объекту, обеспечивает визуализацию взаимнооднозначного отношения между объектом и окном. Некоторые типы объектов, например устройства, могут даже не требовать создания собственного первичного окна и использовать только вторичное окно для просмотра и редактирования их свойств. В очень редких случаях единственным средством визуального представления объекта является его пиктограмма. Вместе с тем для выполнения некоторых заданий может оказаться недостаточным наличие одного первичного окна. В таких ситуациях работа приложения должна быть построена на основе многодокументного интерфейса. Техника MDI заключается в использовании одного первичного окна, называемого родительским окном, которое может содержать набор связанных с ним дочерних окон. Каждое дочернее окно — это, по существу, также первичное окно, единственным ограничением для которого является то, что оно может появиться только в пределах родительского окна. Родительское окно обеспечивает как визуальное, так и «операционное» пространство для своих дочерних окон. Например, на дочернее окно обычно распространяется область действия меню родительского окна и, возможно, других элементов его интерфейса (панели инструментов, строки состояния и т.д.). Их вид может изменяться, если необходимо отразить команды и атрибуты активного дочернего окна. Вторичные окна, такие как диалоговые панели, окна сообщений или панели свойств, появляются на экране как результат тех или иных действий пользователя в родительском или дочернем окне. Эти окна должны активизироваться и отображаться в соответствии с общими соглашениями для вторичных окон, связанных с первичным окном, даже если они относятся к дочернему окну. Заголовок родительского окна обычно содержит пиктограмму и имя приложения или объекта, который оно представляет. Заголовок дочернего окна содержит пиктограмму, представляющую тип документа или файла данных, и имя файла. Когда пользователь закрывает родительское окно, закройте все его дочерние окна. Где возможно, сохраняйте состояние дочернего окна (размер и положение внутри родительского окна) и восстанавливайте это состояние, когда пользователь вновь открывает окно. MDI позволяет пользователю перемещать или сворачивать дочернее окно таким же образом, как и родительское окно. Когда пользователь перемещает родительское окно, сохраните относительные позиции открытых дочерних окон в рабочей области родительского окна. Перемещение дочернего окна ограничивается размерами его родительского окна; в некоторых случаях это может привести к усечению дочернего окна. В связи с этим дополнительно может быть определена возможность автоматического изменения размеров родительского окна при перемещении или изменении размеров дочернего окна. . Рекомендуемая форма отображения минимизированного дочернего окна в MS Windows — часть полосы заголовка окна, окруженная рамкой. Это позволяет избежать возможной путаницы между пиктограммами минимизированных дочерних окон и пиктограммами, представляющими объекты. Хотя свернутое родительское окно представляется кнопкой входа в окно на «Панели задач», свернутое дочернее окно располагается в пределах своего родительского окна, как показано на рис. 6.4. 57 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Рис 6.4 Вид MDI – приложения с несколькими открытыми окнами Для активизации дочерних окон и навигации между ними с помощью мыши используются те же общие соглашения, что и для первичных окон. Для быстрого клавиатурного доступа и переключения между дочерними окнами рекомендуется использовать комбинации клавиш Ctrl+F6 и Ctrl+Tab (и Shif t+ модифицирующая комбинация для циклического повторения). Кроме того, целесообразно включить в меню «Окно» родительского окна команды для переключения между дочерними окнами и команды управления размещением окон в пределах родительского окна (например, «Мозаикой» или «Каскадом»). 58 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Десять основных проблем, связанных с удобством применения ГПИ и ОПИ На основе проведенных исследований и накопленного практического опыта специалисты компании IBM в области удобства применения разработали перечень десяти наиболее общих проблем графических и объектно-ориентированных интерфейсов: ♦ двусмысленные меню и иконки; ♦ ориентация на один язык; ♦ Ограничения по вводу и прямому манипулированию; ♦ ограничения по выделению и выбору; ♦ неясный порядок шагов; ♦ управление интерфейсом требует больше шагов, чем собственно решение задач; ♦ сложные связи между и внутри приложений; ♦ неадекватная обратная связь и подтверждение; ♦ недостаточно рациональная и предупредительная система помощи; ♦ несовершенные сообщения об ошибках, справочные элементы, руководства и документация. И как программному пользователю, и/или как разработчику, вам знакомы многие из этих проблем по собственному опыту. Рассмотренные принципы и концепции интерфейса наряду с результатами тестирования на удобство применения помогут вам разработать и построить оптимальные интерфейсы продукта. Рекомендации по разработке от нескольких специалистов в этой области. В табл. 6.4 перечислены предлагаемые рекомендации. Вот несколько основных рекомендаций по разработке интерфейса и компоновке окна: ♦ асимметрия— активное состояние, симметрия — состояние покоя; ♦ никогда не гоняйтесь за умеренностью; ♦ тщательно следите за последовательностью и согласованностью; ♦ помните, что согласованные интерфейсы означают лучшую внедряемость системы; ♦ четко выравнивайте управляющие элементы; ♦ если вы собираетесь располагать некоторые элементы за пределами выравнивания, то делайте это логично; ♦ создавайте экранные объекты по образу и подобию объектов из реального физического мира; ♦ не забывайте: абсолютная симметричность затрудняет чтение информации с экрана; ♦ элементы, не соответствующие шаблону, выделяются из общей массы; ♦ элементы одинакового размера и цвета воспринимаются как принадлежащие к одной группе. Таблица 6.4 «Смертные грехи» в разработке интерфейсов Объяснения Ведение разработки ради технологии, а не пользователя Иногда у разработчиков возникает желание продемонстрировать возможности технологии. Интерфейс пользователя разрабатывается после того, как заложен технический фундамент программы «Классность» азработки Броские графические решения не спасут слабый интерфейс Логическое мышление в противоположность визуальному Разработка программного обеспечения требует логического мышления. Пользователи, работающие с программами, как правило, имеют менее структурированное мышление и не могут оценить связей между одной частью кода и другими 59 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Ввод информации пользователем только верный или только ошибочный Не думайте, что пользователи всегда будут правильно вводить информацию. Разрабатывайте интерфейс, «прощающий» их Рассредоточение базовых элементов Расширяйте возможности базовых элементов интерфейса, например стандартных диалоговых окон. Не ставьте под угрозу простые операции, чтобы включить редко используемые — делайте простые вещи простыми, а сложные вещи возможными Определения в документации Как правило, пользователи обращаются к документации в последнюю очередь, когда они уже совершенно растеряны. Не пытайтесь разбирать дефекты пользовательского интерфейса в документации Определения в следующей версии Нередко пользователи привыкают к «странностям» интерфейса и попадают к ним в зависимость. Человеку по его природе сложно отказаться от привычного выполнения операций, несмотря на преимущества новой версии 60 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Лекция 7.MS Agent графические персонажи для интерфейсов Общая характеристика программ-агентов Microsoft Agent 2.0 — это набор нескольких программных сервисов, с помощью которых можно использовать анимированные персонажи в среде Windows. MS Agent предлагает пользователю принципиально новую форму работы с компьютером, используя фактор социального общения. Данная технология не является заменой привычного графического интерфейса, а служит очень удобным и наглядным дополнением к нему, расширяющим его возможности. Агенты изменят методы- взаимодействия пользователей с программным обеспечением. Современные интерфейсы предполагают прямое манипулирование: пользователи манипулируют представлениями данных или информации для выполнения своих задач. Агенты перекладывают на себя весь груз работы, связанный с данными и информацией, с которыми хотели бы ознакомиться пользователи. Когда пользователи делегируют агентам право вести работу, то такой стиль интерактивных действий называется делегированным манипулированием. Агенты могут значительно облегчить загрузку информацией с помощью автоматизирования таких задач, как определение приоритетов в электронной почте, управление календарем департамента, электронный шопинг, а также поиск в ежедневных новостях нужной информации. Вот сценарий действий. Вы просматриваете информацию в Internet. Вам нужно купить музыкальный диск, кроме того, вы хотите найти лучший по определенным показателям ресторан в Нью-Йорке. В Internet есть сайты, которые могут оказать вам помощь с шопингом и организацией ужина. Есть шанс, что эти программы используют агентов, которые представляют собой в некоторой степени интеллектуальное программное обеспечение, способное помочь вам. Агенты бывают видимыми и невидимыми. Видимые агенты могут представлять собой «говорящую голову» или «актера» (которые иногда называются avatar — аватором, анимационным персонажем), которые часто заметны на экране в качестве системного устройства вывода. На выставке Comdex, прошедшей в ноябре 1993 г., компания ШМ продемонстрировала Charlie, трехмерного актера, обеспечивающего обратную связь с системой. На ранних стадиях актеры намеренно создавались визуально простыми, чтобы не запугивать пользователей. Поскольку для некоторых пользователей актеры могут представлять своего рода развлечение, то должен существовать способ их отключения. О многих современных программных продуктах говорится, что они используют агентов. Чаще всего это правда, однако, вы можете задаться вопросом об уровне разумности того или иного агента. ♦ Для того чтобы быть разумным, агент должен иметь доступ к множеству источников знаний. Совсем не обязательно, чтобы агенты постоянно смотрели в упор на пользователя с экрана компьютера. Большая часть их работы проходит за экраном: они становятся видимыми только тогда, когда хотят что-то сказать пользователю. Вне зависимости от того, является ли агент видимым или невидимым, он должен приносить пользователю определенную пользу. Агент: ♦ выражает надежды, желания, намерения; ♦ компетентен в определенной области знаний; ♦ учится от своей среды; ♦ адаптируется к уровню опыта пользователя, его индивидуальности или технике; ♦ сотрудничает или интерактивно взаимодействует с другими агентами; ♦ автоматизирует задачи в соответствии с гибким набором правил; ♦ действует автономно. Агент-помощник: ♦ поддерживает интерактивные действия «дать» и «взять»; ♦ распознает, сколько пользователь может ждать выполнения операции; ♦ эффективно управляет прерываниями; ♦ знаком с социальными и эмоциональными аспектами интерактивного взаимодействия. 61 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Факторы, которые должны учитывать разработчики при построении агентов: ♦ убедиться в том, что пользователи чувствуют, что именно они управляют своей компьютерной системой; ♦ обратить внимание на природу интерактивного взаимодействия между человеком и агентом; ♦ использовать встроенные системы безопасности во избежание или для минимизации выхода компьютера из-под контроля, а также эффекта ошибки агента; ♦ поддерживать у пользователей оправданные ожидания; ♦ соблюдать условия конфиденциальности; ♦ скрывать сложность системы, одновременно освещая внутренние операции. Много исследований было проведено, чтобы создать рекомендации, необходимые для разработки агентов. Проектировщикам программного обеспечения требуется знать важные характеристики графических и объектно-ориентированных пользовательских интерфейсов (объекты, метафоры, компоновка, цвет, шаблоны и т.д.), которые предоставляются разработчиками и психологами, занимающимися проблемами восприятия. Для того чтобы построить «социально приемлемые» пользовательские интерфейсы и агентов, проектировщики должны обладать знаниями в области социальной психологии. Агенты используются по-разному. Они могут выполнять самые разнообразные задачи. Важно установить в некотором смысле таксономию, или схему классификации, упрощающую выбор агентов. Категории приложений-агентов — наблюдение, поиск и управление. Уровни отличительных способностей агентов: ♦ полезность выполняемых агентом задач. Одни агенты больше развлекают вас, чем решают задачи, стоящие перед вами, другие — выполняют задачи для целого коллектива или сети, а не для частного пользователя; ♦ роли, исполняемые агентами. Каждому делу — свой агент. Они могут представлять собой штурманов в информационном пространстве, быть личным диспетчером, наблюдать за пользователями и запоминать их действия. Так, агенты могут следить за наличием товаров и предупреждать вас, если цены начинают падать; ♦ природа разума агента. Современные агенты не столь уж разумны. Агенты будущего будут обладать большим объемом знаний о пользователях, задачах, стоящих перед ними, а также о реальном мире; ♦ способность агента к обучению. Некоторые агенты могут программировать сами себя, например, наблюдая за тем, как пользователь снова и снова выполняет одну и ту же задачу. Тогда агент может предложить автоматизировать ее аналогично тому, как это делает сам пользователь. Большое количество и разнообразие агентов позволило в настоящее время выполнить их классификацию, которая приведена в табл. 7.1. Таблица 7. Классификация интеллектуальных агентов Категория Агенты пользовательского интерфейса Тренеры, ангелы, гиды Описание Ведут скрытое наблюдение и используют поток событий пользователя для инициирования советов по интерактивному взаимодействию человека с машиной В зависимости от того, о каких событиях их оповещает система или приложение, они могут «понимать», какие интерактивные взаимодействия происходят на данный момент. Для общения используются всплывающие окна, «шарики», панели подсказок, анимация, речь и т.д. Предлагаются советы по следующим вопросам: что должно произойти или какие имеются опции, рекомендации по оптимальному ведению работы, как 62 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Персональные агенты-помощники Автономные агенты правильно выполнять определенные действия Речевые агенты: воспринимают и отвечают на обыкновенный язык; имитируют поведение человекапомощника; являются в высокой степени интерактивными (как домашние питомцы) — они слышат команду, идут выполнять задание, возвращаются, ждут следующего задания. Агенты автоматизации: являются независимыми агентами — они выполняют задачи, делегированные им пользователями; пользователи дают описание задачи и условий, при которых она должна быть выполнена. Агенты приложений: выполняют функции, ориентированные на конкретные приложения, например, фильтруют электронную почту, занимаются поиском баз данных, составляют график встреч. Обычно руководят процессами, выполняемыми при небольшом вмешательстве пользователя или полном его отсутствии. Их интерфейс обычно обеспечивается приложением или системным интерфейсом пользователя. Фиксированные агенты подключаются и занимаются поиском данных через информационные службы и базы данных. Путешествующие агенты могут переносить информацию и выполняемые программы от машины к машине. Используя локальные данные и программы, они выполняют конкретные задания на каждой из посещаемых машин. Программы, использующие агентов Идея использования одушевленных персонажей пришлась по вкусу многим разработчикам программного обеспечения. Программисты увидели, что в этой технологии заложены очень широкие потенции. Появился новый класс программ, использующих возможности MS Agent. А некоторые уже давно известные и популярные в народе программы стали обзаводиться в своих новых версиях поддержкой движка MS Agent напрямую или через подключаемые модули. Персонажи MS Agent Корпорация Microsoft для пропаганды своей технологии предложила пользователям четырех персонажей, доступных для свободного использования. В настоящее время коллекция является довольно обширной. Часть персонажей с описанием приведена в табл. 7.2. Дизайнерская студия La Cantoche была основана в 1996 г. двумя компаньонами: Бенуа Морелем и Сержем Виельсказом и сразу стала лидером в области создания персонажей. На счету компании создание таких агентов, как James, Claude, Oscar, Milton и т.д. (рис. 7.2). Все агенты сделаны очень качественно, имеют объемный вид и выглядят очень реалистично. Еще одна известная студия — E-Clips — по праву считается одним из лидеров в создании анимационных персонажей и программ для MS Agent. Компания является создателем человечков, таких как Felix, Hilda, Santa, Re-becca и т.п. На рис. 7.3 приведен внешний вид двух персонажей от E-Clips. 63 PDF created with FinePrint pdfFactory trial version www.pdffactory.com Особенности создания персонажей Прежде чем приступать к созданию собственных персонажей, надо немного подумать над принципами, которыми мы будем руководствоваться. Создаваемый персонаж не должен быть безличным. Он должен иметь свой неповторимый характер, возраст, пол. Анимации должны соответствовать образу вашей модели. Как и традиционная анимация, цифровая анимация персонажа состоит из серии сменяющих друг друга рисунков, в которых постепенно меняются незначительные части изображения, создавая иллюзию движения. Создание по настоящему красивой анимации — это очень кропотливый труд, выполняемый профессиональным аниматором. Настоящий художник способен через анимацию выразить не только движение, но и эмоцию. Каждая создаваемая анимация состоит из последовательности кадров, которые сменяют друг друга. Каждый кадр состоит, в свою очередь, из нескольких изображений. Анимация детали тела, такая, например, как моргание глаз или движение руки, может быть создана как набор дополнительных рисунков к кадру. Если, например, наш герой должен поднимать руку для 64 PDF created with FinePrint pdfFactory trial version www.pdffactory.com приветствия, то мы используем базовую картинку с наложением руки в другом положении. Аналогичным образом мы анимируем моргание глаз — накладывая серию закрывающихся глаз на базовую картинку всех кадров. Как правило, анимация состоит из 14 кадров, что соответствует приблизительно 6 секундам воспроизведения. Увеличение числа кадров увеличивает размер файла. Помните об этом. Для создания графических изображений можно использовать любой графический редактор, способный работать с растровыми изображениями BMP-формата. После того как изображения будут подготовлены, можно использовать редактор создания персонажей Microsoft Agent Character Editor (АСЕ) для сборки и создания нового персонажа. Рисунки должны использовать 256-цветную палитру, сохраняя 20 стандартных системных цветов Windows в их стандартной позиции в палитре (первые и последние 10 позиций). Это значит, что создаваемый персонаж может использовать 20 стандартных системных цветов и еще 236 остальных цветов. Одиннадцатая позиция в палитре по умолчанию используется как прозрачный цвет, хотя вы можете установить этот цвет в самом редакторе АСЕ. Старайтесь не применять сложных фигур и избегать мелких выступающих деталей для отрисовки ассистента. Вместо угловатых выпуклостей используйте сглаженные линии. Анимация персонажей на экране монитора достаточно сложный процесс, использующий большое количество ресурсов компьютера. Пренебрежение этими советами повлечет за собой мерцание, размытие и другие негативные последствия для вывода помощника на экран. Размеры для кадра обычно не превышают 128 на 128 пикселов. Большие размеры автоматически подгоняются под указанный размер редактором персонажей. Кроме того, в случае необходимости приложение может самостоятельно изменять размеры персонажа программным путем. Вы можете устанавливать продолжительность воспроизведения кадра перед переходом к следующему кадру. Установите продолжительность кадра по крайней мере в 10' сотых секунд (10 кадров в секунду). Не используйте также слишком больших значений, чтобы избежать некрасивых пауз в действиях вашего персонажа. Редактор АСЕ также поддерживает переходы из одного кадра в другой. При проектировании анимации обращайте внимание на плавность трансформации. Хорошим решением может стать употребление способа анимирования, при котором персонаж имеет нейтральную и переходную позиции. В этом случае персонаж после каждой анимации будет возвращаться в нейтральную позицию, из которой он будет готов плавно выполнить другое действие. В отдельных случаях вы можете использовать специальную анимацию Re--turn, которая, как правило, состоит не более чем из 2-4 кадров, что позволяет персонажу быстро занять нейтральную позицию. Очень важно при проектировании персонажа использовать анимацию, предназначенную для создания зрительного эффекта вывода речи. Иначе агент будет выглядеть некрасиво и неестественно. Изображения рта позволят агенту поддерживать режим синхронизации губ. Обратите внимание, что во время циклической анимации персонаж говорить не может. Изображение рта может включать в себя и другие части лица персонажа — подбородок, усы, бороду и т. д. Редактор Microsoft Agent Character Editor позволяет определить семь основных позиций рта, которые соответствуют общим формам рта: ♦ Closed — губы закрыты; ♦ Open-wide 1 — губы слегка приоткрыты; ♦ Open-wide 2 — губы еще больше открыты; ♦ Open-wide 3 — губы открыты еще шире; ♦ Open-wide 4 — рот открыт полностью; ♦ Open-medium — рот открыт на половину своей ширины; ♦ Open-narrow — рот открыт очень узко. Если вы хотите, чтобы создаваемый вами агент мог использоваться в качестве персонажа по умолчанию, нужно включить поддержку стандартного набора анимаций. 65 PDF created with FinePrint pdfFactory trial version www.pdffactory.com
«Пользовательский интерфейс» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 462 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot