• Nenhum resultado encontrado

Arquitetura de Software

N/A
N/A
Protected

Academic year: 2021

Share "Arquitetura de Software"

Copied!
7
0
0

Texto

(1)

1

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Arquitetura de Software

Fundamentos e Tendências

-Prof. Marco Fagundes mfagunde@tre-pa.gov.br

2

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Agenda

• Objetivos e Contexto

• Arquitetura de Software (A.S.)

• A.S. no Processo de Desenvolvimento

• O Modelo ArcADe

• Passado, Presente e Futuro

Objetivos

• Objetivos Geral:

! Enfatizar a importância da arquitetura para o sucesso de um projeto de software

• Objetivos específicos:

! Apresentar os conceitos básicos da arquitetura de software

! Destacar o papel da arquitetura de software no processo de desenvolvimento

! Apresentar o modelo ArcADe

! Mostrar as tendências na área da arquitetura de software

Contexto

Adotar uma

arquitetura

correta pode ajudar na

gerência complexidade e trazer diversos

benefícios

O aumento do

tamanho

e da

complexidade

dos sistemas de software

Redução de tempo e custo de

desenvolvimento e manutenção do

(2)

5

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Arquitetura de Software

O diagrama abaixo representa uma

arquitetura?

Gestor de segurança de

Acesso

Gestor de

Cadastro Gestor dePedidos

6

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Arquitetura de Software

A arquitetura do software define a

estrutura

do software, que compreende os

componentes

com suas propriedades visíveis externamente e

os

relacionamentos

entre eles.

Conector_1 Componente_A Configuração interface Conector_2 interface Componente_B interface Componente_C interface interface Componentes Componente_A Componente_B Componente_C Conectores Conector_1 Conector_2 Configuraçãp Componente_A Conector_1 Componente_B Conector_2 Componente_C

Arquitetura de Software

• Existem várias definições sobre arquitetura do software • Semelhanças no núcleo através de três abstrações

básicas: Componentes, Conectores e Configuração

Conector_1 Componente_A Configuração interface Conector_2 interface Componente_B interface Componente_C interface interface Modela a computação e o armazenamento de informações Por exemplo: Cliente, Servidor, Subsistema ou Sistema Modela a interação entres os componentes Por exemplo: RPC Grafo de componentes e conectores ligados, descrevendo uma estrutura arquitetural

Arquitetura de Software

• A Arquitetura de Software enfatiza a separação de

interesses (concerns) ! Funcionalidade ! Interação Componente2 p2 Funcionalidade e Interação Componente1 p1 Conector1 Componente2 p2 Componente1 p1 Interação Funcionaliade

(3)

9

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Arquitetura de Software

O diagrama abaixo

não

representa uma

arquitetura

Gestor de segurança de

Acesso

Gestor de

Cadastro Gestor dePedidos

10

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Arquitetura de Software

Exemplo de uma arquitetura

system Order;

begin

use 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 de Pedidos Gestor de Cadastro sConsInfo eCadInfo eConsInfo sCadInfo Descrição em CL

Vantagens da A.S.

• Facilita a combinação de abordagens de reuso de

software (ex. Estilos, COTS ou Padrões de Projeto)

• Possibilita análise da descrição da arquitetura nas fases

iniciais do desenvolvimento (ex. propridades não funcionais ou conformidade com um estilo)

• Facilita a evolução do software

• Permite uma melhor comunicação entre os stakeholders

Estilos arquiteturais

Um estilo arquitetural consiste de um

vocabulário

de elementos de projeto e um

conjunto de regras de

configuração

que

governam a combinação desses elementos

• Elementos Arquiteturais (de Projeto)

! Componentes

! Conectores

• Exemplo de regras de configuração

! Uma camada pode somente se comunicar com a camada adjacente no estilo Camadas

(4)

13

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Estilos arquiteturais

• Definem uma família e não apenas um sistema

• A descrição da arquitetura é uma instância de

um 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.br

A.S. no Processo de Desenvolvimento

• Reduz o gap semântico entre os requisitos e o

código

• Fornece uma base para as outras fases de

desenvolvimento do software

Requisitos Arquitetura de Software Implementação RMI Java CORBA Delphi Requisitos Implementação RMI Java CORBA Delphi Métodos OO

A.S. no Processo de Desenvolvimento

• A.S. e a O.O. de forma complementar

Rastreabilidade

O Modelo ArcADe

Contexto

A Arquitetura de Software desempenha um papel importante para o sucesso do projeto

Problema

Ausência da integração natural entre a Arquitetura de Software e processos de software comumente utilizados

O Modelo ArcADe

Um modelo de processo que integra a arquitetura de software com um processo de desenvolvimento

(5)

17

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

• Foco na arquitetura do software

• Arquitetura serve como base para as atividades de

análise, projeto e implementação do software

• Representação da arquitetura (ADLs)

Desenv. Baseado em Arquitetura X Fluxos do RUP

Fluxos de Processo do RUP Modelagem de Negócio

Requisitos Análise & Projeto

Implementação Teste Implantação Desenvolver/Selecionar a Arquitetura

