O documento discute conceitos básicos de arquitetura de software, incluindo definições de arquitetura, tipos de visões arquiteturais e padrões comuns. Também aborda processos para projetar uma arquitetura, como Attribute-Driven Design (ADD) e a importância de considerar atributos de qualidade.
3. O que é arquitetura?
Processo
de
Controle
Modelo
de Perda
de Oxig.
Modelo
de
Reverb.
Modelo
de Ruído
4. O que NÃO é arquitetura?
• Novos “padrões” criados por empresas que
utilizam seus produtos e ferramentas.
• O framework ou tecnologia da moda.
• Linguagens de programação, bibliotecas
consagradas.
• Frameworks altamente configuráveis e já com
“tudo pronto”.
• Um documento ou uma apresentação.
• Um desenho de caixinhas e setinhas.
5. O que é arquitetura?
• Definição:
– A arquitetura de um programa ou sistema
computacional é a estrutura ou estruturas do
sistema que compreende os elementos de
software, seus elementos externos visíveis e as
relações entre elas. De “Software Architecture in
Practice, Second Edition”
6. O que é arquitetura?
• É uma abstração
• Parte visível e comportamento externo dos
elementos
• Várias representações
• Existe em qualquer programa
12. Alocação
• Deployment
– Processos e Threads
– Alocação em processadores
• Implementação
– Módulos
– Sistema de arquivos(diversos ambientes)
• Delegar trabalho
– Módulos
– Times de desenvolvimento
14. Modelo de visão arquitetural 4+1
• Kruchten, Philippe (1995,
November). Architectural Blueprints — The
“4+1” View Model of Software Architecture
• Popular
• RUP
18. Cenário Geral de Disponibilidade
• Fonte:
– Interna
– Externa
• Estímulo:
– Omissão
– Crash(Repetidas omissões)
– Timming
– Resposta incorreta
• Ambiente:
– Normal
– Degradado
– Operacional
• Artefato:
– Processo
– Armazenamento
– Processador
– Comunicação
• Resposta:
– Registrar
– Notificar
– Desabilitar
– Continuar
– Ficar indisponível
• Medida:
– Tempo de reparo
– Tempo de disponibilidade
19. Exemplo de Cenário de Disponibilidade
• Fonte: Externa
• Estímulo: Mensagem inesperada
• Ambiente: Operação normal
• Artefato: Processo
• Resposta: Informar operador e continuar a
operar
• Medida: Sem Downtime
20. Qualidade de Negócio
• Time to market
• Custo e benefício
• Tempo de vida projetado
• Mercado alvo
23. ADD - Attribute-Driven Design
• Entradas
– Requisitos funcionais e não-funcionais
– Casos de uso
– Restrições
• Isso tudo vira cenários de requisitos de
qualidade
24. Passos do ADD
1. Escolha um módulo para decompor
2. Refine o módulo
1. Escolha os direcionadores arquiteturais
2. Escolha um padrão arquitetural
3. Crie módulos e defina responsabilidades
4. Defina interfaces
5. Verifique e refine os cenários de qualidades e
casos de usos
3. Repita os passos para outro módulo