УДК 681.3

О. В. КОНЮХОВА

O. V. KONYUHOVA

СПЕЦИФИКАЦИЯ ГРАФИЧЕСКОГО ПОЛЬЗОВАТЕЛЬСКОГО

ИНТЕРФЕЙСА ДЛЯ СИСТЕМЫ АНАЛИЗА ТРЕБОВАНИЙ К

ГРАФИЧЕСКОМУ ПОЛЬЗОВАТЕЛЬСКОМУ ИНТЕРФЕЙСУ

ИНТЕРАКТИВНЫХ ПРОГРАММНЫХ СИСТЕМ: ОПИСАНИЕ ЦЕЛЕЙ

THE SPECIFICATION OF GRAPHICAL USER INTERFACE FOR

ANALYSIS SYSTEM REQUIREMENTS TO GRAPHICAL USER

INTERFACE OF INTERACTIVE SOFTWARE: DESCRIPTION OF THE GOALS

В статье приводится описание структуры системы анализа требований к графическому пользовательскому интерфейсу программных систем; формирование спецификации требований к графическому пользовательскому интерфейсу на примере построения дерева целей в нотации CMN-GOMS для системы анализа требований к графическому пользовательскому интерфейсу программных систем.

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

The article describes the structure of the system requirements analysis to the graphical interface of software; the formation of the specification requirements graphically user interface on the example of building a tree of goals in the CMN-GOMS notation for system requirements analysis to the graphical user interface of software.

Keywords and Phrases: graphical user interface, the specification requirements for the graphical user interface, the system requirements analysis to the graphical user interface, the tree of goals, task analysis language.

НЕ нашли? Не то? Что вы ищете?

ВВЕДЕНИЕ

Графический пользовательский интерфейс (ГПИ) является неотъемлемой частью современных программных систем. В соответствии с метамоделью Arch /1/, одной из составляющих ГПИ является диалоговая компонента. От неё во многом зависит, насколько проектируемый ГПИ будет дружественным по отношению к пользователю. В частности, насколько полно ГПИ соответствует требованиям и пожеланиям пользователя, а также реализует функции, необходимые для решения задач пользователей. Согласно методике, предложенной в /1/, для решения данной проблемы можно использовать нотацию CMN-GOMS /3/ и систему анализа требований к ГПИ. Для демонстрации возможностей спецификации ГПИ рассмотрим пример использования данной нотации для описания ГПИ самой системы анализа требований к ГПИ.

1 СИСТЕМА АНАЛИЗА ТРЕБОВАНИЙ К ГПИ

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

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

Рисунок 1 – Структура системы анализа требований к ГПИ

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

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

2 СПЕЦИФИКАЦИЯ ГПИ ДЛЯ СИСТЕМЫ АНАЛИЗА ТРЕБОВАНИЙ К ГПИ: ОПИСАНИЕ ЦЕЛЕЙ

Рассмотрим один из вариантов спецификации ГПИ системы анализа требований к ГПИ, используя нотацию CMN-COMS /1, 3/. Построение дерева целей начинается с определения главной цели. В данном случае главной целью является построение спецификации требований к ГПИ, что отражает цель «Построить спецификацию ГПИ» на рисунке 2. Достижение этой цели определяется последовательным достижением двух подцелей: «Сформировать спецификацию требований к ГПИ» и «Завершить работу над спецификацией». Последняя цель является базовой. Для неё возможно описать методы, показывающие, какие последовательности элементарных действий пользователя (операторов) позволяют её достичь.

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

Пока не будет получено требуемое дерево целей, оно неоднократно (ноль или более раз) перестраивается, что показывают узлы цикла и подцели «Строить дерево целей» дерева целей. Условие цикла «Пока не построено требуемое дерево целей» также определяется и контролируется самим пользователем. В свою очередь, перестроение дерева целей сводится к его редактированию и последующей фиксации изменений, что показывают подцели «Редактировать дерево целей» и «Фиксировать изменения в дереве целей». Достижение последней цели заключается в неоднократном достижении подцели «Сохранять изменения в файле» при выполнении следующих условий цикла «Пока нужно сохранять изменения в файле», которая, в свою очередь, является базовой (Рисунок 2). Узлы дерева целей, соответствующие базовым подцелям, закрашены серым цветом.

