Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы разработки информационных систем. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
ны инициализироваться одинаковыми клавишами. Например, переход в преды­дущее состояние или отказ от предложения во всех ветвях программы всегда осуществляется нажатием клавиши Esc, выход из программы – F10 и т.д.
Программный продукт должен принимать любой ввод данных пользова­телем. Если данные не те, какие система считает приемлемым, он всё равно должен принять их, чтобы информировать пользователя и обрабатывать их соответствующим образом.
Старайтесь, чтобы каждое из сообщений, введённое пользователем, вы­давало какое-либо уведомление. Без этого пользователь может сомневаться, было ли набрано сообщение, и попытаться повторить ввод, что может при­вести к ошибочным ситуациям.
Дизайн программного продукта должен позволять пользователю в лю­бое время работы системы закончить работу или перейти к предыдущему состоянию.
Ошибки пользователя должны быть обнаружены немедленно.
Не пытайтесь исправить сообщение «вводимые данные пользователем».
Например, в медицинской информационной системе пользователь слу­чайно нажимает на лишнюю клавишу, вследствие чего входное сообщение принимает вид «Рэтиловый спирт» вместо входного сообщения «Этиловый спирт». Система исправляет: «Метиловый спирт». Известно, что этиловый спирт опьяняет, а метиловый спирт убивает.
ыходные данные должны выдаваться в требуемой форме и обязательно
В прокомментироваными. Нельзя, например, выдавать их в виде числа или набора цифр. Анкетные данные сотрудника фирмы, например, лучше вывес­ти в привычном для инспектора отдела кадров виде – анкетной карточки и пр.

5.1. РАЗРАБОТКА ПОЛЬЗОВАТЕЛЬСКИХ ИНТЕРФЕЙСОВ

