Главная страница Visual 2000 · Общий список статей

Пользовательский интерфейс в бизнес-приложениях - это очень важно!

Андрей Колесов

© Андрей Колесов, 2005
Авторский вариант. Статья была опубликована c незначительной литературной правкой в журнале BYTE/Россия (N 12/2005)


Помимо многочисленных функциональных расширений...

Помимо многочисленных функциональных расширений платформа "1С:Предприятие 8.0" включает новую высокоуровневую модель диалогового интерфейса, которая позволяет существенно повысить эффективность взаимодействия пользователя с прикладными решениями.

Казалось бы, давно прошли времена, когда эффектный экранный интерфейс программы производил на пользователей такое впечатление, что они даже переставали (правда, на непродолжительное время) забывали о функционале продукта. Хотя именно такой часто была первая реакция людей во времена переходов от командной строки к оконной системе, потом от DOS (текстовый режим экрана) к Windows (графический).

Сегодня при описании новшеств и достоинств сложных деловых приложений об "эффективности и дружественности" пользовательского интерфейса, вообще как-то не принято упоминать - многими ИТ-специалистами такие фразы в описании продукта воспринимаются как тривиальные литературные штампы. Вот "масштабируемость, производительность, функциональность" - это совсем другое дело!

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

<*> Вот простой пример изменения ценности ПК/пользователь. 15 лет назад в СССР соотношение месячной зарплаты пользователя к стоимости ПК составляло порядка 1:50-100. Сегодня - примерно 1:1. Соответственно, тогда на 1 ПК приходилось по 3-10 пользователей (работали по расписанию!), а сегодня на одного специалиста порой приходится по паре компьютеров.

Вопросы пользовательского интерфейса в последние годы обычно обсуждаются применительно к софту домашнего применения (особенно игрушек), когда речь идет создании комфортной работы новичков, неопытных пользователей. Считается, что "продвинутые" пользователи почти не обращают внимание на такие мелочи, как форма и цвет расположения элементов управления на экране, их расположение и т.д. Но это не так. На самом деле, как раз для деловых приложений вопросы диалогового интерфейса очень актуальных и тому есть несколько объяснений. Прежде всего, нужно сказать, что современные бизнес-приложения - это очень сложные системы, в которых число экранных форм исчисляется сотнями и даже тысячами, а возможности их применения определяются постоянно меняющейся бизнес-логикой. Такая сложность интерфейса требует перехода от привычных плоских моделей к каким-то "объемным" (как в плане логики работы пользователя, так и изображения форм). Второй же аспект заключается в том, что пользователи деловых приложений, хотя и работают с компьютером по многу лет, не являются ИТ-специалистами, и поэтому зачастую не знают многих тонкостей для повышения эффективности своей работы. Но при этом они проводят за ПК почти весь свой трудовой день и от этого инструмента напрямую зависит плодотворность их работы.

Другой сторона проблемы - то, что создание эффективного интерфейса является очень сложной, с точки зрения разработчика, задачей. Совсем не случайно работами в этой области занимаются исследовательские подразделения ведущих ИТ-корпораций, университеты, независимые научные центры <**>. Ведут работы в этом направлении и российские разработчики, что мы и рассмотрим далее на примере платформы "1С:Предприятие 8.0" (1С8.0) с использованием материалов, опубликованных на сайте www.v8.1c.ru.

<**> Вопросы человеко-компьютерного взаимодействия обсуждаются в частности на ежегодных международных конференциях CHI (computer-human interactions, www.chi2005.org). Они проводятся под эгидой Association for Computing Machinery's Special Interest Group on Computer-Human Interactions (ACM SIGCHI), в них принимают участия специалисты из независимых исследовательских центров, университетов и ведущих ИТ-компаний. CHI'2005, 23-я по счету, пошла в марте в Портленде (США).

В начало статьи

Общие подходы к созданию эффективного интерфейса

