Реализация примесей в современных объектно-ориентированных средах разработки приложений баз данных

Реализация примесей в современной среде разработки приложений баз данных SharpArchitect RAD Studio. Разработка собственного профиля для представления UML-диаграмм. Создание свойств для системных классов собственной среды быстрой разработки приложений БД.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 02.02.2019
Размер файла 142,0 K

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

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

Размещено на http://www.Allbest.Ru/

Размещено на http://www.Allbest.Ru/

Размещено на http://www.Allbest.Ru/

Южно-Российского государственного политехнического университета им. М.И. Платова,

Шахтинский институт (филиал)

Филиал Санкт-Петербургского государственного экономического университета в г. Чебоксары

Реализация примесей в современных объектно-ориентированных средах разработки приложений баз данных

П.П. Олейник, к.т.н, системный

архитектор ПО, ОАО "Астон

В.И. Гурьянов, к.т.н, доцент

г. Ростов-на-Дону - г. Чебоксары, Россия

Аннотация

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

Ключевые слова - mixin; UML; профиль UML; объектно-ориентированные базы данных; объектно-ориентированное проектирование; MDA

Введение

Примеси (Mixin) представляют собой определенный элемент языка программирования, реализующий какое-либо чётко выделенное поведение, применяемое для уточнения поведения других классов. В настоящее время подобные реализации используются для расширения либо системных классов, предоставляемых платформой разработки, либо для расширения функциональных возможностей сторонних классов, исходный программные коды которых отсутствуют. Во многих языках существует определенная реализация описанного. Например, в языке C# (и во всей платформе .Net) имеется синтаксическая конструкция, позволяющая описать расширенные методы (Extended Methods). Но в данный момент отсутствует возможность создания расширенных свойств.

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

В данной статье рассмотрена реализация примесей и создание свойств для системных классов собственной среды быстрой разработки приложений БД. Введение набора системных классов позволяет упростить процесс создания приложения. При этом достаточно лишь наследоваться от системного. Со временем эксплуатации системы возникает задача во все производные от определенного системного класса добавить требуемый атрибут. С точки зрения объектно-ориентированной парадигмы необходимо объявить свойство в базовом системном классе. Т.к. исходный код системных классов отсутствует, то самым логичным способом реализации является использование примесей. Рассмотрим возникающую задачу и её решение на примере.

Цели и задачи

Для изображения тестового примера будем использовать диаграммы классов, представленные с помощью разработанного авторами UML-профиля [1]. Профиль SharpArhitect UML Profile (SAUP) предназначен для проектирования объектно-ориентированных БД в понятиях метамодели объектной системы. Это означает, что разработчик проектирует базу данных, используя привычные диаграммы классов UML. Классы и отношения помечаются стереотипами SAUP, которые отражают метаклассы среды разработки SharpArchitect RAD Studio. Среда разработки генерирует описание сущностей предметной области на основе этих метаклассов.

Рис. 1 - Пример использования профиля SAUP

Профиль SAUP разработан таким образом, что бы обеспечить поддержку технологии MDA (Model-driven architecture) - генерации кода на основе моделей. Для этого каждый стереотип профиля определяет набор помеченных значений (tagged values), которые поставляют данные соответствующим метаклассам. Наиболее существенными для моделирования стереотипами являются стереотип «DomainClass», которым помечаются классы предметной области, и многочисленные стереотипы типов данных, такие как «StringAttribute». Отдельную группу составляют стереотипы «SystemClass», «HelperClass», «MethodParameterClass» и некоторые другие, которые не имеют аналогов в предметной области и отражают особенности среды разработки.

На рис. 1 приведен пример простой предметной области, иллюстрирующий применение стереотипов SAUP.

Необходимость учета особенностей среды разработки SharpArchitect RAD Studio, таких как добавление новых свойств в системные классы, потребовало дальнейшего развития выразительных способностей языка SAUP. Ниже показано, как можно отразить в диаграммах SAUP применение примесей, и как это реализуется в самой среде разработке.

приложение база данный sharparchitect

Реализация примесей

Вернемся к тестовому примеру, рис. 2.

Рис. 2. Тестовый пример

Этот пример был реализован в собственной среде разработки SharpArchitect RAD Studio с применением метамодельно-ориентированного проектирования и описания сущностей предметной области в виде экземпляров метакласса [2-4]. На рисунке представлено описание классов предметной области, которые прямо или транзитивно наследуются от системного BaseRunTimeDomainClass.

Со временем возникла задача во все реализованные классы, в нашем случае в Client и Employee добавить атрибут Address. Логично это реализовать в виде атрибута базового класса BaseRunTimeDomainClass так, как это представлено на рисунке 3.

Рис. 3 - Добавление атрибута в базовый системный класс

На рис. 4 представлена фактическая реализация в унифицированной среде быстрой разработки корпоративных информационных систем SharpArchitect RAD Studio.

Рис. 4 - Фактическая реализация

Рассмотрим рисунок более подробно. Для реализации классов предметной области используются интерфейсы языка C#. Это необходимо для поддержки множественного наследования в SharpArchitect RAD Studio. Т.к. в системе отсутствует доступ к исходному коду системных классов, то отсутствует возможность непосредственно изменить его. Поэтому был программно сгенерирован интерфейс BaseRunTimeDomainClassExtenrer с атрибутом Address. Все реализованные классы унаследованы от данного. Т.к. генерация интерфейсов для классов предметной области выполняется программно, то с точке зрения разработчика атрибут Address объявлен именно в системном BaseRunTimeDomainClass, что и необходимо было реализовать.

Выводы и заключение

В данной статье представлена реализация примесей в современной среде разработки приложений баз данных SharpArchitect RAD Studio. Для представления UML-диаграмм авторами был разработан собственный профиль, который позволил продемонстрировать проблему, возникшую при разработке приложений. В заключение статьи представлена фактическая реализация, которая в настоящий момент использована авторами в нескольких крупных проектах.

