Sei sulla pagina 1di 17

Arquitetura de Software:

Introduo
Universidade de So Paulo
Instituto de Cincias Matemticas e de Computao

SSC-121 Engenharia de Software I
Profa. Dra. Elisa Yumi Nakagawa
2 semestre de 2012
Contedo
Introduo e Motivao
Definies
Eventos cientficos
Bibliografia
Exerccio
Introduo
O que arquitetura?
Disposio das partes ou elementos de um edifcio ou
espao urbano. [Aurlio]
A estrutura e organizao lgica de funcionamento
de um sistema computacional. [Aurlio]
Considerando essas definies, como desenvolver
sistemas mais complexos, sem pensar em sua
arquitetura??
Como fica a qualidade desses sistemas sem
cuidar da arquitetura??
Introduo
medida que a complexidade e o tamanho dos
sistemas de software tm aumentado,engenheiros
de software tm lanado mo de princpios de
projeto, tais como a modularizao e o
ocultamento da informao, 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 questo
que vem sendo considerada.
Introduo
A arquitetura de software dita como tendo
principal papel na determinao da qualidade e da
manutenibilidade do software.[Wasserman, 1996]
Os atributos de qualidade dos sistemas de
software so estreitamente relacionados s suas
arquiteturas. [SEI, 2005]
Atributos de qualidade: performance/desempenho,
confiabilidade, manutenibilidade, portabilidade,...
Definio: Arquitetura de software
H uma diversidade de definies 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
princpios e diretrizes que governam os projetos e a
evoluo dos softwares.
Definies: Instncia arquitetural
Instncia arquitetural:
Refere-se arquitetura de um determinado sistema de
software.
Definies: Instncia arquitetural
Estilo arquitetural:
Definem as restries sobre a forma e a estrutura de
uma famlia de instncias arquiteturais.
Exemplos:
Camadas (duas, trs ou quatro camadas)
Pipes and Filters
Centrada na base de dados
Cliente-Servidor
Estilos resultantes da combinao de estilos arquiteturais.
Definies: Estilo arquitetural
Estilo arquitetural:
Permite que um profissional (projetista, arquiteto ou
engenheiro) determine a classe a qual pertence a
organizao de um sistema.
O que ajudam a identificar o estilo que retrata a
arquitetura de software do sistema?
Caractersticas dos componentes (subsistemas) e conectores
do sistema
Topologia da arquitetura
Restries semnticas
Mecanismos de interao entre os componentes.
Definies: Estilo arquitetural
Estilo arquitetural:
O uso de estilos arquiteturais no desenvolvimento de
software facilita:
a comunicao entre as pessoas envolvidas no
desenvolvimento
o entendimento do projeto em desenvolvimento
Definies: Arquitetura de referncia
Alguns autores utilizam os termos estilos
arquiteturais e arquitetura de referncia como
sinnimos.
Contudo, arquitetura de referncia :
Uma estrutura que prov uma caracterizao das
funcionalidades dos sistemas de software de um dado
domnio de aplicao.
Definies: Arquitetura de referncia
Arquitetura de referncia:
Exemplos:
ADAGE um arquitetura de referncia para o apoio ao
desenvolvimento de sistemas de software no domnio de
controle de avies (Batory et al., 1995),.
Arquitetura de referncia para sistemas de comrcio eletrnico
(Bass et al., 2003).
Arquitetura de referncia para servidores WWW.

Arquitetura de referncia para sistemas baseados em
componentes
Arquitetura de referncia para sistemas orientados a servios
Definies: Arquitetura de referncia
Arquitetura de referncia:
Exemplos:
AUTOSAR
Para sistemas de veculos
RefASSET
Para ambientes de engenharia de software
RefTEST
Para ferramentas de teste de software
Definies: Arquitetura de referncia
Arquitetura de referncia:
Constituem um elemento fundamental para o
desenvolvimento de linhas de produto (do ingls,
product lines)
Podem tambm ser consideradas como o primeiro e
essencial passo para o desenvolvimento de frameworks
de aplicao.
Propor arquiteturas de referncia para sistemas de um
dado domnio de aplicao no uma tarefa trivial.
Definies: Arquitetura de software de
domnio especfico
Arquitetura de software de domnio especfico
Base estrutural para a interoperabilidade de
componentes dentro de um domnio.
Pode dar apoio a uma abordagem de
desenvolvimento de domnio especfico que
possibilite a configurao de componentes
reutilizveis.
Compreende um modelo de domnio, requisitos de
referncia, uma arquitetura de referncia, infra-
estrutura ou ambiente de apoio e um processo de
desenvolvimento.
Eventos Cientficos
Diversidade de eventos cientficos:
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 IEEE Workshop

Bibliografia
KRUCHTEN, P.; OBBINK, H.; STAFFORD, J.
The past, present, and future for software
architecture. IEEE Software, v. 23, n. 2, p. 2230,
2006.
Site da SEI (Software Engineering Institute)
Livros de Clemments e Bass

Potrebbero piacerti anche