На ранних этапах развития компьютерных технологий пользовательско­го интерфейса пользовательский интерфейс рассматривается как средство человеческого общения с операционной системой и был весьма примитив­ным в виде командной строки. Она в основном позволяет запускать програм­му – задание на выполнение, чтобы соединиться со своими конкретными данными и для выполнения определённых операций по техническому обслу­живанию вычислительной установки; с течением времени – улучшение аппа­ратных средств открыло возможность создания интерактивного программно­го обеспечения с помощью специальных пользовательских интерфейсов, предназначенных для непрофессиональных пользователей.
Пользовательский интерфейс представляет собой совокупность про­граммных и аппаратных средств, обеспечивающих взаимодействие пользова­теля программы с компьютером. Основу такого взаимодействия составляют диалоги.
51
Под диалогом понимают регламентированный обмен информацией ме­жду человеком и компьютером (программным обеспечением), осуществляе­мый в реальном масштабе времени и направленный на совместное решение конкретных задач: обмен информацией между пользователем и компьютером и координация их действий.
Каждый диалог состоит из отдельных процессов ввода-вывода, которые физически обеспечивают связь между пользователем программного обеспе­чения и компьютером.
Обмен информацией межд
у пользователем и компьютером осуществля-
ется с помощью передачи сообщений и управляющих сигналов (рис. 5.1).
Сообщение – это определённая порция информации в диалоговом обме­не человека и компьютера.
Различают:
• входные сообщения, которые генерируются человеком с помощью
средств ввода (клавиатуры, манипуляторов, например «мыши» и т.п.);
• выходные соо
бщения, которые генерируются компьютером в виде текстов, звуковых сигналов и/или изображений и выводятся пользователю на экран монитора или другие устройства вывода информации.
Пользователь в основном генерирует сообщения следующих типов: за­прос информации, запрос помощи, запрос операции или функции, ввод или изменение информации, выбор поля кадра и т.д.
В ответ он по
лучает: подсказки или справки; информационные сообще­ния, не требующие ответа; приказы, требующие действий; сообщения об ошибках, нуждающиеся в ответных действиях; изменение формата кадра и т.д.
Различают процедурно-ориентированный и объектно-ориентированный
подходы к разработке интерфейсов.
Процедурно-ориентированные интерфейсы используют традиционную модель взаимодействия программного обеспечения с пользователем, осно­ванную на понятиях «п
роцедура» и «операция».
В этой модели программное обеспечение предоставляет пользователю возможность выполнять определённые действия, для которых пользователь определяет соответствующие данные и итогом которых является получение желаемых результатов.
Рис. 5.1. Схема организации взаимодействия компьютера и пользователя
52
Объектно-ориентированные интерфейсы используют несколько иную модель взаимодействия программного обеспечения с его пользователем, ори­ентированную на манипулирование объектами в некоторой предметной об­ласти.
В этой модели пользователь может непосредственно взаимодействовать с каждым объектом системы и инициировать некоторые из программного обеспечения операции, которые связывают несколько объектов.
Задача пользователя в этом случае формулируется как целевое направ­ленное изменение какого-либо объекта, который имеет свою внутреннюю структуру, определённое содержание и внешнее символическое или графиче­ское представление. Объект, таким образом, понимается в широком смысле этого слова, например модель реальной системы или процесса, базы данных, текста и т.д.
Программное обеспечение предоставляет пользователю возможность создавать объекты, изменять их параметры и отношения к другим объектам, а также инициировать взаимодействие этих объектов.
Элементы интерфейсов данного типа, как правило, уже включены в поль­зовательский интерфейс Windows, что значительно облегчает построение последнего (рис. 5.2).
Например, пользователь может «взять» файл в одной папке и «пер
емес­тить» его в другую папку. Таким образом он инициирует выполнение опера­ции перемещения или копирования файла.
Различают процедурно-ориентированные интерфейсы трёх типов:
1) «примитивные»;
2) меню;
3) со свободной навигацией.
Примитивным называют интерфейс, который организует взаимодейст­вие с пользователем в консольном режиме (чаше всего через командную строку).
Обычно такой интер
фейс реализует конкретный сценарий работы про-
граммного обеспечения, например:
• ввод данных;
• решение задачи;
• вывод результата.
Рис. 5.2. Типы интерфейсов
53
Подобные интерфейсы в настоящее время используют только в процессе обучения программированию или в тех случаях, когда вся программа реали­зует одну функцию, например, в некоторых системных утилитах.
Интерфейс-меню в отличие от примитивного интерфейса позволяет пользователю выбирать необходимые операции из специального списка, вы­водимого ему программой. Эти интерфейсы предполагают реализацию мно­жества сценариев раб
оты, последовательность действий в которых определя-
ется пользователем.
Различают одноуровневые, иерархические и контекстные меню.
Одноуровневое меню используется для сравнительно простого управле­ния вычислительным процессом, когда вариантов немного (не более 5 – 7), и оно включает, как правило, операции одного типа, например «Создать», «Открыть», «Закрыть» и т.п.
Иерархическое меню используется при большом к
оличестве вариантов или при их очевидных различиях, например операции с файлами и операции с данными, хранящимися в этих файлах.
Интерфейсы данного типа несложно реализовать в рамках структурного
подхода к программированию.
Алгоритм программы с многоуровневым меню обычно строится по уровням, причём выбор команды на каждом уровне осуществляется так же, как для о
дноуровневого меню.
Интерфейс-меню предполагает, что программа находится либо в со­стоянии «Уровень меню», либо в состоянии «Выполнение операции». В со­стоянии «Уровень меню» осуществляется вывод меню соответствующего уровня и выбор нужного пункта меню, а в состоянии «Выполнение опера­ции» реализуется сценарий выбранной операции.
Древовидная организация меню предполагает строго ограниченную на­вигацию: либ
о переходы «вверх» к корню дерева, либо – «вниз» по выбран-
ной ветви.
В условиях ограниченной навигации независимо от варианта реализации поиск требуемого пункта более чем двух уровневого меню может оказаться непростой задачей.
В порядке исключения иногда пользователю предоставляется возмож­ность завершения операции независимо от стадии выполнения сценария и/или п
рограммы, например по нажатию клавиши Esc.
Контекстное меню включает операции, вероятность обращения к кото­рым из данной зоны окна приложения с точки зрения разработчика макси­мальна. В процессе тестирования «удобства использования» содержание кон­текстного меню может уточняться. Причём, чтобы облегчить пользователю поиск нужной операции, целесообразно операции контекстного меню делить на группы го
ризонтальными линиями.
Интерфейсы со свободной навигацией также называют графическими пользовательскими интерфейсами (GUI – Graphic User Interface) или интер­фейсами WYSIWYG (What You See Is What You Get – «что видишь, то и по­лучишь»). Эти названия подчёркивают, что интерфейсы данного типа ориен-
54
тированы на использование экрана в графическом режиме с высокой разре­шающей способностью.
Графические интерфейсы поддерживают концепцию интерактивного взаимодействия с программным обеспечением, осуществляя визуальную об­ратную связь с ним и возможность прямого манипулирования объектами и информацией на экране. Кроме того, интерфейсы данного типа поддержива­ют концепцию совместимости программ, позволяя перемещать между ними
рмацию (технология OLE).
инфо
В отличие от интерфейса интерфейс-меню с бесплатной навигацией обеспечивает возможность осуществления любых допустимых в конкретном состоянии операций и событий, которые могут быть доступны через различ­ные интерфейсные компоненты.
Например, окна программ, реализующих интерфейс Windows, обычно содержат:
• меню различных типов: ниспадающее, кнопочное, контекстное;
• разного рода компоненты ввода данных.
Существенной особ
енностью интерфейсов данного типа является спо­собность их изменяться в процессе взаимодействия программного обеспече­ния с пользователем, предлагая выбор только тех операций, которые имеют смысл в конкретной ситуации.
Интерфейс с бесплатной навигацией реализован с использованием со­бытийно-ориентированного программирования и объектно-ориентированной библиотеки, которая включает в себя использование визуального п
рограмм­ного обеспечения сред разработки. Кроме того, выбор следующего меню операций может быть реализован в виде «мыши» и клавиатуры.
Объектно-ориентированные интерфейсы пока представлены только ин­терфейсами прямого манипулирования. Этот тип интерфейса предполагает, что взаимодействие пользователя с программным обеспечением осуществляется посредством выбора и перемещения пиктограмм, соответствующих объектам предметной области. Для реализации так
их интерфейсов также используют
событийное программирование и объектно-ориентированные библиотеки.
Различают также однодокументные (SDI – Single Document Interface) и многодокументные (MDI – Multiple Document Interface) интерфейсы.
Однодокументные (или однооконные) интерфейсы организуют работу, как следует из названия, только с одним документом, например текстом или рисунком. Чтобы посмотреть другой текст, необходимо запустить ещё одну копию приложения, что допустимо только в мультипрограммной операцион-
й системе. Такие интерфейсы используют в случаях, когда одновременная
но работа с несколькими документами маловероятна.
Многодокументные (или многооконные) интерфейсы соответственно организуют в тех случаях, когда велика вероятность, что пользователю пона­добится одновременно работать с несколькими документами. Реализация этих интерфейсов существенно сложнее, а меню должно предусматривать специальные операции управления окнами.
55

