Escolar Documentos
Profissional Documentos
Cultura Documentos
O Papel do
Arquiteto de Software
Prof. Me. Peter Jandl Junior
ADS | CC | SI | UniAnchieta
+ Objetivos & Justificativa
Arquitetura de Software
Estilos de Arquiteturas de
Software
Descrição de Arquiteturas
Papel do Arquiteto de
Roteiro
Software
Arquitetura de Software e os
currículos de Bacharelado e
Tecnologia
Considerações Finais
Objetivo: Desenvolvimento
Profissional de Software
Software complexo,
profissional, de qualidade,
não pode ser desenvolvido
informalmente, como
artesanato.
Engenharia de software é
disciplina essencial para
estudar e dirigir o processo
completo de desenvolvimento
de software.
Justificativa
Necessidade de Processos Formais de
Desenvolvimento de Software
Sistemas de Software desejados são cada vez
maiores e mais complexos.
Processos de Software
Processo unificado de desenvolvimento de software
em relação do ciclo de vida de produto
Processos de Software
Desenvolvimento incremental
Concepção do
Sistema
Desenvolvimento Validação do
de Incremento Incremento
Processos de Software
Processo genérico
Especificação
de Requisitos
Projeto de
Projeto de Especificação Projeto de Projeto de Projeto de
Estrutura de
Arquitetura Abstrata Interface Componente Algoritmo
Dados
Especif. de
Arquitetura Especif. de Especif. de Especif. de Especif. de
Estrutura de
de Sistema Software Interface Componente Algoritmo
Dados
Elementos Arquiteturais
As arquiteturas de software envolvem elementos
computacionais em sua definição.
São elementos arquiteturais de um sistema de
software:
bancos de dados
bibliotecas de software
clientes
componentes de software
filtros
módulos
servidores
Arquitetura de Software::AS
Existem conceituações diferentes da AS e do seu
papel.
A arquitetura de um software define em termos
computacionais quais são seus elementos
arquiteturais e como ocorre a interação entre eles
[FIELDING, 2000].
Arquitetura de Software::AS
Existem conceituações diferentes da AS e do seu
papel.
Existem diversos elementos arquiteturais, cujas
interações podem ocorrer através de chamadas de
procedimentos, acesso a variáveis, uso de
protocolos para acesso a clientes e servidores,
bancos de dados e outros eventos quaisquer
[GARLAN, 2000].
Arquitetura de Software::AS
Arquitetura de Software::AS
Esquema "4 + 1" do processo unificado.
Arquitetura de Software::AS
Esquema "4 + 1" do processo unificado.
Arquitetura de Software::AS
É influenciada por fatores determinados pela
implementação.
Arquitetura dos computadores
Linguagem de Programação
Bibliotecas/Frameworks
Sistemas Operacionais
Protocolos de Rede
ESTILO PADRÃO
Coleção de decisões Conjunto de decisões
de arquitetura restritas de arquitetura que são
que são aplicadas em aplicáveis em
um contexto problemas recorrentes
determinado e,
portanto, específicas de projeto
para um software
igualmente
determinado.
Termo mais comum.
AS Orientada a Objetos
AS Organizada em Camadas
A comunicação só pode
envolver camadas vizinhas
imediatas.
AS Pipe-Filter
Composta de pipes (conectores) e filters (filtros).
AS Broker
AS Model-View-Control
Control determina o
comportamento (semântica)
da aplicação gerenciando
interação com usuário.
AS Orientada a Serviços
Decomposição das
funcionalidades da
aplicação em serviços
simples, isolados por meio
de interfaces bem definidas.
Um barramento de serviços
conecta os serviços e
disponibiliza interfaces e
contratos por meio de web
services.
Descrição de
Arquiteturas de Software
Podem empregar
Architecture Description
Languages (ADL).
Descrição de
Arquiteturas de Software
Uma ADL deve permitir a expressão de
características estruturais e comportamentais dos
sistemas.
Linguagens de Descrição de
Arquiteturas de Software
ACME (Architectural Description Koala (Consumer electronics domain-
Language - Carnegie Mellon University) specific design)
Rapide
ADLARS
Exemplo ADL::
Modelo AADL
Exemplo ADL::
Modelo Darwin
Exemplo ADL::
Modelo xADL/ArchStudio
Considerações Finais
Sobre as Arquiteturas de Software
Considerações Finais
Sobre as Arquiteturas de Software
Considerações Finais
Sobre os Arquitetos de Software
Prof. Me.
Peter Jandl Jr
Coordenador Graduação
ADS, CC e SI
UniAnchieta, Jundiaí.
Coordenador Pós-Graduação
TACS e TDS
SENAC, Sorocaba.
Docente ADS
FATEC, Jundiaí.
Referências Bibliográficas
BRAUDE, E. Projeto de software: da programação à arquitetura: uma
abordagem baseada em Java. Porto Alegre: Bookman, 2005. 619 p.
KRUCHTEN, P., 1995, The 4+1 View Model of Architecture, IEEE Software, v.
12, n. 6 (November), pp. 42-50.
Referências Bibliográficas
RICHARDS, M. Software Architecture Patterns. Sebastopol: O'Reilly, 2015.
Internet:
http://www.sei.cmu.edu/architecture/
http://www.theenterprisearchitect.eu/blog/2008/01/16/mda-model-driven-
architecture-basic-concepts/
http://www.omg.org/mda/
http://www.oracle.com/bea/index.html
http://ftacademy.org/