Ссылки

1. Гурьянов В.И., Олейник П.П. UML-профиль проектирования структуры объектно-ориентированной базы данных // Объектные системы - 2015: материалы X Международной научно-практической конференции (Ростов-на-Дону, 10-12 мая 2015 г.) / Под общ. ред. П.П. Олейника. - Ростов-на-Дону: ШИ (ф) ЮРГПУ (НПИ) им. М.И. Платова, 2015

2. Олейник П.П., программа для ЭВМ "Унифицированная среда быстрой разработки корпоративных информационных систем SharpArchitect RAD Studio", свидетельство о государственной регистрации №2013618212 от 04 сентября 2013 г.

3. Олейник П.П. Предметно-ориентированное проектирование структуры базы данных в понятиях метамодели объектной системы // Объектные системы - 2014: материалы VIII Международной научно-практической конференции (Ростов-на-Дону, 10-12 мая 2014 г.) / Под общ. ред. П.П. Олейника. - Ростов-на-Дону: ШИ (ф) ЮРГПУ (НПИ) им. М.И. Платова, 2014. - С. 41-46

4. Pavel P. Oleynik. Metamodel-Driven Design of Database Applications. Journal of Computer Science Technology Updates, 2015, Vol.2, No. 1, pp. 15-24.

Размещено на allbest.ru

...

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

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

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

  • Администрирование баз данных. Проектирование баз данных, язык запросов к базе данных. Анализ средств разработки приложений. Планирование разработки программы "Электронный каталог" для библиотеки ОГАУ, предварительный проект и практическая реализация.

    дипломная работа [1,2 M], добавлен 02.06.2015

  • Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.

    курсовая работа [867,9 K], добавлен 16.07.2013

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

    дипломная работа [645,3 K], добавлен 21.11.2010

  • Функции технологии Ajax разработки Web-приложений: выполнение HTTP-запросов в клиентской части и анализ ответа XML-сервера. Создание данных объекта XMLHttpRequest для разных браузеров. Обработка с помощью сервлета. Функциональность задач в Ajax.

    лабораторная работа [54,8 K], добавлен 06.06.2009

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

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

  • Визуальная разработка приложений баз данных. Характеристика визуальных компонентов среды разработки Builder 6.0, используемых в данном приложении. Программная реализация приложения, разработка форм и вкладок. Тестирование приложения, листинг программы.

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

  • Средства и технологии разработки приложений баз данных. Компоненты управления доступом к БД. Описание программного окружения доступа к данным. Механизм получения и отправки данных. Специфика связи внутреннего представления с интерфейсом приложения.

    презентация [29,4 K], добавлен 19.08.2013

  • Автоматизация деятельности отдела сбыта предприятия "Русская еда". Описание выходной информации. Выделение информационных объектов. Информационно-логическое моделирование. Реализация базы данных в среде Microsoft Access. Создание таблиц и схема данных.

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

  • Особенности разработки приложений с помощью СУБД FoxPro 9.0. Проектирование физической структуры базы данных для оценки долга цеха. Организация ввода данных, создание запросов и получение отчетов. Реализация, тестирование и отладка программной подсистемы.

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

  • Алгоритм разработки базы данных и сопровождающей ее программы, предназначенных для автоматизированного учета услуг спортивного клуба. Инфологическое, даталогическое проектирование. Разработка приложений баз данных в среде Visual FoxPro 5.0 InterBase.

    курсовая работа [593,9 K], добавлен 01.04.2013

  • Вопросы программирования в Maple версий 6-11 и разработка приложений. Рассматривает эффективные приемы программирования и разработки приложений для многих разделов техники, математики, физики, для решения которых пакет не имеет стандартных средств.

    монография [4,8 M], добавлен 13.03.2008

  • Изучение методов разработки приложений в среде визуального программирования Visual Studio. Создание программы, реализующей заказ железнодорожных билетов. Язык SQL-запросов в системе управления базами данных MS Access. Тестирование созданной программы.

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

  • Средства разработки, ориентированные на конкретные СУБД. Наиболее известные приложения на основе Eclipse Platform. Проект NetBeans IDE, его возможности. KDevelop — свободная интегрированная среда разработки для UNIX-подобных операционных систем.

    реферат [107,5 K], добавлен 14.04.2014

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

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

  • Интегрированная среда разработки Delphi и элементы, входящие в ее состав. Математическая модель, алгоритм решения и его свойства. Описание операторов, процедур, функций и методов. Создание приложений по аналитической геометрии и теоретической механике.

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

  • Основные приемы работы в среде программирования Delphi. Особенности технологии создания простейших приложений. Работа с компонентами среды разработки приложений. Ввод, редактирование, выбор и вывод информации. Аспекты использования структуры ветвления.

    методичка [619,9 K], добавлен 17.11.2011

  • Жизненный цикл программного продукта. Современные среды разработки приложений. Защита информации в базах данных. Особенности разработки приложения с помощью среды Delphi 7. Проверка программного модуля на предмет соответствия стандартам кодирования.

    отчет по практике [589,0 K], добавлен 18.05.2017

  • Разработка веб-приложений на основе Servlet API. Основные способы передачи данных от пользователя. Краткая справка по необходимым программным компонентам. Составление программы интернет-чата на основе протокола HTTP. Диаграмма классов веб-приложения.

    лабораторная работа [1,1 M], добавлен 01.05.2014

  • Объектно-ориентированные языки программирования. Среда разработки приложений Delphi и ее элементы. Разработка программного приложения. Описание работы системы "Абитуриент", являющейся хранилищем данных об абитуриентах, поступающих в учебное заведение.

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

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