Основы проектирования корпоративных систем - Сергей Зыков
Шрифт:
Интервал:
Закладка:
С какого рода СУБД эти CASE-средства интегрированы – еще один критерий. Может быть, эти средства рассчитаны только на кодогенерации, ведь структуры данных могут быть снабжены также ограничением целостности и триггерами и хранимыми процедурами на определенных языках. Скажем, существует язык PL/SQL, который предназначен специально для СУБД Oracle, и какие-то CASE-средства поддерживают только базы данных Oracle или ориентированы преимущественно на Oracle, другие ориентированы преимущественно на Microsoft SQL Server. Эти базы данных и SQL-серверы более подробно будут рассмотрены в дальнейшем.
Начнем по порядку рассматривать CASE-средства и отмечать те их аспекты, которые полезны и укладываются в ту или иную классификацию. Одним из первых CASE-средств, достаточно серьезных и хорошо известных в нашей стране, является BPwin. Как правило, оно используется в комплексе с Erwin, которое генерирует ER-диаграммы и по ER-диаграммам – схемы базы данных. Автором является Computer Associates. Здесь поддерживается методология IDEF0, DFD-диаграмма потоков данных, и основным назначением является функциональное моделирование и анализ деятельности предприятия. То есть речь идет об анализе и спецификации требований. Эта часть жизненного цикла в основном и реализуется CASE-средством BPwin.
В качестве модели данных используется не объектная модель данных, а диаграмма процессов, это очень похоже на DFD и является некоторым развитием. Это более ранняя технология, структурный анализ и проектирование (Structured Analysis and Development Technology, SADT), современный подход называется объектно-ориентированным (Object Oriented Analysis and Development, OOAD). При этом учитываются этапность, стоимость, длительность и периодичность процессов, т. е. в основе лежат диаграммы процессов, и с помощью этого средства возможно проанализировать бизнес-процессы на предприятии, их формальное описание и построение определенных диаграмм, которые позволят оценить стоимость затрат на внедрение системы, узкие места технологических цепочек и затратные центры – другими словами, точки, которые потребуют наибольших затрат.
Полезна интеграция с Erwin, которая поддерживает ER-модель как направление, и генерация отчетов в достаточно распространенных форматах офисных приложений MS Word, MS Excel. Связанным с этим CASE-средством является CASE-средство Erwin той же компании изначально. Это CASE-средство для проектирования и реализации баз данных, т. е. работа идет с IDEF1X-диаграммами, с ER-диаграммами стандартного вида. Здесь достаточно полный набор возможностей: можно строить, настраивать, проектировать в графическом виде ER-диаграммы с атрибутами сущностей, связей, поддерживать индексы и ограничение целостности на основе бизнес-правил.
При этом поддерживается достаточно большое количество SQL-серверов или серверов баз данных – это и Oraсle, и Microsoft, и целый ряд других (Informix, Sybase, Progress, DB2 от IBM) СУБД корпоративного типа. И кроме того, поддерживаются достаточно легкие настольные системы, большинство из них, конечно, уже устарело, но Microsoft Access, например, достаточно современная система, Clipper до сих пор используется, также как и СУБД Paradox, в свое время созданная корпорацией Borland, и целый ряд других систем. При этом важно, что по ER-диаграммам автоматически производится генерация SQL-кода и триггеров, т. е. процедуры, которые поддерживают ограничение целостности. Возможен реинжиниринг базы данных, т. е. по SQL-коду можно восстановить структуру базы. Поддерживает кроме большого количества серверов баз данных достаточно большое количество CASE-средств, и осуществляется возможность коллективной разработки баз данных. Здесь поддерживаются форматы Oracle, Sybase, Microsoft SQL Server.
Что интересно, кроме BPwin, возможна интеграция и с другими CASE-средствами от сторонних производителей, в том числе Delphi – достаточно популярным и распространенным в России CASE-средством.
Достаточно интересно CASE-средство, которое называется CASE 4.0. Оно работает по методологии Уорда Мелора, это тоже структурный подход к анализу и проектированию, дообъектный. По сути, речь идет о расширении подходов Йордена, это одна из первых CASE-методологий, появившаяся в начале 1990-х, и Де Марка (тоже достаточно известный подход для информационных систем, которые функционируют в реальном времени). Это важно и для корпоративных приложений, поскольку очень часто нужно обеспечить быстрое построение консолидированных отчетов. Здесь функционирование в реальном времени или с достаточно быстрой обратной связью и небольшим временем реакции является важным требованием.
Поддерживаются следующие этапы жизненного цикла: системный анализ, проектирование, реализация. Естественно, системный анализ, или анализ требований, производится тоже на основе структурного подхода. В структурном подходе преимущественно учитывается какой-то один из аспектов – либо динамический, либо статический. В объектно-ориентированном подходе равное внимание уделяется и данным, и действиям, и динамике, и статике. То есть если мы посмотрим на класс, основное понятие объектно-ориентированного программирования, то увидим, что он содержит как атрибуты, так и методы, т. е. как некоторые статические числовые характеристики, так и методы, которые позволяют динамически изменять значения этих характеристик. Существует свой репозиторий, который позволяет этому CASE-средству поддерживать жизненный цикл, т. е. существует некое хранилище метаданных, ведется контроль целостности схем информационной системы и базы данных, поддерживается коллективная разработка, поэтому фактически речь идет о средстве создания корпоративных приложений. Кроме того, поддерживается целый ряд диаграмм: это устаревшие структурные карты Джексона и достаточно широко используемые ER-диаграммы, диаграммы переходов состояния (State Transition Diagram, STD) и диаграммы потоков данных (Data Flow Diagrams, DFD). В состав этого средства входят следующие компоненты: репозиторий; хранилище метаданных; визуальные редакторы диаграмм, которые позволяют вести визуальное проектирование, в том числе и командное; средства разработки диалоговых интерфейсов; средство кодирования, редактирования кода и производства документации; клиентская часть. Здесь стоит отметить общий репозиторий, который хранится на сервере, скажем, локальной сети, и серверную часть, которая является кроссплатформенной. Клиентская часть поддерживает только Windows, серверная – как Windows, так и целый ряд Unix-совместимых и других систем.
Еще одно CASE-средство, которое будет рассмотренно, – это Design/IDEF производства компании Meta Software. Здесь поддерживаются методологии, связанные с DFD и ER. То есть во многом очень похожи на предыдущие средства, но интересным является моделирование динамики бизнес-процессов на основе раскрашенных, или цветных, сетей Петри (Colored Petri Networks, CPN). Это достаточно интересная математическая модель, которая широко используется в моделировании – не только математическом, но и инженерном, в моделировании ПО. Какие этапы жизненного цикла поддерживаются? Это формализация требований, разработка и проверка проектных спецификаций, определение компонентов и связей, т. е. программных модулей и их интерфейсов, а также средство документирования. Кроме того, поддерживается имитационное моделирование бизнес-процессов корпорации. Какие функции поддерживаются? Это словари данных, т. е. фактически аналог диаграмм классов, если не подразумевать связи, по сути, речь идет о структуре данных, описании типов, которые входят в эту структуру, коллективная разработка, генерация отчетов, иерархическая декомпозиция, это производится на основе DFD. Кроме того, можно осуществлять генерацию кода на различных языках и дописывать свои языки. Подход, который позволяет дорабатывать, дописывать языки, создавая свой язык, – это подход, который близок к DSL (Domain Specific Languages), которые сейчас активно внедряются в Microsoft Visual Studio. Совместимость достаточно широка – это и MacOS, и целый ряд Unix-систем, и Windows. Существует интеграция с аналитическими пакетами, динамического анализа и анализа Cost Benefits (функционально-стоимостной анализ).