CursoUML - Unified Modeling Language

3.276 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
3.276
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
279
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

CursoUML - Unified Modeling Language

  1. 1. UML - Unified Modeling Language Virgínia Mara Cardoso [email_address]
  2. 2. <ul><li>UML </li></ul><ul><ul><li>Histórico </li></ul></ul><ul><ul><li>Conceitos </li></ul></ul><ul><li>Visão Geral da UML </li></ul><ul><ul><li>Modelos </li></ul></ul><ul><ul><li>Visões </li></ul></ul><ul><ul><li>Diagramas </li></ul></ul><ul><li>Diagramas </li></ul><ul><ul><li>Classes </li></ul></ul><ul><ul><li>Objetos </li></ul></ul><ul><ul><li>Casos de Uso </li></ul></ul><ul><ul><li>Sequência </li></ul></ul><ul><ul><li>Colaboração </li></ul></ul><ul><ul><li>Estado </li></ul></ul><ul><ul><li>Atividade </li></ul></ul><ul><ul><li>Componentes </li></ul></ul><ul><ul><li>Implantação </li></ul></ul><ul><li>Um Exemplo para Utilizar UML </li></ul>
  3. 3. Bibliografia <ul><li>Booch, G., Jacobson, I., Rumbaugh, J., The Unified Software Development Process, Addison-Wesley Object Technology Series, 1999. </li></ul><ul><li>Larman, C., Applying UML and Patterns – An Introduction to Object-Oriented Analysis and Design, Prentice Hall, 1997. </li></ul><ul><li>Pressman, R. S., Software Engineering: A Practitioner’s Approach, 4th Edition (1997), McGraw-Hill. </li></ul><ul><li>Ferramenta de Modelagem UML Poseidon, 2002, http: //www.gentleware.com </li></ul><ul><li>Ferramenta de Modelagem UML Rational Rose, 2002, http: //www.rational.com </li></ul><ul><li>UML 1.4 Specification. Chapter 2 and 3 - UML Notation Guide, September, 2001, http: //www.omg.org/technology/documents/formal/uml.htm . </li></ul>
  4. 4. UML – Unified Modeling Language <ul><li>O que é UML? </li></ul><ul><ul><li>Linguagem visual para modelar sistemas de software. </li></ul></ul><ul><ul><li>Objetivo: </li></ul></ul><ul><ul><ul><li>simplificar e consolidar métodos já conhecidos. </li></ul></ul></ul><ul><ul><li>Não proprietária. </li></ul></ul><ul><ul><li>Propósito geral. </li></ul></ul>
  5. 5. UML – Unified Modeling Language <ul><li>Propósito Geral (sistemas de software): </li></ul><ul><ul><li>especificar; </li></ul></ul><ul><ul><li>visualizar; </li></ul></ul><ul><ul><li>construir; </li></ul></ul><ul><ul><li>documentar. </li></ul></ul>
  6. 6. UML – Unified Modeling Language <ul><li>Modelagem abrange: </li></ul><ul><ul><li>aspectos estáticos: </li></ul></ul><ul><ul><ul><li>tipos de objetos e relacionamentos entre eles. </li></ul></ul></ul><ul><ul><li>aspectos dinâmicos: </li></ul></ul><ul><ul><ul><li>evolução dos objetos no tempo e interação entre eles. </li></ul></ul></ul><ul><ul><li>aspectos de ambiente. </li></ul></ul><ul><ul><li>aspectos organizacionais: </li></ul></ul><ul><ul><ul><li>particionamento de grandes sistemas; </li></ul></ul></ul><ul><ul><ul><li>representação de decisões de implementação; </li></ul></ul></ul><ul><ul><ul><li>implantação do sistema (organização em tempo de execução). </li></ul></ul></ul>
  7. 7. Histórico <ul><li>Evolução das metodologias de desenvolvimento: </li></ul><ul><ul><li>análise Estruturada e Projeto Estruturado (Yordon, 1979); </li></ul></ul><ul><ul><li>projeto Estruturado para Tempo-Real (Ward, 1985). </li></ul></ul><ul><ul><li>metodologias OO (Goldberg/Robson,83; Cox, 86; Meyer, 88; Shlaer/Mellor, 88; CRC – Wirfs-Brock et al, 90; Coad/Yourdon, 91; Booch, 91; OMT – Rumbaugh et al, 91; Objectory – Jacobson, 92) </li></ul></ul><ul><ul><li>UML – Booch/ Rumbaugh/Jacobson, 1995 ; </li></ul></ul><ul><ul><li>1996 - requisição de padrão pelo OMG (object Management Group) </li></ul></ul><ul><ul><li>1997 – adotada como padrão pelo OMG. </li></ul></ul>
  8. 8. Modelos de Software <ul><li>Definem semântica e notação: </li></ul><ul><ul><li>informação semântica: descreve o significado ou intenção do sistema; </li></ul></ul><ul><ul><li>notação: apresentação visual </li></ul></ul><ul><ul><ul><li>mostram o modelo de forma facilmente compreensível; </li></ul></ul></ul><ul><ul><ul><li>não adicionam semântica; </li></ul></ul></ul><ul><ul><li>podem ser apresentados de várias formas, incluindo texto e diagramas. </li></ul></ul>
  9. 9. Modelos de Software <ul><li>Objetivos: </li></ul><ul><ul><li>apreender e indicar precisamente requisitos e conhecimento do domínio; </li></ul></ul><ul><ul><li>facilitar o desenvolvimento; </li></ul></ul><ul><ul><li>gerenciar complexidade: </li></ul></ul><ul><ul><ul><li>manter informações sobre o sistema; </li></ul></ul></ul><ul><ul><ul><li>visualizar o sistema sob diferentes pontos de vista; </li></ul></ul></ul><ul><ul><ul><li>visualizar o sistema em diferentes níveis de abstração. </li></ul></ul></ul>
  10. 10. Visões <ul><li>Diferentes pontos de vista devem ser usados para refletir os aspectos desejados. </li></ul><ul><li>Cada visão mostra um conjunto de aspectos do sistema numa notação adequada à sua compreensão. </li></ul><ul><li>UML apresenta diferentes visões do sistema sendo modelado. </li></ul>
  11. 11. Visões <ul><li>A arquitetura de um sistema pode ser refletida em cinco visões distintas: </li></ul>Projeto Implementação Processo Implantação Casos de Uso
  12. 12. Diagramas <ul><li>Formas de apresentação, menos detalhadas, facilitam a compreensão do modelo descrito. Ex: diagramas (gráficos e desenhos). </li></ul><ul><li>UML apresenta diversos diagramas: </li></ul><ul><ul><li>cada visão tem seu conjunto de diagramas; </li></ul></ul><ul><ul><li>cada diagrama pode apresentar diferentes versões, em diferentes níveis de detalhamento. </li></ul></ul>
  13. 13. Diagramas de Classes <ul><li>Apresenta as classes e relacionamentos entre elas. </li></ul><ul><li>Entidades  Classes. </li></ul><ul><li>Relacionamentos  generalização, </li></ul><ul><li>associação, etc. </li></ul>
  14. 14. Diagrama de Classes Associação Classe
  15. 15. Diagrama de Objetos <ul><li>Retrato do sistema em determinado instante. </li></ul><ul><li>Representação dos objetos e as ligações entre eles. </li></ul><ul><li>Não descreve o sistema. </li></ul><ul><li>Facilita o entendimento e validação do sistema e modelos. </li></ul>
  16. 16. Diagrama de Objetos Objetos
  17. 17. Diagramas de Casos de Uso <ul><li>Descrevam o comportamento do sistema. </li></ul><ul><li>Especifica os argumentos funcionais que determinarão a macro-arquitetura do sistema. </li></ul><ul><li>Não descreve a organização interna do software . </li></ul>
  18. 18. Diagramas de Casos de Uso <ul><li>Elementos básicos de modelagem: </li></ul><ul><ul><li>atores, agentes externos ( clientes do sistema); </li></ul></ul><ul><ul><li>caso de uso, unidade de funcionalidade coerente, expressa pelas transações (comunicação) entre os atores e o sistema; </li></ul></ul><ul><ul><li>Comunicação, ligação entre ator e caso de uso expressando comunicação entre eles (associação, extensão, inclusão, generalização). </li></ul></ul>
  19. 19. Diagramas de Casos de Uso Ator Caso de Uso Fronteira do sistema
  20. 20. Diagrama de Seqüência <ul><li>Apresenta o conjunto de mensagens trocadas entre objetos na execução de transações. </li></ul><ul><li>Cada diagrama mostra um cenário de execução de uma transação. </li></ul><ul><li>Elementos de Modelagem: </li></ul><ul><ul><li>papéis , objetos são representados pelo papel que desempenham na transação, mas não são referenciados diretamente; </li></ul></ul><ul><ul><li>mensagens, representam a execução de uma operação de uma classe ou a ocorrência de um evento em uma máquina de estados, e são ordenadas no tempo (de cima para baixo); </li></ul></ul><ul><ul><li>linha de vida, representa o período de existência de um objeto; </li></ul></ul><ul><ul><li>período de atividade, representa os períodos em que um objeto está ativo. </li></ul></ul>
  21. 21. Diagrama de Seqüência Período ativo Linha de vida
  22. 22. Diagrama de Colaboração <ul><li>Modela objetos e ligações de uma interação: </li></ul><ul><ul><li>apresenta somente os objetos e ligações significativas para a interação; </li></ul></ul><ul><ul><li>as mensagens são numeradas sequencialmente; </li></ul></ul><ul><ul><li>mostra implementação de operações, descrevendo parâmetros e variáveis locais usadas. </li></ul></ul>
  23. 23. Diagramas- Seqüência e Colaboração Visual, relacionando mensagens a ligações entre papéis Implícito (pelos números de seqüência) implícito Relacionamento entre papéis Colaboração Seqüência Seqüência no tempo Visível (explícito) graficamente aspecto interações
  24. 24. Diagrama de Colaboração mensagem objeto
  25. 25. Diagrama de Estados <ul><li>Modela as possíveis histórias de um objeto de uma classe através de máquinas de estados. </li></ul><ul><ul><li>Apresenta possíveis estados do objeto conectados por transições. </li></ul></ul><ul><ul><li>Usado para descrever: </li></ul></ul><ul><ul><ul><li>sistemas reativos, como interface com usuário; </li></ul></ul></ul><ul><ul><ul><li>objetos passivos que apresentam períodos com comportamento distinto no decorrer do tempo. </li></ul></ul></ul>
  26. 26. Diagrama de Estado Abrir janela Pronto Campo alterado Pronto Botão consultar Botão sair
  27. 27. Diagrama de Atividades <ul><li>Variação de máquinas de estado. </li></ul><ul><li>Mostra atividades computacionais envolvidas em uma operação. </li></ul><ul><li>Atividade: </li></ul><ul><ul><li>trabalho ou tarefa a ser realizada </li></ul></ul><ul><ul><ul><li>Passos em um workflow; </li></ul></ul></ul><ul><ul><ul><li>Execução de uma operação; </li></ul></ul></ul><ul><ul><li>podem ocorrer seqüencialmente ou concorrentemente. </li></ul></ul>
  28. 28. Diagrama de Atividades
  29. 29. Diagrama de Componentes <ul><li>Modela os componentes do sistema e dependências entre eles. </li></ul><ul><li>Elementos de modelagem: </li></ul><ul><ul><li>componente </li></ul></ul><ul><ul><ul><li>unidade de software usada para compor o sistema; </li></ul></ul></ul><ul><ul><li>interface </li></ul></ul><ul><ul><ul><li>conjunto de operações suportado (realizado) por um componente; </li></ul></ul></ul><ul><ul><ul><li>cada componente pode prover múltiplas interfaces; </li></ul></ul></ul><ul><ul><ul><li>componentes podem utilizar (depender) interfaces de outros componentes. </li></ul></ul></ul>
  30. 30. Diagrama de Componentes Interface Classe
  31. 31. Diagrama de Implantação <ul><li>Descreve o arranjo de componentes executáveis em nós de execução. </li></ul><ul><ul><li>Permite avaliar conseqüências da distribuição e alocação de recursos. </li></ul></ul><ul><ul><li>São apresentados em dois níveis: </li></ul></ul><ul><ul><ul><li>Descritivo (geral); </li></ul></ul></ul><ul><ul><ul><li>De instância (específico). </li></ul></ul></ul><ul><ul><li>Nó </li></ul></ul><ul><ul><ul><li>Recurso computacional (tempo de execução) </li></ul></ul></ul><ul><ul><ul><ul><li>Computadores, memória, dispositivos periféricos. </li></ul></ul></ul></ul>
  32. 32. Diagrama de Implantação <ul><li>Nível descritivo (geral) </li></ul><ul><ul><li>Descreve os elementos contidos em cada nó. </li></ul></ul><ul><ul><li>Especifica as dependências entre elementos (possivelmente em nós distintos). </li></ul></ul><ul><ul><li>Padrão de comunicação entre nós. </li></ul></ul>
  33. 33. Diagrama de Implantação nó dependência comunicação
  34. 34. Diagrama de Implantação <ul><li>De Instância (específico) </li></ul><ul><ul><li>Apresenta instâncias de nós, e comunicação efetiva entre eles. </li></ul></ul><ul><ul><li>Apresenta os nós para uma versão/configuração especifica do sistema. </li></ul></ul>Nó Comunicação

×