Sparx Enterprise Architect — инструмент системного аналитика

10.08.2018

Автор: Виктор Рудь


Sparx Enterprise Architect (EA) — программный продукт австралийской компании Sparx Systems.

Аннотация к статье: в нескольких абзацах мысли стараемся понять, почему система Sparx - инструмент системного аналитика по подготовке проектных документов, а не средство проектирования Enterprise-уровня. Проводится сравнение (преимущества и недостатки) с российском системой арх.моделирования СиММА (входит в реест российского ПО) и финской системой моделирования QPR EA (пока поставки в РФ прекращены).


Sparx Systems — австралийская компания-разработчик программного обеспечения, основанная Geoffrey Sparks в 1996 в Австралии (Creswick, Victoria).

Sparx Systems специализуется на разработке визуальных инструментов планирования, дизайна и разработки программного обеспечения. Sparx Enterprise Architect — наиболее известный продукт компании (существует с 2000 года), признаваемый самым продвинутым инструментом моделирования на UML. В 2006 компания Sparx Systems была первой, кто поддержал OMG Systems Modeling Language (SysML). Sparx Systems — член консорциума Object Management Group (OMG).


Sparx Enterprise Architect наиболее распространен среди системных аналитиков, как инструмент создания спецификаций на доработку или интеграцию систем. В чем причины популярности продукта в России:

  • качественная реализация поддержки языка UML.
  • низкая цена.
  • широкое распространие взломанных версий, позволяющих попробовать продукт или использовать его время от времени.
  • наличие шаблонов для создания моделей практически в любых современных нотациях (UML, BPMN, Archimate и еще несколько десятков других нотаций).
  • поддержка возможностей реверс-инжиниринга (например, парсинг WSDL или построение ERD-диаграммы на базе уже готовой схемы базы данных).

Таковы сильные стороны. Англоязычные аналитики в своих обзорах подчеркивают одно свойство: способность Sparx EA генерировать автоматически нужную документацию.

Наиболее сильная сторона — возможность начать разработку диаграммы сразу после установки системы. Причем предлагаются десятки уже настроенных шаблонов. Однако истинная сила продукта состоит в том, что он ориентирован на UML во всём своём внутреннем строении. Такая строгость нужна для того, чтобы по данным Sparx EA можно было бы автоматически генерировать полузаконченные куски программного кода. Однако, следует признать, что мы таких людей, генерирующих код из Sparx, не встречали на своем пути. То есть по факту наблюдаемой практики использования, Sparx — это не инструмент программиста, а инструмент аналитика. Остаётся понять, какого именно аналитика: бизнес-аналитика или системного?

Давайте вспомним, а чем собственно озабочен аналитик? С одной стороны — попыткой зафиксировать или смоделировать требования бизнеса. С другой стороны — выдать строгую спецификацию в адрес программистов. Побеждает конечно же бизнес-заказчик с требованиями нарисовать ему красивые диаграммы. Иначе требования не согласуют. Работая с фантазиями бизнеса, бизнес-аналитик будет выбирать Visio, как инструмент не только более гибкий, но и доступный бизнесу для понимания. Visio-файл бизнес-заказчик умеет открывать и комментировать, добавляя туда не только замечания, но и новые элементы на схему. Sparx тоже предлагает множество нотаций (шаблонов различных нотаций много - десятки). Но чтобы их хотя бы немного изменить, придется фактически программировать новый шаблон на UML - эта сложность, сложность кастомизации шаблонов, их строгость и костность отталкивают пользователей. В лучшем случае Sparx всё же будет использован  (приживается) в качестве рисовалки диаграмм отдельными нердами команды, но не более того. Оправданием этих мучений станет автоматическое фомирование проектных документов, которые так не любят готовить дизайнеры систем. В результате, единственная надежная ниша для Sparx — это строгие шаблоны UML и возможность сгенерировать по ним документ типа Требование, Техническое Задание, Спека. Однако здесь нужно помнить, что ориентация проектирования на создание проектных документов уже надежно канула в лету, так как в погоне за формализмами документов проектировщики совершенно потеряли смысл проектирования, суть которого — поиск оптимальных системных решений.

Добавление одного атрибута в шаблон или тем более создание нового шаблона потребует не менее недели чистого времени в изучении англоязычных форумов.  На это не у каждого хватает сил и терпения. Добавление одного нового атрибута занимает примерно 11 минут! 11 минут строго выверенных кликов с остановкой работы всех пользователей и даже возможно с перемиграцией данных вашей модели!

Но может быть наличие множества готовых шаблонов нивелирует как-то сложность их коррекции? Ведь в названии продукта от Sparx есть слово «Enterprise»... Для нас пока остаётся загадкой, что вкладывают в данное понятие разработчики из Sparx Systems. Наша гипотеза: «Enterprise» означает возможность применять продукт EA в каждом отделе предприятия, ведь для каждого отдела найдется хотя бы один нужный для него шаблон какой-либо нотации.

