А.3.2.3.3.2. Связи с базами данных



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

С другой стороны, если в объектно-ориентированном проектировании используются реляционные системы баз данных, могут возникать проблемы со связью двух парадигм проектирования. По умолчанию возможно применения двух противоположных методов для решения этого вопроса ( Oestereich . Objektorientierte Softwareentwicklung. 1997, с . 136).

Метод 1. Каждый объект каждого класса хранится только в одном отношении, поэтому необходимо обновлять различные виды кортежей в таблице. Принцип метамодели требует, чтобы все КЛАССЫ были связаны только с одним ОТНОШЕНИЕМ (см. рис. 127а).

Рис . 127 а . Каждый долговечный объект хранится в реляционной таблице

 

Метод 2. Для каждого класса создается отдельная таблица с мощностью ассоциации 1:1 (см. рис. 127б). При этом возникает необходимость в группировке данных из нескольких доминирующих классов для объектов подклассов.

Рис . 127б. Каждому классу присваивается отношение

 

Компромиссным решением было бы хранить данные на самом нижнем уровне подклассов (Oestereich. Objektorientierte Softwareentwicklung. 1997, с. 137). Это означало бы группировку всех взаимосвязанных данных в одном объекте. Однако в этом случае при обращении к доминирующим классам с множеством подклассов сначала пришлось бы сгруппировать данные из множества таблиц.

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

А.3.2.4. Описание реализации

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

Объектно-ориентированные языки программирования (C++, Smalltalk, Java и т.д.) позволяют реализовать методы и диаграммы спецификации проекта в программном коде (см. рис. 128, где описание класса «окружность», приведенное на рис. 125, реализовано на языке C++).

Class cirle

{

int radius; point position;

public:

void radius (int newradius); void position (point newpoint); void display (); void hide ();

};

Void cirle::radius (int newradius)

{

if (newradius > 0)// evaluation

{

};" };

Конкретная реализация одиночных операций здесь опущена.

 

Рис . 128. Реализация объектного класса, приведенного на рис. 125 ( Oestereich . Objektorientierte Softwareentwicklung. 1997, с . 37)

 

А.3.3. Отношения между функциями и выходом

Понятие «выход» охватывает материальный выход и услуги, в том числе информационные.

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

На рис. 129 показаны отношения между функциями и выходом в здании ARIS.

Рис. 129. Отношения между функциями и выходом

 


Дата добавления: 2019-02-26; просмотров: 156; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!