Escolar Documentos
Profissional Documentos
Cultura Documentos
Atividades de Projeto
Projeto Geral ou Preliminar: fase que traduz a especificao
do sistema em termos da arquitetura de dados e de mdulos.
Descreve a organizao fundamental do sistema,
identificando seus diversos mdulos (e sua
relaes entre si e com o ambiente) para que se
alcancem os objetivos propostos pelo cliente
Projeto da arquitetura do software.
Projeto Detalhado: descrio detalhada/ refinamento de cada
mdulo, visando codificao e especificao dos programas
Projeto da Arquitetura de
Software
Arranjo do sistema para fazer corresponder
os requisitos tanto funcionais quanto no
funcionais - aos subsistemas e
componentes.
Arquitetura
Toda obra da humanidade
apresenta um projeto
arquitetural.
O projeto arquitetural precede
a etapa de construo da obra.
O projeto arquitetural
determina as partes de uma
construo e como estas devem
interagir.
A arquitetura garante a
unidade da obra, ou seja, a
consistncia entre as suas
partes.
Arquitetura de Software
O termo arquitetura de software usado para
designar processo e produto.
Produto representao da estrutura de software
rea da engenharia de software que trata de
produzir as estruturas de software, visando a
reduzir complexidade.
O Processo de Arquitetura de
Software
Elaborao do modelo de negcio envolve analisar
custo, tempo de desenvolvimento, restries de mercado,
interfaces com outros sistemas, etc
Entendimento dos requisitos: levantamento de requisitos
e modelo do domnio
Criao ou seleo de uma arquitetura: identificao dos
componentes e suas interaes, das dependncias de
construo e tecnologias que apoiam a implementao.
O Processo de Arquitetura de
Software
Representao da arquitetura e divulgao: para
permitir aos desenvolvedores e testadores o
entendimento da arquitetura
Implementao da arquitetura, seguindo seus
protocolos e estruturas.
Anlise e avaliao: verificar a adequao da
arquitetura, registrando impactos, riscos e
dificuldades, o que servir para evoluao da
arquitetura.
O Processo de Arquitetura de
Software - Stakeholders
Participantes (interessados)
- Analista de requisitos identifica os requisitos
- Arquiteto de software cria a arquitetura - pode ser
um time com um arquiteto lder.
- Projetista ou Desenvolvedor implementa os
componentes
Outros: cliente/usurio, testador, gerente de projeto,
programador, secretrios, etc.
O Arquiteto de Software
ser capaz de reconhecer estruturas comuns em
sistemas j desenvolvidos
usar o conhecimento sobre arquiteturas existentes
para tomar decises de projeto em novos sistemas
ser capaz de realizar uma descrio formal da
arquitetura de um sistema a fim de analisar as
propriedades do sistema
apresentar a arquitetura para outras pessoas
O Arquiteto de Software
Habilidades:
compreender profundamente o domnio e as
tecnologias pertinentes
dominar tcnicas de modelagem e metodologias
de desenvolvimento
entender as estratgias de negcios da instituio
onde atua
conhecer produtos, processos e estratgias de
concorrentes
O Arquiteto de Software
Tarefas:
Especificao da arquitetura do software e das
bases para o sistema de acordo com os requisitos
do cliente.
modelagem
anlise de trade-offs e viabilidade
prototipao, simulao e realizao de
experimentos
anlise de tendncias tecnolgicas
atuao como mentor de arquitetos novatos
Importncia da Arquitetura
Como construir uma casa sem a planta?
- Atua como uma estrutura a fim de checar o atendimento aos
requisitos do sistema
- Suporte na estimao de custos e gerncia da complexidade
do sistema
- Suporte ao reso
- Reduz o intervalo entre especificao e implementao
- Permite considerar alternativas arquitetnicas em estgios
iniciais do desenvolvimento
- Reduz riscos associados construo do software
Importncia da Arquitetura
- A arquitetura abstrao que serve como
base para criar um entendimento mtuo, para
comunicao entre os participantes.
- Sua representao serve como guia para o
projeto de sua implementao, teste e
implantao do sistema.
A Definio da Arquitetura
Para o arquiteto, a fase de engenharia de
requisitos subsdio para a definio da
arquitetura da qual se obtm:
- processo de negcio modelado
- planejamento estratgico das verses
- requisitos de cada verso, etc.
A Definio da Arquitetura
- Deve facilitar reso em diferentes nveis.
necessrio que o sistema possa sofrer alteraes de
forma localizada, sem afetar outras partes.
necessrio que novas funcionalidades sejam
adicionadas sem causar impacto nas j existentes.
A vida til do sistema depende de uma boa
arquitetura que facilite modificaes, e permita sua
evoluo.
A Definio da Arquitetura
A definio est baseada na escolha de
alternativas mais adequadas ao domnio da
aplicao.
importante reutilizar e adotar estratgias
previamente validadas.
Utilizam-se frameworks, estilos, padres e
linguagens de descrio de componentes,
previamente definidos.
Conceito de Padro
-
Histrico
Arquiteto ->Christopher Alexander.
Linguagem de padres em arquitetura.
Christopher Alexander --> catlogo com 253
padres para edificaes ligadas a regies,
cidades, transportes, casas, escritrios, paredes,
jardins, etc.
Definio
Padres em ES
padres em ES permitem que desenvolvedores
possam recorrer a solues j existentes para
solucionar problemas que normalmente ocorrem em
desenvolvimento de software;
Surgimento: incio dos anos 90;
Padres capturam experincia existente e comprovada
em desenvolvimento de software, ajudando a
promover boa prtica de projeto.
Categorias de Padres
Padres Arquiteturais: expressam
um esquema de organizao estrutural
fundamental para sistemas de software.
(BUSCHMANN et al., 1996)
{
ServerSocket server;
Socket connection;
try { connection =
server = new ServerSocket(7000,
100);
.........
server.accept();
.......................
Padres de arquiteturas
Os templates contm as seguintes informaes:
Nome do padro
Contexto
Problema
Impe a descrio de vrios aspectos
problemticos que devem ser considerados
Soluo
Fundamentos
Contexto resultante
Exemplos
Nome do
Padro
Broker
Contexto
Ambiente distribuido
Problema
Como os componentes do sistema devem se comunicar entre si.
Soluo
Crie um intermediri entre um componente-cliente e um componente servidor,
o broker. Um cilente envia uma mensaem parao Broker contendo todas as
informaes apropriads para que a comunicao seja efetuada. O Broker
responsvel por completar a conexo
Vantagens e Benefcios
Padres reduzem a complexidade
da soluo
Padres promovem o reso
Padres facilitam a gerao de
alternativas
Padres facilitam a comunicao
Estilos de Arquitetura
Uma arquitetura de software, ou somente uma viso de
arquitetura, pode ter um atributo chamado estilo de
arquitetura, que reduz o conjunto de formulrios que
podem ser escolhidos e impe um determinado grau de
uniformidade arquitetura.
O estilo pode ser definido por um conjunto de padres,
ou pela escolha de componentes ou conectores
especficos que funcionaro como os tijolos bsicos da
construo.
Estilos de Arquitetura
Estilos Arquiteturais
Exemplos de Estilos
Arquiteturais
Cliente-Servidor
Camadas
Filtros e dutos (pipes and filters)
Repositrio
Orientado a eventos (publisher/subscriber)
Objetos distribudos, etc
Organizao de sistema
Reflete a estratgia bsica que usada para
estruturar um sistema.
Exemplos:
Modelo de referncia da
Arquitetura
Consiste na decomposio padronizada do
problema em partes conhecidas que cooperam
entre si em prol de uma soluo.
Geralmente, estes problemas so de domnio
bastante amadurecido e trazem a experincia de
analistas de negcio em conjunto com
desenvolvedores [Bass98].
O modelo de referncia de um determinado
domnio surge durante o processo de
amadurecimento da soluo em funo da
necessidade de representaes mais abstratas que
caracterizam o domnio.
Arquitetura de Referncia
Arquiteturas de Referncia
Exs.
Frameworks de Arquitetura
Um framework de arquitetura ou uma infraestrutura de arquitetura um conjunto de
componentes com os quais pode-se criar um
determinado tipo de arquitetura.
Vrias das maiores dificuldades arquiteturais devem ser
resolvidas no framework ou na infra-estrutura,
geralmente, direcionadas a um domnio especfico:
comando e controle, sistema de controle, etc.
Estilos de
arquitetura
Padres de
arquitetura
Arquitetura
de
Referncia
Arquitetura
de software
Arquitetura
do sistema