Научная статья на тему 'Применение модельных каркасов для разработки графического пользовательского интерфейса'

Применение модельных каркасов для разработки графического пользовательского интерфейса Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
377
89
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Черткова Елена Александровна

Предлагается объектно-ориентированный метод проектирования графического пользовательского интерфейса на языке Unified Modeling Language с применением модельного каркаса ResourseAllocation метода Catalysis. Приводятся результаты визуализации унифицированной проектной модели интерфейса. Библиогр. 4. Ил. 2.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Черткова Елена Александровна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

APPLICATION OF MODEL FRAMEWORK FOR DESIGN OF THE GRAPHIC USER INTERFACE

An object-orientated method is suggested for projecting of graphic user interface with Unified Modeling Language, using model framework ResourseAllocation of Catalysis method. The results of the interface projected model visualization are presented.

Текст научной работы на тему «Применение модельных каркасов для разработки графического пользовательского интерфейса»

УДК 004.415.2

Е. А. Черткова Московский государственный университет инженерной экологии

ПРИМЕНЕНИЕ МОДЕЛЬНЫХ КАРКАСОВ ДЛЯ РАЗРАБОТКИ ГРАФИЧЕСКОГО ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

Введение

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

По утверждению Фредерика Брукса, в проектировании важнее всего концептуальная целостность, которая является признаком качества архитектуры программных систем [1]. Именно качественная архитектура дает возможность выявить общие абстракции и механизмы, которые можно свести воедино, тем самым делая систему проще, меньше и надежнее. Наш опыт разработки компьютерных обучающих систем показывает, что применение принципов объектноориентированной декомпозиции для данного класса программного обеспечения приводит к архитектуре, обладающей требуемыми свойствами организованной сложности.

Разработка компьютерных обучающих систем отличается широким спектром проектных действий: от проектирования компонентов системы до проектирования графического пользовательского интерфейса (graphical user interface - GUI). Стоимость усилий, вкладываемых в проектирование и реализацию такого интерфейса, составляет значительную часть стоимости разработки всего приложения в целом. Максимальная унификация проектной модели интерфейса возможна при применении одного из видов проектных образцов - модельных каркасов (model framework), базовая структура которых, как правило, представляет собой многократно используемый расширяемый шаблон.

В статье рассматриваются некоторые вопросы применения модельного каркаса метода Catalysis при проектировании графического пользовательского интерфейса для компьютерных обучающих систем.

Методика разработки GUI

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

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

Анализ требований к компьютерным обучающим системам позволил выделить следующие основные функциональные требования для подсистемы управления пользовательским интерфейсом [2]:

- реакция системы на исходящие от пользователя запросы и реализация его взаимодействия с компьютерной обучающей системой;

- работа с меню команд;

- навигация по учебному материалу при помощи панели ссылок в режиме доступа;

- ограничение доступа к ссылкам при несовместимости режимов использования (например, при тестировании).

Учитывая специфику компьютерных обучающих систем, для которых проектируется унифицированная модель графического пользовательского интерфейса, предлагается создание, кроме главного (первичного) окна программы, следующих типов окон [3]:

- дочерние - окна, имеющие «привязку» к началу координат первичного окна;

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

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

На основе объектно-ориентированного подхода к проектированию GUI с использованием стандартного языка моделирования Unified Modeling Language (UML) эти интерфейсные окна реализуются в проекте соответственно классами SecWindowUn, SecWindowMod и SecWindow-Par, которые являются наследующими по отношению к классу WindowClass, определяющему общие свойства всех окон интерфейса. Каждое новое открываемое окно будет являться экземпляром одного из этих классов.

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

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

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

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

Для выявления оптимального набора классов и отношений, задействованных в создании окон графического пользовательского интерфейса, был использован шаблон модельного каркаса ResourseAllocation метода Catalysis, описывающий создание объектов с учётом параметризованного ресурса [4]. Конкретизация данного шаблона модельного каркаса путём замены абстракций понятиями данной предметной области позволила создать модельный каркас Window Creation, применение которого даёт возможность формировать объекты интерфейсных окон любого из трёх вышеописанных классов в рамках одной архитектуры (рис. 1).

FormController

windowtype

использует

создает

представляет

Рис. 1. Модельный каркас Window Creation

В данном каркасе создание продукта (интерфейсного объекта - Window) является результатом работы контроллера окон FormController, зависящего от типа окна WindowType. Родительским классом создаваемого объекта является класс, заполняющий поле WindowClass в соответствии с типом окна. Полученный объект - окно будет обладать всеми необходимыми свойствами, характерными для окон его класса. При этом следует подчеркнуть отличие наследования от классического, поскольку инстанцированный класс наследует все ассоциации с их кратностью.

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

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

Рис. 2. Фрагмент диаграммы классов для создания окна

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

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

Заключение

На основе объектно-ориентированного метода с использованием языка моделирования Unified Modeling Language создана проектная модель системы поддержки графического пользовательского интерфейса компьютерной обучающей системы, реализующая базовые функции оконного интерфейса с возможностью их расширения и дополнения. Применение модельного каркаса ResourseAllocation метода Catalysis позволило объединить однотипные операции по созданию окон различных типов в одну, а также сделать эту операцию компактной. Предложенный подход к разработке графического пользовательского интерфейса на основе идеи модельного каркаса существенно ускоряет процесс проектирования и делает возможным получение унифицированной модели интерфейса.

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

1. Брукс Ф. Мифический человеко-месяц / Пер. с англ. - СПб.: Символ-Плюс, 2005. - 304 с.

2. ЧертковаЕ. А. Разработка компьютерных обучающих систем. - Саратов: Сарат. гос. техн. ун-т, 2005. - 175 с.

3. Раскин Д. Интерфейс: новые направления в проектировании компьютерных систем / Пер. с англ. -СПб.: Символ-Плюс, 2004. - 272 с.

4. Грэхем И. Объектно-ориентированные методы. Принципы и практика / Пер. с англ. - М.: Изд. дом «Вильямс», 2004. - 880 с.

Получено 7.11.2006

APPLICATION OF MODEL FRAMEWORK FOR DESIGN OF THE GRAPHIC USER INTERFACE

E. A. Chertkova

An object-orientated method is suggested for projecting of graphic user interface with Unified Modeling Language, using model framework ResourseAllocation of Catalysis method. The results of the interface projected model visualization are presented.

i Надоели баннеры? Вы всегда можете отключить рекламу.