Комментарии 86
Я крайне редко пользуюсь программами для работы с UML. Обычно хватает ручки и листка бумаги, чтобы объяснить дизайн.
Да, имеет смысл вести высокоуровневую спецификацию. Т.е. описать как связаны между собой модули, системы и прочее.
А вот конкретную структуру файлов я не стал бы документировать, т.к. это ограничивает возможность быстрых изменений и рефакторинга системы.
А вот конкретную структуру файлов я не стал бы документировать, т.к. это ограничивает возможность быстрых изменений и рефакторинга системы.
Reverse engineering ;)
Для этих целей вполне подходит простенький UML-плагин к любимой IDE.
По своему опыту, сколько не планируй, заказчик потом 10 раз все изменит.
А вы не подпускайте заказчика к вашему коду :)
Нет, вы понимаете, заказчику важен не код, а насколько удобна и закончена система, написанная вами. Если ему что-то захотелось изменить, тем более, если эти изменения идут как доработки за доп. оплату, вы с этим ничего не поделаете. Заказчику все равно, насколько у вас там красивая архитектура получилась :)
Планы — бесполезны, планирование — бесценно.
А через три года вы бумажку потеряете и попробуйте вспомнить что там как…
Недавно тоже нужно было набросать простенькую БД из десятка таблиц. Как-то случайно нашел у себя на дебиане OpenOffice Draw. Сделал — был доволен. Можно еще поискать специальные программы пол линукс.
Пользуюсь StarUML. Отличный функционал, open source, легко расширяется. Основные достоинства:
— Генерация кода в языки: C#, Java, С++ (доступны другие языки через расширения)
— Поддержка работы с фреймворками
— Удобный графический редактор
— Полное соответствие стандарту UML 2.0
— Возможность расширения функционала (про это написано отдельное руководство разработчика)
— Экспорт документации в форматы: DOC, PPT, TXT, XLS…
— Поддрежка паттернов
— Импорт проектов Rational Rose
— Приятный размер дистрибутива
подробная информация в обзоре

По пунктам:
1. 10 (полная поддержка UML 2.0)
2. 10 проверяет на валидность
3. 10 встроеная поддержка генерации кода на Java, C#, C++, на сайте есть дополнения для других языков
4. 10 есть, но пока не пользовался
5. 0
6. 0, к сожалению БД проектировать нельзя
7. 0
8. 0
9. 0
10. 9
Итого 49. Но свои функции выполняет на все 100.
— Генерация кода в языки: C#, Java, С++ (доступны другие языки через расширения)
— Поддержка работы с фреймворками
— Удобный графический редактор
— Полное соответствие стандарту UML 2.0
— Возможность расширения функционала (про это написано отдельное руководство разработчика)
— Экспорт документации в форматы: DOC, PPT, TXT, XLS…
— Поддрежка паттернов
— Импорт проектов Rational Rose
— Приятный размер дистрибутива
подробная информация в обзоре

