Arquitetura de Software:
Introdução
Universidade de São Paulo
Instituto de Ciências Matemáticas e de Computação
SSC-121 – Engenharia de Software I
Profa. Dra. Elisa Yumi Nakagawa
2º semestre de 2012
Conteúdo
 Introdução e Motivação
 Definições
 Eventos científicos
 Bibliografia
 Exercício
Introdução
 O que é arquitetura?
 Disposição das partes ou elementos de um edifício ou
espaço urbano. [Aurélio]
 A estrutura e organização lógica de funcionamento
de um sistema computacional. [Aurélio]
 Considerando essas definições, como desenvolver
sistemas mais complexos, sem pensar em sua
arquitetura??
 Como fica a qualidade desses sistemas sem
“cuidar” da arquitetura??
Introdução
 À medida que a complexidade e o tamanho dos
sistemas de software têm aumentado,engenheiros
de software têm lançado mão de princípios de
projeto, tais como a modularização e o
ocultamento da informação, de modo a obter
sistemas com maior qualidade e a um baixo custo.
 Para isso, o projeto da estrutura global do
software (arquitetura de software) é uma questão
que vem sendo considerada.
Introdução
 A arquitetura de software é dita como tendo
principal papel na determinação da qualidade e da
manutenibilidade do software.[Wasserman, 1996]
 Os atributos de qualidade dos sistemas de
software são estreitamente relacionados às suas
arquiteturas. [SEI, 2005]
 Atributos de qualidade: performance/desempenho,
confiabilidade, manutenibilidade, portabilidade,...
Definição: Arquitetura de software
 Há uma diversidade de definições de arquitetura
de software.
 Arquitetura de software: [Shaw, 1997]
 É definida como um conjunto de componentes
computacionais e os relacionamentos entre esses
componentes.
 Arquitetura de software:[SEI,2005; Garlan, 2000]
 Estrutura de componentes de um programa/sistema,
os relacionamentos entre esses componentes, os
princípios e diretrizes que governam os projetos e a
evolução dos softwares.
Definições: Instância arquitetural
 Instância arquitetural:
 Refere-se à arquitetura de um determinado sistema de
software.
Definições: Instância arquitetural
 Estilo arquitetural:
 Definem as restrições sobre a forma e a estrutura de
uma família de instâncias arquiteturais.
 Exemplos:
 Camadas (duas, três ou quatro camadas)
 Pipes and Filters
 Centrada na base de dados
 Cliente-Servidor
 Estilos resultantes da combinação de estilos arquiteturais.
Definições: Estilo arquitetural
 Estilo arquitetural:
 Permite que um profissional (projetista, arquiteto ou
engenheiro) determine a classe a qual pertence a
organização de um sistema.
 O que ajudam a identificar o estilo que retrataa
arquitetura de software do sistema?
 Características dos componentes (subsistemas) e conectores
do sistema
 Topologia da arquitetura
 Restrições semânticas
 Mecanismos de interação entre os componentes.
Definições: Estilo arquitetural
 Estilo arquitetural:
 O uso de estilos arquiteturais no desenvolvimento de
software facilita:
 a comunicação entre as pessoas envolvidasno
desenvolvimento
 o entendimento do projeto em desenvolvimento
Definições: Arquitetura de referência
 Alguns autores utilizam os termos estilos
arquiteturais e arquitetura de referência como
sinônimos.
 Contudo, arquitetura de referência é:
 Uma estrutura que provê uma caracterização das
funcionalidades dos sistemas de software de um dado
domínio de aplicação.
Definições: Arquitetura de referência
 Arquitetura de referência:
 Exemplos:
 ADAGE um arquitetura de referência para o apoio ao
desenvolvimento de sistemas de software no domínio de
controle de aviões (Batory et al., 1995),.
 Arquitetura de referência para sistemas de comércio eletrônico
(Bass et al., 2003).
 Arquitetura de referência para servidoresWWW.
 Arquitetura de referência para sistemas baseados em
componentes
 Arquitetura de referência para sistemas orientados a serviços
