1!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brArquitetura de Software- Fundamentos e Tendências -Prof. Marco Fagunde...
5!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brArquitetura de SoftwareO diagrama abaixo representa umaarquitetura?Ges...
9!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brArquitetura de SoftwareO diagrama abaixo não representa umaarquitetura...
13!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brEstilos arquiteturais• Definem uma família e não apenas um sistema• A...
17!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br• Foco na arquitetura do software• Arquitetura serve como base para a...
21!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brProjeto daArquiteturaFluxo de Análise &Projeto do RUPArcADe vs RUPMod...
25!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brA.S. Passado, Presente e Futuro• Três avanços importantes:• Linguagen...
Próximos SlideShares
Carregando em…5
×

Arquitetura de-software

341 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
341
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Arquitetura de-software

  1. 1. 1!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brArquitetura de Software- Fundamentos e Tendências -Prof. Marco Fagundesmfagunde@tre-pa.gov.br2!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brAgenda• Objetivos e Contexto• Arquitetura de Software (A.S.)• A.S. no Processo de Desenvolvimento• O Modelo ArcADe• Passado, Presente e Futuro3!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brObjetivos• Objetivos Geral:! Enfatizar a importância da arquitetura para o sucessode um projeto de software• Objetivos específicos:! Apresentar os conceitos básicos da arquitetura desoftware! Destacar o papel da arquitetura de software noprocesso de desenvolvimento! Apresentar o modelo ArcADe! Mostrar as tendências na área da arquitetura desoftware4!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brContextoAdotar uma arquitetura correta pode ajudar nagerência complexidade e trazer diversosbenefíciosO aumento do tamanho e dacomplexidade dos sistemas de softwareRedução de tempo e custo dedesenvolvimento e manutenção dosoftware
  2. 2. 5!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brArquitetura de SoftwareO diagrama abaixo representa umaarquitetura?Gestor desegurança deAcessoGestor deCadastroGestor dePedidos6!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brArquitetura de SoftwareA arquitetura do software define a estruturado software, que compreende os componentescom suas propriedades visíveis externamente eos relacionamentos entre eles.Conector_1Componente_AConfiguraçãointerfaceConector_2interfaceComponente_BinterfaceComponente_CinterfaceinterfaceComponentesComponente_AComponente_BComponente_CConectoresConector_1Conector_2ConfiguraçãpComponente_AConector_1Componente_BConector_2Componente_C7!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brArquitetura de Software• Existem várias definições sobre arquitetura do software• Semelhanças no núcleo através de três abstraçõesbásicas: Componentes, Conectores e ConfiguraçãoConector_1Componente_AConfiguraçãointerfaceConector_2interfaceComponente_BinterfaceComponente_CinterfaceinterfaceModela a computação e oarmazenamento de informaçõesPor exemplo: Cliente, Servidor,Subsistema ou SistemaModela a interaçãoentres os componentesPor exemplo: RPCGrafo de componentes econectores ligados,descrevendo umaestrutura arquitetural8!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brArquitetura de Software• A Arquitetura de Software enfatiza a separação deinteresses (concerns)! Funcionalidade! InteraçãoComponente2p2FuncionalidadeeInteraçãoComponente1p1Conector1 Componente2p2Componente1p1InteraçãoFuncionaliade
  3. 3. 9!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brArquitetura de SoftwareO diagrama abaixo não representa umaarquiteturaGestor desegurança deAcessoGestor deCadastroGestor dePedidos10!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brArquitetura de SoftwareExemplo de uma arquiteturasystem Order;beginuse task GestorCadastro, GestorPedidos;create cad from GestorCadastro;create ped from GestorPedidos;link cad.eCadInfo to ped.sCadInfo;link cad.sConsInfo to ped.eConsInfo;activate cad, ped;end;Link Gestor dePedidosGestor deCadastrosConsInfoeCadInfoeConsInfosCadInfoDescrição em CL11!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brVantagens da A.S.• Facilita a combinação de abordagens de reuso desoftware (ex. Estilos, COTS ou Padrões de Projeto)• Possibilita análise da descrição da arquitetura nas fasesiniciais do desenvolvimento (ex. propridades nãofuncionais ou conformidade com um estilo)• Facilita a evolução do software• Permite uma melhor comunicação entre os stakeholders12!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brEstilos arquiteturaisUm estilo arquitetural consiste de umvocabulário de elementos de projeto e umconjunto de regras de configuração quegovernam a combinação desses elementos• Elementos Arquiteturais (de Projeto)! Componentes! Conectores• Exemplo de regras de configuração! Uma camada pode somente se comunicar com acamada adjacente no estilo Camadas
  4. 4. 13!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brEstilos arquiteturais• Definem uma família e não apenas um sistema• A descrição da arquitetura é uma instância deum estilo• Exemplos de Estilos! Cliente-servidor! Pipe-filter! Camadas (Layered)• Exemplo de uma A.S. no estilo Pipe-filter:14!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brA.S. no Processo de Desenvolvimento• Reduz o gap semântico entre os requisitos e ocódigo• Fornece uma base para as outras fases dedesenvolvimento do softwareRequisitosArquitetura deSoftwareImplementaçãoRMI JavaCORBADelphiRequisitosImplementaçãoRMI JavaCORBADelphiMétodos OO15!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brA.S. no Processo de Desenvolvimento• A.S. e a O.O. de forma complementarRastreabilidade16!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brO Modelo ArcADeContextoA Arquitetura de Software desempenha um papelimportante para o sucesso do projetoProblemaAusência da integração natural entre a Arquitetura deSoftware e processos de software comumente utilizadosO Modelo ArcADeUm modelo de processo que integra a arquitetura desoftware com um processo de desenvolvimentolargamente utilizado (RUP)
  5. 5. 17!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br• Foco na arquitetura do software• Arquitetura serve como base para as atividades deanálise, projeto e implementação do software• Representação da arquitetura (ADLs)Desenv. Baseado em Arquitetura X Fluxos do RUPFluxos de Processo do RUPModelagem de NegócioRequisitosAnálise & ProjetoImplementaçãoTesteImplantaçãoDesenvolver/Selecionar a ArquiteturaRepresentar a ArquiteturaAnalisar e Avaliar a ArquiteturaDesenvolvimento Baseado em ArquiteturaImplementar ArquiteturaEntender o Domínio18!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brSobre o ArcADe• O Modelo de Processo ArcADe (Architecture-basedAnalisys and Design) integra a A.S. com elementos(conceitos, métodos e técnicas) do RUP• O ArcADe adota a AS para definir as etapas dodesenvolvimento• O modelo utiliza os elementos do RUP para organizar oprocesso em um fluxo de trabalho19!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brNíveis de Abstração do ArcADeComposição da arquiteturaabstrata a partir daespecificação dos requisitosComponentes e conectores daarquitetura abstrata são refinadospara uma representação concreta maispróxima da implementaçãoProjeto daArquiteturaConnector_1Component_AComponent_BCORBA ProjetoDetalhado20!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br• Desenvolvimento iterativo e incremental no ArcADeO Modelo ArcADeProjeto daArquiteturaConnector_1Component_AComponent_BCORBA ProjetoDetalhado1º IteraçãoConnector_1Component_AComponent_B Component_CConnector_2CORBA2ndIteration
  6. 6. 21!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brProjeto daArquiteturaFluxo de Análise &Projeto do RUPArcADe vs RUPModelo ArcADeProjetoDetalhado22!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brO Modelo ArcADeSelecionar umaArquitetura CandidataRelacionar Requisitos com aArquiteturaIdentificar Oportunidades deReuso em Nível ArquiteturalDefinir a ArquiteturaAbstrataDefinir Arquitetura do Software apartir da CandidataEspecificar Abstrações ArquiteturaisAnalisar a ArquiteturaRepresentar a ArquiteturaRefinar a ArquiteturaAplicar Regras de RefinamentoRevisar a ArquiteturaAnalisar Casos de Uso(RUP)AnalisarComportamentoModelar ComportamentoAnalisar o ModeloSubfluxos AtividadesProjetar ComponentesFazer Projeto DetalhadoEspecificar Interface do ComponenteProjetar ConectoresEspecifiar Partes ConcretasEstender Tipo BásicoSelecionar ConectoresIdentificar Tecnologias CandidatasSubfluxos AtividadesDescrever Tecnologias CandidatasAvaliar Tecnologias CandidatasAceitar Tecnologias CandidatasSelecionarComponentesIdentificar Produtos CandidatosDescrever Produtos CandidatosAvaliar Produtos CandidatosAceitar Produtos CandidatosProjetar Classes (RUP)Projetar Casos de Uso (RUP)Projetar Banco de Dados (RUP)23!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brA.S. Passado, Presente e Futuro• No passado:! forma ad hoc - descrições informais diagramas decaixas linhas! Profissionais começaram a reconhecer o papel críticoda A.S. para o sucesso do projeto! Os projetistas de linguagens começaram a consideraruma notação específica e formal para representar aarquitetura24!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brA.S. Passado, Presente e Futuro• No presente:! Arquitetura é tratada como uma atividade importantee explícita no desenvolvimento de software! Diversos congressos científicos e livros dedicados àA.S! A.S. como área de pesquisaTópicos depesquisaFormalizaçãoNovasADLsFerramentasDesenvolvimentobaseado em arquiteturaEstilosArquiteturade SoftwareEngenhariade SoftwareEngenhariadeRequisitos...
  7. 7. 25!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brA.S. Passado, Presente e Futuro• Três avanços importantes:• Linguagens de Descrição de Arquiteturas e Ferramentas• Engenharia de Linha de Produtos• Codificação e DisseminaçãoRequisitos doProdutoRequisitos da Linhade ProdutosArquitetura doProdutoArquitetura da Linhade ProdutosRestriçõesinduzidas26!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brA.S. Passado, Presente e Futuro• No futuro:! Evolução natural:•Difusão e Assimilação da A.S. como disciplina•Ferramentas para o projeto arquitetural! Tendências:•Adoção de linguagens como a UML e XML paramodelagem arquitetural•Computação Ubíqua (“pervasiva”)27!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.brPontos Principais• A A.S. tem recebido crescente reconhecimento eatenção• No processo de desenvolvimento, a A.S. desempenhaum papel importante como ponte entre requisitos eimplementação• Diversas contribuições para facilitar e difundir a A.S.• O Modelo ArcADe integra a arquitetura de software comelementos (conceitos, métodos e técnicas) do RUP

×