А.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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!