Definições: Arquitetura de referência
 Arquitetura de referência:
 Exemplos:
 AUTOSAR
 Para sistemas de veículos
 RefASSET
 Para ambientes de engenharia de software
 RefTEST
 Para ferramentas de teste de software
Definições: Arquitetura de referência
 Arquitetura de referência:
 Constituem um elemento fundamental para o
desenvolvimento de linhas de produto (do inglês,
product lines)
 Podem também ser consideradas como o primeiro e
essencial passo para o desenvolvimento de frameworks
de aplicação.
 Propor arquiteturas de referência para sistemas de um
dado domínio de aplicação não é uma tarefa trivial.
Definições: Arquitetura de software de
domínio específico
 Arquitetura de software de domínio específico
 Base estrutural para a interoperabilidade de
componentes dentro de um domínio.
 Pode dar apoio a uma abordagem de
desenvolvimento de domínio específico que
possibilite a configuração de componentes
reutilizáveis.
 Compreende um modelo de domínio, requisitos de
referência, uma arquitetura de referência, infra-
estrutura ou ambiente de apoio e um processo de
desenvolvimento.
Eventos Científicos
 Diversidade de eventos científicos:
 ECSA
 WICSA
 SEI Software Architecture Technology User Network
Workshop
 International Conference on the Quality of Software
Architectures
 Workshop on Architecture-Centric Evolution
 Workshop Infusing Software Architecture into Software
Engineering Curricula
 Refactoring of Software at Architectural Level IEEEWorkshop
Bibliografia
 KRUCHTEN, P.; OBBINK, H.; STAFFORD, J.
The past, present, and future for software
architecture. IEEE Software, v. 23, n. 2, p. 22–30,
2006.
 Site da SEI (Software Engineering Institute)
 Livros de Clemments e Bass

Mais conteúdo relacionado

PDF
Arquitetura 170821121615
ODP
Que diabos é arquitetura de software?
PDF
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
PDF
Arquitetura de Software
DOCX
Exercicios Analise e Desenvolvimento de projetos
PPT
3 C
PPT
Visão Geral Arquiteturade Software
PDF
Arquitetura de Software Visão Geral
Arquitetura 170821121615
Que diabos é arquitetura de software?
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
Arquitetura de Software
Exercicios Analise e Desenvolvimento de projetos
3 C
Visão Geral Arquiteturade Software
Arquitetura de Software Visão Geral

Semelhante a Aula15 arquitetura software_01_introducao-convertido (20)

PPT
Arquitetura de Software - Uma visão gerencial
PDF
Arquitetura, uma questão de "estilo"?
PPTX
Arquitetura de Software
PPT
Processo Unificado(RUP)
PDF
Engenharia de Software - Wikipedia
PPT
Arquitetura de Software
PPT
Arquitetura de software - Introdução
PDF
Software Architecture
PPT
Arquitetura de Sistemas e seus aspectos na TI
PDF
arctetura de software Aula2 Ponte entre os requisitos do sistema e sua implem...
PDF
Saam & arquiteturas_iu_halan
PPT
Diagrama de implantação
PPTX
ArquiteturaSoftware
PDF
Modelos de Referência-BIAN
PDF
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
ODP
Introdução à Engenharia de Software (parte II)
PDF
UM ESTUDO SOBRE SOA
PPT
Modelagem Arquitetural e Visão 4+1
PPTX
apresentação cloud aws introducaoCloudEngineer.pptx
Arquitetura de Software - Uma visão gerencial
Arquitetura, uma questão de "estilo"?
Arquitetura de Software
Processo Unificado(RUP)
Engenharia de Software - Wikipedia
Arquitetura de Software
Arquitetura de software - Introdução
Software Architecture
Arquitetura de Sistemas e seus aspectos na TI
arctetura de software Aula2 Ponte entre os requisitos do sistema e sua implem...
Saam & arquiteturas_iu_halan
Diagrama de implantação
ArquiteturaSoftware
Modelos de Referência-BIAN
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Introdução à Engenharia de Software (parte II)
UM ESTUDO SOBRE SOA
Modelagem Arquitetural e Visão 4+1
apresentação cloud aws introducaoCloudEngineer.pptx
Anúncio

