63
Globalcode – open4education 1 Exemplos práticos de UML: Diagrama de Classes, Atividades, Sequência e Casos de uso

GB Exemplos Praticos de UML

Embed Size (px)

Citation preview

Page 1: GB Exemplos Praticos de UML

Globalcode – open4education1

Exemplos práticos de UML: Diagrama de Classes, Atividades,

Sequência e Casos de uso

Page 2: GB Exemplos Praticos de UML

Globalcode – open4education2

Importância da UMLFerramentasDificuldades na UtilizaçãoDiagrama de Casos de UsoDiagrama de ClassesDiagrama de AtividadesDiagrama de SeqüênciaEstudo de Caso

Agenda

Page 3: GB Exemplos Praticos de UML

Globalcode – open4education3

Importância da UMLFerramentasDificuldades na UtilizaçãoDiagrama de Casos de UsoDiagrama de ClassesDiagrama de AtividadesDiagrama de SeqüênciaEstudo de Caso

Agenda

Page 4: GB Exemplos Praticos de UML

Globalcode – open4education4

Padrão de documentação de modelagem de software da OMG

Unifica os métodos de Ivar Jacobson, Grady Booch e James Rumbaugh

Modelagem gráfica através de diagramas

Importância da UML

Page 5: GB Exemplos Praticos de UML

Globalcode – open4education5

Importância da UMLFerramentasDificuldades na UtilizaçãoDiagrama de Casos de UsoDiagrama de ClassesDiagrama de AtividadesDiagrama de SeqüênciaEstudo de Caso

Agenda

Page 6: GB Exemplos Praticos de UML

Globalcode – open4education6

Na hora de escolher a ferramenta é importante verificar:

Suporte a UML 1.4 ou UML 2.0;Integração com código fonte;Grau de customização do código fonte gerado a partir dos diagramas permitido pela ferramenta;Capacidade de exportar e importar diagramas;

Ferramentas

Page 7: GB Exemplos Praticos de UML

Globalcode – open4education7

Importância da UMLFerramentasDificuldades na UtilizaçãoDiagrama de Casos de UsoDiagrama de ClassesDiagrama de AtividadesDiagrama de SeqüênciaEstudo de Caso

Agenda

Page 8: GB Exemplos Praticos de UML

Globalcode – open4education8

Sincronismo entre código e documentação UML;

Dificuldade em representar conceitos importantes como por exemplos exceções, generics e coleções;

Suporte das ferramentas;

Dificuldades na utilização

Page 9: GB Exemplos Praticos de UML

Globalcode – open4education9

Dependência da ferramenta devido a dificuldade de migração;

Dificuldade em determinar se os diagramas estão tecnicamente corretos ou em nível de detalhe ideal;

Dificuldade em determinar quais diagramas devem ser feitos e vão agregar valor ao projeto;

Dificuldades na utilização

Page 10: GB Exemplos Praticos de UML

Globalcode – open4education10

Importância da UMLFerramentasDificuldades na UtilizaçãoDiagrama de Casos de UsoDiagrama de ClassesDiagrama de AtividadesDiagrama de SeqüênciaEstudo de Caso

Agenda

Page 11: GB Exemplos Praticos de UML

Globalcode – open4education11

Representam uma unidade funcional fornecida pelo sistema.

Conceito criado por Ivar Jacobson.

Cada caso de uso captura um ou mais cenários que descrevem como o sistema deve interagir com os usuários para atingir determinada meta ou funcionalidade.

Casos de Uso

Page 12: GB Exemplos Praticos de UML

Globalcode – open4education12

Importância dos casos de uso:

• Modelagem de requisitos funcionais• Estimativa de esforço• Planejamento de testes

Casos de Uso

Page 13: GB Exemplos Praticos de UML

Globalcode – open4education13

Diagrama da UML utilizado para representação gráfica dos casos de uso.

Seus principais elementos são:• Caso de uso• Ator• Associação• Relacionamento de inclusão• Relacionamento de extensão• Generalização

Diagrama de Casos de Uso

Page 14: GB Exemplos Praticos de UML

Globalcode – open4education14

Caso de uso: representado graficamente por uma elipse com o nome do caso de uso.

Diagrama de Casos de Uso

Page 15: GB Exemplos Praticos de UML

Globalcode – open4education15

Ator: representa um papel representado por uma pessoa, sistema ou dispositivo que interage com o sistema.

Diagrama de Casos de Uso

Page 16: GB Exemplos Praticos de UML

Globalcode – open4education16

Associação: representa a interação entre um ator e um caso de uso.

Diagrama de Casos de Uso

