65
UML – Criando UML – Criando Diagramas Diagramas Eficientes Eficientes Rafael Guimarães Sakurai Rodrigo Cascarrolho SESTINFO 2009

UML - Criando Diagramas Eficientes

Embed Size (px)

DESCRIPTION

Apresentação sobre UML com foco nos Diagramas de Caso de Uso e Diagrama de Classes; apresentada na SESTINFO2009 (Semana de Estudos em Tecnologia da Informação) realizada na Universidade Metodista de São Paulo.

Citation preview

Page 1: UML - Criando Diagramas Eficientes

UML – Criando UML – Criando Diagramas EficientesDiagramas Eficientes

Rafael Guimarães SakuraiRodrigo Cascarrolho

SESTINFO 2009

Page 2: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Quem somos?Quem somos?

• Rafael Guimarães Sakurai ([email protected])Possui graduação em Ciência da Computação pela Universidade

Metodista de São Paulo (2005), especialista em Engenharia de Componentes com Java Enterprise e Webservices pela Faculdade de Informática e Administração Paulista. Atualmente é Analista Desenvolvedor de software da Virginia Surety. Tem experiência na área de Ciência da Computação, com ênfase em Linguagens de Programação. Possui as seguintes certificações: SCJP 5.0, SCWCD 1.4 e SCSNI.

• Rodrigo Cascarrolho ([email protected])Possui graduação pela Pontifícia Universidade Católica de São Paulo

(2003). Atualmente é Desenvolvedor Java da Confluence Soluções em Informática Ltda. Tem experiência na área de Ciência da Computação com ênfase em Metodologia e Técnicas da Computação.

2

Page 3: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

AgendaAgenda

• O que é UML• História• Diagramas UML• Diagrama de Caso de Uso• Diagrama de Classes• Ferramentas de Modelagem• Certificação• Bibliografia

3

Page 4: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

O que é e por que usar UML?O que é e por que usar UML?

• UML – Unified Modeling Language

• Definição

• Por que usar UML?

4

“É uma família de notações gráficas, apoiada por um metamodelo único, que ajuda na descrição e no projeto de sistemas de

software, particularmente daqueles construídos utilizando o estilo orientado a objetos.”

Martin Fowler

Page 5: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Um pouco de história...Um pouco de história...

Out/1994Out/1994

5

Out/1995Out/1995

Jun/1996Jun/1996

Jan/1997Jan/1997

Nov/1997Nov/1997

Jun/1998Jun/1998

Dez/1998Dez/1998

20012001 20052005

20072007

James Rumbaugh e Grady Booch

- Versão 0.8 - Ivar Jacobson - “três amigos”

Versão 0.9 Versão 1.1 Versão 1.3 Versão 2.1

Versão 1.0 Versão 1.2 Versão 1.4

Versão 1.5

Versão 2.0

20022002

Page 6: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

UML - DiagramasUML - Diagramas

• Lista de Diagramas

6

DiagramaDiagrama ObjetivoObjetivo Grupo DiagramaGrupo Diagrama Classes Classe, características e relacionamentos. Estrutural

Componentes Estrutura e conexão de componentes. Estrutural

Estruturas Compostas Decomposição de uma classe em tempo de execução. Estrutural

Instalação Distribuição de artefatos nos nós. Estrutural

Objetos Exemplo de configurações de instâncias. Estrutural

Pacotes Estrutura hierárquica em tempo de compilação. Estrutural

Casos de Uso Como os usuários interagem com um sistema. Comportamental

Atividades Comportamento procedimental e paralelo. Comportamental

Máquinas de Estado Como os eventos alteram um objeto no decorrer de sua vida. Comportamental

Sequência Interação entre objetos; ênfase na sequência. Interação

Comunicação Interação entre objetos; ênfase nas ligações. Interação

Visão Geral da Interação Mistura de diagrama de sequência e de atividades. Interação

Sincronismo Interação entre objetos; ênfase no sincronismo. Interação

Page 7: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Criando um projeto UML no NetBeansCriando um projeto UML no NetBeans

• Para iniciar o NetBeans:– Iniciar / Programas / Netbeans / NetBeans IDE 6.5

• Para criar um novo Projeto UML:– Arquivo

- Novo projeto

7

