1 / 17

Arquiteturas de Referência

Arquiteturas de Referência. Definições – IEEE 1471/ISO/IEC 42010:2007. Visão: representação de um software (ou parte) a partir de uma perspectiva particular. coleção de modelos representando a arquitetura do software. Alguns modelos de arquitetura em múltiplas visões. Kruchten 4+1

meagan
Download Presentation

Arquiteturas de Referência

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquiteturas de Referência

  2. Definições – IEEE 1471/ISO/IEC 42010:2007 • Visão: • representação de um software (ou parte) a partir de uma perspectiva particular. • coleção de modelos representando a arquitetura do software.

  3. Alguns modelos de arquitetura em múltiplas visões • Kruchten 4+1 • IEEE 1471 • Siemens (Sonietal)

  4. LogicalView • Relativo principalmente aos requisitos funcionais (o que o software deve fazer). • Identificação dos principais pacotes, subsistemas e classes • Diagramsmais comuns: • UML Class, Package andSequencediagrams. • ER diagrams

  5. ProcessView • Um processo é um grupo de tarefas. • A comunicação entre tarefas ocorre de várias formas: síncrona, assíncrona, broadcast, ... • A visão de processos preocupa-se com tópicos como: • concorrência e distribuição, • integridade do software, • tolerância a falhas, • Como abstrações da visão lógica operam na visão de processos da arquitetura.

  6. ProcessView • Principaisestilos: client/server, pipes and filters, publish-subscribe middleware. • Essa visão mostra onde e como classes/elementos definidos na visão lógica são usados. • Notações usadas: Sequencediagrams, Activitydiagrams, Classdiagrams (focusonactive classes), Components

  7. Implementation/Developmentview • Organização de módulos do software (código, arquivos de dados, componentes, executáveis, bibliotecas,...) • Principais elementos: módulos, subsistemas, camadas. • Normalmente o estilo é em camadas • A visão de desenvolvimento considera requisitos como facilidade de desenvolvimento, e restrições do ambiente de desenvolvimento e da linguagem

  8. Implementation/Developmentview • A visão de desenvolvimento é a base para: • alocação de requisitos e de trabalho entre equipes • Avaliação de custos • Monitoração do projeto • Reuso, portabilidade e segurança.

  9. Physical/DeploymentView • Elementos identificados: redes, processadores, tarefas, objetos, e o mapeados em vários nós. • Várias configurações físicas diferentes podem ser usadas: algumas para desenvolvimento e testes, outras para a implantação do software em diferentes locais/clientes. • Mostra como os vários executáveis e componentes são mapeados para plataformas e nós físicos • Mostra distribuição física de elementos do sistema • Notações: proprietária, pacotes, nós, UML deploymentdiagram

  10. Scenario/Use Case View • Mostra como os elementos das 4 visões trabalham juntos. • Notações: • Use Cases • Linguagem natural • Pode-se especificar os use-cases com diagramas UML (Sequência, Atividades) • Principais objetivos: • Direção para descobrir os elementos da arquitetura • Validação e ilustração da arquitetura do software • Ponto de partida para desenvolvimento e testes

  11. ANSI-IEEE 1471-2000/ ISO/IEC 42010:20Systems and Software Engineering -- Recommended practice for architectural description of software-intensive systems07

  12. Análise do Framework • Um sistema existe em um ambiente (contexto). O ambiente do sistema pode influenciar o sistema. • O ambiente determina as circunstâncias de desenvolvimento, operacionais, e políticas. • O ambiente determina os limites que definem o escopo do sistema em relação a outros sistemas. • Um sistema possui um ou mais stakeholders. Cada stakeholder tipicamente possui interesses (concerns) no sistema. • Um sistema existe para realizar uma ou mais missões. • Todo sistema possui uma arquitetura. • Uma arquitetura (conceito) é estabelecida por uma descrição de arquitetura (produtos concretos).

  13. Exemplo

  14. Quantas visões? • Nem todo software precisa de todas as 5 visões do 4+1 • Nem todo software precisa de várias visões • Ex. • Um único processador → não precisa da visão de deployment • Um único processo → não precisa da visão de processos

  15. Siemens • Diferentes estruturas são usadas em diferentes fases do processo de desenvolvimento. • A arquitetura conceitual descreve o sistema em termos dos principais elementos de design e suas relações • A arquitetura de interconexão de módulos é composta por duas estruturas ortogonais: decomposição funcional e camadas. • A arquitetura de execução descreve a estrutura dinâmica de um sistema. • A arquitetura de código descreve as bibliotecas e o código fonte organizados no ambiente de desenvolvimento.

More Related