Sie sind auf Seite 1von 18

O que UML

UML Unified Modeling Language Definio o uma famlia de notaes grficas apoiada por um metamodelo nico, que ajuda na descrio e no projeto de sistemas de software, particularmente daqueles construdos utilizando o estilo orientado a objetos. (Martin Fowler) Por que usar UML? A UML pode ser encarada como uma linguagem que pode ser usada com qualquer processo de desenvolvimento. A UML nos diz o que possvel fazer sem dizer como e qual a ordem, esta tarefa fica a cargo do processo, ela apenas lhe auxilia a visualizar seu desenho e a comunicao entre objetos. A UML, na sua verso 1.1, foi padronizada pelo OMG (Object Management Group) e j sofreu algumas atualizaes (mais documentais do que estruturais), estando atualmente na sua verso 2. Uma das grandes vantagens da UML o fato dela ser totalmente extensvel e adaptvel. Voc no adapta sua modelagem UML. Voc seleciona os elementos da UML que melhor expressaro sua modelagem. E se para isto for necessrio estender os modelos da UML, voc faz sem perder compreenso. Qualquer um que leia seu modelo, entender que foi feita uma extenso. Alm disso, acabam-se as fronteiras entre as fases de anlise e projeto. Um mesmo diagrama utilizado em todas as fases, mudando-se, apenas, sua viso. O mapeamento direto dos modelos para as linguagens de programao orientadas a objeto e vice-versa tambm um dos grandes ganhos da UML. Esses so alguns dos inmeros benefcios que a UML nos fornece, sem que percamos a liberdade de criar. Os objetivos da UML so: especificao, documentao, estruturao para subvisualizao e maior visualizao lgica do desenvolvimento completo de um sistema de informao. Portanto a padronizao outro fator importante e forte, porque organizao quando vamos desenvolver um software o mnimo necessrio para o projeto sair de acordo.

Viso Geral
UML 2.2, conforme a OMG, possui 14 tipos de diagramas, divididos em duas grandes categorias: Estruturais e Comportamentais. Sete tipos de diagramas representam informaes estruturais, e os outros sete representam tipos gerais de comportamento, incluindo quatro em uma subcategoria que representam diferentes aspectos de interao. Estes diagramas podem ser visualizados de forma hierrquica, Estes diagramas podem ser visualizados de forma hierrquica, como apresentado no padro de diagrama de classes abaixo:

Diagramas da UML 2.0


Diagramas Estruturais o Diagrama de classes o Diagrama de objetos o Diagrama de componentes o Diagrama de instalao ou de implantao o Diagrama de pacotes o Diagrama de estrutura composta o Diagrama de Perfil Diagramas Comportamentais o Diagrama de Caso de Uso o Diagrama de transio de estados ou de Estados o Diagrama de atividade o Diagramas de Interao Diagrama de sequncia Diagrama de Interatividade ou de Interao Diagrama de Colaborao ou Comunicao Diagrama de tempo ou Temporal

Elementos
De estrutura: o Classe o Objetos o Interface o Componente o Colaborao o N De comportamento: o Casos de uso o Iterao o Mquina de estados De agrupamento: o Pacote o Modelo o Subsistema o Framework De anotao: o Notas

Diagrama de Caso de Uso


Documento narrativo que descreve a sequncia de eventos de um ator que usa um sistema para completar um processo (Ivar Jacobson) Representa a interao entre um usurio (humano ou sistema) e o sistema. No descreve como o software dever ser construdo, mas sim como ele dever se comportar quanto estiver pronto. Corresponde a um conjunto de aes e um objetivo.

Ator
Humano ou entidade Interage com o Sistema Iniciam o sistema. Fornecem dados. Usam as informaes do sistema.

Caso de Uso
Unidade de um trabalho significante. Representa um processo. Iniciado por um ator ou outro caso de uso. Exemplos: Login para o sistema, Registrar no sistema,Criar pedidos, etc.

<<include>> e <<extend>>
<<include>> -Relacionamento com outro caso de uso que sempre ser executado.

<<extend>> -Relacionamento com outro caso de uso que pode ou no ser executado.

