UML na prática

Ola pessoal,

Estou querendo aprender melhor a usar UML, pois tenho um conhecimento mas ainda é algo básico, portanto gostaria de saber onde posso encontrar algum bom(digo ótimo rsrs) livro, apostila ou algum tutorial que me ensine bem a fazer implementações de diagramas UML mas focado em Java, como por exemplo um livro que me passe um caso de uso qualquer e os diagramas UML principalmente os de classe e de sequencia prontos, e como esses diagramas eu ir aprendendo a fazer a implementação no projeto.

Obrigado,
flw.

Eu acho que vai ser um pouco difícil de encontrar um bom livro que seja assim como vc falou.

Porque:

A idéia da uml é justamente fornecer subsidios para vc chegar justamente nisto: casos de uso, diagramas de classes, diagramas de sequencia e vários outros. Porisso que eles não dão estas coisas prontas, eles apenas (ainda bem) explicam como vc chegar à istes diagramas. Quando tem alguma coisa pronta é tão rudimentar que não haverá muita graça em implementar.

Estou achando que sua dúvida está em outro ponto, muito embora envolva a uml.

flws

Ola fantomas,

entendo o que voce diz, mas eu pergunto isso porque ja vi projetos onde eh passado ao programador os diagramas UML (principalmente os de sequencia) e o programador tem que implementar aqueles diagramas a risca, entao por isso estou atras de algo que me ensine justamente a trabalhar bem com esse tipo de diagrama, pois como nunca tive muito contanto, talvez seria bom aprender a implementar esse tipo de diagramas (pelo menos acho que seria bom saber isso).

Ja dei uma olhada naquele livro UML & Padroes, mas acho que envolve muita coisa, eh mais para quem realemente quer trabalhar na area de analise ou entao quer saber muito de UML , nao acho que esse seria meu caso por enquanto, eu apenas quero saber usar UML de uma forma basica, mas claro sabendo trabalhar bem com os diagramas citados acima.

mas tomando como base o que voce me disse, oque voce aconselharia entao para que eu pudesse aprender bem esse aspecto da linguagem UML?

Obrigado,
flw.

[quote=danieldomingues86]entendo o que voce diz, mas eu pergunto isso porque ja vi projetos onde eh passado ao programador os diagramas UML (principalmente os de sequencia) e o programador tem que implementar aqueles diagramas a risca, entao por isso estou atras de algo que me ensine justamente a trabalhar bem com esse tipo de diagrama, pois como nunca tive muito contanto, talvez seria bom aprender a implementar esse tipo de diagramas (pelo menos acho que seria bom saber isso).

Ja dei uma olhada naquele livro UML & Padroes, mas acho que envolve muita coisa, eh mais para quem realemente quer trabalhar na area de analise ou entao quer saber muito de UML , nao acho que esse seria meu caso por enquanto, eu apenas quero saber usar UML de uma forma basica, mas claro sabendo trabalhar bem com os diagramas citados acima.

mas tomando como base o que voce me disse, oque voce aconselharia entao para que eu pudesse aprender bem esse aspecto da linguagem UML? [/quote]

Sinto lhe informar que não há caminho curto para chegar a ser um profissional melhor ou um trabalho de maior qualidade, existem apenas caminhos longos e muito longos.

O que eu quero dizer é que para produzir bons códigos com uma linguagem orientada a objetos, mesmo que seja sem UML, o individuo terá que estudar metodologias, orientação a objetos e técnicas relacionadas a qualidade de código e padrões. As informações (o que é, como que é, e etc…) estão justamente nestes assuntos (metodologias, OO, padrões, etc…) então para saber mais é difícil você “ignorar” esta parte, na minha opinião, ela nem é tão grande assim, nada que 2 ou 3 livros e uns 2 meses de leitura intensa não resolva. O difícil é entender toda a idéia e assimilar o novo paradigma.

Levando isso em conta, fica difícil (na minha opinião) você codificar bem um diagrama de sequencia sem entender as razões de sua existencia. Ele é apenas uma “visão” ou uma das faces da mesma coisa, o diagrama de classe.
Realmente, muitos fazem isto mesmo. Passa o diagrama de sequencia para o desenvolvedor e o cara tem que “se virar” e produzir o código, mas ele mostra apenas a sequência (como o nome diz) e a ordem da execução das operações; do ponto de vista analítico isto é uma ótima, mas ele sozinho não nos diz muita coisa.

Você disse que gostaria de saber fazer uma boa implementação de um diagrama de sequencia, faça um teste você mesmo. Pegue um destes diagramas e olhe bem para ele e responda. Ele me diz como eu vou implementar tal método em detalhe? Vamos dizer que haja um método na sequencia chamado obterUltimaFaturaPaga(), ele não descreve exatamente como você deve fazer para implementar este método; ele apenas lhe diz onde que este método se encaixa na sequencia de execução. Logo, apenas o diagrama de sequencia não será o bastante para você produzir um bom trabalho, concorda?

Então por que muitos utilizam esta forma de trabalho? Na minha opinião estão utilizando a tecnologia de forma inadequada, muito comum nas ditas fábricas de software. Nos dias de hoje fala-se muito sobre metodologias àgeis onde a questão da modelagem (uml) é considerada apenas como um detalhe, as vezes, nem é utilizada.

Resumindo…Estude analise, orientação a objetos e qualidade de código, entenda as diferenças e as razões dos diferentes diagramas; você verá que tudo isso tem impacto sobre o código mas não no nível de detalhe imaginado.

flws

Olafantomas,

Muito obrigado, pelas explicações entendo exatamente o que voce diz, e vejo
que apenas com o diagrama de sequencia o programador não possue um nivel de
detalhe em relação a implementação e sim como o método vai relamente se
encaixar em uma determinada aplicação.

Ultimamente venho estudando orientação a objetos e vou tambem estudar
esses outros assuntos que voce comentou pois são realmente muito
importante para uma boa prática de programação.

Agora voce disse estudando uns 2 ou 3 livros sobre esses assuntos já deve
ajudar bastante ao entendimento.

Sendo assim quais livros voce me recomendaria, pois estou afim de
aprender esses assuntos abordados, voce conhece bons livros a respeito disso?

Obrigado.
flw,

Conheço dois livros sobre UML de um Professor meu na faculdade onde estudo:

UML 2 em modelagem orientada a objetos: http://www.submarino.com.br/books_productdetails.asp?Query=ProductPage&ProdTypeId=1&ProdId=1932937&ST=SR
Esse livro serve mais como uma referência as construções possíveis utilizando UML mas também explicada cada diagrama, noções de orientação a objeto e um pouco de requisitos e questões de projeto. Livro bem didático.

Como modelar com UML 2: http://www.submarino.com.br/produto/1/21496152/?franq=122432
Esse é o último lançamento do autor e fala mais sobre como colocar em prática os conhecimentos de modelagem com UML. É como o nosso amigo disse no post anterior, não adianta só saber UML, tem que saber usar. Então esse livro diz como se deve modelar com UML.

Era isso,
Abraços

Comece com esse: Uml Essencial - Martin Fowler

Caso sinta necessidade, DEPOIS de ler o primeiro, vá para esse: Utilizando UML e Padrões - Craig Larman

Acredito que seja improvável você precisar de outro livro sobre UML depois desses.

[],
AC

P.S.: Procure sempre a versão mais nova. E pesquise o preço.