Понятие интерфейса как совокупности правил обмена данными и требований к средствам, обеспечивающим взаимодействие компонентов в системе, относится в большей степени к автоматическим системам, компьютерам и сетям. Это понятие настолько емкое, что само понятие и признаки его классификации стали стандартными.
ГОСТом под стандартным интерфейсом понимается совокупность унифицированных аппаратурных, программных и конструктивных средств, необходимых для реализации взаимодействия различных функциональных элементов в автоматических системах сбора и обработки информации и направленных на обеспечение информационной, электрической и конструктивной совместимости указанных элементов. Имеются ГОСТы с классификационными признаками интерфейса, включающие: способы соединения компонентов, способы передачи информации, принципы обмена информации (двусторонний, односторонний и т.д.).
Для измерительных систем разработаны свои ГОСТы на систему интерфейса. Имеется обширная литература по видам, типам, структуре интерфейсов, критериям их выбора и реализации. Пользовательский интерфейс, относящийся в основном к компьютерным диалоговым системам, является предметом исследования и разработок достаточно узкого круга специалистов. Об этом свидетельствуют материалы. Первой международной научной конференции «Пользовательский интерфейс в современных компьютерных системах», проведенный в г.Орле в 1999 году.
Под графическим пользовательским интерфейсом GUI(Graphical User Interface) понимается некоторая система (среда), служащая для организации взаимодействия прикладных программ с пользователем на основе графического многооконного представления данных.
|
К числу других графических сред можно также отнести:
• Presentation Manager (OS/2);
• OpenLook, Motif (Unix – станции);
• NextStep (Next).
Укажем несколько принципов, лежащих в основе перечисленных выше систем. К числу таковых относятся:
• графический режим работы;
• представление ряда объектов пиктограммами;
• многооконность;
• использование указующего устройства – мыши;
• адекватность изображения на экране изображаемому объекту (принцип WYSIWYG – What You See Is What You Get);
• наглядность;
• стандартизация основных действий и элементов (все программы для данной графической среды выглядят и ведут себя совершенно одинаково, используют одинаковые принципы функционирования, так что если пользователь освоил работу с одной из программ, то он может легко освоить и остальные программы для данной среды);
• наличие большого числа стандартных элементов (кнопки, переключатели, поля редактирования), которые могут использоваться при конструировании прикладных программ, делая похожими их в обращении и облегчая процесс их написания;
• использование clipboard (pasteboard) – некоторого общего места (хранилища), с помощью которого программы могут обмениваться данными: в одной программе пользователь выделяет объект (фрагмент текста, изображение) и помещает в clipboard, а в другой может взять этот объект и вставить его в текущий документ (изображение);
• универсальность работы со всеми основными устройствами. Прикладная программа работает одинаково со всеми основными видеокартами, принтерами и т. д. Через драйверы этих устройств. Таким образом, пользователь абстрагируется от специфики работы с конкретным устройством.
|
В основе любой системы GUI лежит достаточно мощный графический пакет: QuickDraw в Macintosh, GDI в Microsoft Windows, Display Post Script в NextStep. Этот пакет должен поддерживать работу со всеми областями сложной формы и отсечения изображения по таким областям.
Одной из концепций, лежащих в основе многих GUI, является понятие программы, управляемой данными. Как правило, эта концепция практически реализуется через механизм сообщений. Внешние устройства (клавиатура, мышь, таймер) посылают одновременно сообщения модулям программы о наступлении тех или иных событий (например, о нажатии клавиши или передвижении мыши). Поступающие сообщения поступают в очередь сообщений, откуда извлекаются прикладной программой.
Одной из задач синтеза моделей сА тк является задача создания пользовательского интерфейса. Под пользовательским интерфейсом понимается набор средств машинной графики, элементов взаимодействия с оператором – пользователем и их взаимоувязка, а также язык представления моделей функционирования базовой технической системы.
Процесс разработки пользовательского интерфейса на сегодняшний день не является строго формализованным, однако существуют общие принципы проектирования, применение которых может привести к созданию систем, удобных для использования людьми. Так, при разработке рекомендуется придерживаться одного из общепринятых и широко распространенных стилей интерфейсов, что во многом облегчает пользователю освоение системы. Наряду с этим нельзя забывать и о новизне, так как практика показывает, что при модификации распространенных интерфейсов зачастую получаются очень оригинальные и удобные интерфейсы. Физическое взаимодействие пользователя с системой имеет много общего с взаимодействием человека с машиной вообще. Поэтому существует большое число общепринятых в эргономике рекомендаций, которые можно легко перенести на разработку и организацию операционных систем. В то же время, форма представления информации на экране не одинакова для различных систем: графический дизайн зависит от распределения информации на экране, словарного состава предложений, способа выделения. Как и любой другой элемент вычислительной системы, пользовательский интерфейс с точки зрения программирования рассматривается в виде некоторой обобщенной структуры (рисунок 3.1), с помощью которой можно представить принцип работы интерфейса.
|
а)
б)
в) г)
д) е)
ж) з)
и) к)
Рисунок 3.1 – Структура интерфейса: а) Вид окна при загрузке программы; б) Меню «Файл»; в) Меню «Расчет»; г) Меню «Справка»; д) Вид окна ввода исходных данных для расчета; е) Вид окна вывода результатов расчета СМО при бесприоритетном обслуживании; ж) Вид окна вывода результатов расчета СМО при оптимальных относительных приоритетах; з) Вид окна вывода результатов расчета СМО при оптимальных абсолютных приоритетах; и) Вид окна вывода результатов расчета СМО при смешанных приоритетах; и) Вид окна «О программе»
Качество любого диалога можно оценить, руководствуясь пятью основными критериями: естественность, последовательность, краткость, поддержка пользователя, гибкость.
Принято различать следующие модели пользовательских интерфейсов:
• модель на основе командного языка;
• модель, основанная на сети переходов. Этой модели соответствует жесткая логика диалога;
• модель, основанная на рекурсивно-транзитивной сети переходов. Логика диалога здесь более гибкая, так как возможны ветвления в зависимости от действий пользователя;
• событийная модель, основанная на прямом манипулировании объектами. При реализации этой модели производится отслеживание состояния системы, что обеспечивает наибольшую гибкость диалога.
Модель пользовательского интерфейса, основанная на рекурсивно-транзитивной сети переходов, реализуется в диалоге типа вопрос-ответ. Это наиболее известная структура диалога; первоначально её называли диалоговым режимом. В каждой точке диалога система выводит в качестве подсказки один вопрос, на который пользователь дает один ответ. В зависимости от полученного ответа система может решать, какой следующий вопрос необходимо задать. Структура вопрос-ответ предоставляет естественный механизм ввода, как управляющих сообщений (команд), так и данных. Существуют системы, ответы в которых даются на естественном языке, но чаще используются предложения из одного слова с ограниченной грамматикой. Естественность диалога в значительной степени зависит от характера задаваемых вопросов.
Диалог типа вопрос-ответ в достаточной степени обеспечивает поддержку пользователя, так как даже краткий наводящий вопрос при разумном построении может быть сделан самопоясняющим. Кроме того, для подготовленных пользователей, знающих, какие вопросы задает система и какие ответы на них надо давать, часто предусматривается возможность ответить сразу на все вопросы. Такой механизм, именуемый опережающим вводом, значительно повышает гибкость диалога.
Такая модель особенно уместна при реализации диалога с множеством «ответвлений», то есть в тех случаях, когда на каждый вопрос предусматривается большое число ответов, каждый из которых влияет на то, какой вопрос будет задан следующим. По этой причине структура типа вопрос-ответ часто используется в качестве диалоговой структуры в экспертных системах.
Событийная модель пользовательского интерфейса находит широкое применение в современных информационных системах. Она основана на том, что производится отслеживание состояний всех объектов системы и в зависимости от них выполняются те или иные действия. Эта модель интерфейса в полной мере обеспечивает поддержку механизма опережающего ввода, хотя сам процесс диалога в явной форме зачастую не выражается. Пользователь имеет возможность напрямую манипулировать объектами посредством нажатия комбинаций клавиш на клавиатуре или, что используется наиболее часто, с помощью манипулятора типа «мышь». Действия, выполняемые таким образом, обычно понятны интуитивно и поэтому даже неподготовленный пользователь не испытывает затруднений при работе с такой системой.
Вообще, не существует единственной структуры, которая бы удовлетворила диалогу системы в целом. Различные части системы обладают различными характеристиками, которым соответствуют различные структуры. Хотя большинство диалогов основываются на какой-то структуре, которая определяет их стиль, обычно они смешанные, использующие комбинацию основных структур.
Структура диалога является основным фактором при определении его естественности, последовательности, неизбыточности, возможностей для поддержки пользователя и гибкости, однако никакая структура диалога не может обеспечить необходимую поддержку всех пользователей во всех областях применения системы, так как всегда необходима дополнительная справочная информация, как о диалоговом процессе, так и о возникающих ошибках. У пользователя должна всегда существовать возможность получить пояснения в виде справочного сообщения для преодоления возникших трудностей. Часто применяется универсальная многоуровневая справочная система, для которой характерно то, что пользователь получает более подробные пояснения каждый раз, когда попросит об этом. Естественно, что справочная информация должна быть информативной и выражаться в терминах, понятных пользователю. Помощь должна быть своевременной в том смысле, что она должна появляться на экране тогда и только тогда, когда она требуется. Это значит, что справочная информация должна быть доступна в любой точке системы без исключения.
В соответствии с упомянутой концепцией пользовательский интерфейс должен обеспечить:
¨ представление системы управления в виде задач-функций, используя иерархический принцип декомпозиции;
¨ отыскание их отображения в БД и в диалоговом режиме формирование общей графической структуры системы управления;
¨ в диалоговом режиме отыскание отображения в БД математических моделей соответствующей задачи-функции формирование и запоминание их композиции;
¨ отыскание в БД имитационных моделей, адекватных выбранным математическим моделям;
¨ формирование в диалоговом режиме имитационной модели ТС, адекватной заданным задачам - функциям, и ее отображение на экране монитора;
¨результаты проверки на адекватность созданной имитационной модели в динамическом режиме внешним заданным условиям.