Sistema de Pagamento de Servios - O sistema ser responsvel por gerenciar os pagamentos dos servios prestados por empresas e freelances. O pagamento do servio poder ser efetuado apenas pelo usurio que possuir um perfil especfico para esta funo. Ao ser realizado qualquer servio e pagamentos, o sistema gera e envia uma mensagem de e-mail aos prestadores de servio.

Diagrama de Caso de Uso

Pagamento de Servio
Cenrio Principal de Sucesso: 1. 2. 3. 4. 5. 6. O usurio acessa o sistema O usurio pesquisa o servio a ser pago O sistema apresenta as informaes do servio O usurio inicia o processo de pagamento. O sistema envia a confirmao do pagamento ao prestador de servio. O sistema encerra o processo de pagamento.

Extenses: 1. Usurio no autorizado. 1.1 O usurio no possui perfil para realizar pagamentos 12 O usurio direcionado ao passo 6. 3. Servio no finalizado 3.1 O sistema apresenta que o servio no foi finalizado. 3.3 O usurio direcionado ao passo 6.

Diagrama de Caso de Uso

Exemplo de Caso de Uso para sacar dinheiro

Exemplo Prtico

Sistema de Pagamentos de Servios, realizar pagamento de servios Resposta do exemplo prtico Sistema de pagamentos de servios, realizar pesquisa de servios

O que colocar no diagrama de Caso de Uso

Melhor fazer menos do que fazer demais. Breve e fcil de ler. Preferncia na descrio textual. Limitar os relacionamentos com <<include>> e <<extend>> O que no colocar no diagrama de Caso de Uso

Textos longos Muitas extenses. Todos os diagramas se chamando. Todas as aes CRUD separadas. Detalhes da tela (botes, combos, links, etc.). No um fluxograma!

UML Diagrama de Classes

Estrutura de classe

Uma classe em UML possui trs partes: 1. Nome da Classe 2. Atributos 3. Operaes

Podemos abreviar a declarao da classe, caso no influencia o entendimento do diagrama:

Atributos

Um atributo formado por: Visibilidade nome : tipo [multiplicidade] = valor inicial {propriedades}

Operaes

Uma operao formada por: Visibilidade nome (parmetros) : tipo de retorno {propriedades}

O parmetro de um mtodo formado por: nome:tipo [multiplicidade] = valor inicial

Visibilidade

Podemos definir as seguintes visibilidades em atributos e operaes: - private ~ default # protected + public

Atributos e operaes esttico

Podemos definir atributos e operaes como sendo estticos, ou seja, so referentes a classe e no aos seus objetos.

Comentrio

Os comentrios ou notas so utilizados para adicionar mais informaes ao diagrama.

Comentrio

O comentrio pode ser utilizado em qualquer diagrama, podendo ou no ser vinculado a algum elemento. Utilizamos tambm o comentrio para definir alguma regra de restrio, para isto precisamos adicionar {} entre a restrio:

Associaes

Utilizado para representar o relacionamento entre classes, as associaes podem ser: 1. Associao. 2. Agregao. 3. Composio 4. Classe de associao As classes que fazem parte de um relacionamento tambm so chamadas de TODO (responsvel pelo relacionamento) e PARTE (usado pelo relacionamento).

Associao

Relacionamento simples entre duas classes:

Agregao

Informa que uma classe faz parte de outra classe, mas no de forma exclusiva.

Composio

Informa que uma classe faz parte de outra classe de forma exclusiva.

Agregao X Composio

A diferena entre ambos : Agregao se excluir a classe responsvel pelo relacionamento, no deve excluir a classe que ele possui relacionamento. Composio se excluir a classe responsvel pelo relacionamento, ento deve excluir a classe que ele possui relacionamento.

Classe de associao

Utilizamos para realizar o relacionamento entre duas classes:

Ou

Associao

Podemos tambm ter uma associao para a mesma classe:

Navegabilidade

Podemos informar qual a direo do relacionamento:

Multiplicidade

A multiplicidade utilizada para definir a quantidade de objetos devem ser criados: 0..1 (zero ou um) 1 (um) (zero ou muitos)

