Краткое описание принципов работы

Для чего нужна система DERSA. Краткий ответ - для проектирования, разработки и реинжиниринга объектно-ориентированных приложений любой природы. Рассмотрим систему клиент-сервер. Структура клиентской части как правило определяется платформой, на которой ведётся разработка. И там всё более-менее формализовано и разложено по полочкам. Клиентская часть состоит обычно из набора форм, которые или отображают информацию, или пересылают введённую пользователем информацию на сервер. При разработке клиентской части много внимания уделяется:

Сторонние фирмы легко могут наладить производство стандартных компонентов для встраивания в клинтскую часть приложения, и этими компонентами обычно несложно воспользоваться, было бы желание.
Иначе обстоит дело с разработкой серверной части. Для огромного числа разработчиков "front-end" серверная часть - это всего лишь набор API для обслуживания разных форм. Но если при разработке приложения ориентироваться только на API, который оно обеспечивает, - ничего хорошего не выйдет. Наверняка все, кого заинтересовал проект DERSA, знакомы с принципами ООП. В многочисленных статьях на тему ООП подробно рассматриваются причины, по которым сложную систему жизненно важно делать как объектно-ориентированную. Но какую помощь может оказать сторонний разработчик ПО в построении объектно-ориентированной системы? Ведь набор объектов этой системы будет уникальным для каждого случая. Разумеется, у разработчика есть большой выбор объектно-ориентированных языков программирования. Но имея только компилятор - остаёшься наедине со сложносями представления связей внутри системы. Слишком много подробностей приходится держать в уме. И тут на помощь как раз и приходит такой инструмент, как DERSA. Автор этих строк ещё 20 лет назад познакомился с системами, помогающими визуализировать связи объектов системы с помощью ER-диаграмм Но все известные системы на момент появления "родителя" DERSA, программы Foxtail, написанной А.Шкварунцом в 1997 г., обладали двумя существенными недостатками: Foxtail преодолел эти препятствия и дал возможность из ER-диаграммы (и не только из диаграммы, а из любого объекта, описанного в системе) получить что угодно - от скрипта, создающего таблицы, индексы, процедуры, триггеры в БД до исходника программы на C# (и на любом другом объектно-ориентированном языке) DERSA, взяв за основу идеи Foxtail и более развитой версии Wolftail (by А.Е.Волков), разработана как веб-приложение, которым может пользоваться теоретически ничем не ограниченное количество пользователей.

Основная рабочая единица DERSA - сущность (ENTITY). Сущности собраны в дерево. Сущности отличаются между собой в первую очередь тем, к какому стереотипу (STEREOTYPE) они относятся. Сущности, произведённые из одного стереотипа, отличаются между собой набором атрибутов. Чтобы добавить сущность в дерево, нужно перетащить (Drag and Drop) стереотип из набора стереотипов на дерево сущностей или воспользоваться командой Insert из контекстного меню дерева. Во втором случае после добавления новой сущности нужно обновить родительский узел, чтобы увидеть вновь созданную сущность. У сущностей есть атрибуты (ATTRIBUTE), которые можно увидеть и отредактировать, выбрав команду Properties в контекстном меню. Между сущностями можно установить отношения (RELATION). Простейшая система может быть построена из сущностей Entity (это уже название стереотипа, что создаёт некоторую путаницу) , Attribute и отношений между сущностями, Relation. Для удобства организации дерева разные ER-системы можно складывать в разные папки (Package).

Как работать с DERSA.