Для достижения цели «Редактировать дерево целей» необходимо достичь одну из двух её подцелей: «Создать новое дерево целей» или «Изменить существующее дерево целей». Выбор осуществляется пользователем на основании следующего правила: «Если требуется создать новое дерево целей, то достигается подцель Создать новое дерево целей, если необходимо открыть существующее дерево целей из ранее сохранённых, то достигается подцель Изменить существующее дерево целей». Для создания нового дерева целей требуется создать новый файл, а затем внести в него изменения. Изменение существующего дерева целей осуществляется аналогично за исключением того, что вместо создания нового файла необходимо открыть ранее сохранённый файл с деревом целей, что отражают соответствующие подцели на рисунке 2. Следует отметить, что подцели «Создать новый файл» и «Открыть существующий файл» являются базовыми.

Внесение изменений в дерево целей заключается в достижении одной из подцелей: «Редактировать узлы дерева целей» или «Изменить масштаб дерева целей» на основании следующего правила выбора: «Если соблюдены условия и требуется редактирование узлов, то Редактировать узлы дерева целей, если соблюдены условия и необходимо изменить масштаб дерева целей, то изменить масштаб дерева целей». Условия данного правила выбора частично контролируются самим пользователем, частично – программной системой (например, проверка наличия узлов в дереве целей). Указанные подцели и правило выбора показаны на дереве целей (Рисунок 2) в виде одноимённых узлов.

Редактирование узлов дерева целей заключается либо в добавлении нового узла, либо в изменении узла, либо в удалении узла, что отражают соответствующие подцели на рисунке 2. Выбор между подцелями осуществляется пользователем на основании следующего правила: «Если необходимо добавить новый узел в дерево целей, то Добавить узел, если необходимо изменить имеющийся узел в дереве целей, то Изменить узел, если необходимо удалить существующий узел дерева целей, то Удалить узел». При этом подцель «Удалить узел» является базовой, т. е. может быть достигнута с помощью методов.

Добавление нового узла в дерево целей заключается в достижении одной из её подцелей: можно добавить или цель, или метод, или цикл, или правило выбора или оператор в зависимости от соблюдения необходимых для этого условий и желания пользователя (Рисунок 2). Все выделенные подцели, кроме добавления оператора являются базовыми. Правило выбора имеет вид: «Если соблюдены условия и требуется добавить узел цели, то достигается цель Добавить цель, если соблюдены условия и требуется добавить узел метода, то достигается цель Добавить метод, если соблюдены условия и требуется добавить узел цикла, то достигается цель Добавить цикл, если соблюдены условия и требуется добавить узел выбора, то достигается цель Добавить правило выбора, если соблюдены условия и требуется добавить оператор, то достигается цель Добавить оператор». Аналогичным образом достигается цель «Добавить оператор»; выбор осуществляется из шести возможных операторов. Соответствующие подцели и правило выбора представлены на дереве целей (Рисунок 2). Все выделенные подцели являются базовыми.

Tree.jpg

Рисунок 2 – Дерево целей для системы анализа требований к ГПИ

Для достижения цели «Изменить узел» необходимо достичь одну из двух её подцелей: «Изменить параметры узла» или «Изменить позицию узла» (Рисунок 2). Выбор осуществляется по желанию пользователя: «Если требуется изменить параметры выбранного узла, то достигается цель Изменить параметры узла, если требуется изменить положение узла на экране, то достигается цель Изменить позицию узла». Изменение параметров узла заключается в изменении либо названия узла, либо размеров узла, которые являются базовыми подцелями. Выбор осуществляется по желанию пользователя при соблюдении необходимых условий (например, как при добавлении нового узла в дерево целей). Аналогичным образом достигается цель «Изменить позицию узла»; при этом выбор осуществляется между двумя подцелями: «Переместить узел по уровням иерархии» и «Переместить узел на экране в пределах уровня иерархии», причём вторая подцель является базовой. Выбор также осуществляется по желанию пользователя при соблюдении необходимых условий.

Те же принципы справедливы при достижении цели «Переместить узел по уровням иерархии»: перемещение возможно как вверх по иерархии, так и вниз по иерархии, что определяется желанием пользователя и соблюдением необходимых для этого условий. При этом подцели являются базовыми. Все перечисленные подцели и правила выбора представлены в виде соответствующих узлов на дереве целей (Рисунок 2).