Multiplicidade

Quando utilizamos atributos para informar coleo de objetos, podemos tambm adicionar propriedades na multiplicidade: {ordered} -Ordenado {unordered} -No ordenado {unique} -nico {nonunique} -No nico {bag} -Conjunto no ordenado e no unico

Exemplo prtico

Crie um diagrama de classes UML para o sistema de Agendamento de Entrega de Produtos: -O sistema deve permitir o agendamento de uma visita por parte de um funcionrio, ao cliente de nossa empresa. Esta visita dever ser realizada em hora e local definido pelo cliente para poder lhe entregar os produtos que foram comprados em nossa loja.

Dependncia

Utilizado para informar que uma classe depende de outra classe para executar alguma operao:

Dependncia

Palavras chave de dependncia <<call>> <<create>> <<dependency>> <<use>>

Associao X Dependncia

A diferena bsica entre ambos: -Associao temos um atributo na classe relacionada. -Dependncia utilizamos a classe relacionada, para passar um parmetro, chamar um mtodo, criar um objeto, etc.;

Associao X Dependncia

Exemplo:

Classe Abstrata

Utilizado para informar que uma classe no implementa todos os seus mtodos

Herana

Utilizamos herana quando queremos declarar subclasses, permitindo reutilizar os cdigos j declarados na superclasse.

Interface

Utilizamos interface para definir as operaes bsicas que uma classe de seu tipo precisa implementar.

Interface

Exemplo:

Pacote

Utilizamos para organizar as classes:

Template

uma classe parametrizada para definir conjuntos fortemente tipados.

Enumeration

Utilizado para criar um conjunto fixo de valores:

No astah community no possvel criar um esteretipo enum e deixar o tipo vazio ento fica como int mesmo, que no caso de enum deve ser desconsiderado pelo implementador (programador). Exemplo prtico

Crie um diagrama de classe em UML para o Sistema de Envio de Produtos: - O sistema deve controlar a ordenao do cliente. De acordo com a quantidade de produtos, tambm precisamos alocar um veiculo que pode ser uma Van ou uma Caminhonete. - Tambm precisamos controlar o status do envio que pode ser, aguardando pagamento, buscando em estoque, sada para entrega ou entregue.

Resposta do exemplo prtico

Relembrando O que colocar no diagrama de classes

Concentre-se nas reas principais do sistema. O necessrio para que as pessoas envolvidas possam entender. Mantenha as notaes simples. Gere um diagrama de classe flexvel, facilitando futuras atualizaes. Desenvolva o diagrama baseado na metodologia adotada, podendo ser um diagrama de negcio, digrama especifico por reas do sistema ou diagrama com todas as classes envolvidas no sistema.

O que no colocar no diagrama de classes

Para no aumentar a complexidade de um diagrama de classes, normalmente no adicionamos no diagrama: - Classes que representam telas. - Classes de conexo e acesso ao banco de dados. - Classes de APIs da linguagem ou de terceiros. No tente usar todas as notaes disponveis no mesmo diagrama. No desenhe modelos para tudo, a menos que seja realmente necessrio.

Ferramentas IDE

Eclipse UML http://www.eclipseuml.com Jude http://jude.change-vision.com Netbeans http://www.netbeans.org Magic Draw http://secure.nomagic.com Microsoft Office Visio http://office.microsoft.com/pt-br/visio/default.aspx Poseidon http://gentleware.com Enterprise Architect http://www.sparxsystems.com.au/

Referencia bibliogrfica: [Booch, Raumbaugh e Jacobson, I.] Grandy Booch, James Rumbaugh e Ivar Jacobson, UML: Guia do Usurio, 3 Ed. Campus, 2005. [Fowler] Martin Fowler, UML Essencial, 3 Ed. Bookman, 2005. [Guedes] Gileanes T. A. Guedes, UML: Uma abordagem pratica, 3 Ed. Novatec, 2008 [Cardoso] Caque Cardoso, UML na prtica: do problema ao sistema, Ed. Cincia Moderna, 2003 UML http://www.uml.org Wikipdia http://www.wikipedia.org

Das könnte Ihnen auch gefallen