Page 17: GB Exemplos Praticos de UML

Globalcode – open4education17

Relacionamento de inclusão: relacionamento entre casos de uso no qual um caso de uso inclui incondicionalmente outro caso de uso.

Diagrama de Casos de Uso

Page 18: GB Exemplos Praticos de UML

Globalcode – open4education18

Relacionamento de extensão: relacionamento entre casos de uso no qual um caso de uso pode estender a funcionalidade de outro caso de uso.

Diagrama de Casos de Uso

Page 19: GB Exemplos Praticos de UML

Globalcode – open4education19

Generalização: relacionamento no qual um ator ou caso de uso possui as mesmas características de um elemento base, mais suas características específicas.

Diagrama de Casos de Uso

Page 20: GB Exemplos Praticos de UML

Globalcode – open4education20

Os diagramas de casos de uso visam dois objetivos principais:• Definição de escopo: permitem que sejam

visualizadas as funcionalidades presentes no sistema.• Identificação de papéis: permitem identificar quem

interage com o sistema e a que funcionalidades tem acesso.

Não permitem detalhar os passos necessários para implementação da funcionalidade.

Diagrama de Casos de Uso

Page 21: GB Exemplos Praticos de UML

Globalcode – open4education21

Importância da UMLFerramentasDificuldades na UtilizaçãoDiagrama de Casos de UsoDiagrama de ClassesDiagrama de AtividadesDiagrama de SeqüênciaEstudo de Caso

Agenda

Page 22: GB Exemplos Praticos de UML

Globalcode – open4education22

Diagrama da UML utilizado para representação da estrutura das classes do sistema.

Representa os relacionamentos, atributos e métodos de cada classe.

Diagrama de Classes

Page 23: GB Exemplos Praticos de UML

Globalcode – open4education23

Classe: representa os métodos e atributos de uma classe.

Elementos - Diagrama de Classes

Page 24: GB Exemplos Praticos de UML

Globalcode – open4education24

Associação: representa um relacionamento entre classes onde uma das classes está presente como atributo na outra.

Possui algumas propriedades básicas:• Cardinalidade/Multiplicidade• Navegabilidade• Papéis• Restrições

Elementos - Diagrama de Classes

Page 25: GB Exemplos Praticos de UML

Globalcode – open4education25

Associação com cardinalidade 1-1

Associação com cardinalidade 1-n

Elementos - Diagrama de Classes

Page 26: GB Exemplos Praticos de UML

Globalcode – open4education26

Associação com cardinalidade n-n

Papéis

Elementos - Diagrama de Classes

Page 27: GB Exemplos Praticos de UML

Globalcode – open4education27

Navegabilidade

Restrições

Elementos - Diagrama de Classes

Page 28: GB Exemplos Praticos de UML

Globalcode – open4education28

Associação reflexiva

Elementos - Diagrama de Classes

Page 29: GB Exemplos Praticos de UML

Globalcode – open4education29

Agregação

Composição

Elementos - Diagrama de Classes

Page 30: GB Exemplos Praticos de UML

Globalcode – open4education30

Dependência

Elementos - Diagrama de Classes

Page 31: GB Exemplos Praticos de UML

Globalcode – open4education31

Classe Associativa

Elementos - Diagrama de Classes

Page 32: GB Exemplos Praticos de UML

Globalcode – open4education32

Herança

Elementos - Diagrama de Classes

Page 33: GB Exemplos Praticos de UML

Globalcode – open4education33

Representação de interfaces

Elementos - Diagrama de Classes

Page 34: GB Exemplos Praticos de UML

Globalcode – open4education34

Implementação de interfaces

Elementos - Diagrama de Classes

Page 35: GB Exemplos Praticos de UML

Globalcode – open4education35

Importância da UMLFerramentasDificuldades na UtilizaçãoDiagrama de Casos de UsoDiagrama de ClassesDiagrama de AtividadesDiagrama de SeqüênciaEstudo de Caso

Agenda

Page 36: GB Exemplos Praticos de UML

Globalcode – open4education36

Diagrama da UML utilizado para representar o fluxo de atividades dentro de um processo.

Semelhantes a fluxogramas

Utilizados para:• Detalhar os passos de um caso de uso;• Detalhar algoritmos complexos;• Representar atividades concorrentes;

Diagrama de Atividades

Page 37: GB Exemplos Praticos de UML

Globalcode – open4education37

Atividade: representa uma etapa em um processo.

Elementos - Diagrama de Atividades

Page 38: GB Exemplos Praticos de UML

Globalcode – open4education38

Transição: fluxo de uma atividade para outra.