Representar a Arquitetura Analisar e Avaliar a Arquitetura Desenvolvimento Baseado em Arquitetura

Implementar Arquitetura Entender o Domínio

18

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Sobre o ArcADe

• O Modelo de Processo ArcADe (Architecture-based Analisys 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 do

desenvolvimento

• O modelo utiliza os elementos do RUP para organizar o

processo em um fluxo de trabalho

Níveis de Abstração do ArcADe

Composição da arquitetura abstrata a partir da especificação dos requisitos

Componentes e conectores da arquitetura abstrata são refinados para uma representação concreta mais

próxima da implementação Projeto da Arquitetura Connector_1 Component_A Component_B CORBA Projeto Detalhado

• Desenvolvimento iterativo e incremental no ArcADe

O Modelo ArcADe

Projeto da Arquitetura Connector_ 1 Component_A Component_B CORBA Projeto Detalhado 1º Iteração Connector_ 1

Component_A Component_B Component_C Connector_

2

CORBA

(6)

21

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Projeto da Arquitetura

Fluxo de Análise & Projeto do RUP

ArcADe vs RUP

Modelo ArcADe Projeto Detalhado 22

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

O Modelo ArcADe

Selecionar uma Arquitetura Candidata

Relacionar Requisitos com a Arquitetura

Identificar Oportunidades de Reuso em Nível Arquitetural Definir a Arquitetura

Abstrata

Definir Arquitetura do Software a partir da Candidata

Especificar Abstrações Arquiteturais Analisar a Arquitetura Representar a Arquitetura

Refinar a Arquitetura

Aplicar Regras de Refinamento Revisar a Arquitetura Analisar Casos de Uso(RUP) Analisar

Comportamento Modelar ComportamentoAnalisar o Modelo

Subfluxos Atividades

Projetar Componentes Especificar Interface do ComponenteFazer Projeto Detalhado

Projetar Conectores Especifiar Partes Concretas Estender Tipo Básico Selecionar Conectores

Identificar Tecnologias Candidatas

Subfluxos Atividades

Descrever Tecnologias Candidatas Avaliar Tecnologias Candidatas Aceitar Tecnologias Candidatas Selecionar

Componentes

Identificar Produtos Candidatos Descrever Produtos Candidatos Avaliar Produtos Candidatos Aceitar Produtos Candidatos Projetar Classes (RUP) Projetar Casos de Uso (RUP) Projetar Banco de Dados (RUP)

A.S. Passado, Presente e Futuro

• No passado:

! forma ad hoc - descrições informais diagramas de caixas linhas

! Profissionais começaram a reconhecer o papel crítico da A.S. para o sucesso do projeto

! Os projetistas de linguagens começaram a considerar uma notação específica e formal para representar a arquitetura

A.S. Passado, Presente e Futuro

• No presente:

! Arquitetura é tratada como uma atividade importante e explícita no desenvolvimento de software

! Diversos congressos científicos e livros dedicados à A.S

! A.S. como área de pesquisa

Tópicos de pesquisa Formalização Novas ADLs Ferramentas Desenvolvimento baseado em arquitetura Estilos Arquitetura de Software Engenharia de Software Engenharia de Requisitos ...

(7)

25

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

A.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ção Requisitos do Produto Requisitos da Linha de Produtos Arquitetura do Produto Arquitetura da Linha de Produtos Restrições induzidas 26

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

A.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 para

modelagem arquitetural

• Computação Ubíqua (“pervasiva”)

Pontos Principais

• A A.S. tem recebido crescente reconhecimento e

atenção

• No processo de desenvolvimento, a A.S. desempenha

um papel importante como ponte entre requisitos e implementação

• Diversas contribuições para facilitar e difundir a A.S. • O Modelo ArcADe integra a arquitetura de software com

Referências

Documentos relacionados

Para os empregados que tenham mais de 5 (cinco) anos de serviço ininterrupto na mesma empresa, e tenham mais de 45 (quarenta e cinco) anos de idade, o aviso prévio a ser

Este trabalho apresenta um algoritmo estat´ıstico novo para tratamento das medidas e para o c´ alculo do melhor valor da carga do el´ etron em um experimento Millikan..

Para cada modalidade de espetáculo será criada uma agenda (ITEM 9, deste regulamento) que seguirá a ordem de atendimento definida no sorteio e as vendas serão

Um estudo placebo-controlado (PRAISE) para avaliar pacientes portadores de insuficiência cardíaca classes NYHA III e IV recebendo digoxina, diuréticos e inibidores

Terreri, Greve e Amatuzzi (2001, p.63) corroboram com a importância da dinamometira isocinética para a avaliação e tratamento de lesões, quando citam em seu estudo

Para responder à pergunta, analisei alguns dos livros de história e sociologia mais adotados no país.. Entre os dez livros que analisei, não encontrei, infelizmente,

• No teste de Chow não é possível dizer se a diferença se devia ao intercepto, aos coeficientes angulares ou

(i) o consentimento, no âmbito do Contrato de Constituição de Cessão Fiduciária em Garantia de Direitos Creditórios e Outras Avenças, celebrado entre Agente