Сравнение средств проектирования — 2

    Этот топик является продолжением статьи о средствах проектирования.
    В данной части я постараюсь рассмотреть не менее достойных представителей данной «отрасли».
    Итак следующая тройка выходит на старт!


    Небольшой пересмотр результатов или предотступление

    В комментариях к предыдущему топику были высказаны идеи о том что не совсем честно начислять 5 баллов за поддержку той или иной БД. Я решил немного снизить планку и выставлять за поддержку БД 2 балла. Тогда нужно пересчитать результаты :).
    Итак:
    NClass — 16 баллов (ничего не изменилось).
    MS Visio Professional 2007 — 61 балл (немного потерял).
    Altova UModel 2008 — 57 баллов.

    Сводный результат по всем средствам для ОС Windows(будет серия хабротопиков для Linux) а так же ценники и урлы на доступные версии будет в заключительном топике.

    Так же напомню параметры по которым я провожу сравнение:
    1. Поддержка UML. (Оценка от 0 до 10)
    2. Проверка правильности UML диаграмм. (Оценка от 0 до 10)
    3. Генерация исходных кодов по UML диаграмме. (Оценка от 0 до 10)
    4. Reverse engineering исходных кодов. (Оценка от 0 до 10)
    5. Поддержка процессов разработки(сильно не разбираюсь, но для саморазвития нужно). (Оценка от 0 до 10)
    6. Проектирование БД. (Оценка от 0 до 10)
    7. Поддерживаемые БД, по умолчанию. (За каждую БД по от 0 до 5 баллов)
    8. Проверка правильности БД.(Оценка от 0 до 10)
    9. Reverse engineering БД.(Оценка от 0 до 10)
    10. Удобство использования(чтобы мне понравилось).(Оценка от 0 до 10).

    А что это у вас такое интересное болтается?


    Magic Draw

    Версия 16 за 2008 год. У меня грузилась довольно долго.
    Ну что же, довольно неплохие возможности список предоставляемых диаграмм впечатляет.

    Познакомимся поближе…
    Интерфейс могли бы и улучшить. На мой взгляд довольно мелкие иконки. Но вцелом интерфейс довольно приятен.

    Диаграммы проработаны тоже довольно неплохо. Присутствует здоровый такой динамизм, в том смысле что создав один класс можно плясать от него не переходя каждый раз на панель для создания элементов.



    Но диаграмма страдает от нехватки информативности. Мне бы например хотелось если я создал связь, то автоматом подставлялся член класс/элемент/etc.

    Но перейдём к сухой статистике
    1. UML — поддерживается в полном объёме. (10).
    2. Проверка на правильность есть, но какая-то подозрительная, не получилось у меня составить корявой модели… (9).
    3. По заявленным данным владеет такими языками как Java, C++, CORBA IDL, DDL, EJB, CIL, C#. Смотрел только для C#, меня вполне устроил созданный код (10).
    4. Реверсить умеет, даже должен понимать Java ByteCody и CIL Disasm (все вышеописанные языки также поддреживаются). Умеет общаться с NetBeans, JBuilder, Eclipse, Sun One Studio, IntelliJ IDEA (10).
    5. Бизнес процессы есть, но далеко не все, а точнее один (7).
    6. Умеет работать с БД, но дефолтная Oracle (9).
    7. Насколько я смог разобраться — only Oracle (2).
    8. Проверять умеет (9).
    9. Reverse БД — сумеет (9).
    10. А вот удобвство плохенькое -если интерфейс ещё нормальный, то справка это вообще нечто. «Вам нужно узнать это? Тогда топайте на сайт и качайте маны!», такой подход меня напрягает, ведь можно же сделать нормальную справку, а не лезть в инет за более или менее нужной информацией (8).

    Итог: 83 балла, отбалталось.

    Опасаясь контр-разведки, избегая жизни светской, под английским псевдонимом ...


    Sparx Enterprise Architect


    Некоторым хабролюдям в хаброподполье известен так же как Enterprise Architect, EA (не путать с играми)


    Довольно приятный на внешний вид, притом при первом запуске предлагает почитать справочку. Я ставил версию 7.1.
    Выбор предлагаемый им не широк, но и не мал. Я бы сказал — то что нужно.


    Диаграммы довольно приятны на внешний вид



    Умеет проверять слова на правильность, про проверку на правильность диаграмм тихонько умалчивается. Но умеет рисовать пользовательские морды интерфейсы. Ещё меня очень сильно напрягает, то что когда создаёшь новый элемент, то вылетает окно редактирования его свойств. Когда-то года 2 назад именно из-за этого от него и отказался, хотя мне он понравился.
    Умеет работать с такими языками как С, C++, C#, ActionScript, Delphi, Java, PHP, Python, Visual Basic, VB.Net. Так же предназначен для работы команды (репозитории, общие БД etc).
    У меня сложилось мнение, что вот этот продукт предназначен для среднего бизнеса, довольно непритязателен, но есть необходимый минимум, притом выполненный весьма качественно. Эхх… осталось дождаться небольших доработок.

    1. UML поддерживатеся в полном размере (10).
    2. Проверки на правильность я не нашёл, возможно я ошибся, буду рад если мне на это укажут, но пока что (2)(2 потому что есть возможность «плясать» от какого-то элемента, но конкретной проверки нет).
    3. Генерирует коды довольно успешно (10).
    4. И реверсит успешно (10).
    5. Процессы есть (10).
    6. БД проектировать умеет(10).
    7. Поддерживает довольно солидный список БД, а именно: DB2, Informix, Ingres, InterBase, MS Access, MySQL, Oracle, Postgre SQL, SQL Server 2000, SQL Server 2005, SQLServer7, Sybase, Sybase ACE. Солидно в отрыв ушёл (26).
    8. Проверять БД на правильность умеет, но я бы был осторожен (9).
    9. Реверсить БД умеет (10).
    10. Довольно удобный, хотя я предпочитаю менее размолёванные более строгое оформление. Вот что меня сильно задело — то что после того как добавили элемент на диаграмму вылазит окно редактирования свойств объекта. А меня спросили? А может я не хочу?! (Если кто знает, подскажите как его отключить, буду примного благодарен :) ). Вот за это окошко он и получает «по шапке» (8).

    Итого — 99 баллов. На мой взгляд честно заслужил.

    Этот фантастический лего


    Visual paradigm


    VP Suite 3.4.
    Выбор предлагаемый этим продуктом довольно широк.

    Использовал я его примерно месяцев 6-7, поэтому о нём сложились вполне приятные ощущения, хотя и негативных тоже хватило. Но об этом попорядку.
    Меня порадовало, то что продукт очень проработан и соответствует стандартам.

    Притом на сайте производителя можно найти кучу примеров, что тоже весьма немаловажно. Так же удобный интерфейс и неплохая справка, но справку приходится скачивать из интернета, что есть минус.
    Сам по себе представляет конструктор, много-много элементов собранных в одну оболочку. Можно устанавливать те или иные компоненты, что соотвественно скажется и на лицензии.
    Обеспечивает очень неплохую интеграцию со средствами разработки, такими как Visual Studio, Eclipse, Borland JBuilder, NetBeans/Sun ONE, IntelliJ IDEA, Oracle JDeveloper, BEA WebLogic Workshop. Довольно неплохой список, не правда ли.
    Что меня порадовало в этой версии — это то что они избавились от бага с copy/paste элемента. Хороший получился у них продукт.
    Так же немаловажный фактор, то что поддерживает кодогенерацию и умеет реверсировать, правда списки языков немного различаются. Умеет генерировать код для: Java, C++, CORBA IDL, PHP, XML Schema, Ada, Python, C#, VB .NET, Object Definition Language (ODL), Flash ActionScript, Delphi, Perl, Objective-C, and Ruby.
    Реверсировать умеет: Java, C++, CORBA IDL, PHP, XML Schema, Ada, Python, C#, Java class, .NET dll and exe, JDBC.
    Возможно кто-то меня поправит, но покрайней мере такие данные приведены на сайте разработчика.
    Часть отвечающая за работу с БД проработана тоже очень хорошо, да и список поддерживаемых баз впечатляет. Притом можно доставлять свои провайдеры и работать с «левыми» БД. В стандартной установке я получил: MySQL, MS SQL Server, Oracle, HSQL, Sybase ASE, Sybase SQL Anywhere, PostgreSQL, CloudScape/Derby, DB2, Ingres, OpenEdge, Informix, Firebird, FrontBase, Cache, SQLite. Да команда молодцы, за время использования список разросся.
    Я думаю стоит привести цифры, ибо хвалы возносить данному продукту я смогу ещё долго, несмотря на то, что сейчас с ним не работаю.
    Результаты:
    1. Поддержка UML — 10.
    2. На правильность проверять умеет — 10.
    3. Исходные коды по UML генерируются тоже довольно успешно(проверял для C#) — 10.
    4. Reverse Engineering успешен — 10.
    5. Бизнес процессы — отдельная «упаковочка», но они есть — 10.
    6. БД проектирует — 10.
    7. Список поддреживаемых БД приведён выше — 32.
    8. Проверка на правильность есть — 10.
    9. Реверсить БД умеет (проверено на PostgreSQL) — 10.
    10. Очень удобный в плане юзабилити, возможно снова «пересяду» на него — 10.
    Итого: 122 балла( на II этапе несомненный лидер).

    Продолжению быть continued. В следующем хабротопике — «сражение» тяжеловесов.

    UPD. В комментариях стали проскакивать замечания, что я не рассмотрел Rational. Если обратитесь к предыдущему топику. То сможете там увидеть список, того что будет рассматриваться обязательно, а именно:
    1. NClass
    2. MS Visio Professional 2007.
    3. Altova UModel 2008.
    4. Magic Draw.
    5. Sparx Enterprise Architect.
    6. Visual Paradigm.
    7. Sybase Power Designer
    8. Rational (family).

    UPD2. Поповоду того, что тот или иной инструмент является лидером рынка, просмотрите вот этот опрос.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 30

      0
      Как же продукты Sybase или речь идет только о доступных?
        0
        Sybase будет в 3й по счёту статье. Там же планируется рассмотреть и продукты семейства Rational.
          0
          С удовольствием прочитаю и покоментирую ;)
        0
        Близкая тема. Разбираюсь с EA. Не устраивает генерация кода для ПХП, т.к. отсутсвует поддержка PHPDoc. Аналогично и для reverse. Однако в целом работа с кодом действительно неплоха: синхронизация и т.м. Порадовала поддержка командной работы.

        Не заметил про вылетающее окошко свойств. Возможно оно меня не сильно задело.
          +1
          У EA есть косяк с Reverse Engineering для с++. Я так и не смог его победить. Например если в библиотеке класс объявлен в таком виде.

          #ifdef MYLIB_LIB
          #define MYLIB_EXPORT __declspec(dllexport)
          #else
          #define MYLIB_EXPORT __declspec(dllimport)
          #endif



          class MYLIB_EXPORT MyClass
          {
          public:

          };

          То он считает именем класса как раз макрос MYLIB_EXPORT
            0
            Забавно. Скорее всего неправильная обработка директив препроцессора. Спасибо за информацию.
            А вы им не пробовали баг репорт отправить?
              0
              Нет. Не пробовал. А так в целом, это лучшее с чем я работал.
                0
                Попробуйте support@sparxsystems.com. Конечно халявную лецензию они не дадут, но чисто человеческое спасибо, я бы на их месте сказал.
                У них кстати можно оставлять баг репорты в «прямом» эфире, но для этого нужно регистрироваться.
                  +1
                  можно сделать Settings -> Preprocessor Macros…
                  и там добавить макрос MYLIB_EXPORT, но это ведь будет работать только для текущей библиотеки
          0
          Чтобы обзор был лучше, можно было бы привести ссылки на страницы, посвященные продуктам, на сайтах их производителей.
            0
            Просто статья разбита на 3 части, поэтому я посчитал уместным привести все ссылки в заключительной 3 части.
              0
              Думаю что это совсем удобно до тех пор пока не выйдет последняя часть статьи.

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

              Список ссылок в конце имеет право на жизнь, но как дополнение а не как замена ссылкам в тексте.
            0
            Спасибо. Полезно.
              0
              А как же Rational Software Architect и Software Modeler? На мой взгляд это лидер на рынке инструментов для проектирования ПО с использованием UML.

              Конечно, по поводу проектирования БД в этих продуктах я не знаю, но это можно решить сторонними продуктами.
                0
                Поповоду лидера рынка можно поспорить, например с помощьюопроса :).
                А поповоду того, что я не рассмотрел его в этой статье, то посмотрите на первый пост из цикла. Там есть список:
                1. NClass
                2. MS Visio Professional 2007.
                3. Altova UModel 2008.
                4. Magic Draw.
                5. Sparx Enterprise Architect.
                6. Visual Paradigm.
                7. Sybase Power Designer
                8. Rational (family)
                Так что Rational будет, но в 3й статье ;)
                  0
                  Ок, будем ждать и про них ваше впечатление ;)
                0
                Ждем 3-ей части. Еще бы какую-нибудь сравнительную табличку по программам.
                  0
                  Все оценки будут вынесены в табличку, плюс ссылки и ценники. Или вас ещё что-то интересует?
                    0
                    Не, как раз то что вы написали, то и хотелось. Вообщем жду.
                  0
                  А можно еще добавить оценку скорости работы? А то ждать временами кучу времени на загрузку, открытие диаграмм и т.д. не очень хочется.
                    0
                    Ну у меня все довольно быстро запускались, за исключением Magic Draw.
                    0
                    Все знают Буча, его диаграмы и его детище Rational. Рациональной Розой в универе уши прожужжали, даже девчёнки расскажут на зачёте что нужно.

                    Но вот второй программой с мире считается Together. Обратили внимание на название? Оно неспроста. Потому, что прога с самого начала разрабатывалась как двунаправленная: изменения в коде <=> изменения в модели. Причём достаточно хорошо работает. Такие плюшки, тогда почему она вторая в мире? Потому, что цена…

                    В 2003 случилось страшное. Обе компании купили.
                    IBM покупает Rational за 2 миллиарда $
                    А Borland покупает австрийскую Together за 1.5 миллиарда $

                    На мой взгляд Together это только пошло на пользу, Борланд сразу интегрирует её в свой JBuilder, а затем и в эклипсу и всячески развивает.

                    Считаю, что в обзоре средств проектирования UML просто обязаны быть лидеры рынка: Rational и Together
                      0
                      Нашел «Together 2008» в ITShop, Цена: 164 440.08 руб!!! Мне бы тоже очень хотелось увидеть обзор сей программки, но не стану настаивать :)))
                      0
                      Про netbean совсем забыли?))) Там тоже есть неплохой uml редактор))) Да и ценник шикарный — 0р. 0коп. :)
                        0
                        NetBeans — это вообще-то IDE. Да там поддержка UML есть, но тогда бы стоило писать и про Visual Studio и ещё парочку менее известных. Я тут собрал те или иные тулы заточенные только под проектирование. :).
                        Хотя сам использую иногда NetBeans, но возможностей он предоставляет маловато, вплане для UML :)
                      • НЛО прилетело и опубликовало эту надпись здесь
                          0
                          Ну в 3.4 я такого не заметил. Они много багов поправили с тех пор, советую попробовать поставить. Если бы я не пользовался PowerDesigner, то пользовался бы VP.
                          0
                          интересно, для мака чего есть или снова вмварю запускать придеться?

                          и еще есть интересный вопрос — моделлер классов/сущностей существует ли хоть один в виде онлайн приложения? веб два ноль шагает по планете все таки…
                            0
                            для мака можно запускать Visual Paradigm, на писано это дело всё-таки на Java(судя по сайту разработчика). Можно попробовать MagicDraw, но про него ничего точно не скажу.
                            Кхе, а для веб2.0 есть только вот это, написано на флэше, но походит более всего на поделку и есть вот такая частная поделка. Что-то более функциональное я не встречал…
                            0
                            Чисто для разнообразия хочется сказать про MagicDraw. У меня сложилось впечатление, что по юзабилити это один из лучших редакторов. Основные проблемы для меня как для жавера — скорость загрузки большой модели, требовательность к оперативной памяти, ну и собственно стоимость пакета.

                            Стоимость пакета на «чтобы попробовать» легко решается их бездарной защитой, сделанной чтобы была (пара часов в JAD'е решают). Триальные ключики позволяют создавать ограниченное количество объектов, в результате с официальным триальным ключиком невидны проблемы с количеством потребляемых ресурсов. В результате этого совсем не мелкого псевдо-обмана нахожу справедливым тестировать по-русски.

                            Реверсинжиниринг для жавы и назад там есть, но я не стал им пользоваться. Создает очень много хлама в исходнике, что сводит на нет правильные стили оформления. Хотя может быть я где-то недокурил маны и это настраивается.

                            Зато поддержка UML, юзабилити по многим критериям — там просто замечательные. И диаграммки красивые, хоть на презентацию бери. Но БД разрабатывал только в Оракле… мне большего и не нужно ))

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                            Самое читаемое