Диссертация (1090633), страница 18
Текст из файла (страница 18)
Соответственно, O={D,G,L,S, I}.Онтология связи I1 есть отображение NameD NameG,онтологиясвязи I2 определяет взаимно-однозначное соответствие NameD NameL.Таким образом, модель пользовательского интерфейса прикладной программыIM= <D,G , L, S,I>можно рассматривать как совокупность следующих моделей: системы понятий предметной области, выразительных средств интерфейса, прикладной программы, сценария диалога, соответствий между моделями системы понятий предметной области и выразительных средств, между моделями системы понятий и прикладной программы.Система разработки пользовательского интерфейса решает ряд задач, методы решения которых предоставляются системой управления знаниями.
Семантическая модель части задач системы разработки пользовательского интерфейсапредставлена на рисунке 49.94Рисунок 49. Модель задач системы разработки пользовательского интерфейса.Онтологии пользовательского интерфейса (онтология GUI) определяетконцепции,необходимыедлямоделированияразличныхаспектовпользовательского интерфейса приложения. Презентационная модель определяетразличные аспекты представления, как всего портала, так и его отдельных частей страниц, форм, визуальных компонент. Построение презентационной моделивключает в себя ряд последовательных шагов:1.
Определениевидов.Видассоциируетсясопределенныминформационным классом и является одним из его возможных представлений.Вид является композицией отдельных визуальных элементов, каждый из которыхв свою очередь ассоциируется с определенным атрибутом информационногокласса, строкой или результатом выполнения какой-то операции.2. Определение стилей. Стили определяют эстетическое, позиционное иэргономически оправданное представление как вида, так и его элементов. Стилиопределяются путем описания в стандарте каскадных стилевых таблиц.Построение презентационной модели имеет целью генерацию визуальныхкомпонентов, отвечающих за отображения ресурсов портала.
В связи сразнообразнымивозможностямиотображения(видов),разработкапрезентационной модели может включать в себя деятельность следующих типов:1. Определение динамических видов, связанных с информационнымиобъектами.2. Определение стилей отображения видов и составляющих их элементов.Презентационная модель строится на основе онтологии пользовательскогоинтерфейса и связей ее с другими частными онтологиями через соответствующиеадаптеры. Онтология включает классы и связи, необходимые для моделированиякак видов отдельных контент-типов, так и видов, определяющих общее,независимое от контент-типов представление портала.В качестве абстрактной модели выберем онтологию RIAInterfacesDescriptionOntology (IDO), определяющую способы представления информационныхобъектов через визуальные элементы [94].
Структура онтологиипользовательского интерфейса, построенная на ее основе, представлена нарисунке 50.95Рисунок 50.Онтология презентацииС использованием онтологии пользовательского интерфейса создается базазнаний пользовательского интерфейса приложения, определяющая, какимобразом элементы информационной модели будут представляться пользователюинформационной системы. В онтологии пользовательского интерфейсаопределены понятия Абстрактный элемент и Конкретный элемент дляпостроения моделей пользовательского интерфейса, типы визуальных элементов,их геометрические и стилевые характеристики. Моделирование состоит впостроении иерархической структуры из классов, наследующих классАбстрактный элемент и связей @Абстрактный элемент.состоитиз=@Абстрактный элемент. Спецификации конструкционных элементовпользовательского интерфейса производится применением операции96Отобразить:@Абстрактный элемент→ @Конкретный элемент,производимой либо в ручном режиме, либо автоматически на основе системыправил отображения.
На этом шаге определяются геометрические и другиепараметры элементов презентационного объекта, такие как их размеры ивзаиморасположение.В онтологии определен ряд концептов:Класс Абстрактный элемент представляет всевозможные абстрактныевизуальные элементы и включает в себя ряд подклассов:CompositeInterfaceElementпредставляетобъединениеабстрактныхэлементов;ElementExhibitor представляет элементы, которые публикуют контентразличного типа, такой как текст или изображение;IndefiniteVariable представляет элементы пользовательского ввода, такие кактекстовый блок или форма;PredefinedVariable представляет элементы, которые могут быть выбраны измножества предопределенных элементов, такие как кнопки или флажки;SimpleActivator представляет элементы, генерирующие события, такие какпереход по ссылке или нажатие кнопки.ПодклассомCompositeInterfaceElementявляетсяклассВид(View),предназначенный для отображения выполнения отдельной задачи изпользовательской модели портала.
Такой вид может состоять из одного илинескольких «экранов», представленных в онтологии классом Экран. Вид можетсостоять из одного или нескольких «экранов», представленных в онтологииклассом Экран» (Screen). Последовательность представления экрановопределяется взаимосвязью классов Вид и Список экранов и упорядоченностью,определяемой классом Список из онтологии информационных элементов:Вид.список_экранов=Последовательность_экрановСписок_экранов.метатип=OInfo:Список(Элемент=Экран).Каждый отдельный вид ассоциируется с отдельным информационнымклассом, определенным в информационной модели портала и определяет способпредставления информационных объектов:OGui:@Вид.источник данных= OInfo:@Информационный элемент.Одному информационному классу может соответствовать несколько видов:OInfo:@Информационный элемент.имеет_вид = {OGui:@Вид}.Их количество и функциональность определяется моделью задачпользователя.Для представления визуальных элементов динамических веб-странициспользуются подклассы класса DHTMLInterfaceElement:DHTMLRichControl визуальный элемент, являющийся сложным элементов,использующим технологииHTMLDOM + Javascript + CSS.
В частности,97используется для представления визуальных элементов внешних библиотеккомпонентов, таких как плагины JQuery, виджеты библиотеки YUI и т.п.;HTMLTag визуальный элемент, представляющий HTML-тэги.Объектное свойство mapsTo используется для отображения классов AbstractInterfaceElement и AbstractInterface в классы ConcreteInterfaceElement, чтопозволяет производить автоматическую генерацию пользовательскогоинтерфейса. Определение способа публикации визуального элемента специфичнодля каждой используемой технологии публикации и специфицируетсяподклассами ConcreteInterfaceElement, представляющего реальный визуальныйтип конкретной системы публикации.При построении пользовательского интерфейса выделяется несколькоэтапов: Этап построения абстрактной модели интерфейса. Этап моделирования конкретных визуальных элементов Этап связывание абстрактных элементов интерфейса с конкретнымивизуальными элементами, включающий определение внешних источников,данных для них.На первом уровне онтологии классифицируются концепты UI в соответствиис их функциональным поведением.
Примитивами моделирования в абстрактноймодели пользовательского интерфейса являются визуальные блоки, критериемвыделения для которых является либо тип информации, значимый дляпользователя, либо функция, которую реализует этот блок в пользовательскоминтерфейсе. Моделирование ведется в понятиях GuiView, AbstractInterface,AbstractInterfaceElement. Модель интерфейса пользователя определенаотношениями:OGui.GuiView. AImapTo=OGui.ConcreteInterfaceElementOGui.GuiView.hasAbstartractInterface=OGui.AbstractGuiClassOGui.AbstractInterfaceSubClassOf(OGui.AbstractGuiClass)OGui.AbstractInterfaceElement =SubClassOf(OGui.AbstractGuiClass)Для выделения видов, присущих веб-приложениям введем два класса,наследующих GuiVeiw — HTMLPage и HTMLForm, представляющих обобщеннуювеб-страницу и форму ввода данных соответственно.На этапе моделирования конкретных визуальных элементов создается наборконкретных визуальных элементов.
Процесс моделирования конкретныхвизуальных элементов аналогичен моделированию абстрактных визуальныхэлементов, за исключением того, что используется класс ConcreteInterfaceElementи его наследники. На основе полученных классов создаются их индивидуалы, вкоторых конкретизируются параметры конкретного визуального элемента.Структура класса GuiView представлен на рисунке 51.98Рисунок 51. Структура класса GuiViewДля каждого узла портала должен быть определен способ и формапредставления данных, доступных пользователю.