Изменение масштаба дерева целей достигается либо за счёт достижения подцели «Уменьшить масштаб» либо подцели «Увеличить масштаб», что определяется желанием пользователя и соблюдением необходимых условий. Выделенные подцели являются базовыми и совместно с узлом выбора представлены на дереве целей на рисунке 2.

Достижение цели «Фиксировать изменения в дереве целей» следует из многократного (ноль или более раз) сохранения изменений в файле, что, в свою очередь, является базовой подцелью. Условие цикла определяется желанием пользователя. Указанные узлы представлены на дереве целей (Рисунок 2).

После того, как построено дерево целей, его можно распечатать, или на его основе получить текстовую спецификацию ГПИ либо на языке анализа задач /1, 2/ либо на языке действий пользователя /1/. При этом обработка дерева целей может выполняться многократно (ноль или более раз): «Пока требуется выполнять обработку дерева целей» и контролируется самим пользователем. Аналогично, выбор между подцелями «Получить спецификацию ГПИ в виде текста» и «Напечатать дерево целей» также определяется желанием пользователя. Последняя подцель является базовой. То же справедливо для достижения цели «Получить спецификацию ГПИ в виде текста», которая заключается в достижении одной из двух базовых подцелей: «Получить спецификацию ГПИ на языке анализа задач» или «Получить спецификацию ГПИ на языке действий пользователя». Выбор между ними осуществляется по желанию пользователя на основании правила: «Если требуется спецификация ГПИ на языке анализа задач, то достигается подцель Получить спецификацию ГПИ на языке анализа задач, если требуется спецификация ГПИ на языке действий пользователя, то достигается подцель Получить спецификацию ГПИ на языке действий пользователя». Выделенные подцели, циклы и правила выбора отображены на дереве целей в виде соответствующих узлов (Рисунок 2).

На основании построенного дерева целей и выявленных базовых целей можно сделать вывод о том, какие функции необходимо реализовать на уровне диалога графического редактора системы анализа требований, учитывая взгляд пользователя (в данном случае, автора). В частности, должны быть реализованы функции работы с файлами (создание, открытие, сохранение, выход), функции для редактирования дерева целей (добавление различных узлов, изменения параметров узлов, изменения позиции узлов, удаление узлов и т. п.), функции печати дерева целей, функции получения текстовых спецификаций ГПИ на языке анализа задач или на языке действий пользователя. Кроме того, видна логическая взаимосвязь и подчинённость между функциями, что даёт возможность достаточно эффективно их группировать.

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

ЗАКЛЮЧЕНИЕ

Разработка ГПИ современных интерактивных программных систем является сложной задачей. Применение системы анализа требований к ГПИ на ранних этапах разработки ГПИ программных систем позволяет проанализировать задачу и этапы её решения с позиции пользователя и, таким образом, выявить основные функции, которые необходимо вынести на уровень диалога ГПИ программной системы. Серьёзную помощь в этом вопросе могут оказать методы анализа задач, в частности, CMN-GOMS /1, 3/. Пример спецификации ГПИ, приведённый выше, позволяет судить о том, что описать ГПИ программной системы можно в простой и наглядной форме.

СПИСОК ЛИТЕРАТУРЫ

1. Конюхова, пользовательский интерфейс для автоматизированных систем раскроя изделий сложной формы [Текст]: дис. канд. техн. наук 05.13.06: защищена 27.06.206: утв. 13.10.2006/ Конюхова О. В.- Орёл, 200 с.

2. Конюхова, языка анализа задач для спецификации графического пользовательского интерфейса интерактивных компьютерных систем [Электронный ресурс]/ // Методологические и теоретические аспекты создания и развития информационных технологий: Материалы V международной научно-технической конференции «Информационные технологии в науке, образовании и производстве.- Орёл, 2012.- 1 эл. опт. диск (CD-ROM): цв.

3. John Bonnie E., David Kieras E. The GOMS Family of User Interface Analysis Techniques: Comparison and Contrast// ACM Transactions on Computer – Human Interaction, Vol. 3, No. 4, December 1996.- P. 320-351

ФГБОУ ВПО «Государственный университет – учебно-научно-производственный комплекс», г. Орёл

К. т.н., доцент кафедры «Информационные системы»

Тел. +7 (48

E-mail: *****@***ru