Технология и средства разработки Java-приложений с использованием XML-описаний экранных форм

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.08.2011
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

5

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования
Санкт-Петербургский государственный электротехнический университет
«ЛЭТИ» имени В.И. Ульянова (Ленина)
(СПбГЭТУ)

Факультет КТИ

Кафедра МО ЭВМ

Пояснительная записка

К ДИПЛОМНОМУ ПРОЕКТУ

На тему:

Технология и средства разработки Java-приложений с использованием

XML-описаний экранных форм

Студент

Заславский О.А.

Руководитель

к. т. н. Романенко С.А.

Санкт-Петербург 2011 г.

СОДЕРЖАНИЕ

  • ПЕРЕЧЕНЬ СОКРАЩЕНИЙ
  • РЕФЕРАТ
  • ВВЕДЕНИЕ
  • 1. АНАЛИЗ СУЩЕСТВУЮЩИХ ТЕХНОЛОГИЙ РАЗРАБОТКИ JAVA-ПРИЛОЖЕНИЙ С ИНТЕРФЕЙСОМ ПОЛЬЗОВАТЕЛЯ (UI, USER INTERFACE)
    • 1.1 Разработка Java-приложений с использованием JDK
    • 1.2 Разработка Java-приложений с использованием инструментальных сред программирования
    • 1.3 Разработка Java-приложений с использованием средств проектирования пользовательского интерфейса (UI)
    • 1.4 Постановка задачи разработки новой технологии создания Java-приложений с интерфейсом пользователя (UI)
  • 2. ТЕХНОЛОГИЯ И АРХИТЕКТУРА СРЕДСТВ РАЗРАБОТКИ JAVA-ПРИЛОЖЕНИЯ НА ОСНОВЕ УНИВЕРСАЛЬНОГО ОПИСАНИЯ ЭКРАННЫХ ФОРМ
    • 2.1 Постановка задачи
    • 2.2 Архитектура Java-приложения с использованием описаний экранных форм
    • 2.3 Разработка формата описания экранных форм
      • 2.3.1 Основные разделы XML-документа с описанием экранных форм
      • 2.3.2 Схема XML-документа с описанием экранных форм
      • 2.3.3 Пример описания экранной формы
    • 2.4 Проектирование и реализация ядра Java-приложения
    • 2.5 Технология создания и функционирования Java-приложения с использованием XML-описания экранных форм
    • Выводы
  • 3. РЕДАКТОР XML-ОПИСАНИЙ ЭКРАННЫХ ФОРМ
    • 3.1 Функции редактора XML-описания экранных форм
    • 3.2 Архитектура редактора XML-описаний экранных форм
    • 3.3 Применение редактора XML-описаний экранных форм
  • 4. БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ
    • 4.1 Требования к производственным помещениям
      • 4.1.1 Освещение
      • 4.1.2 Параметры микроклимата
      • 4.1.3 Шум и вибрация
      • 4.1.4 Электромагнитное и ионизирующее излучения
    • 4.2 Эргономические требования к рабочему месту
    • 4.3 Требования к видеодисплейным терминалам и персональным электронно-вычислительным машинам
    • 4.4 Режим труда
    • 4.5 Требования по пожарной безопасности
    • 4.6 Требования к интерфейсу
    • Вывод
  • 5. ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ
    • 5.1 Концепция
    • 5.2 Краткое техническое описание проекта
    • 5.3 Определение стоимости разработки системы
      • 5.3.1 Определение трудоёмкости проведённых работ
      • 5.3.2. Определение расходов по статье Материалы80
      • 5.3.3 Расходы на служебные командировки80
      • 5.3.4 Расходы по статье Услуги сторонних организаций
      • 5.3.5 Расчёт основной и дополнительной заработной платы разработчиков и других расходов
      • 5.3.6 Отчисление на амортизацию
      • 5.3.7 Расчёт полной себестоимости разработки
    • 5.4 Оценка экономической эффективности
    • 5.5 Технико-эксплуатационные показатели проекта
    • Вывод
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ А
  • ПРИЛОЖЕНИЕ Б
  • ПРИЛОЖЕНИЕ В
  • ПРИЛОЖЕНИЕ Г

ПЕРЕЧЕНЬ СОКРАЩЕНИЙ

АРМ - автоматизированное рабочее место

БД - база данных

СУБД - система управления базами данных

ПО - программное обеспечение

ЭВМ - электронно-вычислительная машина

НИР - научно-исследовательская работа

JDK - Java Developer's Kit

UI - User Interface

GUI - Graphics User Interface

SGML - Standart Generalized Markup Language

XML - eXtensible Markup Language

DTD - Document Type Definitions

SQL - Structured Query Language

