LINUX.ORG.RU
ФорумTalks

UML - кто пользуется?


0

0

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

для решения задачи выбрал eclipse+pydev+pyuml. надеюсь получить диаграмму классов, которая будет генерить код классов с атрибутами, методами и прочими плюшками.

и сейчас вот медитирую над агрегацией и композицией - и меня не покидает ощущение что в целом моя затея не взлетит.

а вы пользуете в своей работе UML? если да, то как?

> решил сей проект нарисовать в UML - дабы переделать все по уму. для решения задачи выбрал eclipse+pydev+pyuml.

You do it wrong. Лист бумаги и карандаш.

Manhunt ★★★★★ ()

когда проектирую базу данных в rails.

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

ciss ()
Ответ на: комментарий от Manhunt

так и было - но под конец сдачи проекта начали появляться костыли между классами по типу «из одних далеких ипиней в другие» (классический антипаттерн «действие на расстоянии»).
я понимаю что можно перерисовать еще раз - но не факт что опять не будет похожей ситуации.

интуиция подсказывает что UML все решит, но его надо освоить... ну как велосипед например. привыкнуть, приловчиться и получать профит до конца своих дней.

VladimirMalyk ★★★★★ ()

использую dia без всяких генераций. удобно. заменяет бумажку. хотя, бумажка (тетрадь) быстрее.

limux ()
Ответ на: комментарий от VladimirMalyk

да чего ты паришься - то?

UML за тебя программу не пишет, просто структуру предоставляет в визуальной форме. Какой от этого профит?

В мозгу держать всю эту схему безусловно можно и возможно, но иногда проще обратиться к UML и задуматься над чем нибудь другим :)

ciss ()
Ответ на: комментарий от ciss

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

VladimirMalyk ★★★★★ ()
Ответ на: комментарий от ciss

> просто структуру предоставляет в визуальной форме. Какой от этого профит?

просто на таком уровне абстракции я раньше увижу косяки в проектировании. код руками писать то ясное дело - но классы, их атрибуты и методы можно (и наверно нужно) генерить.

VladimirMalyk ★★★★★ ()

Иногда пользуюсь Umbrello. Но вообще редко..

vkos ★★ ()
Ответ на: комментарий от VladimirMalyk

да не, это я хреново написал.

ну мол задал вопрос: какой от этого профит?

и ответил на него же: В мозгу держать всю эту схему безусловно можно и возможно, но иногда проще обратиться к UML и задуматься над чем нибудь другим :)

ciss ()

Тоже подумываю об использовании uml. Он подойдет для не ООП проектов? Нужно отобразить структуру программы.

Zitzy ()
Ответ на: комментарий от VladimirMalyk

Я приблизительно понял в чем твой запар.

Извините, если далее будет высказана полная херня. На звание супер-проектировщика я не претендую.

Я работаю с рельсой, поэтому часто проектирую модели баз данных. Иногда вообще не обязательно смотреть на UML, чтобы лучше понять, что происходит. Роль 'relationships-define' методов берут на себя простые глаголы:

user :has_many 'posts' post :has_one 'category'

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

например:

class Core
  # manipalte 'method_name',:with => 'any_data', :throught => 'Db'
end

class Db
  # accept_manipulation :with 'any_data', :from => 'Core'
end

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

не критикуйте особо, если написал полный бред, я еще зеленый в программирование.

ciss ()
Ответ на: комментарий от VladimirMalyk

> интуиция подсказывает что UML все решит

Вот и рисуй UML на бумаге. Редакторы и прочая мутотень здесь только мешают.

Manhunt ★★★★★ ()

сколько у тебя сущностей и свойств на них?
если мало, то забей на UML-редакторы и прочий проектировочный софт - те, кто советуют взять бумагу и карандаш на 100% правы.
если больше 5-7 сущностей, в среднем у каждой от 5 свойств и эти сущности часто «общаются» и «прыгают» между состояниями, то надо выбирать инструментарий и всё это проектировать/документировать.

ну и: UML - не панацея.

kvitaliy ()
Ответ на: комментарий от VladimirMalyk

> интуиция подсказывает что UML все решит

Он ничего не решит. UML - это только способ записи имеющегося решения (довольно хреновый способ).

tailgunner ★★★★★ ()
Ответ на: комментарий от PayableOnDeath

> UML 2 Tools

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

VladimirMalyk ★★★★★ ()
Ответ на: комментарий от kvitaliy

получились пакаджи modbus, core, gui (внутри model, controller, view, utils). классов в каждом пакадже достаточно дохрена.

VladimirMalyk ★★★★★ ()
Ответ на: комментарий от VladimirMalyk

> альтернативы какие нить есть?

Ну есть другие объектные нотации - от OMT до Booch lite. Но для них инструментов нет :)

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

ну раз для UML столько всего наклепано - значит кто то ж должен всем этим пользоваться! а на деле кого ни спрошу - все говорят мол дело нужное, но ниасилил, но потом обязательно осилю.

VladimirMalyk ★★★★★ ()
Ответ на: комментарий от tailgunner

> UML - ...

хреновый способ


мне всегда казалось, что UML - это удачная попытка
собрать все худшее из text и binary альтернатив.

как вообще получилось так, что UML ухитрился найти
своих лохов^Wпользовтелей?

idle ★★★★★ ()
Ответ на: комментарий от idle

> мне всегда казалось, что UML - это удачная попытка собрать все худшее из text и binary альтернатив.

Не, ну какая-то нотация нужна... но UML - это переусложненная и перепиаренная фигня.

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

> но UML - это переусложненная и перепиаренная фигня

я не думаю что столько софта, с т.ч. свободного, наклепали одного пиара ради.
я еще поверю в пиар на глянцевой обложке от MS, но apt-cache search uml подсказывает что не пиаром единым

VladimirMalyk ★★★★★ ()
Ответ на: комментарий от tailgunner

> мне всегда казалось, что UML - это удачная попытка собрать все худшее из text и binary альтернатив.

Не, ну какая-то нотация нужна... но UML - это переусложненная и перепиаренная фигня.

бугога, рекомендую Вам познакомиться с методологией RUP, после неё использование uml - детские игрушки

shty ★★★★★ ()
Ответ на: комментарий от tailgunner

ну таки rup дальше и глыбже свои руки запускает :)

а с тех пор как начали использовать agile нафиг-нафиг всех этих мастодонотов, от них только несварение :)

shty ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.