Page 8: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Criando um projeto UML no NetBeansCriando um projeto UML no NetBeans

• Digite o nome e o local onde será criado o projeto:

• Na próxima tela clique em Cancelar e teremos a seguinte estrutura.

8

Page 9: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

UML – Diagrama de Caso de UsoUML – Diagrama de Caso de Uso

“Documento narrativo que descreve a sequência de eventos de um ator que usa um sistema para completar

um processo.”

• Representa a interação entre um usuário (humano ou sistema) e o sistema.

• Não descreve como o software deverá ser construído, mas sim como ele deverá se comportar quando estiver pronto.

• Corresponde a um conjunto de ações com um objetivo comum.

9

Ivar Jacobson

Page 10: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

AtorAtor

• Humano ou entidade.• Interage com o sistema.• Iniciam o sistema.• Fornecem dados.• Usam as informações do sistema.

10

Page 11: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Caso de UsoCaso 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.

11

Page 12: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

<<include>> e <<extend>><<include>> e <<extend>>

• <<include>>– Relacionamento com outro caso de uso que sempre será

executado.

• <<extend>>– Relacionamento com outro caso de uso que pode ou não ser

executado.

12

Page 13: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Diagrama de Caso de UsoDiagrama de Caso de Uso

• Sistema de Pagamento de Serviços

– O sistema será responsável por gerenciar os pagamentos dos serviços prestados por empresas e freelancers. O pagamento do serviço poderá ser efetuado apenas pelo usuário que possuir o perfil específico para esta função. Ao ser realizado qualquer serviço e pagamentos, o sistema gera e envia uma mensagem de e-mail aos prestadores do serviço.

13

Page 14: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Diagrama de Caso de UsoDiagrama de Caso de Uso

14

Pagamento de Serviço

Cenário Principal de Sucesso:1. O usuário acessa o sistema2. O usuário pesquisa o serviço a ser pago3. O sistema apresenta as informações do serviço4. O usuário inicia o processo de pagamento5. O sistema envia a confirmação do pagamento ao prestador do serviço6. O sistema encerra o processo de pagamento

Extensões:1a. Usuário não autorizado 1a.1 O usuário não possui perfil para realizar pagamentos 1a.2 O usuário é direcionado ao passo 6.3a. Serviço não finalizado 3a.1 O sistema apresenta que o serviço não foi finalizado 3a.2 O usuário é direcionado ao passo 6.

DescriçãoDescrição DiagramaDiagrama

Page 15: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Diagrama de Caso de UsoDiagrama de Caso de Uso

15

• Exemplo de Caso de Uso para sacar dinheiro

Page 16: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Criando um diagrama de Caso de UsoCriando um diagrama de Caso de Uso

• No item Diagramas -> Novo -> Diagrama...

• Selecione a opção Diagrama de Caso de Uso

16

Page 17: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Criando um diagrama de Caso de UsoCriando um diagrama de Caso de Uso

• Ao clicar em Finalizar teremos a seguinte tela:

17

1) Área para criação do diagrama de Caso de Uso2) Paleta com os itens que podem ser adicionados no diagrama de Caso de Uso

Page 18: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Exemplo PráticoExemplo Prático

• Sistema de Pagamento de Serviços, realizar pagamento de serviços

18

Page 19: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Resposta do exemplo práticoResposta do exemplo prático

• Sistema de Pagamento de Serviços, realizar pesquisa de serviços

19

Page 20: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

O que colocar no diagrama de Caso de UsoO que colocar no diagrama de Caso de Uso

• Melhor fazer menos do que fazer demais.• Breve e fácil de ler.• Preferência na descrição textual.• Limitar os relacionamentos com <<include>> e

<<extend>>.

20

Page 21: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

O que não colocar no diagrama de O que não colocar no diagrama de Caso de UsoCaso de Uso

• Textos longos.• Muitas extensões.• Todos diagramas se chamando.• Todas as ações CRUD separadas.• Detalhes da tela (botões, combos, links, etc).• Não é um fluxograma!

21

Atenção: Não relacione o caso de uso com as classes do sistema.Atenção: Não relacione o caso de uso com as classes do sistema.

Page 22: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

UML – Diagrama de ClassesUML – Diagrama de Classes

22

