Быстрая разработка макета
С самого начала разработки программного интерфейса и документации к нему проектировщику необходим инструментарий, позволяющий быстро создать первоначальную версию интерфейса, которая могла бы быть легко модифицирована согласно результатам ее оценки пользователями. В работе [65] рассмотрен ряд методов, предназначенных для быстрого макетирования интерфейса. Некоторые из них входят в более общие методы проектирования программного обеспечения, называемые системами управления интерфейсом пользователя (UIMS). Например, в работе [66] описывается система управления диалогом, в которой качество итеративного проектирования улучшается путем выделения в программном обеспечении компонентов, связанных с обслуживанием диалога, и собственно вычислительного процесса. Быстрой разработке макета диалога в данной системе способствует использование различного инструментария. Описана [148] методология проектирования в среде информационной системы разработки программного обеспечения USE, при которой используется метод диаграмм переходов как основа для быстрой разработки макета (прототипа).
Большинство методик быстрого макетирования создавалось как специфический инструментарий для помощи проектировщику в эффективном «генерировании» структуры программного интерфейса, которая могла бы легко модифицироваться в процессе итеративного проектирования. При создании подобного инструментария важно учесть два принципа. Во-первых, метод должен приводить к созданию программного обеспечения, которое легко модифицировать на этапе доработки. Очень часто программное обеспечение макета только имитирует реальный интерфейс и должно преобразовываться в рабочие программы после завершения итеративного проектирования. Во-вторых, способ быстрого макетирования должен соответствовать уровню квалификации проектировщика. Часть подобных методик требует для правильного использования глубоких знаний в области программирования, необходимых и профессиональным системным аналитикам. Другие средства являются в основном программными «оболочками», в которых могут использойаться макроопределения, или представляют собой диалоговые системы на основе меню, позволяющие проектировать интерфейсы даже начинающим разработчикам.
Несмотря на то что разработка методик быстрого макетирования ведется ускоренными темпами, необходимо тщательно изучить вопрос об их использовании в проектировании универсальных программных интерфейсов — с целью определения направлений дальнейших исследований. В работе [2] описано применение методов быстрого макетирования и итеративной доработки в 12 проектах информационных систем, на создание которых было затрачено от 3 до 89 человеко-месяцев. Опрос руководителей проектов и системных аналитиков показывает наличие как достоинств, так и недостатков этих методов. Преимущества заключаются в предоставлении пользователям реального интерфейса для оценки его качества, общей основе для пользователей и проектировщиков в описании задач и наконец в действительном привлечении пользователей к разработке интерфейса. К недостаткам процедур быстрого макетирования можно отнести необходимость поддержания заинтересованности пользователя в течение нескольких итераций проектирования, ограниченные возможности моделирования интерфейса, необходимость управления и контроля за итеративным процессом, а также ограниченную возможность макетирования больших информационных систем.
Несмотря на то что эти методики находятся в основном в стадии разработки и не получили оценки эффективности их применения для создания больших систем, можно считать, что существует приемлемый инструментарий быстрого макетирования. По существу эти методики могут рассматриваться либо как инструментальные средства проектирования интерфейса, либо как способы управления диалогом, что отображено на рис. 2.4.
Инструментальные средства проектирования интерфейса
Инструментарий проектирования интерфейса оказывается наиболее полезным специалистам по инженерной психологии при выборе одного из возможных способов выхода данных на экран или устройства отображения в случае, когда он обеспечивает возможность модификации интерфейса человек — ЭВМ без необходимости переписывания исходных текстов программ. (В гл. 3 и 9 тома 5 приводится описание различных альтернативных способов ввода — вывода информации.) Этот инструментарий проектирования совместно с процедурами управления ходом диалога способствует разработке интерфейса, который может быть оценен пользователями и модифицирован в итеративном процессе.
Авторы работы [74] излагают свою концепцию такого инструментария на примере интерактивной среды проектирования диалога (AIDE), являющейся частью системы управления диалогом. Система AIDE позволяет проектировщику непосредственно наблюдать за изменениями в диалоге при использовании различных методов редактирования, включая языки описания диалога, графические средства форматирования, меню, клавишные средства форматирования, а также речевой ввод — вывод, языковые процессоры и экспертизу проектных решений. По мере завершения диалогового проектирования формируется текст программы на языке высокого уровня. Некоторые методики, входящие в систему AIDE, в настоящее время уже используются в работе, однако для их широкомасштабного применения к сложным программным интерфейсам требуется дополнительная оценка.
Имеется несколько пакетов программ быстрого макетирования интерфейса, выпускаемых промышленностью в помощь проектировщикам вычислительных диалоговых систем. Значительная часть этих программ довольно специфична и имеет ограниченную сферу применения. Примерами подобных систем являются система проектирования режима заполнения окон на экране дисплея BLOX [122], система управления разработкой DMS [72] для экранного управления вводом данных, система представления данных в отчетах и графиках PRESENT [33] и система управления формами вывода данных FMS [36] для проектирования форм документов, управляемого посредством меню.
Инструментальные средства управления диалогом
Так как для большинства проектов программных интерфейсов, разрабатываемых с учетом поведенческого фактора, центральным вопросом является проблема общения человека с машиной, инструментальные средства быстрого макетирования интерфейса служат специалистам по эргономике удобным способом легкого осуществления итеративной модификации диалога без необходимости изменения текста исходной программы. Для создания такого инструментария были предложены разные общие методики. Например, был разработан [64] интерактивный диалоговый синтезатор, в котором используется язык спецификаций диалога как первая ступень в построении имитационного механизма, создающего варианты интерфейса для различных интерактивных устройств. Позднее было рекомендовано [116] использование языка программирования Пролог, основанного на продукционных правилах, как методики диалоговых спецификаций, позволяющей быстро разрабатывать прототипы альтернативных структур диалога человек — ЭВМ.
В дополнение к этому было предложено несколько специальных методик управления диалогом. Они включают так называемый поведенческий синтезатор BD [66] для макетирования диалога в диалоговой системе управления; систему быстрого макетирования интерактивных диалогов RAPID, основанную на использовании диаграмм переходов, которая является частью системы USE [148]; фонетическую интерактивную систему на основе функционального языка FLAIR [158] — средство макетирования диалогов, определяемых разработанной теми же авторами спецификацией языка проектирования диалога на основе ряда экранных меню, направляющих действия проектировщика, и метод АСТ/1 [89], предназначенный для моделирования с помощью экранной системы механизма работы пользователя с интерфейсом.
Так как в настоящее время большинство методов быстрого макетирования находится в стадии разработки, их применение при создании программного обеспечения под силу только высококвалифицированным программистам. И они действительно реализуют многие такие возможности в большинстве программных проектов. Но как при использовании инструментария быстрого макетирования, так и при создании диалога самим разработчиком назначение данного этапа остается неизменным — содействовать разработке интерфейса, который может быть легко доработан посредством итеративных процедур.