Vous êtes sur la page 1sur 63

Exemplos prticos de UML: Diagrama de Classes, Atividades, Sequncia e Casos de uso

Globalcode open4education

Agenda

Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso

Globalcode open4education

Agenda

Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso

Globalcode open4education

Importncia da UML
Padro de documentao de modelagem de software da OMG Unifica os mtodos de Ivar Jacobson, Grady Booch e James Rumbaugh Modelagem grfica atravs de diagramas

Globalcode open4education

Agenda

Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso

Globalcode open4education

Ferramentas
Na hora de escolher a ferramenta importante verificar: Suporte a UML 1.4 ou UML 2.0; Integrao com cdigo fonte; Grau de customizao do cdigo fonte gerado a partir dos diagramas permitido pela ferramenta; Capacidade de exportar e importar diagramas;

Globalcode open4education

Agenda

Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso

Globalcode open4education

Dificuldades na utilizao
Sincronismo entre cdigo e documentao UML; Dificuldade em representar conceitos importantes como por exemplos excees, generics e colees; Suporte das ferramentas;

Globalcode open4education

Dificuldades na utilizao
Dependncia da ferramenta devido a dificuldade de migrao; Dificuldade em determinar se os diagramas esto tecnicamente corretos ou em nvel de detalhe ideal; Dificuldade em determinar quais diagramas devem ser feitos e vo agregar valor ao projeto;

Globalcode open4education

Agenda

Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso

10

Globalcode open4education

Casos de Uso
Representam uma unidade funcional fornecida pelo sistema. Conceito criado por Ivar Jacobson. Cada caso de uso captura um ou mais cenrios que descrevem como o sistema deve interagir com os usurios para atingir determinada meta ou funcionalidade.

11

Globalcode open4education

Casos de Uso
Importncia dos casos de uso: Modelagem de requisitos funcionais Estimativa de esforo Planejamento de testes

12

Globalcode open4education

Diagrama de Casos de Uso


Diagrama da UML utilizado para representao grfica dos casos de uso. Seus principais elementos so: Caso de uso Ator Associao Relacionamento de incluso Relacionamento de extenso Generalizao

13

Globalcode open4education

Diagrama de Casos de Uso


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

14

Globalcode open4education

Diagrama de Casos de Uso


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

15

Globalcode open4education

Diagrama de Casos de Uso


Associao: representa a interao entre um ator e um caso de uso.

16

Globalcode open4education

Diagrama de Casos de Uso


Relacionamento de incluso: relacionamento entre casos de uso no qual um caso de uso inclui incondicionalmente outro caso de uso.

17

Globalcode open4education

Diagrama de Casos de Uso


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

18

Globalcode open4education

Diagrama de Casos de Uso


Generalizao: relacionamento no qual um ator ou caso de uso possui as mesmas caractersticas de um elemento base, mais suas caractersticas especficas.

19

Globalcode open4education

Diagrama de Casos de Uso


Os diagramas de casos de uso visam dois objetivos principais: Definio de escopo: permitem que sejam visualizadas as funcionalidades presentes no sistema. Identificao de papis: permitem identificar quem interage com o sistema e a que funcionalidades tem acesso. No permitem detalhar os passos necessrios para implementao da funcionalidade.

20

Globalcode open4education

Agenda

Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso

21

Globalcode open4education

Diagrama de Classes
Diagrama da UML utilizado para representao da estrutura das classes do sistema. Representa os relacionamentos, atributos e mtodos de cada classe.

22

Globalcode open4education

Elementos - Diagrama de Classes


Classe: representa os mtodos e atributos de uma classe.

23

Globalcode open4education

Elementos - Diagrama de Classes


Associao: representa um relacionamento entre classes onde uma das classes est presente como atributo na outra. Possui algumas propriedades bsicas: Cardinalidade/Multiplicidade Navegabilidade Papis Restries

24

Globalcode open4education

Elementos - Diagrama de Classes


Associao com cardinalidade 1-1

Associao com cardinalidade 1-n

