WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

загрузка...
   Добро пожаловать!

Pages:     | 1 ||

Для предлагаемого языка, включая все перечисленные выше расширения, описывается формальная семантика.

Четвертая глава посвящена моделированию пользовательского интерфейса ИС. Рассматриваются существующие подходы к модельноориентированной разработке пользовательского интерфейса (Model-Based User Interface Development, MBUID) [5,8]. Как отдельное направление рассматриваются средства моделирования Web-интерфейсов, проводится сопоставление моделей, используемых в MBUID и Web-моделировании.

Выделяются два основных способа построения модели интерфейса – на основе модели задач и на основе модели предметной области.

Выделяются два уровня в оконном интерфейсе пользователя:

• Макроуровень, описывающий набор окон и связей между ними.

Связи обозначают возможность вызова одного окна из другого.

• Микроуровень, описывающий набор элементов управления каждого окна и свойства этих элементов управления.

Соответственно, модель интерфейса можно разделить на макромодель и набор микромоделей (для каждого окна).

На макроуровне выделяются несколько типов наиболее часто встречающихся окон:

1. Список, отображающий множество однородных объектов.

2. Карточка, позволяющая просматривать и редактировать свойства одного объекта.

3. Форма-отношение, реализующая связь «многие ко многим».

Формы этих типов могут быть связаны следующим образом:

1. Список с карточкой для просмотра и редактирования элемента списка. Позволяет пользователю просматривать/редактировать информацию об отдельном объекте, а также создавать новые объекты.

2. Карточка со списком или отношением для связанных объектов.

Позволяет из карточки объекта переходить к просмотру/редактированию его связей с другими объектами. Связи этого вида можно инкапсулировать в составное окно – т.е. можно сгенерировать окно, состоящее из карточки и связанных с нею списков.

3. Отдельные элементы одного окна с другим окном – например, возможность вызова списка или карточки из фильтра или поля выбора.

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

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

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

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

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

Рассматриваются следующие способы разрешения этого противоречия:

1. Разделение сгенерированного кода на компоненты, одни из которых не требуют модификации, а другие подвергаются модификации в процессе доработки и сопровождения программного кода.

Перегенерация используется только для компонент первого вида, компоненты второго вида сопровождаются «вручную».

2. Ведение учета «ручных» изменений сгенерированного кода и их повторное внесение после каждой перегенерации.

3. Выделение модификаций кода в отдельные компоненты с автоматическим добавлением их в итоговую программу. Основные способы осуществления такого добавления – это использование препроцессора целевого языка, директив сборщика, специально написанных для этой цели программ (обычно, скриптов) или препроцессоров (например, фреймовых или аспектных), а при объектно-ориентированном подходе – использование полиморфизма (шаблон проектирования «Generation Gap»).

4. Расширение источников информации для кодогенерации – использование дополнительных моделей, расширение набора свойств элементов модели. При этом количество «ручных» изменений уменьшается за счет того, что специфичную семантику, которая вынуждает вносить эти изменения, удается внести в модель, используемую для генерации.

5. Выделение «ручных» изменений из кода системы путем автоматического анализа измененного текста программы и автоматическое внесение их при перегенерации.

Перечисленные выше способы анализируются с точки зрения применимости их к различным компонентам ИС.

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

В шестой главе описывается реализация предложенных подходов на различных платформах – Windows (Visual Basic), J2SE и J2EE (Web).

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

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

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

Дополнительная оптимизация достигается за счет учета зависимостей между полями и передачи дополнительной информации между формами (вместо повторного запроса к базе данных).

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

В качестве конкретных направлений исследований определены следующие:

• В области моделирования расширенных ограничений ссылочной целостности – использование рекурсивных связей между объектами при описании контекста ограничения.

• В области моделирования пользовательского интерфейса – добавление новых элементов в его макрометамодель, выявление и формализация новых типов форм и новых возможностей по построению составных форм.

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

• Поддержка разработки линеек (product line) и семейств (product family). Реализация такой поддержки в REAL-IT требует создания средств для их моделирования, включая описание общих частей и специализаций для каждого из членов семейства, а также использование этих моделей в генераторах для порождения кода.

