МОДЕЛЬНО-ОРИЕНТИРОВАННОЙ ПОДХОД К МОДЕЛИРОВАНИЮ ПОЛЬЗОВАТЕЛЬСКИХ ИНТЕРФЕЙСОВ - Студенческий научный форум

VI Международная студенческая научная конференция Студенческий научный форум - 2014

МОДЕЛЬНО-ОРИЕНТИРОВАННОЙ ПОДХОД К МОДЕЛИРОВАНИЮ ПОЛЬЗОВАТЕЛЬСКИХ ИНТЕРФЕЙСОВ

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

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

Использование теории графов для моделирования является целесообразным по ряду причин:

  • позволяет упростить логику пользовательского интерфейса за счет формальной структуризации приложения;

  • позволяет в явном виде определить состояния приложения и задать варианты поведения при переходах приложения из одного состояния в другое;

  • позволяет наглядно представить состояния, в которых может находиться приложение;

  • позволяет использовать несколько конечных автоматов, для каждого из которых определяется собственный набор вариантов поведения приложения;

  • централизация и инкапсуляция управления состояниями.

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

Использование теории графов для описания взаимодействий в ИС было положено в работе Уорда Канингема и Кента Берка [1]. В ней для снижения сложности понимания программ написанных на языке Smalltalk а также для обнаружения, локализации и устранения ошибок применяются графы. Графы в данной работе используются для определения и классификации сообщений с помощью которых происходит взаимодействие объектов во время выполнения программ. Более широкое применение графов было предложено в работе Кайна [2] где на ряду с использованием графов для описания вызовов методов было предложено применять графы для определения наследования, агрегации и использования объектов. Такой подход применим для объектно-ориентированных программ и приводит к устранению дублирования кода и сложности понимания системы в целом за счет установления ответственности типов графа за спецификацию аспектов поведения программы. Так же как и в [1] Эллис в своей работе [3] применил теорию графов для спецификации объектно-ориентированных парадигм. Основой для спецификации проектных метрик в работе Чидамбера [4] являются элементы теории графов. Бураков В.В. в своей работе [5] предлагает метод моделирования программного средства для решения задач оценивания и управления качеством и адаптации модели к изменяющимся целям моделирования. Таким образом теория графов широко применяется в работах по программной инженерии как российских так и зарубежных авторов.

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

При модельно-ориентированной разработке Web-интерфейсов, ориентированных на обработку данных, выделяют три уровня: уровень данных, который описывает структуру данных предметной области; уровень навигационных структур и уровень пользовательского интерфейса. Кроме того, необходимо предусмотреть возможность описания настройки и адаптации содержимого и представления Web-интерфейса под конкретного пользователя. Уровень представления отделяет задание содержимого Web-страниц от их стилей и форматирования, позволяя задавать различные представления для одного и того же информационного наполнения. Уровень настройки отделяет ее от других аспектов проектирования, облегчая работу разработчикам, которым не нужно принимать во внимание, что может быть подвергнуто настройке для конкретного пользователя, на этапе задания навигационных структур или интерфейса пользователя.

Схема моделирования веб-приложения:

1. Разрабатывается UML-диаграмма классов уровня данных, определяющая сущности предметной области и отношения между ними (в терминах архитектурных шаблонов – модель).

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

3. Верхний уровень абстракции модели навигационных структур разрабатывается в виде UML-диаграммы вариантов использования. Каждый вариант использования определяет свою специфическую логику и отвечает за отдельный пользовательский интерфейс (набор web-страниц). Моделирование прав доступа на основе ролей осуществляется с помощью связывания вариантов использования с акторами.

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

5. Вызов бизнес-логики с уровня пользовательского интерфейса должен обрабатываться контроллером, который на UML-диаграмме состояний задается дочерним элементом - классом. Это позволит использовать архитектурные шаблоны проектирования.

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

На рисунке 1 приведена схема моделирования веб-приложения

Рис. 1 - Схема моделирования веб-приложения

Переход от платформенно-независимой модели к платформенно-зависимой является трансформацией по заданной спецификации, содержащей формальное описание преобразования модели общего вида к конкретной платформе реализации.

Входными данными механизма трансформации являются:

  • Метамодели каждого вида моделей;

  • Множество исходных моделей;

  • Описание правил трансформации.

Результаты применения механизма трансформации:

  • Множество исходных моделей; преобразованных к виду пригодному для применения правил трансформации;

  • Множество сгенерированных моделей, созданных в процессе трансформации.

Для описания правил трансформации представим модели в виде графов. Это позволит применять автоматическую верификацию и валидацию трансформаций.