По пунктам:
1. 10 (полная поддержка UML 2.0)
2. 10 проверяет на валидность
3. 10 встроеная поддержка генерации кода на Java, C#, C++, на сайте есть дополнения для других языков
4. 10 есть, но пока не пользовался
5. 0
6. 0, к сожалению БД проектировать нельзя
7. 0
8. 0
9. 0
10. 9
Итого 49. Но свои функции выполняет на все 100.
Рекомендую посмотреть Enterprise Architect крайне мощная весч. Поддержка как генерации кода, так и reverse engineering, для многих языков, в том числе PHP…
С базами данных работает, проекты в CVS держать может и прочие вкусности.
С базами данных работает, проекты в CVS держать может и прочие вкусности.
Sparx Enterprise Architect.
Если внимательно посмотрите в статью, то обзор будет в следующей части :)
Если внимательно посмотрите в статью, то обзор будет в следующей части :)
Тогда ждем следующей части ) Хочется сравнить с другими.
Обращу внимание автора — предлагаю взять и 6, и 7 версии. Мне лично советовали использовать 6-ю, т.к. она корректнее работает в некоторых вопросах (сам не сравнивал, но 6 меня вполне во всем устраивает).
ИМХО у него очень интерфейс удобный и приятный. Панели «уезжающие» вроде Adobe CS3, но гораздо удобнее, и это было в 2005-м.
Сравнивать, правда, реально могу только с Rational Rose, у которого и оформление, и юзабилити в свое время мне вообще ужасом показались :(
Обращу внимание автора — предлагаю взять и 6, и 7 версии. Мне лично советовали использовать 6-ю, т.к. она корректнее работает в некоторых вопросах (сам не сравнивал, но 6 меня вполне во всем устраивает).
ИМХО у него очень интерфейс удобный и приятный. Панели «уезжающие» вроде Adobe CS3, но гораздо удобнее, и это было в 2005-м.
Сравнивать, правда, реально могу только с Rational Rose, у которого и оформление, и юзабилити в свое время мне вообще ужасом показались :(
Есть еще ArgoUML — argouml.tigris.org/
У меня после попытки пользования Visio сложилось впечатление, что это редактор диаграмм вообще, а не UML диаграмм. Т.е. может какие-то простые диаграммы из квадратиков и треугольничков в Visio и можно рисовать, но после получаса попыток вставить в sequence диаграмму вызов между другими двумя так, чтобы к диаграмме не применился эффект «взрыв атомной бомбы», я забросил это дело и за 5 минут перерисовал диаграмму в Enterprise Architect. С тех пор к Visio не прикасаюсь.
Я в своё время пользовал Visio EA 2003. Он на порядок лучше того же 2007. Только чтобы с ним разобраться пришлось «маны покурить». Зато потом было очень приятно работать. Сейчас же перешёл полностью на Sybase PowerDesigner.
А есть ещё крошка Violet UML: alexdp.free.fr/violetumleditor/page.php
Программа простенькая, но часто этого вполне достаточно, чтобы набросать диаграмму классов.
Программа простенькая, но часто этого вполне достаточно, чтобы набросать диаграмму классов.
Разумеется, нужен обзор и линуксовых программ.
Укажите, пожалуйста, версию UML, по которой производите проверку.
Вы, кстати, несправедливы к MS Visio 2007, программа неудобная, но сделали много — в 2003-й было невероятное количество багов (видно, Вы в ней мало работали), особенно в диаграммах последовательностей.
Странно, что ничего не сказали про Visual Paradigm, вот там и жесты есть, и быстрое редактирование, и соответствие стандартам. Программа, в которой думаешь с той же скоростью, с какой заносишь изменения. Только вот распечатывать и работать можно только над одной схемой в бесплатном режиме. А платная версия стоит охо-хо.
Укажите, пожалуйста, версию UML, по которой производите проверку.
Вы, кстати, несправедливы к MS Visio 2007, программа неудобная, но сделали много — в 2003-й было невероятное количество багов (видно, Вы в ней мало работали), особенно в диаграммах последовательностей.
Странно, что ничего не сказали про Visual Paradigm, вот там и жесты есть, и быстрое редактирование, и соответствие стандартам. Программа, в которой думаешь с той же скоростью, с какой заносишь изменения. Только вот распечатывать и работать можно только над одной схемой в бесплатном режиме. А платная версия стоит охо-хо.
Visual Paradigm отличный продукт существуют плагины под все IDE. Платный, но он умеет сохранять проекты в XML и мой преподавательпо БД написал xslt-преобразование в SQL код оттуда. Пользуюсь им. И наш архитектор на работе им пользуется.
да, тоже было бы интересно про Линуксовые средства. как раз сейчас у меня встала проблема выбора такого инструмента.
Из всех UML редакторов пробовал Unbrello (из kdesdk), Sparx EA и Poseidon for UML ( www.gentleware.com/ ).
О первом и говорить нечего — убожество, а Poseidon после EA кажется диким тормозом, хотя детально в нём не разбирался.
Сейчас использую EA.
О первом и говорить нечего — убожество, а Poseidon после EA кажется диким тормозом, хотя детально в нём не разбирался.
Сейчас использую EA.
Странно, что вы это поняли в 21 год.
Интересно будет услышать мнение об IBM'овском Rational Rose.
umbrello под линукс — простенькая и толковая
сам иоспользую Sybase Power Designer. Отличный редактор.
Есть все что нужно, и удобно.
Есть все что нужно, и удобно.
из простых наиболее терпимое en.wikipedia.org/wiki/UMLet
запускается как stand-alone, так и плагином к эклипсу (3.4 тоже поддерживает)
запускается как stand-alone, так и плагином к эклипсу (3.4 тоже поддерживает)
В Линуксе использую Umbrello. Пока всем устраивает
Очень интересно про Linux-приложения подобные послушать. раньше пользовал visual paradigm, но что-то сейчас не хочется, да и денег на нее сейчас нет.
Использовали Rational Rose Real Time от IBM, вещь страшненькая, но в принципе удобная. UML поддерживает наверное на 8/10, зато генерирует служебный код
У Вас логическая ошибка:
7. В стандартном комплекте шли драйвера для: MS Access, MS SQL Server, Oracle, IBM DB2, ODBC, OLE DB. В своей работе использовал я только 2 — для Оракла и для SQL сервера, поддерживается всё в полном размере, насколько я могу судить.(30).
при этом система оценок идет от 0 до 10. Данный рейтинг в таком виде полностью не корректен, если есть программка, которая ничего не умеет, но работает с 10 базами данных, вы ей 100 поставите? Она мигом обойдет все что тут было на тестировании. Мое ИМХО (и это не из-за завышенности продукта Майкрософт, а просто из принципиальности и тяге к идеалу) — начали рейтинг по 1-10 за пункт, так его и надо продолжать, без отступлений. По хорошему надо было пункты сделать «не равновесными» (к примеру поддержка UML — 10% от общего балла «нужный минимум есть и достаточно», а вот генерация кода — все 30 «пол дня работы»), а не городить запредельные выходы за рамки.
7. В стандартном комплекте шли драйвера для: MS Access, MS SQL Server, Oracle, IBM DB2, ODBC, OLE DB. В своей работе использовал я только 2 — для Оракла и для SQL сервера, поддерживается всё в полном размере, насколько я могу судить.(30).
при этом система оценок идет от 0 до 10. Данный рейтинг в таком виде полностью не корректен, если есть программка, которая ничего не умеет, но работает с 10 базами данных, вы ей 100 поставите? Она мигом обойдет все что тут было на тестировании. Мое ИМХО (и это не из-за завышенности продукта Майкрософт, а просто из принципиальности и тяге к идеалу) — начали рейтинг по 1-10 за пункт, так его и надо продолжать, без отступлений. По хорошему надо было пункты сделать «не равновесными» (к примеру поддержка UML — 10% от общего балла «нужный минимум есть и достаточно», а вот генерация кода — все 30 «пол дня работы»), а не городить запредельные выходы за рамки.
(За каждую БД по от 0 до 5 баллов)
10 бд — 50 баллов.
Не совсем объективно, наверное, но внутренних противоречий нет.
10 бд — 50 баллов.
Не совсем объективно, наверное, но внутренних противоречий нет.
возможно вы правы и в результирующую таблицу я занесу измененные данные, только в данном случае я исходил из того, что у каждой БД есть, хоть не большая но специфика работы с ней. Поэтому я и принял решение начислять балл именно так.
Советую в следующем обзоре затронуть Visual Paradigm — имхо, это лучшая из альтернатив. Наименее назойливая, наиболее эргономичная и ближе всех к стандарту UML 2.х.
>Если хабросообществу будет интересно узнать о подобных программах под ОС Linux, просьба отписаться в комментариях :)
Будет интересно.
Будет интересно.
Интересно узнать форматы хрения/экспорта диаграмм.
Я обычно рисую структуру БД в ERWin, потом делаю экспорт в XML, а дальше парсером строю структуры данных для своего БД-фреймворка. Быстро и удобно.
Последнее время смотрю на StarUML (тут выше про него писали) — так он вообще все изначально хранит в XML…
А как с этим у других средств?
Я обычно рисую структуру БД в ERWin, потом делаю экспорт в XML, а дальше парсером строю структуры данных для своего БД-фреймворка. Быстро и удобно.
Последнее время смотрю на StarUML (тут выше про него писали) — так он вообще все изначально хранит в XML…
А как с этим у других средств?
bouml
bouml.free.fr/
bouml.free.fr/
Присоединяюсь, один из самых лучших редакторов, правда, с очень нестандартным интерфейсом, многих это отпугивает. Ещё большим плюсом является уникальная адекватность автора — он быстро отвечает на письма и быстро добавляет запрошенную функциональность.
Я пользуюсь VISIO2003 со специальным набором инструментов — Garrett IA Diagram.
Хорошо бы такой обзор для Mac OS X кто нить провел…
кто чем в Маке для этого пользуется ??
кто чем в Маке для этого пользуется ??
Неплохо было бы добавить — 11. Стоимость программного обеспечения
Я предпочитаю разбираться в чужом коде с помощью диаграмм активности, если уж что-то такое «интересное» вылазит. Поповоду «микро-архитекруры» соглашусь.
Вы знаете такое слово как документация? А поддержкой кода с количеством классов от полутора тысяч занимались? По большому счету проработка микро-архитектуры часто служит одним из видом документирования. С другйо стороны он дает такое количество гибкости…
Не согласен ни разу. Дизайн безусловно лежит в основе, но в отсутствии документации позволяющий вникнуть в такую систему за 2-3 часа поддержка становится практически невозможна. Посмотрел ваш профиль… Парное программирование, и остальные технологии агилидева важны и нужны. Но не достаточны. Как я недавно сказал одной знакомой менеджерше — главное все таки не процесс а стратегия. В разработке ПО в том числе. =) Диаграммы, полноценная документация. Это важно.
Ну стоимость, как критерий уже добавили, нужно еще возможность командной работы инструменте. И поддержу на счет кол-ва БД — не объективно получается.
Хоотелось также услышать — на сколько долго и профессионально автор работал со всеми этими средствами?? Все Диаграммы рисовать пробовали?? Какой проект для примера брали??
И еще перед начлом написания такого обзора ожно было погуглить на счет обзоров и что-то повзаимстовать у них:
Хоотелось также услышать — на сколько долго и профессионально автор работал со всеми этими средствами?? Все Диаграммы рисовать пробовали?? Какой проект для примера брали??
И еще перед начлом написания такого обзора ожно было погуглить на счет обзоров и что-то повзаимстовать у них:
Использовал Visio 2 года Visual Paradigm год, PowerDesigner полтора года.
VP для разработки багтрэкинговой системы, использовались все диаграммы представленные в UML 2.0.
На Visio нас пересадил архитектор-француз, когда делали заказ для ST Microelectronics, в основном использовали для State Machines и для базы. На новом месте работы не использовали UML как таковой, поэтому выбрал то что мне удобнее(PowerDesigner) и теперь усердно насаждаю(предварительно пересмотрев все те, которые были в списке).
Сравнения я смотрел и читал, только они довольно сухие, как правило не рассматривают с нужной мне стороны и нередко попадаются «заказные».
VP для разработки багтрэкинговой системы, использовались все диаграммы представленные в UML 2.0.
На Visio нас пересадил архитектор-француз, когда делали заказ для ST Microelectronics, в основном использовали для State Machines и для базы. На новом месте работы не использовали UML как таковой, поэтому выбрал то что мне удобнее(PowerDesigner) и теперь усердно насаждаю(предварительно пересмотрев все те, которые были в списке).
Сравнения я смотрел и читал, только они довольно сухие, как правило не рассматривают с нужной мне стороны и нередко попадаются «заказные».
Может быть тогда стоит описывать все эти инструменты? Потом собрать мнения сообщества по каждому из них и провести голосование «какой инструмент вам нравится больше всего»
en.wikipedia.org/wiki/List_of_UML_tools
en.wikipedia.org/wiki/List_of_UML_tools
я проводил опрос какой из инструментов предпочитают использовать
Здравствуйте! Сам пользовался Altova Umodel, Visio и Visual Paradigm For UML, и буду советовать последний вариант как самый удобный и прикольный. Комментарий noita_kronk тому подтверждение :))
Кстати, я бы предложил бы вам для наглядности информации сделать сводную таблицу по критериям — потому что мне, к примеру, не очень интересно непосредственно читать обзоры — я бы сразу перешел в вашей оценке в табличном варианте.
Удачи!
Кстати, я бы предложил бы вам для наглядности информации сделать сводную таблицу по критериям — потому что мне, к примеру, не очень интересно непосредственно читать обзоры — я бы сразу перешел в вашей оценке в табличном варианте.
Удачи!
Сколько тут понаписали-то. Я имел ввиду этот комментарий :)
Знаете, я в своё время отказался от Visual Paradigm из-за очень серьёзного бага. Когда копируешь в диаграмме несколько элементов, а потом пытаешься вставить, то получается оно вставляет это «всё» толи как картинку, толи чёрт пойми что. Если сейчас ситуация исправилась, то я очень рад :).
Я столкнулся с со следующей проблемой. Построил UML диаграмму для листа формата А4 в MS Visio 2007. А теперь мне нужно разместить её на А1. Но она не увеличивается. При этом пробовал сохранить как векторный рисунок, а потом вставить и увеличить. Ужас получается :(
Попробовал NClass, как раз то, что мне нужно, отлично строит. Но… нельзя (у меня не получилось по крайней мере) сохранить диаграмму построенную, в векторную картинку :(
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Сравнение средств проектирования