![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Я знаю, что меня читают всевозможные программисты.
Поэтому есть вопрос - используете ли вы на работе UML, в каких целях, до какой степени вы его используете и почему?
У меня все попытки использовать UML натыкались на крайнюю неприсособленность тулсов для работы только с клавиатуры и малочитабельное визуальное представление сколько-нибудь сложных диаграмм.
При том, что на бумаге при проектировании мы обычно используем что-то похожее на UML, но обычно это проектируются мелкие обособленные части системы, не очень подробно, скорее для того, чтобы сформировать общую идею в голове.
Поэтому есть вопрос - используете ли вы на работе UML, в каких целях, до какой степени вы его используете и почему?
У меня все попытки использовать UML натыкались на крайнюю неприсособленность тулсов для работы только с клавиатуры и малочитабельное визуальное представление сколько-нибудь сложных диаграмм.
При том, что на бумаге при проектировании мы обычно используем что-то похожее на UML, но обычно это проектируются мелкие обособленные части системы, не очень подробно, скорее для того, чтобы сформировать общую идею в голове.
no subject
Date: 2008-07-04 05:58 pm (UTC)no subject
Date: 2008-07-04 06:19 pm (UTC)Class Diagramm действительно часто рисуем на бумаге и очень упрощенно =)
все равно большинство UML инструментов расчитаны на жесткий RUP, когда 80% проектирование (которое часто заменяется ватокатанием ;-)
no subject
Date: 2008-07-04 06:26 pm (UTC)Видимо проекты небольшие.
Когда припрёт - конечные автоматы рисуем.
no subject
Date: 2008-07-04 06:41 pm (UTC)no subject
Date: 2008-07-04 06:44 pm (UTC)В основном - для того что бы кому0-то чего0то покащать (изи самому себе)
Соотвественно и проектируется не все, а фрагмент нужный в разговоре или такой что нужно на него смотреть
Тулзы типа Rational Rose и ArgoUML страшно неудобны. UMLet более или менее работает.
no subject
Date: 2008-07-04 07:18 pm (UTC)Но на работе -- использовал. И знаю компанию, в которой на базе UML/Rational построена автоматизированная технология генерации приложений. Работает уже около 10 лет.
no subject
Date: 2008-07-05 09:33 am (UTC)на стадии дизайна пробовал "думать в УМЛ", но оказалось жутко неэффективно в т.ч. и из-за "медленных", не успевающих за мыслью, инструментов: пока "набьёшь" класс свойствами и методами через многочисленные менюшки/диалоги, уже забудешь, чего вообще хотел сделать-то.
кстати, и TDD столкнулось практически с такой же проблемой.
для меня лично оказалось намного удобнее на стадии дизайна просто выписывать интерфейсы классов в одном файле прямо в синтаксисе языка, который в данный момент используется для разработки, и потом уже "играться" с ними там же.
всё равно ведь, когда рассматриваешь систему, перед глазами внутри видишь строчки кода, а проскроллив разок-другой такой файл на экране, в голове сразу же возникает полное видение системы. удобно, просто, эффективно =)
no subject
Date: 2008-07-05 05:06 pm (UTC)no subject
Date: 2008-07-06 07:39 pm (UTC)Для общения между собой, используем листик, ручку и рисуем прямоугольнички/кружочки/авалы/линии - хватает выше крыши.
no subject
Date: 2008-07-06 08:11 pm (UTC)no subject
Date: 2008-07-06 08:19 pm (UTC)no subject
Date: 2008-07-07 06:46 am (UTC)1. Я все эти красивые диаграммы плохо воспринимаю (не визуал ни разу).
2. Простого псевдокода на листе бумаге (или на экране) помещается больше, чем диаграмм.
У меня вообще есть стойкое ощущение, что диаграммы - это не для работы программиста, а для продаж.
no subject
Date: 2008-07-07 01:14 pm (UTC)no subject
Date: 2008-07-07 07:32 pm (UTC)Код, генерируемый соответствующими программами, проточен вдоль и поперек червями-мутантами.
Для примера, как могут выглядеть отдельные диаграммы для небольшенькой программы (в пару тысяч строк):
деятельности (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)
no subject
Date: 2008-07-09 10:55 am (UTC)Инструментами для UML не пользуюсь.
UML
Date: 2008-08-20 12:58 pm (UTC)Вы какой методологией разработки ПО пользуетесь?
Вот две кардинально разные методологии:
1. Карандаши/ластики/бумажки - Extreme Programming - UML практически не нужен.
2. Rational/Architect - RUP - без UML-а никуда, ибо все нужно задокументировать.
Есть другие, например Agile - там можно диаграммки порисовать при желании, но никак не в Rational Rose - там много лишнего для данной методологии и действительно, глупо тратить время на изучение и следование RUP, используя Rational Rose, если вам все это не нужно. Здесь лучше найти попроще и покрасивше редактор. Недавно обнаружил клёвую опенсорсную софтину: http://staruml.sourceforge.net/en/ (http://neill-solow.livejournal.com/2667.html)
Вообще, если диаграммки не перегружать, они очень полезны.
Во-первых, если чувак уволится, вы сможете почитать диаграмму и понять, что делает прога, а не копаться в коде (конечно, может и придется копаться, но изначально по диаграмме в курс дела войти быстрее и проще).
Во-вторых, потратив время на модель, вы тратите в разы меньше времени при кодировании.
Ну и заказчику есть что показать, заодно он и утвердит или отклонит еще до того, как вы уйму времени код писали.
Кроме того, если проект маленький, можно его начать как раз с диаграмм - для себя понять с разных срезов, что же требуется закодить - семь раз прмерь - один раз закодь! :)
Re: UML
Date: 2008-08-20 02:16 pm (UTC)А время на моделирование тратится много больше, чем на кодирование, но никаких при этом визуальных диаграмм - их невозможно ни рисовать, ни воспринимать с той же скоростью, с которой пишется и воспринимается обычное словесное описание структуры.
Re: UML
Date: 2008-08-20 02:22 pm (UTC)Чем меньше ты засоряешь модель, тем меньше времени ты тратишь на моделирование в сравнении с кодированием.
Словесное описание хорошо воспринимается людьми с сильно развитым воображением, остальным не так все просто - для них диаграммы - лучший вариант.
да, а диаграммы не описывают проект. те же диаграммы прецедентов (use case) кроме овальчиков и стрелочек содержат текстовое описание. картинки - только для наглядности.
Re: UML
Date: 2008-08-20 02:25 pm (UTC)Вот на бумаге - самое то, быстро и хорошо.
Re: UML
Date: 2008-08-20 02:28 pm (UTC)насчет неудобных инструментов - я тоже с этим сталкивался. Если инструмент неудобный, какой бы он мощный не был - пользоваться им не будешь - это правда...