UML for dummies

User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

UML for dummies

Post by Sabina »

Взялась за рисование UML диаграмм для нашей базы. Понятно что должно быть все наоборот, но у начальства свои прихоти :(
С UML никогда не работала, но рисовать все равно некому, а мне поучиться не мешает. Да и базу саму я знаю достаточно хорошо.

Вооружилась Визио и скачал spec с omg.org.
И сижу думаю, а стоит ли эти specs все сначала читать? Может просто начать рисовать и там по ходу смотреть в спеки? Или все таки имеет смысл прочесть сначала?

Кто через подобное прошел, посоветуйте как лучше поступить. Естественно все как бы надо срочно :х , но хочется сделать нормально, а не лишь бы лишь бы.

Сабина
User avatar
Tango
Уже с Приветом
Posts: 2099
Joined: 30 Jan 2004 07:55
Location: Orange County, CA

Post by Tango »

IMHO, самое простое: возьмите существующие UML диаграмы какои-нибудь (предпочтительно знакомой) системы. Одним глазом смотрите как там у них, а другим (у-упс),- рисуйте свою собственную... :)
User avatar
IA72
Уже с Приветом
Posts: 956
Joined: 04 Mar 2002 10:01

Re: UML for dummies

Post by IA72 »

Sabina wrote:Взялась за рисование UML диаграмм для нашей базы. Понятно что должно быть все наоборот, но у начальства свои прихоти :(
С UML никогда не работала, но рисовать все равно некому, а мне поучиться не мешает. Да и базу саму я знаю достаточно хорошо.

Вооружилась Визио и скачал spec с omg.org.
И сижу думаю, а стоит ли эти specs все сначала читать? Может просто начать рисовать и там по ходу смотреть в спеки? Или все таки имеет смысл прочесть сначала?

Кто через подобное прошел, посоветуйте как лучше поступить. Естественно все как бы надо срочно :х , но хочется сделать нормально, а не лишь бы лишь бы.

Сабина


Базы в UML обычно не рисуют, слишком размазанная по хранилищам логика у них, базы рисуют в IDEF1x. ErWin был самым мощным кейсом, но вам пока моща не нужна, можно наверное тем же Visio или Embarcadero ну или что там сейчас модно?
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

Tango wrote:IMHO, самое простое: возьмите существующие UML диаграмы какои-нибудь (предпочтительно знакомой) системы. Одним глазом смотрите как там у них, а другим (у-упс),- рисуйте свою собственную... :)


Так и делаю, только пример у меня перед глазами по-моему не очень :( Никто не ткнет носом где можно хорошие образцы взять?

Сабина

pS. А help в Визио знатный, никаких спеков не надо. Вернее это по сути одно и то же но в Help-е UI покрасивше :lol:
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Re: UML for dummies

Post by Sabina »

IA72 wrote:Базы в UML обычно не рисуют, слишком размазанная по хранилищам логика у них, базы рисуют в IDEF1x. ErWin был самым мощным кейсом, но вам пока моща не нужна, можно наверное тем же Visio или Embarcadero ну или что там сейчас модно?


Я имела в виду диаграммы в Визио, которые рисуются в соответствии со спецификациями UML. Всю базу там конечно сразу не покажешь, диграммы организованы по модулям. А как это правильно назвать? Static Model? Но там еще и data types. Я думала это все вместе и называется UML диаграммой.

Мне казалось такие диграммы строят на этапе проектирования. Интересно зачем они могут быть нужны, когда система уже практически завершена? Для отчетности?

Сабина
User avatar
IA72
Уже с Приветом
Posts: 956
Joined: 04 Mar 2002 10:01

Re: UML for dummies

Post by IA72 »

Sabina wrote:
IA72 wrote:Базы в UML обычно не рисуют, слишком размазанная по хранилищам логика у них, базы рисуют в IDEF1x. ErWin был самым мощным кейсом, но вам пока моща не нужна, можно наверное тем же Visio или Embarcadero ну или что там сейчас модно?


Я имела в виду диаграммы в Визио, которые рисуются в соответствии со спецификациями UML. Всю базу там конечно сразу не покажешь, диграммы организованы по модулям. А как это правильно назвать? Static Model? Но там еще и data types. Я думала это все вместе и называется UML диаграммой.


Во-первых, о каком именно типе диаграмм uml мы говорим?

UML диаграммы обычно изображают логику системы, IDEF1x - структуру и логику хранения информации. Разумеется, есть пересечения, типа Class diagram похож на idef1x, и включает отношения, которые могут быть в idefx1 в виде constraints. Но при этом уровень абстракции в Class diagram несравненно выше.

Sabina wrote:Мне казалось такие диграммы строят на этапе проектирования. Интересно зачем они могут быть нужны, когда система уже практически завершена? Для отчетности?


Некоторые клиенты знают магическое слово UML и спрашиваю, а есть ли он у вас? Солидная контора все делает по науке :)
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Re: UML for dummies