25

Globalcode open4education

Elementos - Diagrama de Classes


Associao com cardinalidade n-n

Papis

26

Globalcode open4education

Elementos - Diagrama de Classes


Navegabilidade

Restries

27

Globalcode open4education

Elementos - Diagrama de Classes


Associao reflexiva

28

Globalcode open4education

Elementos - Diagrama de Classes


Agregao

Composio

29

Globalcode open4education

Elementos - Diagrama de Classes


Dependncia

30

Globalcode open4education

Elementos - Diagrama de Classes


Classe Associativa

31

Globalcode open4education

Elementos - Diagrama de Classes


Herana

32

Globalcode open4education

Elementos - Diagrama de Classes


Representao de interfaces

33

Globalcode open4education

Elementos - Diagrama de Classes


Implementao de interfaces

34

Globalcode open4education

Agenda

Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso

35

Globalcode open4education

Diagrama de Atividades
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;

36

Globalcode open4education

Elementos - Diagrama de Atividades

Atividade: representa uma etapa em um processo.

37

Globalcode open4education

Elementos - Diagrama de Atividades


Transio: fluxo de uma atividade para outra.

38

Globalcode open4education

Elementos - Diagrama de Atividades


Condio de guarda: condio necessria para a realizao da transio.

39

Globalcode open4education

Elementos - Diagrama de Atividades


Deciso: dependendo de uma condio, mostra as diferentes transies.

40

Globalcode open4education

Elementos - Diagrama de Atividades


Ponto de juno: mostra a unio de atividades em um nico fluxo.

41

Globalcode open4education

Elementos - Diagrama de Atividades


Incio e fim: indicam o incio e o trmino do fluxo de atividades.

42

Globalcode open4education

Elementos - Diagrama de Atividades


Concorrncia: indica atividades executando em paralelo.

43

Globalcode open4education

Elementos - Diagrama de Atividades


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

44

Globalcode open4education

Agenda

Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso

45

Globalcode open4education

Diagrama de Seqncia
Diagrama da UML utilizado para representar a interao entre objetos em ordem seqencial no tempo. Utilizados para: Ilustrar e validar a lgica implementada; Identificar a necessidade de novos mtodos e classes; Identificar quais classes sero mais complexas Identificar gargalos na modelagem de um aplicativo

46

Globalcode open4education

Elementos - Diagrama de Seqncia


Objetos: representam as instncias de classes cuja interao ser representada no diagrama.

47

Globalcode open4education

Elementos - Diagrama de Seqncia

Mensagens: representam as interaes entre objetos.

48

Globalcode open4education

Elementos - Diagrama de Seqncia

Mensagens de criao de objetos

49

Globalcode open4education

Elementos - Diagrama de Seqncia


Mensagens de retorno

50

Globalcode open4education

Elementos - Diagrama de Seqncia


Chamadas de um mtodo na prpria classe

51

Globalcode open4education

Elementos - Diagrama de Seqncia

Chamada condicional if com UML 1.4

52

Globalcode open4education

Elementos - Diagrama de Seqncia

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

53

Globalcode open4education

Elementos - Diagrama de Seqncia


Chamada condicional if com UML 2.0

54

Globalcode open4education

Elementos - Diagrama de Seqncia


Chamada condicional if/else

55

Globalcode open4education

Elementos - Diagrama de Seqncia


Chamadas dentro de um lao

56

Globalcode open4education

Agenda

Importncia da UML Ferramentas Dificuldades na Utilizao Diagrama de Casos de Uso Diagrama de Classes Diagrama de Atividades Diagrama de Seqncia Estudo de Caso

57

Globalcode open4education

Sistema de Vendas Online


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.

58

Globalcode open4education

Diagrama de Casos de Uso

59

Globalcode open4education

Diagrama de Classes

60

Globalcode open4education

Diagrama de Atividades

61

Globalcode open4education

Diagrama de Seqncia

62

Globalcode open4education

Diagrama de Seqncia

63

Globalcode open4education