В версии платформы 8.0 новшества коснулись в той или иной мере почти всех механизмом пользовательского интерфейса (по сравнению с 7.7), а некоторые из них реализованы в этой версии впервые (рис. 1). Возможности эффективной работы пользователя в среде 1С8.0 определяются, с одной стороны, встроенными функциями интерфейса, которые может настраивать сам клиент, с другой стороны - наличием специализированных средств, ориентированных на создание эргономичного интерфейса разработчиком прикладных решений.

Рис. 1. Основные интерфейсные механизмы платформы "1С:Предприятие 8.0".

Как подчеркивают самим разработчики 1С8.0, основной идеей построения интерфейса, реализованной на уровне технологической платформы, является максимальное использование информации из метаданных, а также объектов манипулирования данными с тем, чтобы все конструкция не требовала детальной настройки со стороны разработчики и функционировала по большей части автоматически. Например, программисту достаточно связать объект встроенного языка с визуальным элементом управления и механизм интерфейса полностью возьмет на себя организацию просмотра и модификации данных. Но наибольший эффект достигается за счет установления связи между объектом манипулирования данных и самой формой, а не ее отдельными компонентами. В таком случае вся функциональность формы, относящаяся к просмотру и редактированию данных, а также ее связь с другими формами, обеспечивается системой автоматически.

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

Вот еще один важный момент - в 1С8.0 реализована собственная оконная система, которая в общем случае не используется стандартные возможности Win API. Легко можно представить масштабность такой задачи, но разработчики "1С" пошли на это, чтобы обеспечить создание интерфейса, максимально ориентированного на обеспечение высокой эргономичности и эффективности работы с бизнес-приложениями, в том числе с использованием специальных элементов управления и механизмов настройки интерфейса. В числе возможностей оконной системы 1С8.0 - поддержка прикрепленных, плавающих и прячущихся окон, выборочного режима максимизации окон (не предусмотренного в классической Windows-модели), соединяемых MDI-окон и др. Важной особенностью является поддержка модальности, допускающей открытие немодальных форм. Поддерживается также автоматический режим корректировки размеров элементов управления при изменении размера формы и при перемещении разделителей внутри нее. Таким образом, пользователь может установить желаемые размеры для каждой формы и отдельных ее частей, а формы автоматически используют все предоставленное пространство для эффективного отображения информации. Важно, что этот механизм не требует какой-либо настройки со стороны разработчика, но допускает, разумеется, и более тонкий тюнинг.

Стоит обратить внимание и на дизайн форм и элементов управления, который ориентирован, с одной стороны, на отображение максимального количества информации, а с другой стороны на снижение утомляемости при длительной работе пользователя. Тут мы отметим очень любопытный факт. В 1С8.0 "плоский" дизайн интерфейса приближенный к Web-дизайну, примерно такой же, что мы видим и в Windows XP. Но дело в том, что к понимаю необходимости именно такого подхода разработчики "1С" и Microsoft пришли совершенного независимо друг от друга!

Рис. 2. "Плоский" дизайн интерфейса "1С:Предприятие 8.0". Собственная оконная модель позволяется повысить эффективность работы пользователя бизнес-приложений.

В этой статье мы не сможем рассмотреть все возможности или даже только новшества интерфейсных механизмов (с этой информацией можно познакомиться по адресу www.v8.1c.ru/overview), поэтому рассмотрим только наиболее интересные на наш взгляд вопросы.

В начало статьи

Формы, документы, схемы и т.д.

Формы в 1С:Предприятии предназначены для отображения и редактирования информации, содержащейся в базе данных. Формы могут принадлежать конкретным объектам прикладного решения или существовать отдельно от них и использоваться всем прикладным решением в целом. Например, справочник "Контрагенты" может иметь несколько форм, которые будут использоваться для определенных целей - редактирования элемента справочника, отображения списка и т.д.