5.1.1. Критерии оценки интерфейса пользователем

Многочисленные опросы и исследования, проведённые ведущими ком­паниями в разработке программного обеспечения, показали, что основными критериями для оценки пользовательских интерфейсов являются:
• простота освоения и запоминания операций системы – конкретно оп-
ределяется время освоения и продолжительность сохранения информации в памяти;
• скорость достижения результатов при использовании системы –
определяется количеством вводимых или выбираемых мы
шью команд
и настроек;
• субъективная удовлетворённость при эксплуатации системы (удоб-
ство работы, утомляемость и т.д.).
Причём для пользователей-профессионалов, постоянно работающих с одним и тем же пакетом, на первое место достаточно быстро выходят второй и третий критерии, а для пользователей-непрофессионалов, работающих с программным обеспечением периодически и выполняющих сравнительно несложные за
дачи, – первый и третий.
С этой точки зрения на сегодняшний день наилучшими характеристика­ми для пользователей-профессионалов обладают интерфейсы со свободной навигацией, а для пользователей-непрофессионалов – интерфейсы прямого манипулирования. Давно замечено, что при выполнении операции копирова­ния файлов при прочих равных условиях большинство профессионалов ис­пользуют оболочки типа Far, а н
епрофессионалы – «перетаскивание объек-
тов» Windows.
5.2. ПСИХОФИЗИЧЕСКИЕ ОСОБЕННОСТИ ЧЕЛОВЕКА, СВЯЗАННЫЕ С ВОСПРИЯТИЕМ, ЗАПОМИНАНИЕМ
И ОБРАБОТКОЙ ИНФОРМАЦИИ
При проектировании пользовательских интерфейсов необходимо учи­тывать психофизические особенности человека, связанные с восприятием, запоминанием и обработкой информации.
Исследованием принципов работы мозга человека занимается когнитив­ная психология. Специалисты в этой области предлагают упрощённую ин­формационно-процессуальную модель мозга, представленную на рис. 5.3.
Информация о внешнем мире поступает в наш мозг в огромных количе­ствах. Часть мозга, к
оторую условно можно назвать «процессором воспри­ятия», постоянно без участия сознания перерабатывает информацию, сравни­вая с прошлым опытом, и помещает в хранилище уже в виде зрительных, звуковых и прочих образов.
Любые внезапные или просто значимые для нас изменения в окружении
привлекают наше внимание, и тогда интересующая нас информация по
ступа­ет в кратковременную память. Если же наше внимание не было привлечено, то информация в хранилище пропадает, замещаясь следующими порциями.
56
Рис. 5.3. Упрощённая информационно-процессуальная модель мозга
В каждый момент времени фокус внимания человека может фиксиро­ваться в одной точке. Поэтому если возникает необходимость «одновремен­но» отслеживать несколько ситуаций, то обычно фокус перемещается с одно­го отслеживаемого элемента на другой. При этом внимание «рассредоточива­ется», и какие-то детали могут быть упущены. Например, при «прокрутке» текста или рисунка с испо
льзованием линейки прокрутки окна Windows при­ходится одновременно смотреть на текст, чтобы определить, где остановить­ся, и на ползунок. Поскольку текст важнее, фокус внимания перестаёт пере­мещаться на мышь, и она «соскакивает» с ползунка линейки.
Следует иметь в виду, что обработка процессором восприятия требует
некоторого времени и, если сигнал выдаётся в течение времени, меньшего
мени обработки, то наш мозг его не воспринимает.
вре
Существенно и то, что восприятие во многом основано на мотивации. Например, если человек голоден, то он в первую очередь будет замечать всё съедобное, а если устал – то, войдя в комнату, он в первую очередь увидит диван или кровать.
Необходимо та
кже учитывать, что в процессе переработки информации мозг сравнивает поступающие данные с предыдущими. Так, если показать человеку последовательность символов: А, В, С, то он может принять 13 за В.
При смене кадра мозг на некоторое время блокируется: он «осваивает» новую картинку, выделяя наиболее существенные детали. А значит, если не­обходима быстрая реакция пользователя, то резк
о менять картинку не стоит.
Краткосрочная память – самое «узкое» место «системы обработки ин­формации» человека. Её ёмкость приблизительно равна 7 ± 2 несвязанных объектов. Краткосрочная память является своего рода оперативной памятью мозга, именно с ней работает процессор познания, но невостребованная ин­формация хранится в ней не более 30 с.
57
Чтобы не забыть какую-нибудь важную для нас информацию, мы обычно повторяем её «про себя», «обновляя» информацию в краткосрочной памяти. Таким образом, при проектировании интерфейсов следует иметь в виду, что по­давляющему большинству людей сложно, например, запомнить и ввести на дру­гом экране число, содержащее более пяти цифр или некоторое сочетание бук
в.
Люди вносят в каждую деятельность своё понимание того, как она должна выполняться. Это понимание – модель деятельности – базируется на прошлом опыте человека. Множество таких моделей хранится в долговре­менной памяти человека.
В долговременную память записываются постоянно повторяемые сведе­ния или информация, связанная с сильными эмоциями.
Долговременная память человека – это хранилище инфо
рмации с неог­раниченной ёмкостью и временем хранения. Однако доступ к этой информа­ции весьма непрост: по всей вероятности, механизмы извлечения информа­ции из памяти имеют ассоциативный характер.
Специальная методика запоминания информации (мнемоника) исполь­зует именно это свойство памяти: для запоминания информации её «привя­зывают» к тем данным, которые память уже хран
ит и позволяет их легко получить. Поскольку доступ к долговременной памяти затруднён, целесооб­разно рассчитывать не на то, что пользователь вспомнит нужную информа­цию, а на то, что он её узнает. Именно поэтому интерфейс типа меню так широко используется.
Особенности восприятия цвета. Цвет и сознание человека ассоциируют-
ся с эмоциональным фоном. Известно, что тёплые цв
ета: красный, оранжевый, жёлтый человека возбуждают, а холодные: синий, фиолетовый, серый – успо­каивают. Причём цвет для человека является очень сильным раздражителем, поэтому применять цвета в интерфейсе необходимо крайне осторожно.
Следует иметь в виду, что обилие оттенков привлекает внимание, но
быстро утомляет. Поэтому не стоит ярко раскрашивать окн
а, с которыми пользователь будет долго работать. Необходимо учитывать и индивидуаль­ные особенности восприятия цветов человеком (примерно каждый десятый человек плохо различает какие-либо цвета), поэтому в ответственных случа­ях необходимо предоставить пользователю возможность настройки цветов.
Особенности восприятия звука. В интерфейсах звук обычно используют
с разными целями: для привлечения внимания, как фон, обеспеч
ивающий некоторое состояние пользователя, как источник дополнительной информа­ции и т.п. Применяя звук, следует учитывать, что большинство людей очень чувствительны к звуковым сигналам, особенно если последние указывают на наличие ошибки. Поэтому при создании звукового сопровождения целесооб­разно предусматривать возможность его отключения.
Субъективное восприятие времени. Человеку свойственно субъективное
воспри
ятие времени. Считают, что внутреннее время связано со скоростью и количеством воспринимаемой и обрабатываемой информации. Занятый чело­век обычно времени не замечает. Зато в состоянии ожидания время тянется
58
бесконечно, что связано с тем, что в это время мозг оказывается в состоянии информационного вакуума. (К аналогичному состоянию приводит и уста­лость: информация поступает, но больше обрабатывается, а потому и ход времени замедляется.)
Доказано, что при ожидании более 1…2 с пользователь может отвлечь­ся, «потерять мысль», что неблагоприятно сказывается на результатах работы и увеличивает устало
сть, так как каждый раз после ожидания много сил тра-
тится на включение в работу.
Сократить время ожидания можно, заняв пользователя, но не отвлекая его от работы. Например, можно предоставить ему какую-либо информацию для обдумывания. По возможности целесообразно выводить пользователю промежуточные результаты: во-первых, он будет занят их обдумыванием,
орых, по ним он сможет оценить будущие результаты и отменит опера-
во-вт цию, если они его не удовлетворяют.
Известны попытки использования для «развлечения» пользователя ани­мации, например, в Windows при копировании файлов демонстрируется «ро­лик» с летающими листочками. Однако следует иметь в виду, что при первом просмотре анимации она интересна, а когда в течение получаса наб
людаешь, как «летают» листочки при получении информации из Интернета, то это на­чинает раздражать.
Чтобы уменьшить раздражение, возникающее при ожидании, необходи­мо соблюдать основное правило: информировать пользователя, что заказан­ные им операции потребуют некоторого времени выполнения. Обычно для этого используют индикаторы оставшегося времени, анимированные объек­ты, как в Инте
рнете, и изменение формы курсора «мыши» на песочные часы.
Очень важно точно обозначить момент, когда система готова продол­жать работу. Обычно для этого используют значительные изменения внешне­го вида экрана.
В итоге взаимодействие пользователя с интерфейсом будет определять­ся не только физическими возможностями и особенностями человека по вос-
иятию, обработке и запоминанию информации, представленной в различ-
пр ных формах, а также по выполнению им разнообразных действий, но и поль­зовательской моделью интерфейса.

5.3. АНАЛИЗ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

Анализ пользовательского интерфейса – независимый метод анализа существующих систем в целях выявления пользовательских функциональных требований. Лучше всего взаимодействовать с существующими системами непосредственно, но при необходимости можно использовать снимки экрана. Руководства пользователя коробочных продуктов часто содержат снимки экрана, которые можно использовать в качестве отправного пункта. Если су­ществующей системы нет, можно посмотреть на п фейс похожих продуктов.
ользовательский интер-
59
При работе с коробочными решениями или существующей системой анализ пользовательского интерфейса помогает получить полный список эк­ранных форм для обнаружения возможных функций. Работая с существую­щим пользовательским интерфейсом, можно определить стандартные опера­ции, выполняемые пользователями в системе, и создать предварительные версии вариантов использования для проверки пользователями. Анализ поль­зовательского интерфейса иногда о
бнаруживает данные, которые должны видеть пользователи. Это хороший способ изучения, как работает сущест­вующая система (если только для этого не требуется серьезного обучения). Вместо того, чтобы спрашивать пользователей, как они взаимодействуют с системой и какие операции они выполняют, может оказаться, что вы сами можете получить начальное представление о системе.
Не стоит пр
едполагать, что та или иная функциональность необходима в новой системе просто потому, что вы нашли её в имеющейся системе. Кроме того, не стоит считать, что если текущая система выглядит и ведёт себя опре­делённым образом, то будущая система должна работать так же.