Page 23: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Estrutura da classeEstrutura da classe

• Uma classe em UML possui três partes:– Nome da Classe– Atributos– Operações

• Podemos abreviar a declaração da classe, caso não influencie o entendimento do diagrama:

23

Page 24: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

AtributosAtributos

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

24

Page 25: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

OperaçõesOperações

• Uma operação é formada por:visibilidade nome (parâmetros) : tipo de retorno {propriedades}

• O parâmetro de um método é formado por:nome : tipo [multiplicidade] = valor inicial

25

Page 26: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

VisibilidadeVisibilidade

• Podemos definir as seguintes visibilidades em atributos e operações:

- private

~ default

# protected

+ public

26

Page 27: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Atributos e operações estáticoAtributos e operações estático

• Podemos definir atributos e operações como sendo estáticos, ou seja, são referentes a classe e não aos seus objetos.

27

Page 28: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

ComentárioComentário

• Os comentários ou notas são utilizados para adicionar mais informações ao diagrama.

28

Page 29: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

ComentárioComentário

• O comentário pode ser utilizado em qualquer diagrama, podendo ou não ser vinculado a algum elemento.

• Utilizamos também o comentário para definir alguma regra de restrição, para isto precisamos adicionar { } entre a restrição:

29

Page 30: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

AssociaçõesAssociações

• Utilizado para representar o relacionamento entre classes, as associações podem ser:– Associação– Agregação– Composição– Classe de associação

• As classes que fazem parte de um relacionamento também são chamadas de TODO (responsável pelo relacionamento) e PARTE (usado pelo relacionamento).

30

Page 31: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

AssociaçãoAssociação

• Relacionamento simples entre duas classes:

31

Page 32: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

AgregaçãoAgregação

• Informa que uma classe faz parte de outra classe, mas não de forma exclusiva.

32

Page 33: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

ComposiçãoComposição

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

33

Page 34: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Agregação x ComposiçãoAgregação x Composição

• A diferença entre ambos é:

Agregação – se excluir a classe responsável pelo relacionamento, não deve excluir a classe que ele possui relacionamento.

Composição – se excluir a classe responsável pelo relacionamento, então deve excluir a classe que ele possui relacionamento.

34

Page 35: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Classe de associaçãoClasse de associação

• Utilizamos para realizar o relacionamento entre duas classes:

• ou

35

Page 36: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

• Podemos também ter uma associação para mesma classe:

AssociaçãoAssociação

36

Page 37: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

NavegabilidadeNavegabilidade

• Podemos informar qual a direção do relacionamento:

37

Page 38: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

MultiplicidadeMultiplicidade

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

1 (um)

* (zero ou muitos)

38

Page 39: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

MultiplicidadeMultiplicidade

• Quando utilizamos atributos para informar coleção de objetos, podemos também adicionar propriedades na multiplicidade:{ordered} - Ordenado

{unordered} - Não ordenado

{unique} - Único

{nonunique} - Não único

{bag} - Conjunto não ordenado e não único

39

Page 40: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Criando um diagrama de ClassesCriando um diagrama de Classes

• No item Diagramas -> Novo -> Diagrama...

• Selecione a opção Diagrama de Caso de Uso

40

Page 41: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Criando um diagrama de ClassesCriando um diagrama de Classes

• Ao clicar em Finalizar teremos a seguinte tela:

41

1) Área para criação do diagrama de Caso de Uso2) Paleta com os itens que podem ser adicionados no diagrama de Caso de Uso

Page 42: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

ExemploExemplo

• Crie o diagrama de classes UML para a seguinte figura:

42

Inicio FimPedido Pagamento Entrega

Page 43: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Resposta exemplo práticoResposta exemplo prático

43

Page 44: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Exemplo práticoExemplo prático

• 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 funcionário, 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.

44

Page 45: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Resposta exemplo práticoResposta exemplo prático

45

Page 46: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

DependênciaDependência

• Utilizado para informar que uma classe depende de outra classe para executar alguma operação:

46

Page 47: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

DependênciaDependência

• Palavras - chave de dependência:<<call>>

<<create>>

<<dependency>>

<<use>>

47

Page 48: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Associação x DependênciaAssociação x Dependência

• A diferença básica entre ambos:

