metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2008-07-04 08:49 pm

UML

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

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

[identity profile] dizel-by.livejournal.com 2008-07-04 05:58 pm (UTC)(link)
Такой же опыт. Пробовал - не получилось.

[identity profile] slach.livejournal.com 2008-07-04 06:19 pm (UTC)(link)
постоянно использую PowerDesigner для Physical Model и Enterprise Architect для Sequence и Use Case диаграмм

Class Diagramm действительно часто рисуем на бумаге и очень упрощенно =)

все равно большинство UML инструментов расчитаны на жесткий RUP, когда 80% проектирование (которое часто заменяется ватокатанием ;-)

[identity profile] kkirsanov.livejournal.com 2008-07-04 06:26 pm (UTC)(link)
Пробовали, отказались.
Видимо проекты небольшие.

Когда припрёт - конечные автоматы рисуем.

[identity profile] qehgt.livejournal.com 2008-07-04 06:41 pm (UTC)(link)
Пробовали, не понравилось.

[identity profile] rssh.livejournal.com 2008-07-04 06:44 pm (UTC)(link)
Использую более или менее регулярно
В основном - для того что бы кому0-то чего0то покащать (изи самому себе)
Соотвественно и проектируется не все, а фрагмент нужный в разговоре или такой что нужно на него смотреть

Тулзы типа Rational Rose и ArgoUML страшно неудобны. UMLet более или менее работает.

[identity profile] pascendi.livejournal.com 2008-07-04 07:18 pm (UTC)(link)
UML хорошо использовать в составе технологии, например, в Rational. Нотация, впрочем, не самая наглядная и не самая удобная. Мне больше нравится IDEF.

Но на работе -- использовал. И знаю компанию, в которой на базе UML/Rational построена автоматизированная технология генерации приложений. Работает уже около 10 лет.

[identity profile] demiurg.livejournal.com 2008-07-05 09:33 am (UTC)(link)
поддержу предыдущих ораторов в том плане, что УМЛ используем как максимум лишь для того, чтобы быстренько набросать кому-то на бумажке небольшую часть системы во время разговора.

на стадии дизайна пробовал "думать в УМЛ", но оказалось жутко неэффективно в т.ч. и из-за "медленных", не успевающих за мыслью, инструментов: пока "набьёшь" класс свойствами и методами через многочисленные менюшки/диалоги, уже забудешь, чего вообще хотел сделать-то.
кстати, и TDD столкнулось практически с такой же проблемой.

для меня лично оказалось намного удобнее на стадии дизайна просто выписывать интерфейсы классов в одном файле прямо в синтаксисе языка, который в данный момент используется для разработки, и потом уже "играться" с ними там же.
всё равно ведь, когда рассматриваешь систему, перед глазами внутри видишь строчки кода, а проскроллив разок-другой такой файл на экране, в голове сразу же возникает полное видение системы. удобно, просто, эффективно =)

[identity profile] volodymir-k.livejournal.com 2008-07-05 05:06 pm (UTC)(link)
Показать Заказчику свою крутизну, в основном. Что полезно, вот наваял схему БД, оно сгенерило. Больше пользы не заметил.

[identity profile] max-posedon.livejournal.com 2008-07-06 07:39 pm (UTC)(link)
Не пользуем, совсем.

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

[identity profile] aamonster.livejournal.com 2008-07-07 06:46 am (UTC)(link)
Не использую:
1. Я все эти красивые диаграммы плохо воспринимаю (не визуал ни разу).
2. Простого псевдокода на листе бумаге (или на экране) помещается больше, чем диаграмм.

У меня вообще есть стойкое ощущение, что диаграммы - это не для работы программиста, а для продаж.

[identity profile] archangel-rhn.livejournal.com 2008-07-07 07:32 pm (UTC)(link)
Нарисовал достаточно диаграмм в Rational Rose. Знаком с Enterprise Architect. Наглядность несомненно присутствует. Однако, на эту рисовалку приходится затрачивать много времени, что несопостовимо с тем же кодингом.. Наглядную бизнес-логику для большого проекта представить в UML трудно. Диаграммы могут получиться слишком громоздкими. В особенности: диаграмма классов, последовательности, деятельности. Большие программы стоит разбивать на подпрограммы и для каждой в отдельности рисовать эти схемки.. Иначе можно тронуться.
Код, генерируемый соответствующими программами, проточен вдоль и поперек червями-мутантами.

Для примера, как могут выглядеть отдельные диаграммы для небольшенькой программы (в пару тысяч строк):
деятельности (http://keep4u.ru/imgs/b/080707/70/70e447990db254ae29.jpg)
последовательности (http://keep4u.ru/imgs/b/080707/89/89341bb205cbc4d432.jpg)
классов (http://keep4u.ru/imgs/b/080707/0b/0b34d7f9e238101d02.jpg)

[identity profile] blackyblack.livejournal.com 2008-07-09 10:55 am (UTC)(link)
Использую какими-то урывками и кусками, которые понял и которые пришли в голову во время решения задачи. Накидываю на бумажке то диаграммы состояний, то диаграммы классов, то диаграммы взаимодействия. Потом большую часть из них выкидываю.
Инструментами для UML не пользуюсь.