• Использование в дополнение к модели данных для реализации системы модели бизнес-процессов. Генерации кода на основе нескольких независимых моделей, каждая из которых описывает систему со своей точки зрения, является одной из наиболее актуальных, на сегодняшний день, нерешенных проблем в области использования модельно-ориентированных подходов к разработке ПО.

В заключении приводятся основные результаты работы.

Список литературы 1. Максимчук Р., Нейбург Э. Проектирование баз данных с помощью UML: Пер. с англ. — М.: Вильямс, 2002. — 288 с.

2. Balzert H. From OOA to GUIs — the JANUS System // Journal of ObjectOriented Programming — 1996. — Vol. 8. N 9. — P. 43-47.

3. Bottoni P. at al. A Visualization of OCL using Collaborations // Unified Modeling Language — Modeling Languages, Concepts, and Tools (UML'2001). — Springer, 2001. — P. 257-271.

4. Ceri S., Fraternali P., Bongio A. Web Modeling Language (WebML): a modeling language for designing Web sites // Computer Networks. — 2000. — Vol. 33. N 1. — P. 137-157.

5. da Silva P. User Interface Declarative Models and Development Environments: A Survey // Lect. Notes Comput. Sci. — 2000. — Vol. 1946. — P. 207-226.

6. Fowler M. What Is the Point of the UML // Lect. Notes Comput. Sci. — 2003. — Vol. 2863. — P. 325.

7. Kent S. Constraint Diagrams: Visualising Invariants in Object-Oriented Models. // ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages & Applications (OOPSLA '97). — ACM Press, 1997.

— P. 327-341.

8. Schlungbaum E. Model-Based User Interface Software Tools. Current state of declarative models. — Atlanta, 1996. — (Tech. Rep. / Graphics, Visualization & Usability Center / Georgia Institute of Technology).

Работы автора по теме диссертации 9. Иванов А.Н. Графический язык описания ограничений на диаграммы классов UML // Программирование. — 2004. — N 4. — С. 204-208.

10. Иванов А.Н. Механизмы поддержки циклической разработки ИС в рамках модельно-ориентированного подхода // Системное программирование. — СПб, 2004. — С.101-123.

11. Иванов А.Н. Технологическое решение REAL-IT: создание информационных систем на основе визуального моделирования // Системное программирование. — СПб, 2004. — С.89-100.

12. Иванов А.Н., Стригун С.А. Технологическое решение REAL-IT:

Моделирование и генерация пользовательского интерфейса // Системное программирование. — СПб, 2004. — С.124-147.

13. Стригун С.А., Иванов А.Н., Соболев Д.И. Технология REAL для создания информационных систем и ее применение на примере системы «Картотека» // Математические модели и информационные технологии в менеджменте. Выпуск 2. — СПб, 2004. — С.120-139.

14. Худякова Ю.М., Иванов А.Н., Васильева Н.С. Информационная система «Студент». Механизм распределения прав доступа. // Телематика-2003: Тез. докл. Всерос. науч.-методич. конф. — СПб, 2003.

15. Стригун С.А., Иванов А.Н. Опыт создания автоматизированной системы управления учебным процессом ВУЗа. // Телематика-2002:

Тез. докл. Всерос. науч.-методич. конф. — СПб, 2002.

16. Иванов А.Н. Высокоуровневый механизм описания прав доступа на разрабатываемую программную систему // Объектноориентированное визуальное моделирование. — СПб, 1999. — С. 7885.

17. Терехов А.Н., Романовский К. Ю., Кознов Дм.В., Долгов П.С., Иванов А.Н. Real: Методология и CASE-средство для разработки систем реального времени и информационных систем // Программирование — 1999. — N 5. — С. 44-51.

18. Терехов А.Н., Романовский К.Ю., Кознов Дм.В., Долгов П.С., Иванов А.Н. Объектно-ориентированная методология разработки информационных систем и систем реального времени // Объектноориентированное визуальное моделирование. — СПб, 1999. — С.4-20.

Подписано к печати..2005. Формат бумаги 60х84 1/16.

Бумага офсетная. Печать ризографическая.

Объем 1 усл. п.л. Тираж 100 экз. Заказ.

Отпечатано в отделе оперативной полиграфии НИИХ СПбГУ с оригинал-макета заказчика.

198504, Санкт-Петербург, Старый Петергоф, Университетский пр., 26.

Pages:     | 1 ||






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»