Mais de Ana Claudia Annunciação (10)

PDF
Ia01 introducao (1)
PDF
Introducao redes
PPT
PPT
Introducao informatica
PPTX
Determinantes de ordem n e suas propriedades
PDF
22 11-2016- internet-das-coisas-e-cidades-inteligentes
PDF
Z br office writer-otimo
PDF
F ferrari ccechinel-introducao-a-algoritmos
Ia01 introducao (1)
Introducao redes
Introducao informatica
Determinantes de ordem n e suas propriedades
22 11-2016- internet-das-coisas-e-cidades-inteligentes
Z br office writer-otimo
F ferrari ccechinel-introducao-a-algoritmos
Anúncio

Último (10)

PDF
Pinealle - Aceleradora de Negócios em Canais Digitais
PPTX
AULA_12_BASQUETE CAPACIDADE FÍSICA_171023.pptx
PDF
PROJETO DE PESQUISA PRONTO FONOAUDIOLOGIA 2025 ABNT.pdf
PPT
Aula_15.pptssssssssssssssssssssssssssssssssssssss
PPTX
SLIDE 1 PARTE 2 Fund da Informatica .pptx
PPTX
Questionario-Fundamentos-de-Informatica-e-Design.pptx
DOCX
Cópia de ACOMPANHAMENTO PARA A RECOMPOSIÇÃO DA APRENDIZAGEM 8 ano História.docx
PPTX
SLIDE 1 PARTE 1 Fund da Informatica .pptx
PPTX
slide preparativo para lingua portuguesa
PPTX
organizaoefuncionamentodeunidadedeenfermagem-240414190344-a21272a1 (1).pptx
Pinealle - Aceleradora de Negócios em Canais Digitais
AULA_12_BASQUETE CAPACIDADE FÍSICA_171023.pptx
PROJETO DE PESQUISA PRONTO FONOAUDIOLOGIA 2025 ABNT.pdf
Aula_15.pptssssssssssssssssssssssssssssssssssssss
SLIDE 1 PARTE 2 Fund da Informatica .pptx
Questionario-Fundamentos-de-Informatica-e-Design.pptx
Cópia de ACOMPANHAMENTO PARA A RECOMPOSIÇÃO DA APRENDIZAGEM 8 ano História.docx
SLIDE 1 PARTE 1 Fund da Informatica .pptx
slide preparativo para lingua portuguesa
organizaoefuncionamentodeunidadedeenfermagem-240414190344-a21272a1 (1).pptx

