Modelagem Arquitetural e Visão 4+1

14,209 views

Published on

Introdução à modelagem arquitetural com múltiplas visões e UML.

Published in: Technology

Modelagem Arquitetural e Visão 4+1

  1. 1. Modelagem Arquitetural e a Visão 4+1 Adriano de Pinho Tavares Janeiro 2009 – Circuito IGTI de Palestras Corporativas
  2. 2. Modelagem Arquitetural Sobre o palestrante
  3. 3. Modelagem Arquitetural e a Visão 4+1
  4. 4. Introdução à Modelagem Arquitetural Modelos são Simplificações <ul><li>Um modelo é uma simplificação da realidade. </li></ul>
  5. 5. Introdução à Modelagem Arquitetural Modelagem – Para quê <ul><li>Objetivos da modelagem: </li></ul><ul><ul><li>Compreensão de sistemas complexos. </li></ul></ul><ul><ul><li>Explorar e comparar as alternativas de desenho a um baixo custo. </li></ul></ul><ul><ul><li>Formar a fundação para implementação. </li></ul></ul><ul><ul><li>Capturar requisitos com precisão. </li></ul></ul><ul><ul><li>Comunicar decisões sem ambigüidade. </li></ul></ul>
  6. 6. Introdução à Modelagem Arquitetural Modelagem – Vantagens <ul><li>Vantagens da Modelagem: </li></ul><ul><ul><li>Prover a estrutura para a solução de problemas. </li></ul></ul><ul><ul><li>Experimentação de múltiplas soluções. </li></ul></ul><ul><ul><li>Produzir abstrações para tratar complexidade. </li></ul></ul><ul><ul><li>Reduzir o tempo do projeto. </li></ul></ul><ul><ul><li>Diminuir custos de desenvolvimento. </li></ul></ul><ul><ul><li>Controlar riscos de erros. </li></ul></ul>
  7. 7. Introdução à Modelagem Arquitetural Modelagem – Princípios <ul><li>Os quatro princípios da modelagem: </li></ul><ul><ul><li>Escolha o modelo mais adequado </li></ul></ul><ul><ul><li>Use níveis diferentes de precisão. </li></ul></ul><ul><ul><li>Procure conectar o modelo à realidade. </li></ul></ul><ul><ul><li>Nenhum modelo único é suficiente. </li></ul></ul>
  8. 8. Introdução à Modelagem Arquitetural Modelagem e a UML <ul><li>Combina conceitos de várias metodologias </li></ul><ul><li>Abrangente – Modelagem de negócios, Requisitos, Análise, Desenho, Implementação, Testes, Implantação. </li></ul><ul><li>Aplicável a qualquer domínio. </li></ul><ul><li>Independente de linguagem, plataforma ou processo. </li></ul><ul><li>Suportada por várias ferramentas. </li></ul>
  9. 9. Introdução à Modelagem Arquitetural UML 2 - Objetivos <ul><li>Linguagem consistente para: </li></ul><ul><ul><li>Visualização. </li></ul></ul><ul><ul><li>Especificação. </li></ul></ul><ul><ul><li>Construção. </li></ul></ul><ul><ul><li>Documentação. </li></ul></ul>
  10. 10. Introdução à Modelagem Arquitetural UML 2 - Objetivos
  11. 11. Introdução à Modelagem Arquitetural UML – Principais Diagramas
  12. 12. Introdução à Modelagem Arquitetural UML – Principais Elementos <ul><li>Semântica dos modelos (UML2 e MOF). </li></ul><ul><li>Linguagem de interoperabilidade chamada XMI. </li></ul><ul><li>Linguagem de queries chamada OCL. </li></ul><ul><li>Linguagem de transformações chamada QVT. </li></ul>
  13. 13. Introdução à Modelagem Arquitetural Arquiteturas de Softwares <ul><li>A arquitetura de um sistema de software é a organização ou a estrutura dos componentes significativos do sistema que interagem por meio de interfaces, com elementos constituídos de componentes e interfaces sucessivamente menores. </li></ul>
  14. 14. Introdução à Modelagem Arquitetural Conceitos errados
  15. 15. Introdução à Modelagem Arquitetural Modelagem Arquitetural <ul><li>Tipos de Projeto de sistemas de software </li></ul><ul><ul><li>Dirigidos por Calendário. </li></ul></ul><ul><ul><ul><li>Atendimento urgente a uma norma regulatória. </li></ul></ul></ul><ul><ul><li>Dirigidos por Qualidade. </li></ul></ul><ul><ul><ul><li>Sistemas que lidam com vidas humanas. </li></ul></ul></ul><ul><ul><li>Dirigidos por Requisitos. </li></ul></ul><ul><ul><ul><li>Sistemas com foco apenas na visão do usuário. </li></ul></ul></ul><ul><ul><li>Dirigidos por Documentação. </li></ul></ul><ul><ul><ul><li>Necessidades fortíssimas de sub-contratação e/ou gestão da informação. </li></ul></ul></ul><ul><ul><li>Dirigidos por Arquiteturas. </li></ul></ul><ul><ul><ul><li>Equilíbrio de fatores. </li></ul></ul></ul>
  16. 16. Introdução à Modelagem Arquitetural Visão 4+1 <ul><li>A visão 4+1 para desenho técnico de sistemas. </li></ul><ul><li>Baseado nos princípios de: </li></ul><ul><ul><li>Modelo. </li></ul></ul><ul><ul><li>Visão. </li></ul></ul><ul><ul><li>Preocupação. </li></ul></ul><ul><ul><li>Envolvidos. </li></ul></ul>
  17. 17. Introdução à Modelagem Arquitetural Visão 4+1 Visão de implementação Desenvolvedores Gerência de configuração Visão de processos Desempenho Escalabilidade Vasão (Throughput ) Integradores de sistemas Visão de implantação Topologia do sistema Comunicação Provisionamento Analistas de suporte Visão Lógica Funcionalidade Usuários finais ◄ lógico físico► Visão de casos de uso
  18. 18. Introdução à Modelagem Arquitetural Visão de Casos de Uso
  19. 19. Introdução à Modelagem Arquitetural Visão Lógica
  20. 20. Introdução à Modelagem Arquitetural Visão de Implementação <ul><li>Usada para capturar os sub-sistemas em um modelo de implementação, normalmente representada como um diagrama de componentes. </li></ul><ul><li>Expressa a gestão da configuração. </li></ul>Agenda.INI Agenda.HLP Agenda.DLL Agenda.EXE
  21. 21. Introdução à Modelagem Arquitetural Visão de Implantação
  22. 22. Introdução à Modelagem Arquitetural Visão de Processos
  23. 23. Introdução à Modelagem Arquitetural Visão 4+1 - O que usar <ul><li>Nem todos os sistemas precisam de todas as visões: </li></ul><ul><ul><li>Sistema pequeno (ignore a visão de implementação). </li></ul></ul><ul><ul><li>Processador único (ignore a visão de implantação). </li></ul></ul><ul><ul><li>Processo único (ignore a visão de processos). </li></ul></ul><ul><li>Alguns sistemas precisam de visões adicionais: </li></ul><ul><ul><li>Visão de dados. </li></ul></ul><ul><ul><li>Visão de segurança. </li></ul></ul><ul><ul><li>Outros aspectos. </li></ul></ul>
  24. 24. Introdução à Modelagem Arquitetural Modelagem da Visão Lógica <ul><li>Diagrama primário - Diagrama de classificadores estáticos (pacotes e classes). </li></ul><ul><li>A visão da arquitetura do sistema que compreende o vocabulário do espaço do problema e da solução, as colaborações, que realizam os casos de uso do sistema, os subsistemas que determinam a decomposição do sistema em camadas, e as interfaces que são expostas pelos subsistemas e o pelo sistema como um todo. </li></ul>
  25. 25. Introdução à Modelagem Arquitetural Modelagem da Visão Lógica <ul><li>Pacotes: </li></ul><ul><ul><li>Mecanismo de propósito geral da UML para organização de elementos de modelos em grupos. </li></ul></ul>
  26. 26. Introdução à Modelagem Arquitetural Modelagem da Visão Lógica <ul><li>Exemplos: </li></ul>
  27. 27. Introdução à Modelagem Arquitetural Modelagem da Visão Lógica <ul><li>Arquitetura de referência: </li></ul><ul><ul><li>Representa principais abstrações da tecnologia, e serve como um template para que o código possa ser implementado. </li></ul></ul><ul><ul><li>Expressa como um diagrama de classes. </li></ul></ul><ul><ul><li>Um diagrama de classes de uma arquitetura de referência usa estereótipos e muitas vezes padrões de desenho para a sua representação. </li></ul></ul>
  28. 28. Introdução à Modelagem Arquitetural Modelagem da Visão Lógica <ul><li>Arquitetura de referência - Exemplos: (1/7) </li></ul>
  29. 29. Introdução à Modelagem Arquitetural Modelagem da Visão Lógica <ul><li>Arquitetura de referência - Exemplos: (2/7) </li></ul>
  30. 30. Introdução à Modelagem Arquitetural Modelagem da Visão Lógica <ul><li>Arquitetura de referência - Exemplos: (3/7) </li></ul>
  31. 31. Introdução à Modelagem Arquitetural Modelagem da Visão Lógica <ul><li>Arquitetura de referência - Exemplos: (4/7) </li></ul>
  32. 32. Introdução à Modelagem Arquitetural Modelagem da Visão Lógica <ul><li>Arquitetura de referência - Exemplos: (5/7) </li></ul>
  33. 33. Introdução à Modelagem Arquitetural Modelagem da Visão Lógica <ul><li>Arquitetura de referência - Exemplos: (6/7) </li></ul>
  34. 34. Introdução à Modelagem Arquitetural Modelagem da Visão Lógica <ul><li>Arquitetura de referência - Exemplos: (7/7) </li></ul>
  35. 35. Introdução à Modelagem Arquitetural Modelagem da Visão de Implementação <ul><li>Diagrama primário - Diagrama de componentes. </li></ul><ul><li>Um diagrama de componentes é usado para mostrar as dependências de compilação e construção bem como de tempo de execução. </li></ul>
  36. 36. Introdução à Modelagem Arquitetural Modelagem da Visão de Implementação <ul><li>UML 1.x </li></ul><ul><li>UML 2.x </li></ul>
  37. 37. Introdução à Modelagem Arquitetural Modelagem da Visão de Implementação <ul><li>Exemplo: </li></ul>
  38. 38. Introdução à Modelagem Arquitetural Modelagem da Visão de Implantação <ul><li>Diagrama primário - Diagrama de implantação. </li></ul><ul><li>Um diagrama de implantação mostra a configuração dos processadores (nodos) em tempo de execução, os links de comunicação entre eles e as instâncias dos componentes e objetos que residem neles. </li></ul>
  39. 39. Introdução à Modelagem Arquitetural Modelagem da Visão de Implantação
  40. 40. Introdução à Modelagem Arquitetural Modelagem da Visão de Implantação <ul><li>Exemplo: </li></ul>
  41. 41. Introdução à Modelagem Arquitetural Modelagem da Visão de Implantação <ul><li>Exemplo: </li></ul>
  42. 42. Introdução à Modelagem Arquitetural Dicas (1/2) <ul><li>Arquiteturas devem capturar abstrações. </li></ul><ul><li>Bom uso de hierarquias de classes. </li></ul><ul><li>Decomposição baseada em pacotes. </li></ul><ul><li>Uso de colaborações. </li></ul>
  43. 43. Introdução à Modelagem Arquitetural Dicas (2/2) <ul><li>Uso de mecanismos arquiteturais. </li></ul><ul><li>Uso de decisões estratégicas vs decisões táticas. </li></ul><ul><li>Simplicidade. </li></ul>
  44. 44. Introdução à Modelagem Arquitetural Formalização do Modelo <ul><li>Use templates estabelecidos para fazer a modelagem arquitetural. </li></ul><ul><li>Um bom exemplo é o template de Documento de Arquitetura de Software (DAS) do RUP. </li></ul><ul><li>Use este modelo para derivar o seu documento para uso em sistemas do mundo real. </li></ul><ul><li>O DAS é contruído durante as fases de concepção e elaboração e mantido durante todo o restante do projeto pelo arquiteto de software. </li></ul>
  45. 45. Introdução à Modelagem Arquitetural Conclusões <ul><li>A modelagem arquitetural captura as principais decisões estratégicas de um sistema. </li></ul><ul><li>A UML2 fornece diversos diagramas para a modelagem arquitetural. </li></ul><ul><li>A visão 4+1 é uma boa abstração para a representação de diversas visões. </li></ul><ul><li>Visão 4+1 deve ser complementada com tópicos mais avançados como mecanismos de arquitetura e padrões. </li></ul>
  46. 46. Para saber mais... <ul><li>The 4+1 View Model of Architecture </li></ul><ul><ul><li>http://www.ibm.com/developerworks/wireless/library/wi-arch11/ </li></ul></ul><ul><li>PANGEA </li></ul><ul><ul><li>Pangea é uma rede formada por profissionais e acadêmicos interessados no crescimento e evolução da arquitetura de software. </li></ul></ul><ul><ul><li>http://pangeanet.org </li></ul></ul>
  47. 47. Capacitação IGTI <ul><ul><li>http://www.institutogti.com.br </li></ul></ul>

×