Однако модели Sparx EA, построенные по разным шаблонам, не совместимы и не связываются друг с другом. Поэтому даже несмотря на поддержку таких нотаций и методологий как TOGAF и Archimate, Sparx EA не в состоянии создать в своей базе полноценный архитектурный репозиторий, содержащий строгие реестры ABB (Architecture building block). Наш анализ внедрений EA в РФ показывает, что дублирование данных является основной проблемой таких внедрений, превращая Sparx-репозиторий в обычную свалку схем из различных проектов. Другой интересный вывод нашего исследования: системой Sparx EA ввиду сложности ее интерфейса пользуются только сотрудники ИТ-отделов. Бизнес-подразделения предпочитают более дружественные инструменты, не перегруженные ИТ-шной спецификой.

Последним недостатком Sparx, как инструмента Enterprise-класса, является полное отсутствие функций навигации в моделях. Если у вас более сотни систем, функций или объектов данных, будьте готовы выучить их наизусть или дублировать внутри проекта почаще, чтобы они были у вас всегда под рукой в нужном месте. Sparx EA позволяет организовать данные внутри своей модели только в виде одной иерархии вложенности объектов. Для крупных предприятий и масшабных проектов — это просто фатальное ограничение инструмента. Может быть поэтому типовой круг пользователей Sparx EA — это 1-2-3 человека, причем каждый использует однопользовательскую версию. О какой же групповой работе и тем более enterprise-архитектуре может идти речь? Даже инсталяции на 10-15 пользователей показывают, что продукт изначально создавался как однопользовательский и никаких фич по обеспечению и облегчению групповой работы в нем практически не заложено.

Как итог, Sparx — отличный инструмент, облегчающий рутинные задачи системного аналитика по подготовке документов, специфицирующих работу создаваемого или изменяемого программного обеспечения. Для остальных задач, как то дизайн архитектуры ИТ или архитектуры предприятия, планирование трансформации, стоит поискать другие инструменты.

Для сравнения, QPR Enterprise Architect и российская СиММА позволяют:

  • менять метамодель на лету прямо по ходу моделирования. Добавление одного атрибута или нового класса составляет около 10 секунд.
  • сливать любые базы или фрагменты архитектурных баз, чтобы быстро решать задачи reuse’а проектных артефактов (данные, процессы, системы, функции, API, интеграции).
  • смешивать любые нотации в любой пропорции, включая переопределение внешнего вида объектов в рамках любой диаграммы.
  • вести данные в виде табличного набора сущностей (системы, процессы, транзакции, данные, интеграции, цели, задачи, продукты и т.п.), образуя тем самым первичные реестры сущностей. Диаграммы - вторичны, хотя можно начать создание репозитория путем размещения элементов на пустой диаграмме.
  • представлять реестры сущностей (каталоги объектов) в виде неограниченного количества редактируемых VIEW (иерархические табличные представления данных репозитория), позволяющих трассировать объекты и связи в любом направлении с любого уровня.

Sparx всё это делать не умеет. Цель Sparx — нарисовать схему. Цель QPR или СиММА — создать репозиторий объектов и их связей. Поэтому для QPR/СиММА не важно сколько в репозитории объектов — 100, 200 или тысячи. Объекты будут эффективно (разнообразно и многократно соответственно задачам) представлены для обзора и анализа. Sparx же практически ничего не может сделать без диаграммы, можно даже утверждать, что диаграмма является первичным артефактом моделирования. Нет диаграммы — нет и объектов в репозитории. Что, согласитесь, странно: сущности есть, но ввести их в систему можно только методом их рисования.

Еще одним индикатором "популярности" Sparx является полное отсутствие на рынке РФ профессиональных услуг по этой системе. Никто вас не научит, никто вам не поможет. Справедливости ради, стоит сказать, что число пользователей Sparx в мире достаточно велико и поэтому доступны многочисленные конференции на тему, кто и как справился с системой. Существует и market place по плагинам и скриптам для Sparx. Так что если выбор тернистых путей - ваш выбор, то не отказывайтесь. В нашем опыте есть разные случаи: купили Sparx на 20 пользователей (имя компании не расскрываем) и через год обнаружили, что все пользователи рисуют свои диаграммы в draw.io, а система Sparx за год так и не пополнилась проектными артефактами. Деинсталлировали, тихо забыли. Другой пример - крупный банк (опыт описан на хабре): за 4 года эксплуатации ребята написали над Sparx свой application сервер, без которого репозиторий Sparx - просто мертвая банка с данными.

Более полное сравнение Sparx EA и QPR EA смотри во вложенном PDF-файле. По запросу файл может быть дополнен сравнением с СиММА.

Иногда говорят, что строгость Sparx импонирует больше, чем свобода QPR/СиММА. Но навести дисиплину в QPR все же возможно с помощью скриптов, а вот сделать Sparx свободным от его ограничений не получится никогда. Поэтому следует выбирать для работы то, что содействует вашему успеху и вашей эффективности, а не то, что просто стоит дешевле. Проектирование — это сегодня наиболее дорогой процесс, и любой инструмент, делающий проектирование эффективным, окупается именно через повышение производительности труда проектировщика (аналитик, архитектор, программист). Не говоря уже о том, что проектирование — это творчество, а творчество требует свободы!


Сравнение QPR и Sparx для исполнения функции управления архитектурой (326 КБ) Скачать


Список статей