Quais são as coisas essenciais que você precisa saber sobre a UML?


18

Quero que meus rabiscos do design e comportamento de um programa se tornem mais simplificados e tenham uma linguagem comum com outros desenvolvedores.

Eu olhei para a UML e, em princípio , parece ser o que estou procurando, mas parece ser um exagero. As informações que encontrei on-line também parecem muito inchadas e acadêmicas.

Como posso entender a UML de maneira simples, o suficiente para explicar aos meus colegas? Quais são os recursos canônicos para entender a UML no nível do solo?


1
Gostei mais do título antigo, pelo menos no começo: "Qual é o 10% mais útil da UML?" Caso contrário, boa edição!
Joey Adams

se você já tem a documentação escrita a sua provavelmente já em uml, você simplesmente não estão familiarizados com o que decidiu chamar o seu tipo de documentação
Ryathal

Respostas:


4

Gostei das perguntas - as mesmas que eu me perguntei:

Como posso entender a UML de maneira simples, o suficiente para explicar aos meus colegas? Quais são os recursos canônicos para entender a UML no nível do solo?

Aqui está o que eu encontrei:

Para um pontapé inicial: minha escolha seria UML Distilled de Fowler . É realmente uma destilação do básico, como já foi mencionado: definições, exemplos, conselhos sobre quando um determinado tipo de diagrama deve ou não ser usado. Também é uma boa referência , se você deseja se concentrar em uma determinada parte da UML sem ler o livro de capa a capa.

Para uma introdução mais detalhada, porém simples, em inglês: o UML 2 for Dummies foi útil para meus colegas e para mim. Ele não apenas apresenta a UML, sua sintaxe e seus usos, mas também oferece muitos conselhos sobre boas práticas de programação e design.

Existem diferenças ocasionais entre os dois livros sobre qual sintaxe pertence a qual versão do padrão UML. No entanto, eles são minuciosos e definitivamente não são essenciais para o uso de diagramas UML para comunicar idéias de design. (Por exemplo: se a UML 2 permite multiplicidades discretas, ou seja, mostra que uma determinada propriedade pode ter exatamente objetos X, Y ou Z, em vez de apenas zero, digamos um, muitos ou mais que X; quando os nomes dos participantes devem ser sublinhados. ..)

Para uma introdução totalmente não acadêmica e menos prolixo: este blog possui artigos sobre vários bits da UML: http://blog.diadraw.com/category/uml/

Não é um livro didático, por isso está longe de ser exaustivo, mas também usa histórias e exemplos que não são livros didáticos, com os quais se relaciona. As poucas postagens disponíveis estão focadas na introdução visual de conceitos UML, para que você possa pular a leitura do texto completamente.


Esse link do blog é legal.
Hanno Fietz

8

Eu realmente gostei do UML Distilled de Martin Fowler . Curto e doce, e mais do que adequado para discussões no quadro branco. Pegue algumas cópias e passe-as para a equipe.


1
+1 por mencionar este livro, esqueci-o completamente ao escrever minha resposta!
Alexander Galkin

2
Você pode falar um pouco mais sobre suas experiências com o livro?

Qual foi o motivo do voto negativo?
kevin Cline

1
Uma das primeiras coisas que fiz quando me tornei líder de equipe foi comprar cópias deste livro para todos da minha equipe. Isso nos deu um vocabulário comum para discutir nossos projetos. Alguns dos rapazes mais jovens também relataram que isso os ajudou a entender melhor os diagramas nos vários livros de padrões de design que liam.
TMN

2
@kevincline Normalmente, eu faço o link para a Amazon porque ele converterá o link em um URL de referência para o Stack Exchange. Se alguém clicar e comprar a partir desse URL, o Stack Exchange poderá ganhar dinheiro. Também se torna trivial, com o título, autor e informações de ISBN da Amazon, encontrar o livro em seu vendedor favorito.
Thomas Owens

5

Os diagramas por si só nem sempre são úteis. Por exemplo, o diagrama de casos de uso não pode transmitir regras de negócios em detalhes. O diagrama de classes pode ser muito útil, pois você pode gerar código de classe e DLLs a partir dele.

Acho esses diagramas os mais úteis:

  • Diagrama de casos de uso
  • Diagramas de Classes
  • Diagrama de atividades
  • Diagrama de sequência

Existem muitos recursos úteis, mas verifique estes:

Edit-1 em resposta ao comentário de Mark.

Embora eu não use esses recursos diariamente, eles servem como referência rápida para a sintaxe UML. Os recursos acima são escolhidos, pois fornecem uma representação rápida e abrangente dos diagramas UML. Ele mostra diagramas comuns e ajuda o novo usuário da UML a ver rapidamente a diferença entre eles. O primeiro recurso, o vídeo, fornece detalhes sobre o Caso de Uso e como ele se relaciona com outros diagramas. Não se espera que os recursos acima sejam suficientes para quem deseja aprender UML ou OOD, percebo que aprender esses tópicos não foi planejado na pergunta original.


+1 para os diagramas de classe , sequência e atividade . Não estou convencido dos diagramas de casos de uso, exceto que eles são excelentes capas para relatórios, pois os usuários parecem amar as imagens.
Sjoerd

