Обеспечение надежности проектирования средствами Oracle Object Database
Designer
Евгений Крылов
Сроки сорваны и нет уверенности в завершении проекта. В такой ситуации
естественно возникают традиционные вопросы: «Что делать?» и «Кто виноват?».
Кто виноват? Тот, кто не придал значения необходимости использования
современных средств проектирования.
Что делать? Использовать Oracle Designer, это конечно не панацея, но
предотвратить такого рода катастрофы с его помощью можно.
Успех разработки зависит от многих факторов, но важнейшими можно считать
следующие:
-
правильное понимание предметной области разработчиком и заказчиком;
-
возможность модификации проекта в случае изменений требований заказчика;
Что же может обеспечить успех разработки?
Реинжиниринг и итеративная разработка.
Object Database Designer поддерживает модель разработки программного обеспечения,
в которой разработка рассматривается как управляемый, итеративный процесс
учитывающий возможные изменения требований пользователя в процессе разработки.
Важность наличия таких возможностей трудно переоценить, поскольку известно,
как много проектов потерпели неудачу именно из-за таких изменений.
Центральной в этой модели является концепция реинжиниринга и итеративной
разработки. Циклическая природа проектирования обусловлена цикличностью
процесса разработки.
Существующий проект берется в качестве отправной точки для дальнейших
шагов по развитию уже существующей системы (реинжиниринг). Достоинство
такого подхода в том, что на каждой новой стадии проектирования используется
опыт достигнутый на более ранних стадиях.
Поддержка методов реинжиниринга в Object Database Designer состоит в
следующем:
-
подключение к сущетсвующим базам данных, как типа Oracle, так и к любым
другим базам через ODBC;
-
выделение структуры данных из схемы базы данных;
-
создание модели типа или серверной модели из схемы;
-
усовершенствование модели типов и (или) серверной модели;
В итеративной разработке приложение проходит через жизненный цикл в течении
определенного времени.
Этот жизненный цикл обычно состоит из следующих стадий :
-
планирование - определение требований к приложению;
-
анализ - выявление необходимых действий и ресурсов для создания приложения;
-
проектирование архитектуры приложения;
-
кодирование - написание кода приложения;
-
тестирование - проверка разработанной системы на соответствие техническому
заданию, а также выявление ошибок;
При завершении каждого цикла итерации происходит возврат к стадии планирования,
модификации требований и затем производится изменение на стадиях проектирования
и кодирования.
Существенно то, что при таком подходе информация накопленная на предыдущих
шагах проектирования не утрачивается и может быть использована для более
тщательного проектирования. Это, в свою очередь, повышает надежность системы
за счет уменьшения вероятности возникновения ошибок.
Object Database Designer подерживает итеративную разработку с помощью
регенерации схемы базы данных и поддерживает итеративную разработку используя
регенерацию схемы базы данных и кода на С++ обеспечивая возможности адекватного
реагирования на изменяющиеся требования пользователя.
Достоинством Object Database Designer является то, что он предоставляет
возможность использовать различные пути для построения приложений, что
достигается за счет использования развитой архитектуры, которая изображена
на рисунке ниже:
Рассмотрим возможные варианты создания проектов с помощью Object Database
Designer.
1. Если возникает необходимость разработки объектной базы данных для
имеющихся приложений на С++, но при этом нет необходимости перерабатывать
реляционную часть базы, можно использовать Type Modeler. Эта утилита позволяет
моделировать типы, используемые для построения клиентских приложений. После
того, как моделирование проведено, из модели типов можно сгенерировать
скрипт SQL DDL для создания новых объектов базы данных. Кроме того, в этом
режиме можно генерировать классы С++ для доступа к соответствующим базам
данных Oracle8.
Диаграмма потоков информации при решении таких задач в общем виде выглядит
следующим образом:
2. Если же необходимо проектировать и клиентскую часть и саму базу данных,
схема использования Object Designer становится более сложной.
В этом случае определяется новый тип модели, затем генерируется новая серверная
модель из которой генерируется новая объектно-реляционная база данных.
Серверная модель - это модель проектируемого сервера базы данных. Так
как Oracle8 - объектно-реляционная СУБД, то и серверная модель состоит
из двух компонент - чисто реляционной и объектной. Ниже мы рассмотрим более
подробно методы проектирования серверной модели средствами Object Designer.
В наиболее общем виде проектирование серверной модели происходит так, как
этот изображено на рисунке ниже:
3. Создается новая реляционная база данных, но генерации новых классов
С++ не требуется, т.е. речь идет о проектировании объектно - реляционной
базы с использованием встроенных типов данных Oracle8.
Последовательность шагов по проектированию базы в этом случае можно изобразить
следующей диаграммой:
4. Реинжиниринг модели типов из существующей базы данных.
Потоки информации при решении этой задачи такие, как показано на рисунке
ниже:
5. Реинжиниринг существующей базы данных.
Общая схема реинжиниринга в Object Database Designer.
Диаграмма потоков информации, возникающих в процессе реинжиниринга ,
выглядит следующим образом:
Для проектирования модели сервера необходимы специальные средства описания
предметной области. В Oracle Designer поддерживается нотация, сходная с
UML.
Все элементы, используемые для построения модели сервера в изображены
на на рисунке ниже:
Элементы, используемые для описания моделей изображаются прямоугольниками.
Рассмотрим некоторые из них.
Реляционная таблица.
На этом рисунке цифрами обозначены следующие компоненты, необходимые для
описания реляционных таблиц наиболее общего вида и в частности:
1. тип данных столбца;
2. столбец, являющийся первичным ключем;
Объектные типы данных.
Модели, используемые для проектирования объектов имеют сходную нотацию,
что существенно облегчает проектирование объектно-реляционных баз данных.
Естественно, однако, что для описания объектов требуется больше чем для
описания реляционных таблиц.
Внутри прямоугольника задаются атрибуты и методы объекта, при этом знаком
– обозначает, что атрибут имеет тип доступа private, + означает, что тип
доступа - public, а # означает, соответсвенно, protected. Для редактирования
атрибута или метода достаточно дважды щелкнуть кнопкой мыши по соответствующему
изображению.
С помощью мастера легко отредактировать нужный метод.
Используя графические обозначения можно не только построить наглядную
модель сложной клиент - серверной системы, но произвести генерацию кодов,
которые могут использоваться в качестве работающей версии.
Компоненты Object Database Designer созданы таким образом, чтобы разработка
велась максимально эффективно. Благодаря наличию мощной графической среды
проектировщик имеет возможность быстрого и эффективного доступа ко всем
компонентам.
Type Modeler – графический инструмент для построения моделей, построенных
в нотации UML.
Server Modeler – графическое средство для создания объектно-реляционныхбаз
данных Oracle8.
Navigator – инструмент для управления содержимым репозитария.
Property Palettes & Property Dialogs – предоставляет возможность
быстрого создания и редактирования содержимого репозитария.
Generator Preference Palette – средство для задания установок
генерации.
Logic Editor – графическая среда для разработки серверной части
логики, выраженной в предложениях PL/SQL.
Database Navigator – средство для визуализации базы данных,
к которой разработчик подключен в текущий момент.
Таким образом, наличие мощной теоретической основы в виде нотации языка
UML и развитой интуитивно понятной среды разработки делает Oracle Database
Designer именно тем средством, которое поможет избежать катастроф при разработке
сложных информационных систем.
Координаты автора:
Учебно-консалтинговый центр Interface Ltd.,
тел. (095)135-55-00, 135-25-19,
mail@interface.ru
Interface Ltd.