UML - Unified Modeling Language

MDI - Multi Document Interface

РЕФЕРАТ

Отчет содержит 140 стр., 5 глав, 33 рисунка, 15 таблиц, 15 источников, 4 приложения.

технология разработки JAVA-приложений, средства разработки JAVA-приложений, XML-описания экранных форм, использование XML-описаний экранных форм

Объектом проектирования является программная реализация ядра Java-приложения с интерфейсом пользователя.

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

В процессе работы были выполнены:

1. анализ и сравнение существующих технологий построения Java-приложений;

2. описание требований к новой технологии построения Java-приложений;

3. построение архитектуры Java-приложения, работающего с использованием описаний экранных форм;

4. разработка формата описания экранных форм;

5. проектирование ядра Java-приложения на языке UML;

6. реализация ядра Java-приложения на языке Java;

7. разработка технологии создания Java-приложений с использованием XML-описаний экранных форм;

8. описание требований к редактору экранных форм;

9. проектирование редактора экранных форм на языке UML;

10. реализация редактора экранных форм на языке Java;

11. внедрение новой технологии в программный комплекс “ПОЭСО ЦИК”.

В результате работы были получены:

1. UML диаграммы (вариантов использования, последовательностей, действий и классов), описывающие в том числе основные процессы взаимодействия ядра Java-приложения - всего 9 штук;

2. алгоритмы:

- алгоритм перевода относительных координат в абсолютные;

- алгоритм выполнения клиентского XML-запроса;

- алгоритм загрузки экранной формы.

3. Модули ядра Java-приложения, написанные на языке Java, объемом 500 Кб;

4. Редактор экранных форм написанный на языке Java, объемом 2,3 Мб;

5. Описание применения разработанной технологии: назначение, последовательность применения, входные и выходные данные.

6. Описание процесса применения редактора экранных форм.

ВВЕДЕНИЕ

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

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

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

· приложения с двухуровневой архитектурой (обработка данных происходит на клиентской части клиент-сервер приложения)

· приложения с трехуровневой архитектурой (обработка данных происходит на серверной части клиент-сервер приложения)

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

· уровень представления (клиентская часть или клиент)

· уровень бизнес-логики (серверная часть или сервер)

· уровень доступа к данным (база данных)

Уровень представления является разновидностью "тонкого" (thin) клиента, который только производит обмен информацией с сервером, отображает данные и принимает ввод от пользователя.

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

Уровень доступа к данным представляет собой собственно Базу Данных.

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

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

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

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

Данный проект посвящен проблеме оптимизации процесса и технологии построения приложений с интерфейсом пользователя на языке программирования Java и внесения в них изменений в короткие сроки.

1. АНАЛИЗ СУЩЕСТВУЮЩИХ ТЕХНОЛОГИЙ РАЗРАБОТКИ JAVA-ПРИЛОЖЕНИЙ С ИНТЕРФЕЙСОМ ПОЛЬЗОВАТЕЛЯ (UI, USER INTERFACE)

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

