Компонентный подход в программировании

       

Понятность


Человек "понимает" что-либо, укладывая это в сознании в некоторую систему ассоциативных связей. Примерами механизмов, которые помогают в этом, являются следующие [4].

  1. Ментальная модель. Этот механизм иллюстрируется примером с сохранением файлов, о котором рассказывалось выше. Пользователь понимает, как работать с системой, если ему объясняют набор сущностей, в терминах которых она функционирует, и правила работы с ними.

    Человек, один раз понявший модель действий какой-то системы, может помнить ее достаточно долго и воспринимает большинство происходящих в системе событий как вполне естественные, даже если управляющие ею правила достаточно сложны и неочевидны.

    Проблема в том, что модели работы многих систем сейчас довольно сложны, а большинство людей с трудом воспринимают сложные модели, и, начиная с некоторого уровня сложности, — не воспринимают вообще. К тому же для обучения людей такой модели нужно тратить дополнительные усилия, или же нужны дополнительные стимулы, чтобы люди прочитали документацию, в которой она объясняется.

  2. Метафора. Сейчас довольно часто объяснения того, как работает ПО, строятся вокруг той или иной метафоры, т.е. приводится какой-то механизм или предмет из реальной жизни (или литературы), знакомый большинству пользователей, и говорится, что данное ПО работает так же. Это помогает понять основные правила его работы очень быстро, даже если их достаточно много, в отличие от долгих объяснений модели.

    Примером метафоры служит рабочий стол Windows. Для описания его работы привлекается аналогия с рабочим столом офисного служащего, на котором лежат различные документы и инструменты. Этот же пример достаточно наглядно показывает границы применимости метафоры для повышения понятности интерфейса — вряд ли с помощью этой метафоры можно распространить понимание работы Windows за пределы работы с файлами и папками, лежащими на рабочем столе.

    К сожалению, очень редко имеется или может быть придумана достаточно адекватная метафора для значительной части системы.
    Еще более редко такая метафора может охватить систему целиком. Иначе правила работы ПО покрываются набором слабо связанных метафор, и нужно постоянно помнить границы их применимости, а пользователи могут запутаться в этом нагромождении. Но даже в таком случае метафоры помогают, если четко ограничить зоны их действия.

  3. Наглядность (affordance). Свойство наглядности означает, что само представление интерфейса подсказывает, как с ним надо работать, — оно использует широко распространенные стереотипы и наглядные (не обязательно видимые глазами!) связи между элементами управления и управляемыми объектами.

    Примеры наглядности в ПО и других областях:

    • Псевдотрехмерные выступающие кнопки как бы предлагают "Нажми меня!" При нажатии они на время "утапливаются", закрепляя таким образом наглядную ассоциативную связь с обычными кнопками.
    • Если расположить вентили для управления конфорками газовой плиты в виде той же геометрической фигуры, как и сами конфорки (обычно по углам квадрата), соответствие между вентилями и управляемыми ими конфорками становится гораздо яснее, чем при традиционном расположении вентилей на одной прямой.


    Придумать интерфейс, имеющий свойство наглядности, очень непросто, однако если это удается, такая система почти всегда становится крупным событием на рынке.

    Гораздо чаще, к сожалению, можно найти примеры антинаглядности — интерфейс всем своим видом "говорит" одно, а использовать его надо совсем иначе, скажем, нарисована кнопка, а нажать ее нельзя. Антинаглядности необходимо избегать всеми силами. Например, если дверная ручка, "предлагающая" повернуть себя (ручка, за которую удобно хвататься, с одним свободным концом, а другим закрепленная на круглой ножке), не поворачивается, чаще всего ее нечаянно отламывают.


    увеличить изображение
    Рис. 9.4.  Антинаглядность. "Кнопка" Next не нажимается

  4. Стандарт. Человек хорошо воспринимает то, что привычно. Одним из способов "внедрения" нужных привычек является стандартизация и широкое использование стандартных интерфейсов.


    В последнее время стандартам внешнего вида интерфейса в целом и его отдельных элементов придается большое значение в плане обеспечения удобства использования. Этот подход действительно уменьшает затраты на обучение работе с новой программой, поскольку пользователям становится легче ориентироваться в ней. Иногда удается выработать хороший стандарт, который значительно облегчает жизнь и пользователям, и разработчикам.

    Однако значительно повысить удобство использования, особенно для опытных пользователей, только за счет применения стандартных элементов интерфейса чаще всего не удается. Это происходит потому, что стандарт, во-первых, закрепляет не все необходимые детали, во-вторых, предоставляет далеко не самые удобные, а иногда и совсем неудобные элементы. Например, стандартным средством для работы с документами, которые не вмещаются в рамки окна программы, на некоторое время стали полосы прокрутки, реализующие неудобный для человека способ перемещения по большому пространству. Сопоставьте свои действия и движения при разглядывании большой карты или схемы с тем, что приходится предпринимать при использовании для этого полос прокрутки.




Содержание раздела