Ориентированным графом называется граф, ребрам которого присвоено направление. Ориентированный граф G = (V, E, s, t) состоит из конечного множества вершин V и конечного множества ребер (дуг) E. Каждое ребро соединяет упорядоченную пару вершин. Вершины обозначаются v1, v2, …vn... а ребра — е1, е2…,еm... Если еk = (vi,vj), то vi называется начальной вершиной ребра еk, a vj — конечной. Ребра, связывающие одну и ту же упорядоченную пару вершин, называются параллельными. Если вершина vi является одновременно начальной и конечной вершиной, ребро называется петлей. Функции s: Е→V и t: Е→V для каждого ребра ставят в соответствие в точности одну начальную и одну конечную вершины.

Помеченным графомназывается граф, вершинам или дугам которого присвоены какие-либо метки. Пусть L (VL, EL), R (VR, ER) – пара непересекающихся множеств меток и ролей соответственно. (L, R)-помеченный граф G = (g, l, r), где

• g = (V, E, s, t) – граф;

• l =(vl: V→VL, el: E →EL) – функции расстановки меток вершинам и ребрам соответственно;

• r = (vr: V→ VR, er: E→ ER) – функция отображения вершин на множество ролей. Метки определены для идентификации вершин и ребер, роли для описания контекста использования сущности

Помеченным типизированным графом называется помеченный граф,вершины и ребра которого типизированы. Тип вершины или ребра представляет собой совокупность атрибутов (свойств), приписываемых вершинам и ребрам: T = (VT, ET) где VT- множество предопределенных типов вершин и ET - множество предопределенных типов ребер. (L, R)-помеченный T-типизированный граф G=( g, type), где g – (L, R)-помеченный граф, а type = (vt: V → VT, et: E→ ET) –функции, ставящие в соответствие тип для каждой вершины и ребра.

Определим множество типов вершин VT и множество типов ребер ET. Множество VT представляет собой множество вида (typeid, typename, A), где typeid – идентификатор типа, typename – имя типа, А – подмножество множества доступных атрибутов Attributes. Множество ET представляет собой (typeid, typename, A, directed, restricted, vth, vtt), где typeid – идентификатор типа; typename – имя типа; А ⊆ Attributes; directed ∈ {true, false} – флаг направленности ребра; restricted ∈ {true, false} –флаг определенности типов вершин, связанных с ребром; vth ∈ VT – тип исходящей вершины ребра; vtt ∈ VT – тип входящей вершины ребра. Для любого типа T ∈ ET если restricted(T) = true, то значения vth и vtt определены; если же restricted(T) = false, то значения vth и vtt не определены. Для направленных ребер с определенными начальными и конечными вершинами будем применять сокращенную запись: typename: vth→ vtt.

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

Продукция состоит из шаблона заменяемого графа в левой части L, шаблона графа назначения в правой части R и частичного морфизма р, описывающего процесс трансформации, т.е. набор преобразований приводящий к включению графа R в качестве подграфа графа G. Применение правил трансформации может зависеть от набора условий накладываемых на исходный или трансформированный граф. В таких случаях применяется условная продукция , где p – частичный графовый морфизм и cond(p) условия применения.

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

Список использованной литературы

  •  
    1. Cunningham W. A Diagram for Object-Oriented Programs / W. Cunningham, K. Beck .//OOPSLA '86 Conference proceedings on Object-oriented programming systems, languages and applications [Electronic resource]. – Electronic data . – 1986. - Vol. 21, issue 11. - P. 361-367. - Mode of access : http://dl.acm.org/citation.cfm?id=28734

    2. Kleyn M.F. GraphTrace - Understanding Object-Oriented Systems Using Concurrently Animated Views / M.F. Kleyn, PP.C. Gingrich //OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications [Electronic resource]. – Electronic data . – 1988. - Vol. 23, issue 11. - P. 191-205. - Mode of access : http://dl.acm.org/citation.cfm?id=62101

    3. Ellis G. Object-Oriented Conceptual Graphs / Proceedings of the 3rd International Conference on Conceptual Structures [Electronic resource]. – Electronic data . – 1995. - P. 144-257. - Mode of access : http://link.springer.com/chapter/10.1007%2F3-540-60161-9_35

    4. Chidamber S.R., Kemerer C.F. Towards a Metrics Suite for Object-Oriented Design / S.R. Chidamber, C.F. Kemerer //OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages and applications [Electronic resource]. – Electronic data . – 1991. - Vol. 26, issue 11. - P. 197-211. - Mode of access : http://dl.acm.org/citation.cfm?id=117954.117970

    5. Бураков В.В. Модели оценивания и алгоритмы управления качеством программных средств: автореф. дис. ... д-ра тех. наук / Бураков Вадим Витальевич. [Электронный ресурс]. – СПб, 2010. – 42 с. – Режим доступа: http://guap.ru/guap/main/avtoref_burakov.pdf

Просмотров работы: 1276