· разработка Java-приложений с использованием JDK (Java Developer's Kit);

· разработка Java-приложений с использованием инструментальных сред программирования;

· разработка Java-приложений с использованием средств проектирования графического интерфейса пользователя.

1.1 Разработка Java-приложений с использованием JDK

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

Схема данной технологии представлена на рис. 1.1.1:

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

Первым этапом является создание программного кода на языке программирования Java. Программный код может быть создан в простом редакторе (Notepad) или с помощью более мощных и удобных специальных средств. В настоящее время широко используемыми специальными средствами для создания Java-кода являются: JBuilder, Eclipse, Netbeans и др. Использование представленных специальных средств значительно сокращает время разработки Java-приложений.

Размещено на http://www.allbest.ru/

5

Рис. 1.1.1

После создания программного кода начинается второй этап создания Java- приложений. Необходимо произвести компиляцию программного кода. При использовании простого редактора при создании Java-кода необходимо воспользоваться Java-компилятором (javac), который входит в состав JDK (Java Developer's Kit). При использовании специальных средств компиляцию программного кода можно произвести прямо в их оболочке, что представляется более удобным.

При проектировании Java-приложений с интерфейсом пользователя по данной технологии программный код содержит описания пользовательского интерфейса. Разработчик должен в программном коде создавать интерфейс пользователя, используя одну из JDK технологий. В настоящее время в JDK существуют две наиболее распространенные технологии создания пользовательского интерфейса:

· Swing;

· AWT (Abstract Window Toolkit).

Использовании технологии Swing представляется более привлекательным, так как она является платформо-независимой (Swing полностью реализован на Java). Компоненты пользовательского интерфейса AWT реализованы специфическим для платформы кодом и не являются платформо-независимыми [2, 10].

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

· знание технологии Swing или AWT;

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

Узким местом данной технологии разработки Java-приложений с интерфейсом пользователя является сложность отладки и внесения изменений в пользовательский интерфейс. Увидеть внешнее представление экранной форме можно только после сборки законченного приложения, не имеющего синтаксических ошибок в коде.

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

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

Описанная в данном разделе технология имеет как достоинства, так и недостатки. Некоторые из них являются существенными.

К достоинствам данной технологии можно отнести:

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

К недостаткам данной технологии можно отнести:

· большой объем программного кода, который загроможден описанием интерфейса пользователя;

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

· большое время разработки приложения;

· сложность внесения изменений в интерфейс пользователя;

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

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

1.2 Разработка Java-приложений с использованием инструментальных сред программирования

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

Схема данной технологии представлена на рис. 1.2.1:

Размещено на http://www.allbest.ru/

5

Рис. 1.2.1

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

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

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

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

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

Основными навыками для разработки Java-приложения по данной технологии являются:

· навыки моделирования пользовательского интерфейса.

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

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

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

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

Описанная в данном разделе технология имеет как достоинства, так и недостатки. Некоторые из них являются существенными.

К достоинствам данной технологии можно отнести:

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

· отсутствие необходимости программировать пользовательский интерфейс вручную;

· разработчик не должен знать технологию обработки событий;

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

К недостаткам данной технологии можно отнести:

· большой объем программного кода, который загроможден описанием интерфейса пользователя;

· большое время разработки приложения;

· сложность внесения изменений в интерфейс пользователя при использовании разных инструментальных средств проектирования пользовательского интерфейса.

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

1.3 Разработка Java-приложений с использованием средств проектирования пользовательского интерфейса (UI)

При использовании данной технологии описание пользовательского интерфейса содержится в отдельном файле (часто для этих целей используется язык XML). В данной технологии разработчику нет необходимости программировать пользовательский интерфейс в явном виде. Разработчик должен описать пользовательский интерфейс в файле описания формы, который имеет определенную структуру. Во время выполнения Java-приложения происходит обработка описания пользовательского интерфейса специальными средствами. Обычно такие средства объединяются в библиотеки классов и называются “ядром” Java-приложения с интерфейсом пользователя (или “ядром” клиентской части). Во многих подобных средствах есть, как и в инструментальных средствах, редакторы экранных форм. Они помогают разработчику быстро спроектировать интерфейс пользователя [8].

Схема данной технологии представлена на рис. 1.3.1:

Размещено на http://www.allbest.ru/

5

Рис. 1.3.1

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

Первым этапом при использовании данной технологии является создание программного кода на языке программирования Java. Программный код может быть создан в простом редакторе (Notepad) или с помощью более мощных и удобных специальных средств. В настоящее время широко используемыми специальными средствами для создания Java-кода являются: JBuilder, Eclipse, Netbeans и др. Использование представленных специальных средств значительно сокращает время разработки Java-приложений.

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

На третьем этапе данной технологии необходимо соединить полученный на этапе программный код и полученные на втором этапе файлы с описанием пользовательского интерфейса и с помощью “ядра” клиентской части произвести его компиляцию. При использовании простого редактора при создании Java-кода необходимо воспользоваться Java-компилятором (javac), который входит в состав JDK (Java Developer's Kit). При использовании специальных средств компиляцию программного кода можно произвести прямо в их оболочке, что представляется более удобным.

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

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

Основными навыками для разработки Java-приложения по данной технологии являются:

· навыки моделирования пользовательского интерфейса;

· знание структуры и формата файла описания пользовательского интерфейса

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

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

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

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

Описанная в данном разделе технология имеет как достоинства, так и недостатки. Некоторые из них являются существенными.

К достоинствам данной технологии можно отнести:

· малый объем программного кода Java-приложения, из-за разделения описания пользовательского интерфейса и бизнес-процессов;

· отсутствие необходимости программировать пользовательский интерфейс вручную;

· малое время разработки приложения;

· относительная простота при внесении изменений в пользовательский интерфейс;

· разработчик не должен знать технологию обработки событий;

· быстрое внесение изменений в пользовательский интерфейс при условии использовании одного и того же инструментального средства проектирования пользовательского интерфейса.

К недостаткам данной технологии можно отнести:

· необходимость в специальных библиотеках (“ядро” клиентской части);

· разработчик должен знать технологию обработки событий;

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

· отсутствие возможностей по расширению “ядра” клиентской части, исходя из требований к Java-приложению.

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

На настоящее время уже существуют подобные средства проектирования пользовательского интерфейса, которые позволяют отделять код интерфейса пользователя и сохранять его в XML-формате. Основными интерпретаторами, которые доступны для использования являются: JEasy (Convergent Business and Software Engineering GmbH), SpeedJG (Wsoftware.de) и Beryl XmlGUI_1.0.2 (Free Software Foundation) [12 - 14]. Все эти средства проектирования пользовательского интерфейса по своим функциональным возможностям близки друг к другу. Их сравнение представлено в таблице. 1.3.1:

Таблица 1.3.1

Сравнение существующих технологий

Наименование

JEasy

SpeedJG

Beryl XmlGUI_1.0.2

Использование Swing компонент

+

+

+

Сохранение описания в файл

+

+

+

Редактор форм

+

+

+

Обработка событий

+

+

+

Количество компонент

~50

~40

~20

Цена, $

5000

2006

500

Недостатки существующих средств:

· цена средств проектирования пользовательского интерфейса достаточно высока;

· данные средства проектирования пользовательского интерфейса не могут быть расширены;

· данные средства проектирования пользовательского интерфейса сохраняют описание экранной формы в файл большего размера;

· недостаточная функциональность редакторов экранных форм, создающих описания экранных форм.

1.4 Постановка задачи разработки новой технологии создания Java-приложений с интерфейсом пользователя (UI)

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

Таблица 1.4.1

Сравнение существующих технологий

Использование JDK (Java Developer's Kit)

Использование инструментальных сред

Использование средств проектирования UI (User Interface)

Разделение описания пользовательского интерфейса и программного кода

нет

нет

да

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

нет

да

да

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

нет

нет

да

Возможность использования любых элементов пользовательского интерфейса (встроенных в Java или собственных)

да

нет

нет

Возможность устанавливать обработчики событий элементов пользовательского интерфейса

нет

да

да

Возможность использования любых событий элементов пользовательского интерфейса (встроенных в Java или собственных)

да

нет

нет

Повторное использование ядра Java-приложения с набором стандартных обработчиков

нет

нет

нет

Суммируя достоинства и недостатки рассмотренных трех технологий (разработка Java-приложений с использованием JDK (Java Developer's Kit), разработка Java-приложений с использованием инструментальных сред программирования, разработка Java-приложений с использованием средств проектирования UI (User Interface)) можно сделать следующие выводы:

· для разработки и поддержки сложных Java-приложений предпочтительной является технология разработки Java-приложений с использованием средств проектирования UI (User Interface);

· при использовании готовых средств проектирования UI нет возможности по расширению их функциональности;

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

· необходимо разработать свою среду Java-приложений с интерфейсом пользователя.

Разрабатываемая среда разработки Java-приложений с интерфейсом пользователя должна отвечать следующим требованиям:

· разделение описания пользовательского интерфейса и бизнес-процессов;

· использование файлов с описанием экранных форм

· отсутствие необходимости программировать пользовательский интерфейс вручную;

· относительная простота при внесении изменений в пользовательский интерфейс;

· разработчик не должен знать технологию обработки событий;

· расширяемость набора используемых элементов пользовательского интерфейса, их событий и обработчиков;

· повторное использование ядра Java-приложения с набором стандартных обработчиков.

2. ТЕХНОЛОГИЯ И АРХИТЕКТУРА СРЕДСТВ РАЗРАБОТКИ JAVA-ПРИЛОЖЕНИЯ НА ОСНОВЕ УНИВЕРСАЛЬНОГО ОПИСАНИЯ ЭКРАННЫХ ФОРМ

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

2.1 Постановка задачи

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

Основными задачами, которые должны быть решены во время выполнения работы, являются:

· построение общей архитектуры Java-приложения с использованием описаний экранных форм;

· разработка формата описания экранных форм;

· проектирование и реализация ядра Java-приложения;

· разработка технологии создания Java-приложений с использованием описаний экранных форм;

· разработка редактора экранных форм.

2.2 Архитектура Java-приложения с использованием описаний экранных форм

Основой разрабатываемой технологии построения Java-приложения является использование документа в качестве описания экранной формы. В этом случае архитектура клиентского Java-приложения может быть представлена в общем виде следующим образом (рис. 2.2.1):

Размещено на http://www.allbest.ru/

5

Рис. 2.2.1

Описание экранной формы представляет собой файл определенного формата, в котором содержится информация о моделях данных, элементах управления и обработчиках событий элементов управления.

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

Сервер приложения в трехуровневой архитектуре приложения является связующим звеном между клиентской частью и источником данных (БД).

Центральным звеном в данной архитектуре является интерпретатор описания экранных форм, который, получая в качестве входных данных описание экранной формы и классы специальных Java-обработчиков, в процессе функционирования приложения создает интерфейсные формы, с которыми работает конечный пользователь. Также этот интерпретатор осуществляет обмен данными с сервером приложений.

Интерпретатор должен включать в свой состав следующие модули:

· загрузчик описаний экранных форм;

· набор классов стандартных Java-обработчиков;

· менеджер экранных форм экранными формами;

· модуль обмена с сервером.

Архитектура интерпретатора описаний экранных форм в общем виде представлена на рис. 2.2.2.

Размещено на http://www.allbest.ru/

5

Рис. 2.2.2

Загрузчик описаний экранных форм предназначен для поиска, анализа и загрузки в память Java-приложения описания экранных форм.

Стандартные обработчики событий представляют собой набор обработчиков для простейших событий, которые требуют частой обработки.

Модуль обмена с сервером отвечает за запрос данных и получения ответа с сервера.

Основным модулем интерпретатора описания экранных форм является менеджер экранных форм. Менеджер экранных форм предназначен для построения и управления экранными формами.

2.3 Разработка формата описания экранных форм

Существующие на данный момент и широко использующиеся в проектировании и разработке информационных систем инструментальные средства (Oracle Developer, BPWin, Rational Rose, JBuilder, Visual C++) в значительной мере удовлетворяют основным функциональным требованиям, предъявляемым к инструментам разработки клиентских приложений. Однако существует ряд требований, которые не могут быть реализованы с помощью указанных средств, к таким требованиям относятся:

· изменение внешнего представления пользовательского интерфейса клиентского приложения без перекомпиляции исходного кода;

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

· реализация использования документа в некотором формате в качестве промежуточного формата данных в трехзвенных системах;

· возможность представления результатов запроса к СУБД в некотором универсальном текстовом формате таким образом, что звено СУБД, как таковое, станет “прозрачным” для приложения.

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

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

Теперь необходимо рассмотреть структуру разделов XML-документа с описаниями экранных форм.

2.3.1 Основные разделы XML-документа с описанием экранных форм

XML-документ с описанием экранных форм должен состоять из трех основных разделов, этими разделами являются:

· модели данных и запросы к серверу (model);

· элементы управления (view);

· события и обработчики (controller).

XML-документ с описанием экранных форм имеет структуру показанную на рис. 2.3.1.1

Размещено на http://www.allbest.ru/

5

Рис. 2.3.1.1

Все описанные в XML-документе объекты должны иметь атрибут наименование (name). Значение этого атрибута должно быть уникально внутри одного XML-документа. По этому значению из XML-документа можно достать любой необходимый разработчику объект.

Первым разделом в описании экранной формы является раздел с моделями данных и запросами к серверу. В этом разделе необходимо описать запросы серверу приложения и модели элементов управления.

Все описания элементов этого раздела содержатся внутри пары тегов <model> … </model>.

Модели для работы с элементами управления должны описывать взаимосвязь между данными и элементами управления. Должны быть реализованы следующие типы моделей:

· модели для хранения данных;

· модели для работы с элементом управления “таблица”;

· модели для работы с элементом управления “дерево”;

· модели для работы с другими элементами управления (“текстовое поле”, “выпадающий список”, “календарь”, “флажок”).

Модели для хранения данных предназначены для хранения полученных от сервера приложений или сформированных самим приложением данных в XML-формате. Эти модели описываются с помощью пары тегов <xmldata> … </xmldata>.

Существует два типа моделей для работы с элементом управления “таблица”, этими моделями являются:

· модель для построения внешнего вида таблицы (набор и параметры столбцов);

· модель для взаимосвязи с моделью данных.

Модель для построения внешнего вида таблицы описывается внутри пары тегов <xmltablecolumnmodel> … </xmltablecolumnmodel>. В описании этой модели содержится набор описаний столбцов. Описание столбца таблицы содержится внутри пары тегов <column> … </column>. Внутри этих тегов описываются основные параметры столбцов таблицы (ширина - width, редактируемость - editable, тип представления данных - type и т.д.).

Модель для взаимосвязи с моделью данных описывается внутри пары тегов <xmltablemodel> … </xmltablemodel>. В описании данной модели содержится ссылка на модель данных (datamodel) и на модель внешнего вида таблицы (columnmodel).

Модель для работы с элементом управления “дерево” описывается внутри пары тегов <xmltreemodel> … </xmltreemodel>. Основным атрибутом описания данной модели является ссылка на модель данных (datamodel).

К моделям для работы с другими элементами управления относятся:

· модель для работы с элементом управления “текстовое поле”;

· модель для работы с элементом управления “выпадающий список”;

· модель для работы с элементом управления “календарь”;

· модель для работы с элементом управления “флажок”;

В моделях данного типа может быть задан объект типа “валидатор”. Этот объект описывается внутри пары тегов <validator> … </validator> и предназначен для проверки правильности заполнения элемента управления данными. Основными атрибутами “валидатора” являются: тип представления данных (type), длина данных (length), наличие данных (notnull).

Модель для работы с элементом управления “текстовое поле” описывается внутри пары тегов <xmltextfieldmodel> … </xmltextfieldmodel>. Основными атрибутами описания данной модели являются ссылка на модель данных (datamodel) и путь (path), по которому выбирается значение из модели данных.

Модель для работы с элементом управления “выпадающий список” описывается внутри пары тегов <xmlcomboboxmodel> … </xmlcomboboxmodel>. Основными атрибутами описания данной модели являются ссылка на модель данных (datamodel) и путь (path), по которому выбирается список значений из модели данных.

Модель для работы с элементом управления “календарь” описывается внутри пары тегов <xmldateboxmodel> … </xmldateboxmodel>. Основными атрибутами описания данной модели являются ссылка на модель данных (datamodel), путь (path), по которому выбирается значение из модели данных, и формат представления даты (dateformat).

Модель для работы с элементом управления “флажок” описывается внутри пары тегов <xmlcheckboxmodel> … </xmlcheckboxmodel>. Основными атрибутами описания данной модели являются ссылка на модель данных (datamodel) и путь (path), по которому выбирается значение из модели данных.

Клиентские запросы также описываются в данном разделе. Клиентские запросы предназначены для связи между экранной формой и серверным приложением и необходимы для сообщения серверу, что серверу необходимо сделать. Результатом выполнения запроса является последовательность объектов. Объект может состоять из одного или нескольких компонентов. Каждый компонент имеет уникальное имя. Клиентский запрос описывается внутри пары тегов <request> … </request>.

Запрос состоит из заголовка запроса, списка фильтров отбора данных, списка возвращаемых компонент и списка источников данных.

Заголовок запроса - задает параметры общие для всего выполняемого запроса и имеет следующие атрибуты:

· операция (opeartion) - тип операции над данными, может быть одним из стандартных действий над данными (insert, update, delete, remove, select, list) или одним из специальных запросов, выполнение которых требует наличия соответствующего модуля на сервере;

· объект (object)- модуль, который будет выполнять данный запрос;

· номер (from) объекта в последовательности, начиная с которого данные будут загружены в экранную форму;

· количество (to) объектов, которые будут загружены в экранную форму.

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

· имя компонента (name);

· условие отбора (равно - e, неравно - ne, больше/больше или равно - l/le, меньше/меньше или равно - s/se, содержится - in, не содержится - nin, по образцу - like, не по образцу - nlike);

· значение компонента - значение атрибута по заданному условию отбора.

Список возвращаемых компонент - задает список компонент, которые необходимо вернуть клиенту. Каждый из элементов списка имеет следующие атрибуты:

· имя компонента (name);

· синоним имени компонента (alias);

· функция (func), накладываемая на компонент, может быть одной из функций языка SQL группирующих результат: min, max, count, sum и др.;

· порядок применения сортировки (order) к возвращаемому компоненту, а также тип сортировки по данному компоненту (по убыванию/по возрастанию - +/-).

Список источников данных - задает список источников данных, с которыми работает запрос. Каждый из элементов списка имеет следующие атрибуты:

· имя объекта базы данных (name);

· схема базы данных (schema), в которой находится данный источник данных;

· связь между объектами базы данных (relation или currentrelation/parentrelation).

В состав ответа входят - заголовок ответа, список возвращаемых объектов или сообщение об ошибке.

В заголовке ответа должны присутствовать атрибуты, характеризующие запрос, на который сервер посылает данный ответ:

· тип операции (operation) над данными, которая выполнялась по запросу;

· модуль (object), который обрабатывал запрос.

В списке возвращаемых объектов передаются выбранные объекты, каждый объект состоит из списка выбранных компонент, характеризующихся именем и значением.

В сообщении об ошибке должны присутствовать атрибуты:

· тип ошибки (type);

· класс, в котором произошла ошибка (class);

· функция, в которой произошла ошибка (function);

· сообщение ошибки (message).

Рис. 2.3.1.2

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

Все описания элементов этого раздела содержатся внутри пары тегов <view> … </view>.

Многие описанные в XML-документе элементы управления имеют атрибут границы (bounds), размер (size) или положение (location). Значение этих атрибутов могут задаваться также формулами и могут быть как в абсолютных значениях, так и в относительных. Относительные значения координат могут ссылаться на размеры и координаты других элементов управления, описанных в этом XML-документе с описанием экранной формы. Относительные значения довольно удобны, так как при их использование изменение размеров одного элемента управления (например, “панели”) влечет за собой циклическое изменение размеров всех других элементов управления, которые ссылаются на него.

На рис. 2.3.1.2 представлена диаграмма действий преобразования выражения с использованием относительных значений в абсолютные значения.

Элементы управления экранной формы представляют собой элементы для отображения и управления данными и характеризуются определенным набором параметров. Элементами управления являются:

· “панель” (jpanel), предназначенный для расположения на нем графических компонентов; параметры - координаты расположения на экране и размер (bounds);

· “кнопка” (jbutton), предназначенный для активации какого-либо действия; параметры - координаты расположения на экране и размер (bounds), шрифт (font), цвет (background), изображение (icon);

· “текстовое поле” (jtextfield), предназначенный для ввода и редактирования текста; параметры - координаты расположения на экране и размер (bounds), шрифт (font), цвет (background), доступность для редактирования (editable), модель (model);

· “пароль” (jpasswordfield), предназначенный для ввода и редактирования паролей; параметры - координаты расположения на экране и размер (bounds), шрифт (font), цвет (background), доступность для редактирования (editable), модель (model);

· “текстовая область” (jtextarea), предназначенный для ввода и редактирования форматированного текста; параметры - координаты расположения на экране и размер (bounds), шрифт (font), цвет (background), доступность для редактирования (editable), модель (model);

· “текстовая метка” (jlabel), предназначенный для отображения текста на экране монитора; параметры - координаты расположения на экране и размер (bounds), шрифт (font), цвет (background);

· “календарь” (jdatebox), предназначенный для ввода календарных дат; параметры - координаты расположения на экране и размер (bounds), шрифт (font), доступность для редактирования (editable), модель (model);

· “счетчик” (jspinner), предназначенный для выбора значения из последовательного списка; параметры - координаты расположения на экране и размер (bounds), шрифт (font), доступность для редактирования (editable);

· “выпадающий список” (jcombobox), предназначенный для выбора данных из списка; параметры - координаты расположения на экране и размер (bounds), шрифт (font), доступность для редактирования (editable), модель (model);

· “флажок” (jcheckbox), предназначенный для выбора того или иного условия; параметры - координаты расположения на экране и размер (bounds), шрифт (font), доступность для редактирования (editable), модель (model);

· “панель с закладками” (jtabbedpane), предназначенный для отображения части нескольких дочерних элементов управления на разных именованных закладках; параметры - координаты расположения на экране и размер (bounds), набор дочерних элементов управления (могут быть использованы любые доступные элементы управления);

· “таблица” (jtable), предназначенный отображения данных в виде таблицы; параметры - шрифт (font), модель (model);

· “панель прокрутки” (jscrollpane), предназначенный для отображения части дочернего элемента управления; параметры - координаты расположения на экране и размер (bounds), модель (model);

· “расширенная таблица” (advancedtable), предназначенный отображения данных в виде расширенной таблицы (добавляется навигатор, итоговая строка и т.д.); параметры - шрифт (font), модель (model);

· “расширенная панель прокрутки” (advancedscrollpane), предназначенный для использования совместно с элементом управления типа “расширенная таблица”; параметры - координаты расположения на экране и размер (bounds), модель (model);

· “дерево” (jtree), предназначенный отображения данных в виде дерева; параметры - шрифт (font), модель (model);

· “панель с разделителем” (jsplitpane), предназначенный для отображения двух дочерних элементов управления по разные стороны от разделителя; параметры - координаты расположения на экране и размер (bounds), первый элемент управления (могут быть использованы любые доступные элементы управления), второй элемент управления (могут быть использованы любые доступные элементы управления);

Здесь можно отметить одно из достоинств создаваемого интерпретатора XML-описаний экранных форм. Кроме указанных здесь стандартных параметров для каждого элемента управления могут быть использованы и другие параметры. Если у класса, реализующего данный элемент управления есть метод с именем в формате set + <имя_параметра>, то в XML-описании можно использовать параметр с именем <имя_параметра>. Т.е. данный интерпретатор не завязан на зажитые в его коде стандартные параметры и может быть автоматически расширен одновременно с классами элементов управления.

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

Все описания элементов этого раздела содержатся внутри пары тегов <controller> … </controller>.

Обработчики событий элементов управления экранной формы предназначены для связи элементов управления с производимыми над ними действиями. Такими событиями являются:

· нажатие элемента управления “кнопка” (buttoncontroller);

· действия с мышью (нажатие клавиши мыши, перемещение курсора мыши) (mousecontroller);

· действия с внутренними окнами (открытие, закрытие, активация, деактивация, сворачивание) (internalframecontroller);

· действия с окнами (открытие, закрытие, активация, деактивация, сворачивание) (windowcontroller);

· изменение состояния элемента управления (itemcontroller);

· выбор узла в элементе управления “дерево” (treeselectioncontroller);

· изменение узла в элементе управления “дерево” (treechangecontroller);

· раскрытие/сворачивание узла в элементе управления “дерево” (treeexpansioncontroller);

· выбор строки в элементе управления “таблица” (tableselectioncontroller);

· изменение строки в элементе управления “таблица” (tablechangecontroller);

· нажатие мышью на заголовок элемента управления “таблица” (mouseheadercontroller);

· изменение текста в текстовом элементе управления (textchangecontroller);

· нажатие клавиши (keycontroller);

· изменение данных в модели данных (xmldatachangecontroller);

· запуск приложения (startupcontroller);

· изменение положения элемента управления “панель прокрутки” (adjustmentcontroller);

· произвольное событие (actioncontroller);

При описании события указывается связь между элементом управления и сопоставляемым ему событием (object), а также указывается обработчик данного события (handler). Внутри каждого события также могут быть описаны дополнительные параметры. Параметры задаются внутри пары тегов <parameter> … </parameter> и содержат наименование (name) и значение (value). Также внутри каждого события могут вызываться обработчики других событий. Данные вызовы указываются с помощью пары тегов <depends> … </depends>. Внутри этих тегов указывается имя события (name) и тип вызова (type): до (before) или после (after).

2.3.2 Схема XML-документа с описанием экранных форм

Для описания схемы XML-документа используется стандарт DTD (Document Type Definition), разработанный корпорацией W3C (http://www.w3.org). DTD - это формальное описание требований к документу XML [9, 11]. В проектируемом XML-документе должны быть предусмотрены возможности для описания всех элементов из разработанного формата. DTD схема представлена в ПРИЛОЖЕНИИ А.


Подобные документы

  • Разработка и использование классов при создании приложений. Использование odbc-технологии для создания внешних представлений. Определение источника данных. Создание удаленного и независимого внешнего представления данных. Управление объектами Excel.

    лабораторная работа [413,9 K], добавлен 14.05.2011

  • Java Runtime Environment - минимальная реализация виртуальной машины, необходимая для исполнения приложений, без компилятора и других средств разработки. Компиляция исходного кода через командную строку. Основные моменты создания игрового 2d-приложения.

    курсовая работа [2,1 M], добавлен 26.04.2014

  • Диаграмма консольного приложения табулирования функции. Отличие консольного приложения и приложения и GUI. Диаграмма классов для JFrameи JPanel. Создание простейшего фрейма в Java. Компоновка элементов интерфейса внутри фрейма. Цикл обработки событий.

    лекция [693,8 K], добавлен 01.05.2014

  • Разработка графического редактора для рисования двухмерной и трехмерной графики, используя язык программирования Java и интерфейсы прикладного программирования Java 2D и Java 3D. Создание графического редактора 3D Paint. Основные методы класса Graphics.

    курсовая работа [197,5 K], добавлен 19.11.2009

  • Особенности архитектуры Java. Технология Java Database Connectivity. Кроссплатформенность Java-приложений. Преимущества языка программирования. Логическая структура базы данных. Структура программного комплекса. Верификация программных средств.

    курсовая работа [962,8 K], добавлен 13.01.2016

  • Трансляция как процесс перевода программного кода из текстовой формы в машинные коды. Основные категории программ Java. Основные управляющие операторы. Объявление и инициализация переменных. Основные средства разработки приложений, написанных на Java.

    презентация [938,2 K], добавлен 26.10.2013

  • Преимущество использования программ, написанных на Java, требования к ним и настройки на клиентском ПК. Развертывание и последующее "автоматическое" обновление версий GUI клиента с помощью использования технологии Java Web Start в среде Windows.

    реферат [33,2 K], добавлен 16.05.2011

  • Разработка программы-модели в среде "Adamview" для имитации стратегии и наглядной иллюстрации работы программы. Настройка сети; описание эмулятора стратегии и экранных форм интерфейса оператора. Структурная схема распределённой системы управления.

    курсовая работа [2,6 M], добавлен 21.01.2013

  • Кратка историческая справка развития языка Java. Анализ предметной области. Java platform, enterprise and standart edition. Апплеты, сервлеты, gui-приложения. Розработка программного кода, консольное приложение. Результаты работы апплета, сервлета.

    курсовая работа [549,2 K], добавлен 23.12.2015

  • Сетевые возможности языков программирования. Преимущества использования Java-апплетов. Классы, входящие в состав библиотеки java.awt. Создание пользовательского интерфейса. Сокетное соединение с сервером. Графика в Java. Значения составляющих цвета.

    курсовая работа [508,1 K], добавлен 10.11.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.