© Юлия Гараева,
© Иван Пономарев
© Статья была опубликована в PC Week № 18/2004
Порою кажется, Что все вокруг устроено несложно: солнце светит, лампочки мигают, зарплату выдают вовремя. Но только захочешь сделать что-нибудь “полезное для общества”, приглядишься повнимательнее, и сразу все становится ой как не просто — на пути встают комплексные объекты и системы: жилищно-коммунальное хозяйство, экономический кризис, вертикаль власти, топология, логистика территориально распределенных сетей, уголовно-процессуальный кодекс, методология планирования ресурсов с учетом производственных ограничений...
Когда в одну кучу собирается несколько разнородных объектов с различными свойствами и взаимосвязями, которые не удерживаются в одной голове в один момент времени, у человека возникает естественная когнитивная потребность “наклеить ярлычки, разложить все по полочкам, а полочки разместить по шкафчикам”.
CASE’оведы и CASE’олюбы |
Очевидно, что большинство современных организаций (а тем более их конгломератов — холдингов, государственных структур) являются сложными системами (с множеством экономических, культурологических, информационных, властных, семейных, технических и всяких других отношений и функций). В результате особенно остро потребность “структурирования” возникает у руководителей, менеджеров всех мастей, вынужденных подобными системами управлять. Информационные системы (в бумажных и компьютерных формах), разрабатываемые для обслуживания таких систем, с каждым годом становятся все сложнее. Автоматизация деятельности любого предприятия (как с применением корпоративной ИС собственной разработки, так и при выборе тиражной системы с последующей ее адаптацией и внедрением) предполагает обязательный изначальный анализ самой деятельности с подключением обслуживающих аналитиков и “информационщиков”.
“Свято место пусто не бывает”: раз есть потребность, то есть и предложение. Вот уже более 30 лет развиваются многообразные CASE-средства — средства компьютеризированного анализа, проектирования, перепроектирования, контроля за соблюдением соответствия тому, что было спроектировано и т. п.
Некоторых российских представителей фирм — поставщиков этих средств мы недавно собрали за круглым столом, чтобы вместе разобраться в спектре многообразных возможностей систем указанного класса (тоже, кстати, непростых).
Широкий спектр CASE-инструментария, охватывающего разнообразную деятельность — от анализа бизнес-структур и бизнес-требований до поддержки жизненного цикла разработки и сопровождения информационных систем, — не кажется искусственным в свете неразрывной связи систем управления организациями и ИС. Не случайно буква S в термине CASE (Computer Aided S... Engineering) трактуется сегодня в широком смысле: и как Software, и как System (хотя изначально было software), ведь программные продукты — это частный (специализированный) случай систем вообще.
Попробуем разобраться, какой длины жизненный цикл и жизненный цикл чего и для кого могут поддерживать рассматриваемые в этом обзоре CASE-инструменты.
В узком смысле CASE-средства — это средства визуального моделирования, а в широком — средства, максимально автоматизирующие все процессы жизненного цикла проекта разработки и реализации (как в организационной, так и в программной инженерии). Кроме того, это средства правильного ведения работ, поддерживающие коммуникации участников проекта на разных этапах и с разных позиций (как между командами заказчика и разработчика, так и внутри рабочей группы).
Используемые в CASE-средствах модели (визуальная составляющая CASE-инструментов) — это общий язык для всех участников некоего процесса, обеспечивающий возможность задавать те или иные аспекты предметной области с помощью общей терминологии, общих графических изображений (нотаций). Модели являются предметом коммуникаций, без которых не о чем говорить, нечего обсуждать, так как предмет не определен. Но кроме предмета коллективной разработки нужны также и специальные средства коллективизации усилий, пространство, в котором должны согласованно действовать все участники в рамках общего проекта.
Михаил Кумсков: “Наша практика показывает, что инструмент по отношению к процессам жизненного цикла вторичен. И мы, начиная внедрение, в первую очередь уделяем внимание управлению требованиями, управлению изменениями, ставим эти процессы. А потом уже учим участников пользоваться средствами визуального моделирования, анализа, проектирования и т. д. Потому что изначально должна быть налажена прозрачность коммуникаций и управляемость коллективом через специализированные средства ее поддержки”.
С учетом многообразия проектов, протекающих в организациях, хотелось бы расширить понятия CASE до средств поддержки взаимодействия бизнес — ПО — бизнес, объединить их в единое целое, ведь программные продукты затем и нужны, чтобы управлять и помогать в управлении бизнесом. Дело в том, что задачи проектирования ИС и задачи оптимизации бизнес-процессов (или бизнеса как такового) переплетаются очень тесно. Более того, оптимизация бизнеса без внедрения ИС сейчас в принципе невозможна. Поэтому все должно быть связано методологически, а еще лучше — технологически (это может быть единая CASE-система, может быть несколько бесшовно интегрированных CASE-инструментов,).
Антон Шматалюк: “Наше понимание жизненного цикла максимально широко: CASE-средства сначала являются инструментом для бизнеса, затем они используются в качестве мостика между бизнесом и проектировщиками информационных систем, далее — как средства проектирования и создания ИС, и, наконец, они осуществляют обратную связь, отслеживая эффективность взаимодействия готовой ИС с бизнесом.
При внедрении информационной системы в организации должны поддерживаться как бизнес-процессы, заложенные в самой ИС, так и смежные неавтоматизированные процессы организации. Без этого полноценного внедрения не получится. Ведь организация действует в единой системе, все процессы тесно взаимосвязаны, и только в совокупности они обеспечивают целостность деятельности компании, где всеми процессами нужно управлять и регулярно их оптимизировать”.
Большинство поставщиков имеют несколько другой взгляд на определение области применения CASE: одни инструменты и модели предназначены для разработчиков информационных систем, другие — организационным аналитикам, но авторы все же считают, что постепенно эти две линии сойдутся “у ног клиента”.
Сергей Орлик: “Все ПО так или иначе создается ради обеспечения потребностей государственных институтов и структур, промышленных предприятий и бизнеса. С нашей точки зрения, жизненный цикл разработки программного обеспечения включает следующие ключевые элементы: анализ бизнес-потребностей в автоматизации и соответственно определение требований к ПО; моделирование, проектирование (в том числе интеграционных аспектов) и аудит; разработку и отладку; тестирование (функциональное, нагрузочное и т. п.); развертывание системы и ее эксплуатацию; и, наконец, управление конфигурациями и изменениями на всех этапах жизненного цикла. На первый план сегодня выходит адекватная поддержка высокой скорости изменений бизнес-процессов, актуализация поведения прикладных систем, в том числе — в соответствии с изменениями акцентов в требованиях, предьявляемых к ПО как бизнес-инструменту и работающему активу.
Сегодня важны не только удобство и скорость работы в той или иной среде разработки (что на протяжении значительной, более чем 20-летней истории нашей компании было в центре внимания). На первый план выходят аспекты обеспечения качества создаваемых программных продуктов, степень их документированности (как с точки зрения пользователей, так и ИТ-специалистов и разработчиков), легкость сопровождения и, конечно, возможность расширения их функциональности в соответствии с запросами пользователей”.
Среди CASE-средств для разработчиков сейчас наиболее популярны средства проектирования баз данных (БД). Поскольку структура БД, создаваемой ИС, как правило, весьма сложна, то ее разработка — процесс трудоемкий. К тому же необходимо обеспечить связь между модельной составляющей и БД, автоматическое написание рабочего кода приложения, существенно экономящее время программистов и гарантирующее проектировщикам, что в системе воплощено именно то, что они задумали.
Не так давно начали пользоваться популярностью CASE-средства, предназначенные для проектирования архитектуры ИС, т. е. для так называемых системных архитекторов, отвечающих за модульное построение, интерфейсы, соединение в единое целое разнородных клиент-серверных приложений в рамках проекта.
Если целью работы с CASE-средствами является программный продукт, то он, как правило, создается на некотором языке программирования в определенной среде разработки. Такие возможности CASE-средств, как автоматическое создание кода и обратный процесс — построение диаграмм на основании исходного кода, методы анализа качества кода, требуют, чтобы осуществляющее их приложение “знало” соответствующий язык и среду программирования на уровне компилятора данного языка.
Тот факт, что некоторые производители CASE-средств попутно являются конкурирующими производителями языков и сред разработки, накладывает свой отпечаток. Так, если вы используете средства разработки от Microsoft, то для вас вряд ли окажутся полезными CASE-средства Oracle. Аналогично не приходится ожидать особой поддержки Oracle и Borland в средствах Microsoft. В то же время продукт IBM Rational Rose имеет кодогенераторы как для языков Microsoft Visual Studio, так и для языка Borland Delphi. Но в целом ориентированность некоторых комплексов CASE-средств на определенные среды разработки может оказаться столь велика, что это способно значительно сузить круг при поиске подходящего инструмента в том случае, когда среда разработки приложения уже выбрана. (В этом смысле приведенная ниже таблица сравнения не вполне корректна и должна рассматриваться читателями с указанной оговоркой.)
CASE-инструментарий призван обеспечить понимание и корректное взаимодействие представителей двух разных лагерей: аналитиков, определяющих требования бизнеса (описывающих бизнес-процессы), и разработчиков, отвечающих за структуру данных и объектно-ориентированный анализ, проектирование и программирование.
Перед тем как что-то автоматизировать, организации необходимо описать на стандартизированном CASE-языке модель своего бизнеса, выделить из него часть, подлежащую автоматизации. Утвержденный результат этого процесса и должен быть передан разработчикам автоматизированной системы в качестве технического задания на разработку (ТЗ). К сожалению, эту последовательность действий соблюдает пока очень малое число предприятий, внедряющих у себя ERP-системы, и это одна из главных причин провала проектов внедрения, поскольку ТЗ, написанное на естественном (неформализованном) языке, всегда оставляет огромное поле для недопонимания сторон.
Кроме того, по имеющейся статистике, 80% средств, которые ИT-службы предприятий тратят на программное обеспечение, уходят на сопровождение, а не на разработку (закупку) систем. И можно понять, почему. Высокие затраты на сопровождение, во-первых, связаны с плохим изначальным проектированием систем. CASE-средства способны эти затраты снизить. Во-вторых, в реальной жизни к системе в процессе ее эксплуатации предъявляются новые требования, у бизнеса появляются новые задачи, когда организация развивается. Не могут избежать непрерывных изменений и разработчики — как тиражных систем (вынужденные выводить все новые и новые версии на рынок), так и заказных, постоянно доделывающие что-то в ИС под новые требования заказчика. Так что изменения систем неизбежны, и было бы уместно, если бы CASE-средства поддерживали процессы изменений функционирующих ИС, причем желательно в режиме реального времени (реинжиниринг информационной системы без остановки жизненно важных ее элементов).
Галина Антипина: “Команды, которые профессионально занимаются разработкой информационных систем, постепенно начинают осознавать необходимость комплексного применения средств управления созданием ПО. Раньше они ограничивались средствами моделирования (бизнес-процессов, баз данных, информационных систем). Сейчас все больше компаний понимает необходимость использования таких специализированных продуктов, как средства конфигурационного управления проектами, контроля версий, тестирования. В первую очередь такой интерес идет от руководителей отделов разработки, которые понимают, что использование таких продуктов позволяет сократить время создания, повысить качество ПО, выполнить проекты в заданные сроки и в рамках бюджета. Непосредственные участники проектов (аналитики, разработчики и др.) выигрывают в первую очередь от упрощения коммуникации между участниками проекта, что позволяет значительно сократить время на поиск нужных документов, файлов, “самой последней” версии создаваемой программы и сосредоточиться на выполнении конкретных задач”.
Алла Прохорова: “Для реализации полноты всех ступеней жизненного цикла только инструментальных средств мало, нужна методология разработки, задающая правила игры. Причем методология, адаптированная к нуждам конкретной фирмы. Как на предприятиях реального сектора нужны собственные бизнес-технологии ведения их деятельности в виде бизнес-процессов, так и компаниям-разработчикам необходим свой аналогичный каркас. Именно для этих задач и создана методология ведения проектов разработки (Rational Unified Process, RUP). Она представляет собой энциклопедию, в которой описаны роли участников проекта, инструкции. В адаптированном RUP возникают свои роли под свой стиль работ, и уже под нужные процессы делаются инструкции, собственный шаблонированный документооборот проектных документов. Постепенно собирается библиотека моделей, требований, репозитории”.
Антон Шматалюк: “После того как информационная система создана, необходимо обучение пользователей, соединение ее с имеющимися в организации процессами. Пренебрежение этим может повлечь еще большие затраты на сопровождение, например из-за того, что система внедрена, но с ней до конца не умеют работать. По результатам эксплуатации нужен анализ использования ИС, управление дальнейшей автоматизацией предприятия, оптимизация на основе анализа. Будущие CASE-средства обязательно должны эти позиции поддерживать. ARIS уже начинает идти по этому пути, предлагая, например, ARIS Redocumentation SCOUT для аудита внедренных систем SAP”.
В идеале необходимо, чтобы CASE-линейка обеспечивала с точки зрения менеджмента адекватную связь между всеми средствами поддержки жизненного цикла организационной системы, включая преобразование организационных технологий в корпоративные приложения (например, в виде workflow- или BPM-систем, средств интеграции различных приложений и бизнес-процессов и пр.).
В дальнейших частях обзора мы коснемся модельных, технологических характеристик рассматриваемых CASE-систем, а также анализа деятельности их поставщиков.
Основные этапы жизненного цикла систем, их поддержка, а также значимые свойства представленных линеек продуктов
Характеристика | Rational | ARIS | ALLFusion Modeling Suite | Oracle | MS (Visio и др.) | Borland |
---|---|---|---|---|---|---|
Применимость ПО данного класса для различных категорий потребителей | ||||||
Специалисты по организационному управлению (бизнес-аналитики, бизнес-проектировщики) | ||||||
Разработчики ИС (постановщики задач на программирование, бизнес-аналитики) | ||||||
Системные архитекторы ИС | ||||||
Программисты ИС | ||||||
Менеджеры и руководители проектов (раз | Н/д | |||||
Состав и функциональность линейки продуктов (полнота по жизненному циклу) | ||||||
Управление требованиями | Rational RequisitePro, Rational SoDA + Rational Rose, в части Use Case | ARIS Toolset и ARIS Easy Design (Change management component) и ARIS Web Publisher (web-портал). | Интеграция со средством управления требованиями RTM Workshop компании Integrated Chipware + в части Use Case | Oracle Designer (Function Hierarchy Diagrammer) | + в части Use Case | CaliberRM. +StarTeam, в части технических требований. +Together, в части Use Case |
Моделирование | ||||||
модели данных (ERD, логические, физические) | Rational Rose, Rational XDE (в UML-нотациях) | ARIS Toolset, ARIS Easy Design | ERwin Data Modeler, раздельные логические, физические и комбинированные модели | Oracle Designer Oracle Warehouse Builder — CASE-система для построения хранилищ данных | Microsoft Visio | Borland Together (в UML/IDEF1x) |
модели процессов, функций, работ (BPM) | Rational Rose, Rational XDE (в UML-нотациях — диаграммы активностей и др.) | ARIS Toolset, ARIS Easy Design | Process Modeler (BPwin) | Oracle Designer | Microsoft Visio | Borland Together (в UML-нотациях — диаграммы активностей + специализированные диаграммы Together Business Process и Robustness) |
модели ООП (UML и др.) | Rational Rose, Rational XDE | ARIS Toolset, ARIS Easy Design, ARIS UML Designer | Component Modeler (Paradigm Plus) | JDeveloper | Microsoft Visio | Borland Together |
оргструктуры, потоки и другие классы диаграмм и моделей предметной области | ARIS Toolset, ARIS Easy Design | Process Modeler (BPwin) | Microsoft Visio | |||
Проверка моделей | Rational Rose, встроенный язык script’ов. Отслеживаются некорректные связи (например, циклические), нарушения UML-нотации, осуществляется проверка корректности модели при генерации кода из модели. Есть средство интеграции моделей. | ARIS Toolset, ARIS Easy Design, встроенный язык script’ов | ERwin Data Modeler: генерация дизайна БД (шаблоны и дизайнер триггеров ссылочной целостности), генерация кода. Проектирование хранилищ и витрин данных. (Star Schema и Snowflake dimensional modeling). AllFusion Component Modeler | н/д | Встроенный язык VBA | Полная синхронизация объектной модели и языковых структур, не требующая проверки (на технологии LiveSource. Визуальные средства сравнения моеделей (Model Visual Diff) |
Анализ (динамический и стоимостной анализ процессных моделей) | Rational Rose (скрипты пользователя) | ARIS Simulation, ARIS ABC | Функционально-стоимостный анализ — Activity-Based Costing, User-Defined Properties. Интеграция со средством имитационногомоделирования Arena компании Rockwell Automation | н/д | Встроенный язык VBA | Доступны средства Business Intelligance как опции CaliberRM и StarTeam — соответственно CaliberRM DataMart и StarTeam DataMart |
Документирование результатов моделирования, анализ моделей (печатные отчеты по моделям, их описаниям, основаниям, разработчикам, пользовательские запросы к моделям и их составляющим) | Rational Rose, Rational XDE, Rational RequisitePro — встроенные средства, Rational SoDA Rational Workbench, который создает гипертекстовый сайт на основе UML-модели | ARIS Toolset, ARIS Easy Design, встроенный язык script’ов | Встроенные генераторы отчетов | Oracle9i Reports Developer, включая гипертексты, Oracle Discoverer | Встроенный язык VBA, интеграция с MS Office. | Borland Together и CaliberRM (настраиваемые шаблоны документов), создания отчетов с помощью Crystal Report. Гипертекстовое документирование |
Проектирование, разработка технических аспектов ИС (архитектура, модули, экранные формы) | Rational XDE Modeler, Rational XDE DeveloperPlus for .NET, for Java Rational Rapid Developer | Не в полном объеме — ARIS Toolset, ARIS Easy Design | Component Modeler (Paradigm Plus) | Oracle9i Forms Developer | Microsoft Visio (архитектура и модули в UML-диаграммах компонентов и развертывания) | Borland Together (архитектура и модули в UML-диаграммах компонентов и развертывания) |
Создание ИС (формирование БД, кода, экранных форм) на основе моделей ИС | XDE Developer Plus, Rational Rose, XDE DeveloperPlus | ERwin Data Modeler: генерация дизайна БД (шаблоны и дизайнер триггеров ссылочной целостности), генерация кода. Проектирование хранилищ и витрин данных. (Star Schema и Snowflake dimensional modeling). AllFusion Component Modeler | JDeveloper. Автоматическое создание кода для Java, JSP, XML, XSL, UIX и HTML. На основе описаний бизнес-процессов создаются объекты для Oracle Advanced Queuing и Oracle Workflow | Microsoft Visio | Together ControlCenter. Редакции Together для различных платформ и сред разработки. Borland Enterprise Studio for Java — единое ALM-решение Borland для Java/J2EE/CORBA/WebServices | |
Тестирование | Rational TestManager, Rational Robot, Rational XDE Tester, Rational TestFactory, Rational PurifyPlus | Интеграция со средством тестирования TestDirector компании Mercury Interactive | н/д | Профилирование — OptimizeIt Profiler (Java/J2EE, .NET). Анализ производительности —OptimizeIt Enterprise Suite (Java/J2EE, включает OptimizeIt Profiler, ThreadDebugger, CodeCoverege и Request Analizer). Анализ поведения распределенных J2EE-систем — Optimi | ||
Метрики кода, аудит кода | Только по структуре моделей, а не кода | Только по структуре моделей, а не кода | Выполняется средством тестирования TestDirector компании Mercury Interactive | н/д | Только по структуре моделей, а не кода | Borland Together. Более 150 метрик + столько же параметров аудита |
Обратная связь кода с моделями ИС | Rational Rose, Rational XDE | Полное сравнение, синхронизация (Complete Compare) модели и БД в AllFusion ERwin Data Modeler. Обратное проектирование кода в AllFusion Component Modeler | Синхронизация бизнес-компонент с существующей схемой базы данных | Microsoft Visio | Borland Together (технология LiveSource, не требующая reverse engineeng) | |
Документирование ИС | Rational SoDA. Rational Workbench, который создает гипертекстовый сайт на основе UML модели | ARIS Redocumentation Scout (для SAP R/3) | Планируется | Oracle9i Reports Developer, включая гипертекстовое. Oracle Discoverer | Microsoft Visio | В Borland Together и CaliberRM (настраиваемые шаблоны документов). Гипертекстовая документация и навигация. Создание отчетов с помощью Crystal Report. |
Автоматизированное обучение пользователей ИС | ARIS Web Publisher (процессно-ориентированное обучение) | Планируется | ||||
Автоматизированный аудит внедренной ИС | ARIS Redocumentation Scout (для SAP R/3) | AllFusion Saphir Option — средство просмотра структур данных ERP-систем (PeopleSoft, SAP R/3 и J.D. Edwards OneWorld). AllFusion ERwin Data Modeler. Возможность сравнения | ||||
Связь процедурных моделей с WorfFlow-системами | ARIS Toolset (стандартный XML-обмен), специализированные интерфейсы | Планируется | На основе описаний бизнес-процессов создаются объекты для Oracle Advanced Queuing и Oracle Workflow | |||
Управление групповой работой | ||||||
Многопользовательская работа с моделями, подсистемами | В Rational Rose, Rational ClearCase, Rational Quest, Rational Requisite Pro | Во всех продуктах | AllFusion Model Manager (ModelMart). AllFusion Harvest Change Manager | н/д | Microsoft Visio, совместная работа с диаграммами при помощи служб Windows SharePoint Services | Together поддерживает одновременную работу пользователей с различными диаграммами одних и тех же моделей как в режиме файл-сервера, так и при помощи средств конфигурационного управления. |
Управление взаимодействием пользователей (Web-сайт, сообщения, почта, форумы, конференции) | RUP с возможностями генерации проектного сайта, адаптированного под конкретный проект и методологию, Rational Project Consol | ARIS Toolset и ARIS Easy Design (Change management component) | Электронное оповещение о процессах, система одобрений и предупреждений по электронной почте в AllFusion Harvest CM. Публикация моделей и отчетов в Web | н/д | Windows SharePoint Services | Клиенты StarTeam, в частности StarTeam Web Edition (для доступа из браузера). StarTeam позволяет управлять дискуссиями (в стиле newsgroup) |
Библиотеки (репозитарий) терминов, моделей, объектов, приложений, модулей, компонентов, функций, готовых решений и т. п.) | Репозиторий Rational в составе Rational Suite | ARIS Toolset, ARIS Easy Design (наличие репозитария, функциональность миграции библиотек с управлением совпадениями) | Менеджер библиотек (Library Manager) в AllFusion Model Manager (ModelMart). В ERwin Data Modeler: словарь доменов (Domain Dictionary). Редактор стандартов именования (Naming Standards Editor). Редактор стандартов типов данных (Datatype Standards Editor). | Репозитарии Oracle. Набор Business Components for Java. В состав Oracle JDeveloper9i включены JavaBeans — компоненты с аналитическими функциями | Windows SharePoint Services | StarTeam обеспечивает единый многопользовательский репозитарий. Шаблоны проектирования (Design Patterns) в Borland Together. Более 150 паттернов: GoF (Gang of Four) + специфические паттерны для конкретных технологических платформ и языков программирования |
Методология ведения работ | RUP | ARIS Scout’ы (по разным технологиям) | AllFusion Process Management Suite | н/д | Microsoft Solutions Framework | Адаптируются к любой методологии — от RUP до XP(Extreme Programming) |
Средства управления бизнес-процессами и документооборотом в рамках проекта (методология ведения проекта) | Rational Clear Quest (поддержка workflow), Rational Project Console (документооборот на web-сайте проекта) | ARIS Scout’ы (по разным технологиям) | AllFusion Process Management Suite. AllFusion Process Library, AllFusion Process Catalysis Professional, AllFusion Web Process Library. Работа с AllFusion Harvest CM, Endevor CM также строится на основе процессов | н/д | Microsoft Office, Project 2003 | StarTeam — настройка и поддержка workflow |
Управление проектом разработки (сетевой график работ, мониторинг состояния, распределение нагрузки на исполнителей и т. д.) | Rational Project Console, Rational Clear Quest (включая интеграцию с MS Project), Rational RequisitePro (включая интеграцию с MS Project) | ARIS Scout’ы (по разным технологиям) | AllFusion Process Management Suite | н/д | MS Project (связан напрямую с case-инструментами) | StarTeam позволяет управлять версиями, задачами (Tasks — могут синхронизироваться с MS Project) |
Разграничение доступа пользователей к системе | У всех продуктов | У всех продуктов | У всех продуктов | н/д | SharePoint, Project Server 2003 | В CaliberRM и StarTeam |
— Поддерживается | — Частично поддерживается | — Не поддерживается | н/д | — нет данных |
Дополнительная информация
За дополнительной информацией обращайтесь в компанию Interface Ltd.
INTERFACE Ltd. |
|