Post by Sabina »

IA72 wrote:Во-первых, о каком именно типе диаграмм uml мы говорим?...


Class diagram.
Спасибо за объяснение, теперь понятно почему говорить 'рисовать базу' неполиткорректно :)

IA72 wrote: Некоторые клиенты знают магическое слово UML и спрашиваю, а есть ли он у вас? Солидная контора все делает по науке :)


У-у-у в какой я солидной конторе работаю :mrgreen:

Сабина
SkyWalker
Уже с Приветом
Posts: 317
Joined: 16 Feb 2001 10:01
Location: US

Post by SkyWalker »

Я правильно понял что база уже сушествует и надо создать ее статическую модель - ERD(Entity Relationship Diagrams) ? Или Вы имеете в виду динамическую модель UML(Uniform Modeling Language) всего приложения включая базу данных ? Если Вам необходима только ERD базы, то в CASE tool таких как Visio есть Reverse Engineering. Там Вы задаете свою базу данных и диаграмма построится автоматически. Конечно связи будут воспроизведены если они сушествуют физически в виде foreign keys.
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

SkyWalker wrote:Я правильно понял что база уже сушествует и надо создать ее статическую модель - ERD(Entity Relationship Diagrams) ? Или Вы имеете в виду динамическую модель UML(Uniform Modeling Language) всего приложения включая базу данных ? Если Вам необходима только ERD базы, то в CASE tool таких как Visio есть Reverse Engineering. Там Вы задаете свою базу данных и диаграмма построится автоматически. Конечно связи будут воспроизведены если они сушествуют физически в виде foreign keys.


Вот это интересно...
Кажется нашла http://techrepublic.com.com/5100-6330-1039355-3.html Попробую

Спасибо,
Сабина
User avatar
Tango
Уже с Приветом
Posts: 2099
Joined: 30 Jan 2004 07:55
Location: Orange County, CA

Post by Tango »

Sabina wrote:
SkyWalker wrote:Я правильно понял что база уже сушествует и надо создать ее статическую модель - ERD(Entity Relationship Diagrams) ? Или Вы имеете в виду динамическую модель UML(Uniform Modeling Language) всего приложения включая базу данных ? Если Вам необходима только ERD базы, то в CASE tool таких как Visio есть Reverse Engineering. Там Вы задаете свою базу данных и диаграмма построится автоматически. Конечно связи будут воспроизведены если они сушествуют физически в виде foreign keys.


Вот это интересно...
Нет, динамики никакой не надо, обычная Class Diagram. А этот Reverse Engineering он идет как дополнительный модуль к Визио или входит в стандартную инсталляцию (Pro 2002)? И как я могу "задать базу" скажем для SQL Server 2000? Он что напрямую с MS SQL DB диаграммами работает?

Сабина


Сабина, не связываитесь вы с етим, "ручками" быстрее выйдет... Особенно если на Visio. Мы тут пытались просто generic C++ pроект по-реверс-энжинерить, так он "то-не может, етого-не хочет". Обрабатывал Visio только MS VIsual Studio проекты и больше ничего. Короче, помучившись, бросили мы это неблагородное занятие!

Может правда у кого и более положительный опыт был, пусть поделится народ...
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

Вы бы слышали как дрогнул голос моего босса по телефону, когда я сказала, что я тут по ходу ERD построила, может мол пригодиться :mrgreen: :mrgreen:

Сабина
User avatar
Escaper
Уже с Приветом
Posts: 1474
Joined: 11 Feb 2001 10:01
Location: Atlanta, GA, USA

Post by Escaper »

SkyWalker wrote:Я правильно понял что база уже сушествует и надо создать ее статическую модель - ERD(Entity Relationship Diagrams) ? Или Вы имеете в виду динамическую модель UML(Uniform Modeling Language) всего приложения включая базу данных ? Если Вам необходима только ERD базы, то в CASE tool таких как Visio есть Reverse Engineering. Там Вы задаете свою базу данных и диаграмма построится автоматически. Конечно связи будут воспроизведены если они сушествуют физически в виде foreign keys.

