Разработка проекта архитектуры пользовательского интерфейса фирмы IBM
Бог в деталях
Для ознакомления приведем краткую характеристику стандарта американской фирмы
IBM, применяемого при проектировании пользовательского интерфейса (ПИ).Краткая характеристика особенностей стандарта фирмы IBM
Исчерпывающее детальное описание или спецификация пользовательского интерфейса (ПИ) полностью определяют структуру прикладной системы. При этом с позиций пользователя:
В соответствии с требованиями пользователя простота, легкость изучения, понятность, единообразный доступ пользователей к функциям системы, логичность взаимодействия с прикладной системой, являются базовыми качественными характеристиками разработки.
Исходя из вышеизложенного, можно сказать, целостность, эффективность и качество ПИ определяют успех или неуспех той или иной разработки.
Современных прикладные ИС являются по своей природе - диалоговыми, т.е. предполагают тесное взаимодействие пользователя с системой на протяжении всего процесса решения задачи.
С точки зрения эксплуатационных характеристик прикладных программ значение пользовательского интерфейса как средства коммуникации трудно переоценить (все основные тенденции развития современных систем - усовершенствования ПИ).
Характеристики интерфейса почти полностью определяются продолжительностью времени, необходимого для обучения пользователя работе с системой, таким образом, в ПИ появляется и социальный аспект. Последовательно разработанный и логичный ПИ упрощает освоение и использование системы, уменьшает частоту ошибок пользователя и, благодаря этому, увеличивает эффективность ее использования.
ПИ определяет, как взаимодействовать с системой. Разрабатывая ПИ, в качестве исходных данных используется архитектура программного обеспечения системы, т.е. ресурсов, предоставляемых системой и определяющих ее поведение. Описание ПИ является описанием главных элементов системы и может считаться спецификацией на систему в целом.
Конструкторы фирмы IBM в Австрии разработали концепцию конечного пользователя, в которой пользователь выступает в главной роли самого важного фактора - процесса решения задачи.
Подход фирмы IBM состоял в выполнении требований соответствующих стандартов форматов, протоколов и архитектур, и в предоставлении средств развития и расширения систем при сохранении возможностей использования специфических функций конкретных систем. Эти архитектурные решения были названы System Applicacion Architecture (SAA) - Архитектура среды для разработки приложений. SAA состоит из трех компонентов, названных соответственно:
CUA - это множество правил и принципов, регулирующих многие из основных аспектов разработки пользовательского интерфейса (ПИ). Этот компонент обеспечивает интерфейсы конечного пользователя, управляет диалогом пользователя. Именно он определяет сценарий взаимодействия с системой.
Хорошо спроектированный сценарий взаимодействия с прикладной системой обеспечивает простоту взаимодействия и легкость использования. Унификация пользовательских интерфейсов обеспечивает их применимость в различных вычислительных средах. CUA обеспечивает средства организации окна на экране для взаимодействия с прикладным процессом. CUA спроектирован как система-посредник между пользователем и системой.
Следующие требования включены в CUA:
Модель CUA для отображения информации предполагает оконную среду. Эта модель рассматривает безоконные среды как подмножество, в котором окна являются полным экраном и не могут быть сделана меньше. Этот подход обеспечивает согласованность между двумя средами, когда окна, имеющие регулируемые размеры, "максимизируются" (делаются в размере на весь экран). CUA в текущий момент не определяет правила для управления
окном, такие как передвижение и установка размеров окон.Управление Представлением обеспечивает работу с окнами в среде персональных компьютеров. CUA определяет, как прикладные программы используют окна, определяя три типа окон, которые связаны с тремя типами диалога: первичным, вторичным и всплывающим. Правила определяют способ появления каждого типа окна, использование их в диалоге и способы удаления.
Отразим положения, которые рассматриваются при разработке панели. Модель CUA для отображения информации определяет, что
Таким образом, можно отметить, что интерфейс человек-компьютер включает такие аспекты вычислительной системы, которые касаются непосредственно пользователя.
Это важный фактор, обеспечивающий успешную работу вычислительной системы, так как эргономические (как физические, так и психологические) характеристики интерфейса оказывают существенное влияние на производительность пользователя.
Для снижения стрессовых ситуаций система должна соответствовать как физическому состоянию пользователя, так и его пониманию задачи; это требование усложняется тем, что с большинством систем работает много пользователей и требования индивидуального пользователя изменяются по мере его знакомства с системой
.Теоретические основы построения интеллектуализированных ПИ
фирмы IBMИнтеллектуализированные пользовательские интерфейсы предназначены для более быстрого и эффективного общения человека - пользователя с компьютером. В этом общении существенное значение имеет диалоговое взаимодействие пользователя и комплекса средств автоматизации.
На практическом уровне интерфейс - это набор приемов взаимодействия с компьютером. На теоретическом уровне интерфейс включает в себя три основных понятия :
Способ общения компьютера с пользователем, язык представления, определяется приложением, прикладной программной системой. Приложение управляет доступом и обработкой информации, представлением ее в понятном для пользователя виде.
Пользователь должен распознать информацию, которую предоставляет компьютер, понять, проанализировать ее и перейти к ответу. Ответ реализуется через интерактивную технологию, элементами которой могут быть такие действия, как выбор объекта при помощи клавиш или мыши. Все это составляет вторую часть интерфейса, а именно - язык действий.
Согласованность интерфейса
Эффективность интерфейса заключается в быстром, насколько это возможно, развитии у пользователей простой концептуальной модели взаимодействия. В CUA (Common User Access) это достигается через согласованность. Концепция согласованности состоит в том, что при работе с компьютером у пользователя формируется система ожидания одинаковых реакций на одинаковые действия, что постоянно подкрепляет (стимул-реакция) пользовательскую модель интерфейса. Другой составляющей интерфейса является свойство его конкретности и наглядности. Оно обеспечивается применением в панелях различных цветов и других выразительных средств. Идеи и концепции затем обретают физическое отображение на экране, с которым непосредственно взаимодействует пользователь.
Три аспекта согласованности
Интерфейс может быть согласован в трех аспектах или категориях: физической, синтаксической и семантической.
1). Физическая согласованность относится к техническим средствам: схема клавиатуры, расположение клавиш, использование мыши. Например, для клавиши F3 физическая согласованность имеет место, если она всегда находится на одном и том же месте, независимо от вычислительной системы. Аналогично кнопка выбора мыши будет физически согласована, если она всегда располагается под указательным пальцем.
2). Синтаксическая согласованность относится к последовательности и порядку появления элементов на экране (язык представления) и последовательности запросов (язык действий). Например, будет иметь место синтаксическая согласованность, если заголовок панели всегда размещается в центре и на верху панели.
3). Семантическая согласованность относится к значению элементов, составляющих интерфейс. Например, что означает Выход? Где пользователи запрашивают выход и что затем происходит?
Преимущества согласованного интерфейса
Согласованный интерфейс дает пользователям и разработчикам экономию времени и средств.
Пользователи выигрывают от того, что понадобится меньше времени, чтобы научиться использовать приложения, а потом для выполнения работы. Согласованный интерфейс сокращает число ошибок пользователя и способствует тому, что пользователь чувствует себя с системой комфортнее.
Согласованный пользовательский интерфейс выгоден и разработчикам приложений, он позволяет выделить общие блоки интерфейса, стандартизировать элементы интерфейса и взаимодействие с ними. Эти блоки позволяют программистам проще и быстрее создавать и изменять приложения. Хотя пользовательский интерфейс устанавливает правила для элементов интерфейса и интерактивного взаимодействия, он допускает довольно высокую степень гибкости.
Диалоговое взаимодействие (диалог) представляет собой регламентированный обмен информацией между человеком и вычислительной машиной, осуществляемый в реальном масштабе времени и направленный на совместное решение конкретной задачи.
Инициатором диалогового процесса является человек, который выбирает цель и в какой-то мере может влиять на способы ее достижения посредством запросов. Система обеспечивает адекватную реакцию на запросы пользователя. Диалог является автоматизированным методом решения слабоформализованных задач. При этом разделение функций между человеком и ЭВМ следующее: человек ставит задачу, а система предоставляет средства для решения подзадач, окончательное объединение результатов, а принятие проектных решений остается за человеком.
Для человеко-машинного взаимодействия характерно существенное различие свойств партнеров диалога. Человек, как участник диалога, имеет определенные психофизические потребности, обладает физическими и моторными навыками, языковыми знаниями и опытом диалогового общения, а также может иметь различную подготовленность в предметной области. Кроме того, при разработке диалога приходится учитывать свойства человеческой личности, отношение пользователя к системе и его ожидания от работы с системой. С учетом этих факторов пользователи системы подразделяются на несколько категорий:
• руководители, осуществляющие принятие решений и управление проектными работами;
• проектировщики - непрограммисты, работающие в конкретных прикладных областях без использования языковых средств;
• проектировщики - программисты, формирующие задачи на входных языках пакетов и языках программирования;
• прикладные программисты, разрабатывающие или расширяющие компоненты прикладных подсистем;
• системные программисты, которые сопровождают обеспечивающие компоненты и систему в целом.