Основы проектирования корпоративных систем - Сергей Зыков
Шрифт:
Интервал:
Закладка:
Еще одно CASE-средство, которое будет рассмотренно, – это Design/IDEF производства компании Meta Software. Здесь поддерживаются методологии, связанные с DFD и ER. То есть во многом очень похожи на предыдущие средства, но интересным является моделирование динамики бизнес-процессов на основе раскрашенных, или цветных, сетей Петри (Colored Petri Networks, CPN). Это достаточно интересная математическая модель, которая широко используется в моделировании – не только математическом, но и инженерном, в моделировании ПО. Какие этапы жизненного цикла поддерживаются? Это формализация требований, разработка и проверка проектных спецификаций, определение компонентов и связей, т. е. программных модулей и их интерфейсов, а также средство документирования. Кроме того, поддерживается имитационное моделирование бизнес-процессов корпорации. Какие функции поддерживаются? Это словари данных, т. е. фактически аналог диаграмм классов, если не подразумевать связи, по сути, речь идет о структуре данных, описании типов, которые входят в эту структуру, коллективная разработка, генерация отчетов, иерархическая декомпозиция, это производится на основе DFD. Кроме того, можно осуществлять генерацию кода на различных языках и дописывать свои языки. Подход, который позволяет дорабатывать, дописывать языки, создавая свой язык, – это подход, который близок к DSL (Domain Specific Languages), которые сейчас активно внедряются в Microsoft Visual Studio. Совместимость достаточно широка – это и MacOS, и целый ряд Unix-систем, и Windows. Существует интеграция с аналитическими пакетами, динамического анализа и анализа Cost Benefits (функционально-стоимостной анализ).
Следующим CASE-средством является комплекс из двух продуктов – Designer 2000 и Developer 2000 от Oracle. Сейчас есть Web Developer и целый ряд других средств от Oracle, которые продолжают эту линейку, но тем не менее это достаточно известное средство, связанное с автоматизацией проектирования корпоративных приложений, корпоративных систем. Oracle Designer предназначен как раз для проектирования корпоративных информационных систем, а Developer – в большей мере для реализации. При этом Oracle Developer ориентирован на корпоративную методологию Oracle CDM (Custom Development Methods). В его основе лежит каскадная модель, подход основан на структурном анализе и проектировании, т. е. достаточно жесткий дообъектный подход, возможно, не самый удачный. Поэтому эта методология существенно менее популярна, чем MSF. Плюсом MSF является наличие тренингов, книг. Рассматриваемая же технология локализована в корпорации Oracle и за ее пределы выходит достаточно редко.
Что включает в себя это средство? Репозиторий, т. е. хранилище метаинформации, поддержка коллективной, командной разработки и централизованное администрирование. Методология CDM поддерживает визуальный анализ бизнес-процессов предприятия и выявление источников их оптимизации, т. е. выявление узких мест, с одной стороны, и дублирование определенных или противоречивых бизнес-процессов, с другой. Детализация происходит на основе иерархических диаграмм. Здесь, конечно же, используется диаграмма потоков данных, которая как раз и является основой для моделирования бизнес-процессов, это классический структурный подход, дообъектный. С другой стороны, широко используются ER-диаграммы как средство проектирования структуры базы данных.
Поскольку речь идет о продукте корпорации Oracle, очевидно, что в основе лежит СУБД Oracle, и, кроме того, рядом находится сервер приложений Oracle Applications семейства прикладных систем корпоративного типа Oracle Applications. Естественно, поддерживается автоматическая генерация структуры данных на основе ER-диаграмм, по ним генерируются таблицы Oracle, поддерживаются диаграммы взаимодействия и ряд других диаграмм. При этом осуществляется поддержка распределения функционала, управляющего базой данных, на клиентскую и серверную часть. Клиентская часть содержит генерацию форм и отчетов (известный продукт Oracle Forms, Oracle Reports). Серверная часть содержит SQL-код с процедурным расширением на языке PL/SQL. Система ориентирована преимущественно на Windows и подразумевает возможность коррекции кода. Естественно, весь комплекс ориентирован на СУБД Oracle, что является существенным ограничением инструментальных средств автоматизированного проектирования ПО, Developer и Designer 2000. Oracle Developer Suite интегрируется с Oracle Designer и поддерживает кроссплатформенность – здесь операционные системы, как Windows, так и Unix, в частности Solaris и Linux, поддерживаются.
Конечно, речь идет о проектировании корпоративных приложений, т. е. поддерживается командная работа в распределенной среде и достаточно большое внимание уделяется интернет-технологиям. Oracle является одним из первых создателей ПО для проектирования корпоративных порталов, которое так и называется – Oracle Portal. В этой связи поддерживаются открытые стандарты на основе API-интерфейса, интерфейсов прикладных программных систем. Поддерживается средство быстрого прототипирования и быстрой реализации Oracle Application Development (OAD), процедурный язык запросов PL/SQL, о котором мы упоминали и который является специфическим для СУБД Oracle, в других СУБД он не используется. Используется стандарт UML для моделирования классов и бизнес-процессов. Также имеется сетевой репозиторий с возможностью контроля версий или релизов программных систем. На основе стандарта XML производится интеграция данных со сторонними CASE-средствами, и нестрого структурированные данные хранятся тоже в формате XML. Поскольку Oracle декларирует тот факт, что СУБД Oracle Enterprise Server является объектно-реляционной СУБД начиная с 8-й версии (сейчас уже существуют 11-я и 12-я версии), описание объектов и их характеристик является ключевым звеном этого продукта и здесь используется стандарт XML для этих описаний. И естественно, присутствует управление командной разработкой, в том числе централизация этого управления, администрирования, и достаточно широкая совместимость как с Unix-, так и с Windows-системами.
Еще одно достаточно известное CASE-средство – Vantage TeamBuilder использует методологии Йордена и структурных карт Константена. Того самого Лари Константена, который явился одним из пионеров CASE-средств и CASE-технологий. Поддерживается целый ряд диаграмм, но в основном опять-таки структурное проектирование, DFD, ER-диаграммы. При этом возможно двунаправленное построение диаграмм – как восходящее, так и нисходящее. Следует напомнить, что при проектировании систем на основе диаграмм потоков данных фактически производится структурная декомпозиция – разбиение относительно общих процессов на более детальные, конкретные составляющие. Здесь это возможно как снизу вверх, так и сверху вниз. Вообще при проектировании систем гибридная интеграция, гибридное проектирование как снизу вверх, так и сверху вниз является предпочтительным, поскольку позволяет достаточно хорошо протестировать проекты, обеспечить качество как модулей верхнего уровня, которые отвечают за основы бизнес-логики, так и модулей нижнего уровня, отвечающих за конкретные функциональные особенности программного кода программного продукта. Существует возможность проверки целостности моделей и диаграмм, которые используются, возможность кодогенерации, включая использование языков четвертого поколения, основанных фактически на скриптах, т. е. на некоторых небольших фрагментах кода, небольших программах, которые активизируются в зависимости от тех или иных пользовательских или системных событий и управляют системой. Естественно, проектирование ведется в визуальном интерфейсе. Поддерживается генерация схемы базы данных и SQL-запросов. То есть речь идет о проектировании как информационной системы, в том числе корпоративного типа, так и базы данных. Возможна настройка представления диаграмм в соответствии с различными стандартами, принятыми как организациями – законодателями этих стандартов, так и конкретными коллективами разработчиков. Возможно настраивать также интерфейсы, атрибуты и шаблоны кодогенерации. Платформа Microsoft поддерживается здесь в меньшей степени, поддерживаются Unix-системы и другие ОС, достаточно хорошая степень интеграции со сторонними CASE-средствами. В частности, поддерживается интеграция с языками программирования четвертого поколения, в том числе с языком C, а также с рядом СУБД – Informix, Oracle, Sybase. Видно, что платформа Microsoft здесь в меньшей степени присутствует как с точки зрения операционной системы, так и сточки зрения СУБД.