5.4. ПОЛЬЗОВАТЕЛЬСКИЕ ИНТЕРФЕЙСЫ И СПЕЦИФИКАЦИЯ ТРЕБОВАНИЙ К ПО

Включение элементов пользовательского интерфейса в спецификацию имеет как преимущества, так и недостатки. Положительным моментом мож­но считать то, что бумажные прототипы, рабочие модели, каркасы или сред­ства моделирования делают требования осязаемыми как для пользователей, так и разработчиков. Существуют мощные приёмы выявления и проверки требований. Если у пользователей продукта есть ожидания насчёт тог
о, как должны выглядеть и вести себя те или иные части продукта, а, значит, они будут разочарованы отсутствием реализации своих ожиданий, эти ожидания относятся к требованиям. Отрицательным моментом можно считать то, что изображения и архитектура пользовательского интерфейса отображают ре­шения (дизайн), а не требования. Их включение в спецификацию требований к ПО делает документ тяж
еловесным, а большие документы пугают некото­рых людей. Откладывая создание базового соглашения решений в специфи­кации требований к ПО до завершения разработки пользовательского интер­фейса, вы можете замедлить разработку и заставить нервничать людей, кото­рые и так обеспокоены тем, что на работу над требованиями затрачено слиш­ком много времени. В
ключение дизайна пользовательского интерфейса может привести к тому, что визуальный дизайн будет определять требования, что час­то ведёт к пропуску функций. Те, кто пишет требования, не всегда обладают достаточной квалификацией для создания дизайна пользовательских интер­фейсов. После того, как заинтересованные лица увидят пользовательский ин­терфейс в спецификации требований (или где-ли
бо ещё), им сложно будет его «забыть». Визуализация на ранних этапах может прояснить требования, но затруднять улучшение пользовательского интерфейса со временем.
Макет экрана не заменит пользовательских и функциональных требований.
Не следует ожидать, что разработчики смогут сделать вывод о базовой функцио-
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]