Você está na página 1de 39

Arquitetura de Software

Aula 2: Arquitetura de Software

Prof. Dr. Diego R. Antunes


drantunes@gmail.com

Departamento de Computação
Universidade Tecnológica Federal do Paraná
Modelos
Uso de Modelagem na Solução de Problemas
Modelos

• Abstraem detalhes;

• Representam conceitos;

• Possuem informação útil para vários usuários;

• São fáceis de compreender;


Projeto de Software
Arquitetura de Software é uma forma de modelagem
Processo de Desenvolvimento
Arquitetura de Software

Devido a complexidade, o risco de se construir um sistema que não


alcance seus objetivos é eminente.

Para evitar tal risco, a prática comum


de qualquer engenharia para se
construir um artefato complexo é
construí-lo de acordo com um plano.

Projetar o sistema antes de construí-lo!


Exemplo
Exemplo
Arquitetura de Software?
Conceitos sobre Arquitetura
Arquitetura de Software?

• É a estrutura(s) do sistema que abrange os componentes de software,


as propriedades externamente visíveis desses componentes e as
relações entre elas.

• Organização geral do software e aos modos pelos quais disponibiliza


integridade conceitual para um sistema.
Consistem de técnicas utilizadas para projetar a forma como o
sistema deve se comportar em relação a certos requisitos:
desempenho, segurança, velocidade, disponibilidade, entre outros.
Arquitetura de Software?
Arquitetura de Software?
Impactos
Em relação ao Processo e ao Software
Vantagens

• Possibilita a validação e a cobertura dos requisitos;

• Possibilita considerar cenários distintos de arquitetura em fase inicial;

• Reduzir riscos na construção do software;

• Reduzir custos, tempo e falhas;


Questões analisadas

• Qual a disponibilidade necessária?

• E a escalabilidade do sistema? É necessária? Como?

• O desempenho é importante?

• E a manutenção? Como fazer o deploy do sistema?

• Segurança?
Exemplos:

• ENEM e Vestibular;

• Bancos e Sistemas Financeiros;

• Portal de Notícias e Rede Social;

• Sistema baseado em Módulos;

• Whatsapp e Chats;
Conceitos
Em relação a Arquitetura
Abstração
Refinamento
Separação de Interesses
Modularidade
Encapsulamento
Estilos e Gêneros
Em relação a Arquitetura de Software
Arquitetura em Repositório
Arquitetura Cliente-Servidor
Arquitetura em Camadas
Pipelining
Microservices
Serviços (APIs)
Contextos da
Arquitetura de Software
Contextos ou Visões:

• Objetivo do Sistema. Exemplos: API, Servidor, Fluxo de Ações;

• Componentes do Sistema: Exemplos: Banco de Dados,


Armazenamento;

• Código-fonte: Exemplos: Sistema modular, Uso de Padrões de Projeto...


Exemplos

Você também pode gostar