– Associação temos um atributo da classe relacionada.

– Dependência utilizamos a classe relacionada, para passar um parâmetro, chamar um método, criar um objeto, etc.

48

Page 49: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Associação x DependênciaAssociação x Dependência

• Exemplo:

49

Page 50: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Classe AbstrataClasse Abstrata

• Utilizado para informar que uma classe não implementa todos os seus métodos.

50

Page 51: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

HerançaHerança

• Utilizamos herança quando queremos declarar subclasses, permitindo reutilizar os códigos já declarados na superclasse.

51

Page 52: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

InterfaceInterface

• Utilizamos interface para definir as operações básicas que uma classe de seu tipo precisa implementar.

52

Page 53: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

InterfaceInterface

• Exemplo:

53

Page 54: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

PacotePacote

• Utilizamos para organizar as classes:

54

Page 55: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

TemplateTemplate

• É uma classe parametrizada para definir conjuntos fortemente tipados.

55

Page 56: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

EnumerationEnumeration

• Utilizado para criar um conjunto fixo de valores:

56

Page 57: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Exemplo práticoExemplo prático

• Crie um diagrama de classe em UML para o Sistema de Envio de Produtos:– O sistema deve controlar a ordenação do envio dos produtos

por preço ou por endereço do cliente. De acordo com a quantidade de produtos, também precisamos alocar um veiculo que pode ser uma Van ou uma Caminhonete.

– Também precisamos controlar o status do envio que pode ser, aguardando pagamento, buscando em estoque, saída para entrega ou entregue.

57

Page 58: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Resposta exemplo práticoResposta exemplo prático

58

Page 59: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

O que colocar no diagrama de classesO que colocar no diagrama de classes

• Concentre-se nas áreas principais do sistema.• O necessário para que as pessoas envolvidas possam

entender.• Mantenha as notações simples.• Gere um diagrama de classe flexível, facilitando futuras

atualizações.• Desenvolva o diagrama baseado na metodologia

adotada, podendo ser um diagrama de negocio, diagrama especifico por áreas do sistema ou diagrama com todas as classes envolvidas no sistema.

59

Page 60: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

O que não colocar no diagrama de classesO que não colocar no diagrama de classes

• Para não aumentar a complexidade de um diagrama de classes, normalmente não adicionamos no diagrama:– Classes que representam telas.– Classes de conexão e acesso ao banco de dados.– Classes de API’s da linguagem ou de terceiros.

• Não tente usar todas as notações disponíveis no mesmo diagrama.

• Não desenhe modelos para tudo, a menos que seja realmente necessário.

60

Page 61: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Ferramentas IDEFerramentas 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://www.gentleware.com

• Enterprise Architect - http://www.sparxsystems.com.au/

61

Page 62: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Adicionando o plug-in de UML no NetBeansAdicionando o plug-in de UML no NetBeans

• No menu Ferramentas → Plug-ins– Selecione em Plug-ins disponíveis → UML

62

1

2

Page 63: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Certificações UMLCertificações UML

• OCUP – OMG Certified UML Professional

http://www.omg.org/uml-certification/exam_info.htm

63

Page 64: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Referencia bibliograficaReferencia bibliografica

• [Booch, Rumbaugh e Jacobson, I.]

Grandy Booch, James Rumbaugh e Ivar Jacobson, UML: Guia do Usuário, 3ª Ed. Campus, 2005.

• [Fowler]

Martin Fowler, UML Essencial, 3ª Ed. Bookman, 2005.

• [Guedes]

Gilleanes T. A. Guedes, UML: Uma abordagem pratica, 3ª Ed. Novatec, 2008.

• [Cardoso]

Caíque Cardoso, UML na prática: do problema ao sistema, Ed. Ciência Moderna, 2003

• UML - http://www.uml.org• Wikipédia – http://www.wikipedia.org

64

Page 65: UML - Criando Diagramas Eficientes

Rafael Guimarães Sakurai e Rodrigo CascarrolhoRafael Guimarães Sakurai e Rodrigo Cascarrolho

Obrigado!Obrigado!

http://www.slideshare.net/rodrigocasca/uml-criando-diagramas-eficienteshttp://www.slideshare.net/rodrigocasca/uml-criando-diagramas-eficientes

65