Применение метода деревьев классификации для определения

advertisement
Применение метода деревьев классификации для определения
свойств элементов графического пользовательского интерфейса
Application of a method «Classification Tree» for properties
definition of GUI components
Жучков К.В.
ИВМ СО РАН, г.Красноярск
Введение
Как показывают исследования, проведенные российскими и зарубежными
учеными (И.Н. Скопин, Э.В. Попов, В.Ф. Хорошевский, J. Lowgren, P. Castells, G.
Singht и др.), на проектирование и разработку графического пользовательского
интерфейса (Graphical User Interface – GUI) большинства программных продуктов
приходится значительная доля времени разработчиков. Помимо первичного
построения, GUI проходит еще несколько итераций разработки. Во время этих
итераций происходит «притирка» интерфейса под конечного пользователя, но при
этом изменяется только внешняя, нефункциональная сторона продукта.
При решении задачи ведения группы справочников и реестров, т.е. в условиях,
когда пользователь сам в праве менять информационное наполнение системы
(создавать новые справочники и реестры, добавлять поля и ссылки на другие
справочники), необходимо автоматизированное перепроектирование интерфейса.
Таким образом, является актуальной задача отделения графического
пользовательского интерфейса от функциональной структуры программного
продукта и разработки инструментария для автоматизированного формирования
стандартизованного GUI для управления реестрами и справочниками.
Практика создания пользовательских интерфейсов для управления
табличными данными показала, что представление реестров и справочников в виде
прямоугольных таблиц не всегда является простым и удобным в использовании.
Для упрощения восприятия информации, повсеместно при проектировании
интерфейсов применяются различные графические элементы (текстовые и
числовые поля, ниспадающие списки, поля селективного выбора и т.д.). В связи с
этим становится необходимым исследование основных свойств полей данных,
входящих в реестры и справочники, для определения параметров отображения этих
полей в графическом интерфейсе.
Применение метода деревьев классификации
Для решения поставленной задачи используется метод деревьев
классификации, который позволяет определять принадлежность объектов к тому
или иному классу в зависимости от соответствующих значений атрибутивных
признаков. Этот метод широко используется при анализе данных и в задачах
добычи знаний (data mining), но до сих пор не применялся в задачах
проектирования пользовательского интерфейса. Суть применения метода состоит в
том, что обладая дополнительной атрибутивной информацией о данных, с
которыми работает система, можно определить состав и характеристики элементов
пользовательского интерфейса, которые будут отвечать за ввод данных и их
отображение.
В ходе работы автором разработан ряд деревьев классификации, которые
позволяют получить набор свойств поля данных в виде вектора значений в
пространстве классификации. Полученный вектор классификации, сохраняется в
виде XML-структуры и при необходимости может быть преобразован в
конкретный набор свойств элемента графического интерфейса.
Общий вид структуры деревьев классификации в формате XML:
<Tree Caption=”…”, Version=“...”, …>
<Node0 Caption=”…”, Question=”…”, , Answer =”…” …>
<Property Caption =”Property 1”, …/>
<Property Caption =”Property 2”, …/>
...
<Node1 Caption =”…”, Question =”…”, …>
<Property Caption =”Property i”, …/>
<Property Caption =”Property i+1”, …/>
...
<Node2 …>
…
</Node2>
…
</Node1>
<Node1 Caption =”…”, Question=”...”, …>
<Property Caption =”Property j”, …/>
<Property Caption =”Property j+1”, …/>
...
</Node1>
<Node1 Caption=”…”, Question =’…’, …>
...
</Node1>
</Node0>
...
</Tree>
Здесь Nodei – это узел дерева классификации, Question – классификационный
вопрос для перехода на нижний узел (узел-потомок) дерева, Answer – ответ на
классификационный вопрос узла-родителя, Property – свойство графического
интерфейсного элемента, соответствующее текущему узлу дерева классификации.
В отношении поля данных α задается определенная последовательность
классифицирующих вопросов. По результатам анализа полю присваивается
соответствующий узел в дереве классификации. Индекс этого узла является
координатой вектора классификации в пространстве классификации. При этом узел
Node2 является наследником узлов Node1 и Node0 и содержит в себе все свойства
Node1 и Node0.
Рассмотрим свойства дерева классификации на примере части дерева
классификации по типу вносимой информации.
Рисунок 1. Фрагмент дерева классификации поля данных по типу информации.
XML представление фрагмента дерева классификации:
<Tree Caption=”Дерево классификации по типу информации”, Version=“1.0”, …>
<Node0 Caption=”X0”, Question=”Type of object”, Answer =”” …>
<Property Caption=”Width”, Format=”Integer”…/>
<Property Caption=”Height”, Format=”Integer”…/>
...
<Node1 Caption =”X3”, Question=”Type Of Integer”, Answer =“Integer”, …>
<Property Caption=”DisplayFormat”, Format=”String”, …/>
<Property Caption=”MaxValue”, Format=”Integer”, …/>
...
<Node2 Caption =”X3”, Question =”…”, Answer = “Link”, …>
<Property Caption =”GUIDOfTableLink”, Format=”String”, …/>
…
</Node2>
…
</Node1>
<Node1 Caption =”X1”, Question=””, Answer=”Text”, …>
<Property Caption =”Text”, Format=”String”, …/>
<Property Caption =”StyleOfText”, Format=”string”, …/>
...
</Node1>
<Node1 Caption=”X2”, Question =’’, Answer=”DateTime”, …>
...
</Node1>
</Node0>
...
</Tree>
Проведя поле данных a по дереву классификации по группировке Y, дереву
классификации по зависимости Z, и прочим деревьям, получим вектор ā (xi, yj,
zk,…). Умножив этот вектор на матрицу стандартизованных и рекомендованных
значений, можно получить конкретный набор свойств элемента графического
интерфейса. Полученный вектор в свою очередь также легко привести к XML
формату
<Vect Caption = “a”, classvect = “xi, yj, zk ,…”>
<Coord Caption = “xi“, NameOfTree=”X”, …>
<Property Caption =”Property 1”, … />
<Property Caption =”Property 2”, … />
…
</Coord>
<Coord Caption = “yj“, NameOfTree=”Y”,…>
<Property Caption =”Property i”, … />
<Property Caption =”Property i+1”, … />
…
</Coord>
<Coord, Caption = “zk“, NameOfTree=”Z”, …>
<Property Caption =”Property j”, … />
<Property Caption =”Property j+1”, … />
…
</Coord>
…
</Vect>
Заключение
Предложенный подход позволяет осуществить классификацию полей данных,
входящих в структуру реестров и справочников. На основе полученной
классификации можно определить основные свойства элементов графического
пользовательского интерфейса, отображающего обрабатываемые данные.
Реализация описываемого подхода позволяет выделить графический
пользовательский интерфейс из структуры приложения и упрощает применение
корпоративных стандартов проектирования графического пользовательского
интерфейса.
1.
2.
3.
Список литературы
Сергеев А. П. HTML и XML. Профессиональная работа. — М.: «Диалектика»,
2004. — С. 880.
Скопин И.Н. Разработка интерфейсов программных систем // Системная
информатика. -1998. - Вып.6. - С. 123-173.
Lowgren J. Knowledge-Based Design Support and Discourse Management in User
Interface Management Systems. Linkoping Studies in Science and Technology.
Dissertations №239, 1989.
Download