В общем случае, описав объект метаданных в прикладном решении, разработчик может даже не строить для него форму, так как все необходимые формы будут создаваться автоматически в процессе работы системы. Разумеется, он может также вставить в любую форму элементы управления, связать их с данными и получить полностью работающую конструкцию, не написав ни строчки кода. Дописывать что-то программисту придется лишь тогда, когда он захочет переопределить или расширить стандартную функциональность. Важно и то, что штатная механика управления формами прикладных объектов обеспечивает различные варианты связей между форами используемые при выборе значений, множественном подборе, детализации информации и т.д. Фактически, платформа 1С8.0 предлагает разработчику готовую стратегию организации всего интерфейса бизнес-приложения имеющую способы реализации практически всех необходимых сценариев работы пользователей.

За счет использования хранящихся в метаданных знаний о связях между различными объектами, поддерживается автоматическая генерация команд перехода между логически связанными формами. Так пользователь, работая с некоторым документом, может без помощи программиста получить доступ к записям, отражающим этот документ в различных учетных механизмах. В то же время разработчик может определить (в виде критериев отбора) и дополнительные связи для перехода между объектами, которые так же автоматически будут представляться в командном интерфейсе форм.

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

Для форм, списков и других элементов система автоматически формирует командный интерфейс (кнопки, меню и целые панели управления), обеспечивающий все действия по просмотру и редактированию, а также связи с другими формами и сервисные функции. Разумеется, разработчик имеет возможность формировать такой набор командного интерфейса и самостоятельно. Может применяться также стандартное средство реализации "сменного" командного интерфейса. При работе с многофункциональными решениями это дает пользователю возможность переключаться на другой режим работы с полной или частичной сменой командного интерфейса, не выходя из системы.

Среди многочисленных визуальных элементов управления стоит выделить табличный документ, который представляет собой мощный механизм визуализации и редактирования информации, в том числе с использованием динамического считывания информации из базы данных. Табличный документ может использоваться как сам по себе, так и входить в состав любой из форм, используемых в прикладном решении. По своей сути он напоминает электронные таблицы (состоит из строк и столбцов, в которых размещаются данные), но его возможности гораздо шире.

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

Рис. 3. Сводные таблицы - это удобный и эффективный инструментом для анализа многомерных данных

Очень интересным нововведением 1С8.0 является возможность генерации выходных форм с помощью текстовых макетов. Разметка при этом выполняется традиционными на сегодня графическими средствами и простыми текстовыми командами (рис. 4).

Рис. 4. Исходное оформление отчета с помощью текстового макета и результирующий отчет.

Для графическое представления статистических данных в системе используются набор диаграмм, реализованный в виде универсального элемента управления:

Среди новинок тут нужно сказать о диаграммах Ганта, представляющих собой изображение интервалов на шкале времени (рис. 5). Их можно эффективно применять для графического представления использования различных ресурсов во времени: хода выполнения проектов, графиков отпусков, работы различного оборудования и пр.

Рис. 5. Диаграммы Ганта применяются для наглядного представления использования различных ресурсов во времени

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

Рис. 6. Графическая схема может использоваться как сама по себе, так и отображаться в формах и отчетах

Еще один качественно новый механизм пользовательского интерфейса 1С8.0 - географические схемы, позволяющие наглядно представлять информацию, имеющую территориальную привязку: к странам, регионам, городам (он появился только весной 2005 года в версии "1С:Предприятие" 8.0.10). Данные на географических схемах могут отображаться различными способами: в виде текста, гистограммы, цветом, картинкой, кругами различного диаметра и цвета, круговыми диаграммами (рис.7). Это позволяет отобразить, например, объемы продаж по регионам в графическом виде. Пользователь может изменять масштаб отображаемой схемы, получать расшифровки при нажатии мыши на объектах схемы и даже создавать новые географические схемы. На дисках информационно-технологического сопровождения пользователи могут получить также электронные карты России и мира, которые облегчают создание приложений, использующих географические объекты.

Рис. 7. Новый механизм представления данных, имеющих географическую привязку

В начало статьи