Aula15 arquitetura software_01_introducao-convertido

  • 1. Arquitetura de Software: Introdução Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação SSC-121 – Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012
  • 2. Conteúdo  Introdução e Motivação  Definições  Eventos científicos  Bibliografia  Exercício
  • 3. Introdução  O que é arquitetura?  Disposição das partes ou elementos de um edifício ou espaço urbano. [Aurélio]  A estrutura e organização lógica de funcionamento de um sistema computacional. [Aurélio]  Considerando essas definições, como desenvolver sistemas mais complexos, sem pensar em sua arquitetura??  Como fica a qualidade desses sistemas sem “cuidar” da arquitetura??
  • 4. Introdução  À medida que a complexidade e o tamanho dos sistemas de software têm aumentado,engenheiros de software têm lançado mão de princípios de projeto, tais como a modularização e o ocultamento da informação, de modo a obter sistemas com maior qualidade e a um baixo custo.  Para isso, o projeto da estrutura global do software (arquitetura de software) é uma questão que vem sendo considerada.
  • 5. Introdução  A arquitetura de software é dita como tendo principal papel na determinação da qualidade e da manutenibilidade do software.[Wasserman, 1996]  Os atributos de qualidade dos sistemas de software são estreitamente relacionados às suas arquiteturas. [SEI, 2005]  Atributos de qualidade: performance/desempenho, confiabilidade, manutenibilidade, portabilidade,...
  • 6. Definição: Arquitetura de software  Há uma diversidade de definições de arquitetura de software.  Arquitetura de software: [Shaw, 1997]  É definida como um conjunto de componentes computacionais e os relacionamentos entre esses componentes.  Arquitetura de software:[SEI,2005; Garlan, 2000]  Estrutura de componentes de um programa/sistema, os relacionamentos entre esses componentes, os princípios e diretrizes que governam os projetos e a evolução dos softwares.
  • 7. Definições: Instância arquitetural  Instância arquitetural:  Refere-se à arquitetura de um determinado sistema de software.
  • 8. Definições: Instância arquitetural  Estilo arquitetural:  Definem as restrições sobre a forma e a estrutura de uma família de instâncias arquiteturais.  Exemplos:  Camadas (duas, três ou quatro camadas)  Pipes and Filters  Centrada na base de dados  Cliente-Servidor  Estilos resultantes da combinação de estilos arquiteturais.
  • 9. Definições: Estilo arquitetural  Estilo arquitetural:  Permite que um profissional (projetista, arquiteto ou engenheiro) determine a classe a qual pertence a organização de um sistema.  O que ajudam a identificar o estilo que retrataa arquitetura de software do sistema?  Características dos componentes (subsistemas) e conectores do sistema  Topologia da arquitetura  Restrições semânticas  Mecanismos de interação entre os componentes.
  • 10. Definições: Estilo arquitetural  Estilo arquitetural:  O uso de estilos arquiteturais no desenvolvimento de software facilita:  a comunicação entre as pessoas envolvidasno desenvolvimento  o entendimento do projeto em desenvolvimento
  • 11. Definições: Arquitetura de referência  Alguns autores utilizam os termos estilos arquiteturais e arquitetura de referência como sinônimos.  Contudo, arquitetura de referência é:  Uma estrutura que provê uma caracterização das funcionalidades dos sistemas de software de um dado domínio de aplicação.
  • 12. Definições: Arquitetura de referência  Arquitetura de referência:  Exemplos:  ADAGE um arquitetura de referência para o apoio ao desenvolvimento de sistemas de software no domínio de controle de aviões (Batory et al., 1995),.  Arquitetura de referência para sistemas de comércio eletrônico (Bass et al., 2003).  Arquitetura de referência para servidoresWWW.  Arquitetura de referência para sistemas baseados em componentes  Arquitetura de referência para sistemas orientados a serviços
  • 13. Definições: Arquitetura de referência  Arquitetura de referência:  Exemplos:  AUTOSAR  Para sistemas de veículos  RefASSET  Para ambientes de engenharia de software  RefTEST  Para ferramentas de teste de software
  • 14. Definições: Arquitetura de referência  Arquitetura de referência:  Constituem um elemento fundamental para o desenvolvimento de linhas de produto (do inglês, product lines)  Podem também ser consideradas como o primeiro e essencial passo para o desenvolvimento de frameworks de aplicação.  Propor arquiteturas de referência para sistemas de um dado domínio de aplicação não é uma tarefa trivial.
  • 15. Definições: Arquitetura de software de domínio específico  Arquitetura de software de domínio específico  Base estrutural para a interoperabilidade de componentes dentro de um domínio.  Pode dar apoio a uma abordagem de desenvolvimento de domínio específico que possibilite a configuração de componentes reutilizáveis.  Compreende um modelo de domínio, requisitos de referência, uma arquitetura de referência, infra- estrutura ou ambiente de apoio e um processo de desenvolvimento.
  • 16. Eventos Científicos  Diversidade de eventos científicos:  ECSA  WICSA  SEI Software Architecture Technology User Network Workshop  International Conference on the Quality of Software Architectures  Workshop on Architecture-Centric Evolution  Workshop Infusing Software Architecture into Software Engineering Curricula  Refactoring of Software at Architectural Level IEEEWorkshop
  • 17. Bibliografia  KRUCHTEN, P.; OBBINK, H.; STAFFORD, J. The past, present, and future for software architecture. IEEE Software, v. 23, n. 2, p. 22–30, 2006.  Site da SEI (Software Engineering Institute)  Livros de Clemments e Bass