Да, имеет смысл вести высокоуровневую спецификацию. Т.е. описать как связаны между собой модули, системы и прочее.
А вот конкретную структуру файлов я не стал бы документировать, т.к. это ограничивает возможность быстрых изменений и рефакторинга системы.
Листик с бумагой, плагин… Уж лично моё мнение, поставить нормальную систему и иметь полный «фарш». Притом бывают ситуации, что сегодня я пишу на VS, а завтра или послезавтра проект нужно делать на Mono IDE, а код и там и там реверсить нужно. Но это как говорится частности.
Нет, вы понимаете, заказчику важен не код, а насколько удобна и закончена система, написанная вами. Если ему что-то захотелось изменить, тем более, если эти изменения идут как доработки за доп. оплату, вы с этим ничего не поделаете. Заказчику все равно, насколько у вас там красивая архитектура получилась :)
Недавно тоже нужно было набросать простенькую БД из десятка таблиц. Как-то случайно нашел у себя на дебиане 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.
Рекомендую посмотреть Enterprise Architect крайне мощная весч. Поддержка как генерации кода, так и reverse engineering, для многих языков, в том числе PHP…
С базами данных работает, проекты в CVS держать может и прочие вкусности.
Тогда ждем следующей части ) Хочется сравнить с другими.
Обращу внимание автора — предлагаю взять и 6, и 7 версии. Мне лично советовали использовать 6-ю, т.к. она корректнее работает в некоторых вопросах (сам не сравнивал, но 6 меня вполне во всем устраивает).
ИМХО у него очень интерфейс удобный и приятный. Панели «уезжающие» вроде Adobe CS3, но гораздо удобнее, и это было в 2005-м.
Сравнивать, правда, реально могу только с Rational Rose, у которого и оформление, и юзабилити в свое время мне вообще ужасом показались :(
У меня после попытки пользования Visio сложилось впечатление, что это редактор диаграмм вообще, а не UML диаграмм. Т.е. может какие-то простые диаграммы из квадратиков и треугольничков в Visio и можно рисовать, но после получаса попыток вставить в sequence диаграмму вызов между другими двумя так, чтобы к диаграмме не применился эффект «взрыв атомной бомбы», я забросил это дело и за 5 минут перерисовал диаграмму в Enterprise Architect. С тех пор к Visio не прикасаюсь.
Я в своё время пользовал Visio EA 2003. Он на порядок лучше того же 2007. Только чтобы с ним разобраться пришлось «маны покурить». Зато потом было очень приятно работать. Сейчас же перешёл полностью на Sybase PowerDesigner.
>Сейчас же перешёл полностью на Sybase PowerDesigner.
Работаю с этой прогой с универа. Другие даже пробовать не хочу. Жаль что приличного аналога под linux нет
Укажите, пожалуйста, версию 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.
Использовали 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 «пол дня работы»), а не городить запредельные выходы за рамки.
возможно вы правы и в результирующую таблицу я занесу измененные данные, только в данном случае я исходил из того, что у каждой БД есть, хоть не большая но специфика работы с ней. Поэтому я и принял решение начислять балл именно так.
Советую в следующем обзоре затронуть Visual Paradigm — имхо, это лучшая из альтернатив. Наименее назойливая, наиболее эргономичная и ближе всех к стандарту UML 2.х.
Присоединяюсь, один из самых лучших редакторов, правда, с очень нестандартным интерфейсом, многих это отпугивает. Ещё большим плюсом является уникальная адекватность автора — он быстро отвечает на письма и быстро добавляет запрошенную функциональность.
Я предпочитаю разбираться в чужом коде с помощью диаграмм активности, если уж что-то такое «интересное» вылазит. Поповоду «микро-архитекруры» соглашусь.
Вы знаете такое слово как документация? А поддержкой кода с количеством классов от полутора тысяч занимались? По большому счету проработка микро-архитектуры часто служит одним из видом документирования. С другйо стороны он дает такое количество гибкости…
Не согласен ни разу. Дизайн безусловно лежит в основе, но в отсутствии документации позволяющий вникнуть в такую систему за 2-3 часа поддержка становится практически невозможна. Посмотрел ваш профиль… Парное программирование, и остальные технологии агилидева важны и нужны. Но не достаточны. Как я недавно сказал одной знакомой менеджерше — главное все таки не процесс а стратегия. В разработке ПО в том числе. =) Диаграммы, полноценная документация. Это важно.
Ну стоимость, как критерий уже добавили, нужно еще возможность командной работы инструменте. И поддержу на счет кол-ва БД — не объективно получается.
Хоотелось также услышать — на сколько долго и профессионально автор работал со всеми этими средствами?? Все Диаграммы рисовать пробовали?? Какой проект для примера брали??
И еще перед начлом написания такого обзора ожно было погуглить на счет обзоров и что-то повзаимстовать у них:
Использовал Visio 2 года Visual Paradigm год, PowerDesigner полтора года.
VP для разработки багтрэкинговой системы, использовались все диаграммы представленные в UML 2.0.
На Visio нас пересадил архитектор-француз, когда делали заказ для ST Microelectronics, в основном использовали для State Machines и для базы. На новом месте работы не использовали UML как таковой, поэтому выбрал то что мне удобнее(PowerDesigner) и теперь усердно насаждаю(предварительно пересмотрев все те, которые были в списке).
Сравнения я смотрел и читал, только они довольно сухие, как правило не рассматривают с нужной мне стороны и нередко попадаются «заказные».
Может быть тогда стоит описывать все эти инструменты? Потом собрать мнения сообщества по каждому из них и провести голосование «какой инструмент вам нравится больше всего»
Здравствуйте! Сам пользовался Altova Umodel, Visio и Visual Paradigm For UML, и буду советовать последний вариант как самый удобный и прикольный. Комментарий noita_kronk тому подтверждение :))
Кстати, я бы предложил бы вам для наглядности информации сделать сводную таблицу по критериям — потому что мне, к примеру, не очень интересно непосредственно читать обзоры — я бы сразу перешел в вашей оценке в табличном варианте.
Знаете, я в своё время отказался от Visual Paradigm из-за очень серьёзного бага. Когда копируешь в диаграмме несколько элементов, а потом пытаешься вставить, то получается оно вставляет это «всё» толи как картинку, толи чёрт пойми что. Если сейчас ситуация исправилась, то я очень рад :).
Я столкнулся с со следующей проблемой. Построил UML диаграмму для листа формата А4 в MS Visio 2007. А теперь мне нужно разместить её на А1. Но она не увеличивается. При этом пробовал сохранить как векторный рисунок, а потом вставить и увеличить. Ужас получается :(
Не надо как векторный сохранять, лучше когда печатать будете, выставить в настройках печати, что формат вывода А1, должно всё прекрасно отобразить.
По крайней мере когда там диплом печатал, всё было хорошо :)
Попробовал NClass, как раз то, что мне нужно, отлично строит. Но… нельзя (у меня не получилось по крайней мере) сохранить диаграмму построенную, в векторную картинку :(
Сравнение средств проектирования