А если вы используете SQL Server, то и Visio не понадобится. Можно просто диаграмму (diagram) создать. :)
Make no small plans, for they have no power to stir the blood. Daniel H.Burnham
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

Escaper wrote:А если вы используете SQL Server, то и Visio не понадобится. Можно просто диаграмму (diagram) создать. :)


Да, но мой босс в сервер не лазит, а Визио у него любимая настольная игрушка. К тому же на сервере я держу кусочки диаграмм которые нужны для работы, а всю базу строить в лом. А тут можно сказать нажал на кнопку и вуаля..

Сабина
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

Еще вопрос, теперь уже по Class Diagramm. Нужно ли там отображать всякие transfer objects, assemblies. То есть объекты которые мы создаем для веб сервисов, чтобы лишний раз все данные не гонять между клиентом и сервером?

Cабина
SkyWalker
Уже с Приветом
Posts: 317
Joined: 16 Feb 2001 10:01
Location: US

Post by SkyWalker »

MS SQL Diagram не подходит для показа боссу в виде документа :)
Вот создавать relations удобно, а печатать - не совсем.
Не оптимизирована она для печати. Тем более босс Visio любит.
Вообще для документирования готовой базы мне больше всего нравится Sybase PowerDesigner. Там скажем можно вывести имена полей над связями.
По стандарту - только название foreign key. Соответственно в ErWin название полей не выводится. А это иногда необходимо. Особенно когда видиш базу первый раз и поля названы не информативно.
Кстати PowerDesigner является давольно мощным tool'ом для прямой задачи - проектирования самой базы.

А для Вашего случая Visio идеально подходит.
Кстати если печатать надумаете, там это очень удобно.
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

SkyWalker wrote:MS SQL Diagram не подходит для показа боссу в виде документа :)
Вот создавать relations удобно, а печатать - не совсем.
.


Ой и не говорите, я помню когда начинала с этой базой работать, распечатала эту простыню и листики склеила. Потом у меня весь офис ее просил время от времени :)

Спасибо еще раз за идею, SkyWalker
Сабина
User avatar
IA72
Уже с Приветом
Posts: 956
Joined: 04 Mar 2002 10:01

Post by IA72 »

Sabina wrote:Ой и не говорите, я помню когда начинала с этой базой работать, распечатала эту простыню и листики склеила. Потом у меня весь офис ее просил время от времени :)


Как все запущено. Простыня клеится первым делом (тут важно в цвете, таблички дифференцируются цветами по категориям, бухгалтерия - одно, склад - другое) и в сочетании с простыней схемы бизнесс-процессов в SADT(IDEF0) вешается на стену для впечатлительного начальства и посетителей.
Last edited by IA72 on 14 Feb 2004 04:37, edited 1 time in total.
User avatar
IA72
Уже с Приветом
Posts: 956
Joined: 04 Mar 2002 10:01

Post by IA72 »

SkyWalker wrote:Вообще для документирования готовой базы мне больше всего нравится Sybase PowerDesigner. Там скажем можно вывести имена полей над связями.
По стандарту - только название foreign key. Соответственно в ErWin название полей не выводится. А это иногда необходимо. Особенно когда видиш базу первый раз и поля названы не информативно.
Кстати PowerDesigner является давольно мощным tool'ом для прямой задачи - проектирования самой базы.


Для проектирования лучше ErWin не видел. Он немного странный и неудобный для рисования, хотя это больше привычка, но макроязык там мощнейший, если кроме таблиц нужны хранимые процедуры и триггеры во множестве, то однозначно он. Впрочем, мои знания PD 4х летней давности. Один большой минус у ErWin, с точки зрения если приобретать официально :). Он теперь принадлежит Computer Assotiates, а продукты этой конторы никто в здравом уме не покупает.
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

IA72 wrote:....вешается на стену для впечатлительного начальства и посетителей.


У нас для этих целей выставочный booth стоит напротив самой длинной стены, а справа "data center" из трех раков, которые друг с другом не скреплены :mrgreen:

Сабина
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

Sabina wrote:Еще вопрос, теперь уже по Class Diagramm. Нужно ли там отображать всякие transfer objects, assemblies. То есть объекты которые мы создаем для веб сервисов, чтобы лишний раз все данные не гонять между клиентом и сервером?


так что с этими objects включать их или нет?

Сабина

Return to “Вопросы и новости IT”