@ Sjoerd, obrigado pelo seu comentário. Como você especificou corretamente, os Casos de Uso são amados pelos usuários. Além disso, os diagramas de casos de uso têm muitos valores. Eles permitem identificar os atores (primário e secundário) e descobrir "Casos de Cse no nível C". Sua relação com o diagrama de atividades e o diagrama de classes que cria uma coesão em sua especificação. Lembre-se de que eles não substituem as regras comerciais detalhadas e a documentação completa dos requisitos.
NoChance

Você pode falar mais sobre suas experiências com esses recursos? E eles, e não outros, o ajudaram a entender a UML?

@ MarkTrapp, obrigado pelo seu comentário e pelas edições.
NoChance

2

Se você está satisfeito com apenas 10% , não deve tentar aprender com o livro UML. Em vez disso, é melhor você ler um bom livro sobre análise orientada a objetos ou padrões de design - esses livros fornecem os 10% que você está procurando.

No entanto, se você estiver procurando por um tutorial para UML, eu recomendaria esta página da Web e, especialmente, este ensaio sobre diagramas de UML (não é um anúncio, eu pessoalmente não tenho nenhuma relação com este site). Basta navegar pelos diagramas e observá-los: eles são, na sua maioria, autoexplicativos e você pode entender facilmente o que eles estão representando, desde que você esteja ciente do OOP e, geralmente, do design e arquitetura do programa.

Por que eu recomendaria exatamente esta página? (perguntou no comentário)

Existem várias razões pelas quais eu gostei mais do que as outras:

  1. Apresenta uma tabela de visão geral dos diagramas UML na primeira página.
  2. Essa tabela, além de fornecer a descrição resumida de todo digramm UML2.0, também possui uma coluna muito útil "Prioridade de aprendizado" que pode ajudar um iniciante em UML a identificar os diagramas UML mais frequentemente usados.
  3. Embora também contenha diagramas renderizados por máquina, a maioria dos diagramas parece desenhada à mão (provavelmente são desenhados à mão). Tomo como sinal que a modelagem ainda pode ser feita usando apenas lápis e papel, sem a necessidade de se aprofundar no software de visualização UML desde o início.

Você pode falar mais sobre suas experiências com essas recomendações? E eles, e não outros, o ajudaram a entender a UML?

1

A Referência de Bolso UML 2.0 da O'Reilly é um pouco mais detalhada que essa, mas provavelmente a melhor opção, pois é pequena o suficiente para encontrar rapidamente o que você precisa, mas ainda tem explicações quando precisa. E está atualizado, o que não é o caso das "folhas de dicas da UML" ou dos cartões de referência que eu encontrei na web - que na maioria das vezes descrevem a UML 1.x


Você pode falar mais sobre suas experiências com este livro? E quanto a isso, e não outros livros, ajudaram você a entender a UML?

@ Mark Trapp: principalmente o fato de ser pequeno, para que você possa pegar rapidamente todos os itens essenciais sem se perder em detalhes e casos especiais.
precisa

0

Existem três partes para isso:

  1. Obter uma referência UML formal

    Sempre que estiver aprendendo um novo "idioma", obtenha uma referência que você possa usar e usar a qualquer momento, seja um livro ou um recurso on-line. O UML Distilled é pequeno, possui ótimas explicações e muitos diagramas claros. Mesmo se você não usar todos os recursos, sempre poderá voltar e observar a maneira "certa" de expressar algo.

  2. Use UML para modelar coisas

    Agora que você tem uma referência, comece a usá-lo para modelar alguns pequenos sistemas existentes ou sistemas que você está começando a usar. Você provavelmente vai querer seguir os diagramas de classes, de seqüência e de estado para a maioria das situações. Se há algo que você não tem certeza, vá para a sua referência e procure o uso "correto" - se isso não ajudar, tente pesquisar no Google ou pergunte no Stack Overflow. Assim como a programação, a prática é fundamental.

  3. Use alguma UML em projetos reais

    Ao começar a usar a UML com sua equipe, lembre-se de que é apenas uma ferramenta para entender o sistema que você construiu ou irá construir. Você ainda deve verificar sua referência durante a diagramação, mas se concentrar em transmitir as informações, não seguindo estritamente as regras.

Pense nas aulas de redação do ensino médio. Seu professor provavelmente considerou um pecado cardinal começar frases com "e", "mas" ou "ou". À medida que você escrevia mais e ganhava mais controle sobre o idioma inglês, aprendeu a dobrar as regras para obter um efeito maior - você fez a transição seguindo a abordagem adequada àquela que transmitia o que você queria dizer o melhor. A UML deve ser usada na indústria exatamente da mesma maneira.


0

Eu diria que, se você conhece a UML, todos os diagramas oferecem visões diferentes do seu aplicativo. Muitos livros estão disponíveis.

Se você não conhece a UML, o mais fácil é criar apenas diagramas de classe / sequência que foram revertidos do código existente. Você só precisa reverter o código existente para UML e adicionar suas próprias anotações dentro dos diagramas de classe / sequência. Os diagramas de classes fornecerão uma visão estática do seu aplicativo, o diagrama de sequência descreverá os fluxos dos métodos e, portanto, o comportamento do aplicativo. Trabalho UML realizado e sem erro :)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.