Будем скоро новый проект начинать. Начальник (уже давно не программирует) говорит, что ему сказали, что сейчас проекты пишутся с использованием UML.
Подскажите, с чего начать?
Какими тулсами вы пользуетесь?
Использование UML
-
- Уже с Приветом
- Posts: 18906
- Joined: 30 Aug 2001 09:01
- Location: 3rd planet
Re: Использование UML
Vlad G wrote:Подскажите, с чего начать?
Например Grady Booch - "Object Oriented Analisys and Design"
Сама нотация - Главы 5-7
Тупизна как Энтропия. Неумолимо растет.
-
- Уже с Приветом
- Posts: 1731
- Joined: 01 Feb 1999 10:01
- Location: Ann Arbor, MI
Сайт, где обсуждают использование UML в том числе:
Популярные книги:
Applying UML and Patterns:
An Introduction to Object-Oriented Analysis and Design
by Craig Larman
UML Distilled: Second Edition
by Martin Fowler
Я читал книгу Лармана, считаю очень полезной - даже не жалко потраченных из своего кармана 50 баксов.
Можно попробовать раскрутить контору на оплату сертификата: IBM test 486 - OOAD with UML. (подробнее - здесь, там ссылки на форум, список рекомендованной литературы), недавно появился новый сертификат от OMG (группы, разработавшей UML).
Популярные книги:
Applying UML and Patterns:
An Introduction to Object-Oriented Analysis and Design
by Craig Larman
UML Distilled: Second Edition
by Martin Fowler
Я читал книгу Лармана, считаю очень полезной - даже не жалко потраченных из своего кармана 50 баксов.
Можно попробовать раскрутить контору на оплату сертификата: IBM test 486 - OOAD with UML. (подробнее - здесь, там ссылки на форум, список рекомендованной литературы), недавно появился новый сертификат от OMG (группы, разработавшей UML).
DEN
-
- Уже с Приветом
- Posts: 1436
- Joined: 27 Apr 2001 09:01
- Location: Moscow
-
- Уже с Приветом
- Posts: 1906
- Joined: 14 Mar 2001 10:01
Henry wrote:В россии чтитается лучшей Rational Rose-вообщем по праву, ...
В-общем то и неудивительно, учитывая нереальную цену этого продукта и то, какое значение эта цена имеет в России.
Про тулзы - всё зависит от того, нужен ли вам reverse engineering или нет. Если нет - то Visio на мой взгляд за глаза и за уше хватит.
P.S.: Это всё при условии, что использовать ли UML или нет вообще вопроса не стоит и решение уже принято, т.к. на мой взгляд этот вопрос далеко не праздный.
-
- Новичок
- Posts: 36
- Joined: 06 Sep 2003 20:29
Vovka wrote:Henry wrote:В россии чтитается лучшей Rational Rose-вообщем по праву, ...
В-общем то и неудивительно, учитывая нереальную цену этого продукта и то, какое значение эта цена имеет в России.
А что было бы реальной ценой?
И о какой редакции Rose мы говорим? Data Modeler? Enterprise? Floating? Node-locked?
К примеру, базовая цена (без скидок) для Rose Data Modeler - $1995.00 - node locked ($3490.00 floating).
Enterprise - 3495.00 (6115.00) соответственно.
Vovka wrote:Про тулзы - всё зависит от того, нужен ли вам reverse engineering или нет. Если нет - то Visio на мой взгляд за глаза и за уше хватит.
Если от UML требуются только красивые диаграмки, на стенку повесить, то Visio - за глаза хватит.
Если же надо моделировать - то вряд ли.
Vovka wrote:P.S.: Это всё при условии, что использовать ли UML или нет вообще вопроса не стоит и решение уже принято, т.к. на мой взгляд этот вопрос далеко не праздный.
А что, на сегодня есть лучшая нотация для OOA/OOD?
Не правится UML - Rose поддерживает еще две - Booch/OMT.
Удачи!
-
- Уже с Приветом
- Posts: 1906
- Joined: 14 Mar 2001 10:01
ccase wrote:А что было бы реальной ценой? К примеру, базовая цена ... $1995.00
Вы знаете, даже эта базовая цена, на мой взгляд, ужасно завышена для такого в-общем то неосновного, прамо скажем, инструмента. Сам Visual Studio и то дешевле стоит.
Vovka wrote:Если от UML требуются только красивые диаграмки, на стенку повесить, то Visio - за глаза хватит.
Бог миловал _это_ на стенки вешать - потом ещё кошмары снится будут.
Vovka wrote:А что, на сегодня есть лучшая нотация для OOA/OOD?
Есть лучшая нотация _вместо_ OOA/OOD - называется С++ source code.
Не подумайте только, что я имею что-то против господ аналистов - во всех отношениях приятные ребята, и абсолютно безвредные - до тех пор, по крайней мере, пока мне удаётся создавать у них иллюзию, что их диаграммки имеют какое-то отношение к моему коду.
Я через этот этап тоже прошёл, и ничего особо хорошего обо всей этой OO - мафии сказать не могу.
P.S.: Хотя нет, есть действительно весьма полезный компонент - use cases, как способ анализа и спецификации требований. Хотя они, вообще говоря, достаточно параллельны всем прочим OO-прелестям и могут использоваться независимо от них.
-
- Новичок
- Posts: 36
- Joined: 06 Sep 2003 20:29
Vovka wrote:Не подумайте только, что я имею что-то против господ аналистов - во всех отношениях приятные ребята, и абсолютно безвредные - до тех пор, по крайней мере, пока мне удаётся создавать у них иллюзию, что их диаграммки имеют какое-то отношение к моему коду.
Вот таких надо давить, пока они еще маленькие...
Удачи!
-
- Уже с Приветом
- Posts: 605
- Joined: 14 Feb 2002 10:01
- Location: Russia
den wrote:...Можно попробовать раскрутить контору на оплату сертификата: IBM test 486 - OOAD with UML...
Небольшое уточнение: сам по себе этот экзамен никакого сертификата не дает, он является необходимым среди прочих для получения сертификатов типа "IBM Certified Solution Developer" и т.п. Хотя в резюме вполне можно писать IBM UML, кому надо поймет.
-
- Уже с Приветом
- Posts: 131
- Joined: 17 Sep 2002 22:15
-
- Новичок
- Posts: 22
- Joined: 12 Oct 1999 09:01
- Location: Jerusalem
Re: Использование UML
Vlad G wrote:Будем скоро новый проект начинать. Начальник (уже давно не программирует) говорит, что ему сказали, что сейчас проекты пишутся с использованием UML.
Подскажите, с чего начать?
Какими тулсами вы пользуетесь?
1) Действительно немало новых проектов начинают с использованием UML. Моя компания тоже ведёт несколько больших Real-time & Embedded объектно-ориентированных проектов на C++ c UML.
2) Мы (вся группа) начали работу над проектом год назад с курса "UML-Object-Oriented Analysis and Design" (56 часов) израильской компании ACTL (actl.co.il), был выбран Rhapsody (это был удачный выбор) в качестве CASE + курс Rhapsody на 3 полных дня. Наняли консультанта по ОО анализу и дизайну из той же ACTL , который работает с нашей группой 1 день в неделю в течение всего проекта, приобрели литературу по ОО, С++, Patterns.
3) Заняло примерно по полгода у каждого, пока производительность вышла на нормальный уровень - процесс перестройки и вхождения был очень трудным. Понятно что мы не жалеем.
4) Правильный переход на новую ОО технологию - это дорогое удовольствие, например лицензия Rhapsody стоит около 5,000 дол. на девелопера, консультант - сам можешь оценить, плюс низкая производительность на долгий период. Хотя падение производитльности связана и с переходом на новый язык (с++) и на новое железо и на новую ОС - WxWorks.
5) Преимущества есть, но ОО это тоже не "silver bullet", т.е. и производительность не вырастет на порядок и от багов это не страховой полис. Переход на ОО - это скорее важное перспективное решение, которое принесёт положительные плоды (maintenance, например), но не всё сразу.
6) Важно очень, и Rhapsody это делает, чтобы код создавался автоматически. Мы всё время смотрим на код, но работаем при помощи properties (а их сотни) Rhapsody. А если делать UML в Visio, то в конце концов прервется связь между диаграммами и кодом и диаграммы выбросят.
Сейчас вечер и голова уже не варит. Если есть вопросы, можешь позвонить 02-6428033 или майл в профайле.
Подводя итоги, разве есть веская причина отказать начальству которое само желает новых и модных (модных на много длижайших лет), хорошооплачиваемых технологий? К тому же эти технологии аннулируют большую часть практического опыта этого самого начальства
-
- Уже с Приветом
- Posts: 8404
- Joined: 06 Nov 2000 10:01
- Location: SPb -> Silicon Valley, CA, USA
Расскажу про собственный опыт.
В некоторой конторе один и тот же проект делался трижды. Первый вариант был слеплен на коленке, второй делался с минимальным дизайном и спеками, третий с использованием УМЛ и ООА/ООД.
Первый вариант понятное дело делался как прототип и даже работал, но ни поддерживать его ни тем более расширять функциональность не было мочи.
Второй вариант страдал тем что ГУИ переплелся с логикой и вносить новую фунциональность приходилось с трудом, частенько переписывая попутно кучу классов, делая код все более неудобоваримым, и ловить все новые наведенные ошибки.
Третий вариант делался с использованием Ратионал Росе. Исходный код вырос примерно в 10(!) раз по сравнению с предыдушим вариантом, исполнимый примерно в 3-4 раза (и это было критично, так как делалось для встроенной системы). Я работал в группе, которая делала промежуточный слой между сушествуюшим функциональным ядром и ГУИ.
К сожалению на достаточное количество итераций дизаин-имплементация не было ни денег ни времени, поэтому обшение с группой ГУИ скоро свелось к следуюшему:
Они: нам нужна такая то функциональность в таком то обьекте
Мы : этого нет в спеке
Они: но без этого у нас ГУИ не работает, давайте менять спек
Мы: это повлечет перепроектирование, иначе будет очень неэффективно
Они: делайте неэффективно, только бы работало
Понятное дело, через некоторое время код стал из себя представлять нечто среднее между первым и вторым вариантом с абсолютно непонятным дизайном, неэффективный и огромный по обьему.
Ошибки менеджмента говорите? А у вас есть менеджер который знает как организовать разработку с использованием ООА/ООД и УМЛ? Отсюда и пляшите.
В некоторой конторе один и тот же проект делался трижды. Первый вариант был слеплен на коленке, второй делался с минимальным дизайном и спеками, третий с использованием УМЛ и ООА/ООД.
Первый вариант понятное дело делался как прототип и даже работал, но ни поддерживать его ни тем более расширять функциональность не было мочи.
Второй вариант страдал тем что ГУИ переплелся с логикой и вносить новую фунциональность приходилось с трудом, частенько переписывая попутно кучу классов, делая код все более неудобоваримым, и ловить все новые наведенные ошибки.
Третий вариант делался с использованием Ратионал Росе. Исходный код вырос примерно в 10(!) раз по сравнению с предыдушим вариантом, исполнимый примерно в 3-4 раза (и это было критично, так как делалось для встроенной системы). Я работал в группе, которая делала промежуточный слой между сушествуюшим функциональным ядром и ГУИ.
К сожалению на достаточное количество итераций дизаин-имплементация не было ни денег ни времени, поэтому обшение с группой ГУИ скоро свелось к следуюшему:
Они: нам нужна такая то функциональность в таком то обьекте
Мы : этого нет в спеке
Они: но без этого у нас ГУИ не работает, давайте менять спек
Мы: это повлечет перепроектирование, иначе будет очень неэффективно
Они: делайте неэффективно, только бы работало
Понятное дело, через некоторое время код стал из себя представлять нечто среднее между первым и вторым вариантом с абсолютно непонятным дизайном, неэффективный и огромный по обьему.
Ошибки менеджмента говорите? А у вас есть менеджер который знает как организовать разработку с использованием ООА/ООД и УМЛ? Отсюда и пляшите.
-
- Posts: 7
- Joined: 19 Sep 2003 03:04
Practical UML
A Hands-On Introduction for Developers
http://www.guides.sk/UML/together/
http://www.borland.com/products/white_papers/pdf/software_modeling_introduction.pdf
http://www.borland.com/products/downloads/download_together.html
A Hands-On Introduction for Developers
http://www.guides.sk/UML/together/
http://www.borland.com/products/white_papers/pdf/software_modeling_introduction.pdf
http://www.borland.com/products/downloads/download_together.html