MINISTÉRIO DA CIÊNCIA E TECNOLOGIA       INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS                UML: Visão Geral        ...
Sumário●   UML:    –   Motivação    –   Diagramas●   Oficina:    –   Criando diagramas UML com o JUDE Community 5
UML●   Segundo a OMG, a Unified Modeling Language é    uma linguagem visual para especificação,    construção e documentaç...
Processo de Desenvolvimento de Sistemas●   Estabelece uma abordagem para a construção,    desenvolvimento e manutenção de ...
Por que / Para que usar UML?●   Vamos usar os diagramas UML para:    –   Ajudar a conceber nossas idéias, em relação ao   ...
UML●   Diagramas servem para capturar diferentes    visões do sistema:    –   Estrutural: estática         ●   Diagrama de...
Diagramas de Casos de Uso
UML: Diagrama de Casos de Uso●   Composto por:    –   Atores:         ●   Pessoas que desempenham algum papel no sistema  ...
UML: Diagrama de Casos de Uso
Descrição Casos Uso       #05                                Gerenciar Contas UsuáriosQuem incia         Ator Administrado...
Diagrama de Atividades
Diagrama de Atividades●   É usado para mostrar uma seqüência de    atividades.●   Mostra o fluxo de trabalho (workflow) a ...
Diagrama de Atividades                                   Ações                                  Execução em Paralelo  Esta...
Diagrama de Atividades●   Podemos ainda ter partições:    –   Elas ajudam a separar as ações em blocos    –   Ex: ações re...
Diagrama de Classes
Representação de uma Classe                              Nome da classe                             Compartimento dos Atri...
Representação de um Classe          Atributos estáticos aparecem sublinhados          Métodos Virtuais aparecem em itálico...
Representação de uma Interface           A classe TePolygon Implementa a Interface               Interface Geometry:      ...
Associaçãoclass Proprietario                   class Lote{                                    {   private:                ...
Generalização                                 Superclasse              SubclassesA classe TeGeometry é abstrata: por isso ...
Agregação/Composição                                    AgregaçãoComposição
Diagrama de Classes – Outras Considerações●   UML dá o suporte para classes templates●   Herança de classes templates     ...
Diagrama de Objetos
Diagrama de Objetos
Diagrama de Seqüência
Diagrama de Seqüência●   Apresenta a ordem temporal das mensagens    enviadas e recebidas pelos objetos●   Mostram a troca...
Diagrama de SeqüênciaCenário: Editar Nova Feição Geográfica
Diagrama de Estados
Diagrama de Estado●   Modela o      comportamento   de   um   objeto    individual●   Especifica as seqüências de estados ...
Diagrama Estados
Diagrama de Estados●   Choice:    –   Usado quando temos um estado em que o objeto        está escolhendo o próximo estado...
Diagrama de Pacotes
UML: Packages●   Organização Lógica dos Artefatos:    –   Agrupar artefatos    –   Organizar o modelo
Diagrama de Pacotes (Package Diagram)
Diagrama de Componentes
Diagrama de Componentes
Diagrama de Implantação
UML: Diagrama de Implantação
Upcoming SlideShare
Loading in...5
×

Apostila de uml

605

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
605
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
37
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Apostila de uml

  1. 1. MINISTÉRIO DA CIÊNCIA E TECNOLOGIA INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS UML: Visão Geral Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.brDisponível em: http://www.dpi.inpe.br/~gribeiro/apresentacoes 29 de Fevereiro de 2008.
  2. 2. Sumário● UML: – Motivação – Diagramas● Oficina: – Criando diagramas UML com o JUDE Community 5
  3. 3. UML● Segundo a OMG, a Unified Modeling Language é uma linguagem visual para especificação, construção e documentação de artefatos de software● O propósito da modelagem (criação de esquemas UML) é, principalmente, para entender e não para documentar!● UML sozinha não resolve nada: – Ela deve ser usada dentro de um processo de desenvolvimento!
  4. 4. Processo de Desenvolvimento de Sistemas● Estabelece uma abordagem para a construção, desenvolvimento e manutenção de software: – Ex: UML + OpenUP (definição das fases de desenvolvimento e estabelecimento das regras do jogo!)● Atualmente metodologias são iterativas e evolucionárias: – Ciclo repetitivo, com fases de curta duração – Fases contemplam todas as etapas do ciclo de desenvolvimento (requisitos, análise, projeto, implementação, teste e validação) – As fases não tentam varrer todo o conhecimento do problema, isso é obtido ao longo do tempo
  5. 5. Por que / Para que usar UML?● Vamos usar os diagramas UML para: – Ajudar a conceber nossas idéias, em relação ao sistema que estivermos projetando ● Pensar antes de codificar! – Apresentar nossas idéias ao grupo de forma que todos possam interagir e discutir um determinado ponto ● Aumentar a participação e envolvimento do time! – Documentar nossas idéias quando elas já estiverem bem consolidadas para que novos integrantes e novos colaboradores possam acelerar sua compreensão dos sistemas desenvolvidos pelo grupo
  6. 6. UML● Diagramas servem para capturar diferentes visões do sistema: – Estrutural: estática ● Diagrama de Classes ● Diagrama de Objetos ● Diagrama de Componentes ● Diagrama de Implantação – Comportamental: dinâmica ● Diagrama de Casos de Uso ● Diagrama de Seqüência ● Diagrama de Atividades ● Diagrama de Estados ● Diagrama de Colaboração
  7. 7. Diagramas de Casos de Uso
  8. 8. UML: Diagrama de Casos de Uso● Composto por: – Atores: ● Pessoas que desempenham algum papel no sistema ● Entidades externas, como outros sistemas, que interagem com o sistema sendo projetado – Casos de Uso: ● Processos ou funções que o sistema deve realizar de forma automática ou mesmo manual ● Geralmente associadas a descrições textuais – Relacionamentos: ● Atores x Casos de Uso ● Casos de Uso x Casos de Uso
  9. 9. UML: Diagrama de Casos de Uso
  10. 10. Descrição Casos Uso #05 Gerenciar Contas UsuáriosQuem incia Ator AdministradorPré-Condição Nenhum outro administrador deve estar logado no sistema 1. O Administrador informa seu login/senha 2. O sistema verifica na ACL se o usuário possui privilégios especiais 3. Se o usuário não for um super-usuário interrompe processo 4. O sistema mostra a lista de usuários e gruposCenário 1: 5. O Administrador entra com a seguintes informações:Criar Nova Conta - nome do novo usuário, diretório home, senha inicial, privilégios, data expiração da conta 6. O servidor valida os dados 7. As informações da nova conta são gravadas na ACLFluxo de Exceção
  11. 11. Diagrama de Atividades
  12. 12. Diagrama de Atividades● É usado para mostrar uma seqüência de atividades.● Mostra o fluxo de trabalho (workflow) a partir de um ponto inicial até um ponto final, detalhando as decisões do caminho tomado durante a execução das tarefas.● Este diagrama possui várias aplicações, desde a definição do fluxo básico de um programa até a definição de um processo com as suas tomadas de decisões e ações.
  13. 13. Diagrama de Atividades Ações Execução em Paralelo Estado Inicial Ponto de Tomada de DecisãoPonto de Junção Estado Final
  14. 14. Diagrama de Atividades● Podemos ainda ter partições: – Elas ajudam a separar as ações em blocos – Ex: ações realizadas pelo departamento A e ações realizadas pelo departamento B● Podemos ter o envio de objetos entre uma ação e outra: – Ex: Pedido
  15. 15. Diagrama de Classes
  16. 16. Representação de uma Classe Nome da classe Compartimento dos Atributos Compartimento dos Métodos Acessibilidade dos Atributos e Métodos: + atributo ou método público # atributo ou método protegido - atributo ou método privado
  17. 17. Representação de um Classe Atributos estáticos aparecem sublinhados Métodos Virtuais aparecem em itálico Atributos estáticos aparecem sublinhados Métodos estáticos aparecem sublinhados
  18. 18. Representação de uma Interface A classe TePolygon Implementa a Interface Interface Geometry: pode ter atributos e métodos como as classes
  19. 19. Associaçãoclass Proprietario class Lote{ { private: private: string nome; double area; vector<Lote*> lotes; Proprietario* proprietario_; public: public: string getNome(); double getArea();}; };
  20. 20. Generalização Superclasse SubclassesA classe TeGeometry é abstrata: por isso o itálico
  21. 21. Agregação/Composição AgregaçãoComposição
  22. 22. Diagrama de Classes – Outras Considerações● UML dá o suporte para classes templates● Herança de classes templates pode ser expressa com “bind” de templates● Classes de associações: – servem para qualificar os relacionamentos
  23. 23. Diagrama de Objetos
  24. 24. Diagrama de Objetos
  25. 25. Diagrama de Seqüência
  26. 26. Diagrama de Seqüência● Apresenta a ordem temporal das mensagens enviadas e recebidas pelos objetos● Mostram a troca de mensagens entre diversos objetos num cenário específico● Na minha visão (Gribeiro): – Ajuda a descobrir onde colocar os métodos! – Ajuda a verificar se a comunicação entre as classes está coerente!
  27. 27. Diagrama de SeqüênciaCenário: Editar Nova Feição Geográfica
  28. 28. Diagrama de Estados
  29. 29. Diagrama de Estado● Modela o comportamento de um objeto individual● Especifica as seqüências de estados pelos quais um objeto passa durante seu tempo de vida em resposta a eventos
  30. 30. Diagrama Estados
  31. 31. Diagrama de Estados● Choice: – Usado quando temos um estado em que o objeto está escolhendo o próximo estado. – Ex: Escolhendo Tipo de Mensagem: ● HTTP => Entra no estado Criando Mensagem HTTP ● Fax => Entra no estado Criando Mensagem FAX ● SMS => Entra no estado Criando Mensagem SMS● Histórico de Estado: – Ex: Máquina Lavar => quando religada precisa lembrar em qual estado estava.
  32. 32. Diagrama de Pacotes
  33. 33. UML: Packages● Organização Lógica dos Artefatos: – Agrupar artefatos – Organizar o modelo
  34. 34. Diagrama de Pacotes (Package Diagram)
  35. 35. Diagrama de Componentes
  36. 36. Diagrama de Componentes
  37. 37. Diagrama de Implantação
  38. 38. UML: Diagrama de Implantação
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×