Elementos - Diagrama de Atividades

Page 39: GB Exemplos Praticos de UML

Globalcode – open4education39

Condição de guarda: condição necessária para a realização da transição.

Elementos - Diagrama de Atividades

Page 40: GB Exemplos Praticos de UML

Globalcode – open4education40

Decisão: dependendo de uma condição, mostra as diferentes transições.

Elementos - Diagrama de Atividades

Page 41: GB Exemplos Praticos de UML

Globalcode – open4education41

Ponto de junção: mostra a união de atividades em um único fluxo.

Elementos - Diagrama de Atividades

Page 42: GB Exemplos Praticos de UML

Globalcode – open4education42

Início e fim: indicam o início e o término do fluxo de atividades.

Elementos - Diagrama de Atividades

Page 43: GB Exemplos Praticos de UML

Globalcode – open4education43

Concorrência: indica atividades executando em paralelo.

Elementos - Diagrama de Atividades

Page 44: GB Exemplos Praticos de UML

Globalcode – open4education44

Raia: separa as atividades de acordo com o ator que as executa.

Elementos - Diagrama de Atividades

Page 45: GB Exemplos Praticos de UML

Globalcode – open4education45

Importância da UMLFerramentasDificuldades na UtilizaçãoDiagrama de Casos de UsoDiagrama de ClassesDiagrama de AtividadesDiagrama de SeqüênciaEstudo de Caso

Agenda

Page 46: GB Exemplos Praticos de UML

Globalcode – open4education46

Diagrama da UML utilizado para representar a interação entre objetos em ordem seqüencial no tempo.

Utilizados para:• Ilustrar e validar a lógica implementada;• Identificar a necessidade de novos métodos e classes;• Identificar quais classes serão mais complexas• Identificar gargalos na modelagem de um aplicativo

Diagrama de Seqüência

Page 47: GB Exemplos Praticos de UML

Globalcode – open4education47

Objetos: representam as instâncias de classes cuja interação será representada no diagrama.

Elementos - Diagrama de Seqüência

Page 48: GB Exemplos Praticos de UML

Globalcode – open4education48

Mensagens: representam as interações entre objetos.

Elementos - Diagrama de Seqüência

Page 49: GB Exemplos Praticos de UML

Globalcode – open4education49

Mensagens de criação de objetos

Elementos - Diagrama de Seqüência

Page 50: GB Exemplos Praticos de UML

Globalcode – open4education50

Mensagens de retorno

Elementos - Diagrama de Seqüência

Page 51: GB Exemplos Praticos de UML

Globalcode – open4education51

Chamadas de um método na própria classe

Elementos - Diagrama de Seqüência

Page 52: GB Exemplos Praticos de UML

Globalcode – open4education52

Chamada condicional if com UML 1.4

Elementos - Diagrama de Seqüência

Page 53: GB Exemplos Praticos de UML

Globalcode – open4education53

Fragmentos: Elementos criados com UML 2.0 para permitir o agrupamento de diversas mensagens em fluxos mais complexos.

Elementos - Diagrama de Seqüência

Page 54: GB Exemplos Praticos de UML

Globalcode – open4education54

Chamada condicional if com UML 2.0

Elementos - Diagrama de Seqüência

Page 55: GB Exemplos Praticos de UML

Globalcode – open4education55

Chamada condicional if/else

Elementos - Diagrama de Seqüência

Page 56: GB Exemplos Praticos de UML

Globalcode – open4education56

Chamadas dentro de um laço

Elementos - Diagrama de Seqüência

Page 57: GB Exemplos Praticos de UML

Globalcode – open4education57

Importância da UMLFerramentasDificuldades na UtilizaçãoDiagrama de Casos de UsoDiagrama de ClassesDiagrama de AtividadesDiagrama de SeqüênciaEstudo de Caso

Agenda

Page 58: GB Exemplos Praticos de UML

Globalcode – open4education58

Apresentamos a seguir um estudo de caso de modelagem de um sistema de vendas online.

Nosso exemplo vai se concentrar na funcionalidade de comprar produtos.

Sistema de Vendas Online

Page 59: GB Exemplos Praticos de UML

Globalcode – open4education59

Diagrama de Casos de Uso

Page 60: GB Exemplos Praticos de UML

Globalcode – open4education60

Diagrama de Classes

Page 61: GB Exemplos Praticos de UML

Globalcode – open4education61

Diagrama de Atividades

Page 62: GB Exemplos Praticos de UML

Globalcode – open4education62

Diagrama de Seqüência

Page 63: GB Exemplos Praticos de UML

Globalcode – open4education63

Diagrama de Seqüência