автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Анализ и разработка методов и средств моделирования интернет-приложений
Автореферат диссертации по теме "Анализ и разработка методов и средств моделирования интернет-приложений"
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
На правах рукописи
Горшкова Екатерина Александровна
Анализ и разработка методов и средств моделирования интернет-приложений
05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
АВТОРЕФЕРАТ
диссертации на соискание ученой степени кандидата физико-математических наук
Санкт-Петербург 2005
Работа выполнена на кафедре информатики математике- механического факультета Санкт-Петербургского государственного университета.
Научный руководитель: доктор физико-математических наук,
профессор Новиков Борис Асенович
Официальные оппоненты: доктор физико-математических наук,
профессор Терехов Андрей Николаевич
кандидат физико-математических наук Новиков Федор Александрович
Ведущая организация: Институт системного программирования
РАН
Защита диссертации состоится "_"_ 2005 года в_
часов на заседании диссертационного совета Д212.232.51 по защите диссертаций на соискание ученой степени доктора наук при Санкт-Петербургском государственном университете по адресу: 198504, Санкт-Петербург, Старый Петергоф, Университетский пр., д. 28, математико-механический факультет Санкт-Петербургского государственного университета.
С диссертацией можно ознакомиться в Научной библиотеке Санкт-Петербургского государственного университета по адресу: 199034, Санкт-Петербург, Университетская наб., д. 7/9.
Автореферат разослан "_"_
Ученый секретарь диссертационного совета доктор физико-математических наук, профессор
2005 года.
- Б.К.Мартыненко
¿M&03
Общая характеристика работы
Актуальность темы
Все больше приложений, обеспечивающих информационную поддержку организаций, реализуются как web-приложения. В таких областях как электронная коммерция, электронные библиотеки или дистанционное обучение использование гипертекстовых интерфейсов давно стало общепринятым стандартом. Данные в web-приложениях часто меняются, хранятся в различных местах, используют различные структурированные и неструктурированные форматы. Практика показывает, что качественная разработка web-приложений невозможна без предварительного проектирования [18].
Web-приложения должны быть спроектированы так, чтобы поддерживать по только изменения в данных, которыми оперирует само приложение, но также быть готовыми к возможному изменению требований, применяемых технологий и общей архитектуры. Все эти обстоятельства требуют хорошо организованного процесса проектирования.
Так как web-приложения сравнительно новая область, еще не существует проверенных методологий для их разработки и проектирования. В основном для создания web-приложений используется опыт, позаимствованный из разработки другого программного обеспечения: клиентско-серверных систем и объектно-ориентированных приложений [8, 11, 16, 19, 38]. Однако ни одна из таких методологий не поддерживает полный цикл разработки web-ириложений и не предоставляет интеграцию с готовыми программными компонентами, такими как библиотеки и каркасы. Поскольку в web-приложениях каркасы являются практически единственным повторно используемым решением, возможность интеграции с ними представляется очень актуальным вопросом.
Создание методологии, ориентированной именно на web-при-ложения, является актуальной темой и привлекает внимание многих современных исследователей. За последние несколько лет был предложен ряд таких методологий [20, 39, 35, 12, 41], и некоторые из них были поддержаны производителями инструментов для разработки приложений [12].
Актуален и важен вопрос раннего прототипирования web-при-
ложений. Ранее прототипирование полезно для пользователей, которые не являются экспертами в производстве программного обеспечения и ие могут понять, как будет выглядеть приложение, пока не увидят его прототип. Другая причина состоит в том, что даже опытным проектировщикам необходимо визуализировать результат их работы перед переходом к фазе реализации.
Весьма важен выбор языка моделирования. В настоящее время особое распространение получают методологии, основанные на универсальном языке моделирования (Unified Modeling Language или UML) [25,40,16], поскольку выбор стандартного языка моделирования позволяет использовать инструменты, поддерживающие UML.
Цели работы
Задачей данной диссертации является создание методологии моделирования web-приложений, ориентированных на интенсивную обработку данных, основанную на унифицированном языке моделирования (UML).
Предложенное решение должно удовлетворять следующим требованиям:
• предоставлять средства моделирования различных аспектов web-приложения, включая детальную модель бизнес-логики;
• обеспечивать логическую модель пользовательского интерфейса, не зависящую от применяемых технологий;
• поддерживать процесс прямого проектирования, генерирующий полностью работающий скелет web-приложсния, в котором реализована логическая структура web-страниц и логика переходов между страницами:
• обеспечивать интеграцию готовых библиотек и каркасов со сгенерированным программным кодом;
• предоставлять возможность быстро построить прототип пользовательского интерфейса.
Общая методика
Рассматривались известные подходы к разработке методов моделирования, информационных систем, методов моделирования. Был произведен сравнительный анализ разных методологий моделирования и инструментов, результаты были учтены при создании собственной методологии. Апробация системы проводилась на реальных проектах.
Основные результаты
В работе получены следующие основные результаты:
1. Произведен сравнительный анализ методологий, классифицированы инструменты разработчиков, обсуждены их достоинства, недостатки и проблемы интеграции. Результаты анализа учтены при создании собственной методологии.
2. Показано, что многие сложности моделирования \¥еЬ-при-ложений вызваны неоднородностью используемых инструментов, в частности отсутствием средств моделирования пользовательских интерфейсов на до1 ическом уровне.
3. Предложена методология моделирования web-lIpилoжeний, ориентированных на интенсивную обработку данных, основанная на унифицированном языке моделирования (11МЬ). Данная методология разбивает модель приложения на отдельные подсистемы и позволяет детально смоделировать каждую из подсистем и взаимосвязи между ними. Использование унифицированной нотации для описания всех подсистем позволяет проверить целостность модели и избежать многих ошибок на этапе проектирования.
4. Для предложенной методологии разработан процесс прямого проектирования. Результатом генерации программного кода является полиостью работающий скелет \теЬ-приложе-ния, в котором реализована логическая структура тлгеЬ-стра-ниц и логика переходов между страницами.
5. Создан иМЬ-профиль для моделирования рассматриваемого класса приложения. Формально опредена виртуальная метамодель профиля: стереотипы, именованные значения
и ограничения целостности. Данный профиль может быть встроен в любой UML-инструмент, поддерживающий расширения U ML.
6. Разработано расширение метамодели UML через MOF. Данное расширение использует семантику объектно-ориентированного моделирования, предоставляемую MOF, позволяя создать более ючную модель, чем при UML-профиле. Однако, для поддержки такого расширения требуется создание специального UML-инструмента.
7. Реализован прототип инструмента моделирования, поддерживающий UML-профиль предложенной методологии. Данный инструмент полностью поддерживает все диаграммы UML-профиля, позволяет построить модель каждой из подсистем и провести генерацию программного кода.
Научная новизна
Все основные научные результаты диссертации являются новыми.
Практическая и теоретическая ценность
Теоретическая ценность состоит в том, что разработана пошаговая методология проектирования рассматриваемого класса приложений, предложены модели для гипертекста, пользовательского иинтерфейса, контроллера приложений.
Практическая ценность состоит в том, что применение методологии формализует способ описания приложения, улучшает взаимодействие между разработчиками, позволяет построить прототип приложения на стадии проектирования. Данное исследование может быть использовано как разработчиками web-приложений, так и производителями интсрументов для разработки web-приложений.
Апробация работы
Результаты диссертации докладывались на конференции по базам данных и информационным системам (Baltic DB& IS, 2002, Таллинн, Эстопия) и на международной конференции по всемирной паутине (WWW2002, Гонолулу, Гавайи, США).
Апробация данной работы проводилась в компании eVelopers Corporation [3] на нескольких проектах. Для апробации был реализован прототип инструмента, который поддерживает предложенную методологию, позволяя создать модели и сгенерировать необходимые артефакты. Для реализации прототипа инструмента был выбран Together Control Center [13], имеющий открытый интерфейс прикладного программирования.
Публикации
Основные результаты диссертации изложены в четырех работах, перечисленных в конце автореферата.
Структура и объем диссертации
Диссертация состоит из 8 глав с нумерацией рисунков и таблиц по главам. Текст диссертации изложен на 96 страницах. Список литературы содержит 62 наименования.
Содержание работы
В первой главе кратко охарактеризован общий контекст исследований. Дано определение класса приложений, который будет рассмотрен в диссертации, сформулированы проблемы, возникающие при разработке данного класса приложений. Рассмотрены вопросы применения языков моделирования, дано введение в UML. В частности, описаны два способа расширения языка UML: через создания профиля и через meta object facility (MOF) [22]. В конце главы четко сформулирована постановка задачи.
Во второй главе приводится обзор различных методологий разработки web- и гипермедиа-приложений. Делается вывод, что большинство методологий описывает три аспекта web-приложе-ний:
• Структура описывает организацию информации в терминах сущностей, отвечающих за содержание приложение, и взаимосвязей между ними.
• Навигация описывает способы доступа к информации и перемещение между различными элементами приложения.
• Представление отвечает за то. как содержание приложения и команды навигации представлены пользователю.
Производится сравнительный анализ методологий по разным критериям, отмечаются их достоинства и недостатки. Классифицируются различные инструменты для разработки web-приложений.
В третьей главе детально описывается предлагаемая методология проектирования web-приложений. Объясняется, что жизненный цикл web-приложений описывается объединением жизненного цикла традиционных информационных систем и процессом моделирования структурированного гипертекста.
Основное внимание уделяется фазе проектирования. Процесс проектирования состоит из последовательности шагов на каждом из которых строится модель некоторого аспекта приложения.
1. Варианты использования. (Use Cases) На первом таге строится модель вариантов использования, которые широко применяются для определения функциональности приложения, видимой внешним пользователям.
2. Навигационная модель. На этом шаге проектируется гипертекстовая структура web-приложения. Эта модель описывает, какие страницы входят в приложение и каким образом между ними осуществляется переход.
3. Концептуальная модель. В этой модели определяеются все сущности приложения и взаимосвязи между ними. Конце-пуальная модель описывается при помощи диаграммы классов, при этом описывается абстрактно, независимо от выбранных технологий. Также в этой модели описываются все ограничения целостности, которым должны удовлетворять данные приложения.
4. Композиционная модель. Эта модель, для построения которой используется диаграмма классов, отвечает за проектирование структуры страниц. Каждой странице соответствует какой-то UML-класс. Все элементы страницы, такие
как ссылки, кнопки, картинки, моделируются как атрибуты этой страницы.
5. Модель контроллера приложения. Данная модель используется для детального моделирования бизнес-логики приложения. Модель контроллера приложений представляет собой частный случай модели состояний и переходов. Она уточняет навигационную модель, оставляя неизменными все пользовательские состояния, соответствуюгцие страницам, и топологию переходов.
В четвертой главе описываются понятия, необходимые для формального описания иМЬ-профиля. Предложенный в данной работе иМЬ-профиль базируется на метамодели иМЬ и расширяет базовые понятия только там, где это действительно необходимо. Описание ИМЬ-профиля сгруппировано по предложенным моделям: навигационной, композиционной и модели контроллера приложений. В тех случаях, где это возможно описание ограничений целостности сформулировано с использованием ОСЬ.
В пятой главе описывается МОР-метамодель для предложенного расширения ИМЬ. Основной недостаток использования иМЬ-профиля заключается в том, что невозможно использовать всю мощь объектно-ориентированного моделирования. Например, в профиле невозможно определить ассоциации между новыми элементами. Эти недостатки устраняются при создании МОР-метамодели.
В шестой главе рассматривается фаза разработки, на которой построенные модели преобразуются в программный код. Показывается, как результаты применения предложенной методологии могут быть использованы для генерации различных выходных артефактов.
В частности, описывается:
• построение прототипа пользовательского интерфейса;
• построение скелета приложения;
• генерирование кода для проверки правильности пользовательского ввода;
• создание проектной документации;
Седьмая глава содержит описание прототипа, и восьмая глава представляет основные результаты.
Список литературы
[1| А.Н. Терехов, К.Ю. Романовский, Дм.В. Кознов. П.С. Долгов, А.Н. Иванов. Real: Методология и case-средство для разработки систем реального времени и информационных систем. Программирование, (5), 1999.
[2] А.Н. Иванов, С. А. Стригун. Технологическое решение real-it автоматизированная разработка пользовательского интерфейса информационных систем. Системное Программирование, 2004.
f3] Evelopers corporation, http://www.rvrlopers.com.
[4] Fedex. http://www.fedex.com.
[5] Александр Вендров. CASE-технологии. Современные методы и средства проектирования информационных систем. Финансы и статистика, 1998.
[6] Елена Чулкова. Моделирование и генерация web-приложений, 2004. Дипломная работа, Кафедра Системного Программирования, СПбГУ.
[7] Александр Иванов. Технологическое решение real-it: создание информационных систем на основе визуального моделирования. Системное Программирование, 2004.
[8] СТ Arrington. Enterprise Java with UML. Willey Computer Publishing, 2001.
[9] Batini C., Ceri S., and Navathe S.B. Conceptual Database Design-An Entity-Relationship Approach. Benjamin Cuinmings, 1992.
[10] Stefano Ceri, Piero Fratemali, and Aldo Bongio. Web modeling language (webml): a modeling language for designing web sites. Computer Networks, 33(1-6):137-157, 2000.
[11] P. P. CHEN. The entity-relationship model: Toward a unified view of data. ACM Trans. Database Syst., l(l):9-96, 1976.
[12] .7. Conallen. Modeling web application architectures with UML. Comm. ACM, 42(10), 1999.
[13] Borland Corporation. Enterprise studio for java. http://www. borland. com/estudwjava.
[14] IBM Corporation. Rational rose. http://www-306. ibm. com/software/rational/.
[15] Microsoft Corporation. Microsoft FrontPage. http://www. microsoft, com/frontpage/.
[10] M. Fowler and K. Scott. UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley-Longman, 1997.
[17] Martin Fowler. Analysis Patterns: Reusable Object Models. Addison-Wesley, 1997.
[18] P. Fratcrnali. Tools and approaches for developing data-intensive Web applications: a survey. A CM Computing Surveys, 31(3):227-263, 1999.
[19] Booch G. Object-Oriented Analysis and Design with Applications. Addison-Wesley-Longman, 1994.
[20] F. Garzotto, P. Paolini, and D. Schwabe. HDM - A modelbased approach to hypertext application design. ACM TOIS, ll(l):l-26, 1993.
[21] Tony Griffiths, Jo McKirdy, G. Forrester, Norman W. Paton, Jessie B. Kennedy, Peter J. Barclay, Richard Cooper, Carole A. Goble, and Philip D. Gray. Exploiting model-based techniques for user interfaces to databases. In VDB, pages 21-46, 1998.
[22] Object Management Group. Mcta object facility specification, version 1.4. http://www.omg.org.
[23] Object Management Group. Object Constraint Language Specification. http://www. omg. org/uml.
[24] Object Management Group. Object management group - the official web site, http://www.omg.org.
[25] Object Management Group. Unified Modeling Language Specification. htfp://www. omg. org/uml.
[26] F. Halasz and M. Schwartz. The dexter hypertext reference model. Commun. ACM, 3(2):30-39, 1994.
[27] David Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3):231 274, June 1987.
|28] Macromedia Inc. Macromedia ColdFusion.
h ttp://www. macro media, com/software/coldfusion.
|29] Macromedia Inc. Macromedia Dreamweaver
http://www. macromedia, com/software/dreamweaver/.
[30] Macromedia Inc. Macromedia HomeSite. http://www. macromedia, com/software/homesite/.
[31] Pervasive Software Inc. EveryWare Tango. http://www.pervasive, com/.
[32] Sun Microsystems Inc. Java 2 enterprise edition platform. http://java. sun.com/j2ee.
[33] Website Pros Inc. NetObjects Fusion. http://www. netobjects. com/.
[34] YesSoftwarc Inc. CodeCharge. http://www.codecharge.com/.
[35] Tomas Isakowitz, Edward Stohr, and P. Balasubramanian. RMM: A methodology for structured hypermedia design. Comm. ACM, 38(8):34-44, 1995.
[36] I. ct al. Jacobson. Object-Oriented Software Engineering, A Use Case Driven Approach. Addison-Wesley, 1992.
[37] Jan Jurjens. A uml statecharts semantics with message-passing. In Proceedings of the 17th symposium on Proceedings of the 2002 ACM symposium on applied computing, pages 1009-1013, New York, NY, USA, 2002.
[38] Coad P. and Mayfield M. Java Design. Prentice-Hall, 1997.
[39| G. Rossi, D. Schwabe, and S. Barbosa. Systematic hypermedia design with OOhdm. In In Proc. of ACM International Conference on Hypertext (Hypertext 96), Washington, March 1996.
[40] J. Rumbaugh, I. Jacobson, and G. Booch. Reference Manual. Addison-Wesley, 1999.
[41] Y. Zheng and M. Pong. Using statecharts to model hypertexts. In D. Lucarella, editor, Proc. ECHT92, pages 242 250, Milan, Italy, December 1992.
Работы автора по теме диссертации
1. Горшкова Е.А., Новиков Б.А., Белов Д.Д., Гуров B.C., Спиридонов С.В. Моделирование контроллера web-приложений с использованием UML. Программирование, 31(1), 2005. — с. 29-33.
2. Горшкова Е.А., Новиков Б.А. Использование диаграмм состояний и переходов для моделирования i ипертекста. Программирование 30(1):47-51. 2004. — с. 47-51.
3. Gorshkova Е., Novikov В. Exploiting uuil extensibility in the design of web applications. Proc. of the eleventh international World Wide Web conference. - 2002 Honolulu, Hawaii, USA.
4. Gorshkova E., Novikov B. Exploiting uml extensibility in the design of web information systems. Proc. of the fifth international conference Baltic DB& IS, 2002. - c. 49-64.
Подписано в печать 15.09.05 Формат бумаги 60x84 1/16. Бумага офсетная. Печать ризографическаная. Усл. печ. л. 1,0.
Тираж 100 экз. Заказ 3658. Отпечатано в отделе оперативной полиграфии НИИХ СПбГУ. 198504, Санкт-Петербург, Старый Петергоф, Университетский пр 26
*t 77Ô t
РНБ Русский фонд
2006-4 14897
-
Похожие работы
- Методы построения инвариантных серверов web-приложений
- Моделирование процессов динамического связывания Web-сервисов
- Разработка методов и средств оценки эффективности функционирования web-серверов
- Методы и средства разработки компонентного управления Web - сайтом на основе динамической объектной модели
- Исследование и разработка программного и информационного обеспечений схемотехнических САПР со встроенным Интернет-браузером
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность