rup - cap. 4 – processo centrado na arquitetura disciplina: esof2 prof. adriana m. martins

Post on 22-Apr-2015

106 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

RUP - Cap. 4 – Processo Centrado na Arquitetura

Disciplina: ESOF2

Prof. Adriana M. Martins

RUP – Cap. 4 – Processo Centrado na Arquitetura

2Aula 04

Introdução

Conceitos Chave do RUP:

- Dirigido por Casos de Uso

- Centrado na Arquitetura

- Iterativo e Incremental

Lembrando que:

A arquitetura representa a forma, enquanto que os casos de uso representam a funcionalidade.

RUP – Cap. 4 – Processo Centrado na Arquitetura

3Aula 04

Casos de Uso podem conduzir o desenvolvimento de software, porém não são suficientes.

A arquitetura de um sistema pode ser definida como sendo:

“Uma visão comum na qual todos os

participantes concordem ou pelo menos aceitem.”

Introdução

RUP – Cap. 4 – Processo Centrado na Arquitetura

4Aula 04

A arquitetura deverá descrever os elementos mais importantes do modelo.

A arquitetura é construída durante a fase de elaboração.

O objetivo é criar uma base arquitetural para que a fase de construção seja iniciada com um fundamento sólido para a construção completa do sistema.

Introdução

RUP – Cap. 4 – Processo Centrado na Arquitetura

5Aula 04

O que é a Arquitetura para um Sistema?

“O arquiteto é especialista na integração de todos os aspectos de uma construção, mas não é especialista em todos os aspectos.” Exemplo: arquiteto civil.

Sistemas de software são apresentados através de diferentes perspectivas (visões), que juntas compõem a arquitetura do sistema.

RUP – Cap. 4 – Processo Centrado na Arquitetura

6Aula 04

A arquitetura lida com algumas decisões importantes como:

- a organização do sistema;- os elementos estruturais e interfaces entre si, e também o

seu comportamento e composição em subsistemas maiores;

- o estilo arquitetural que guiará a organização dos elementos, interfaces, colaborações e composições.

Envolve também decisões sobre uso, funcionalidade, performance, reuso, compreensibilidade, estética, robustez,

restrições econômicas e tecnológicas.

O que é a Arquitetura para um Sistema?

RUP – Cap. 4 – Processo Centrado na Arquitetura

7Aula 04

A arquitetura também pode ser representada como visões de modelos (modelo de visão 4 + 1):

O que é a Arquitetura para um Sistema?

Visão

Lógica

Visão de

Processo

Visão de

Implementação

Visão de

Implantação

Usuário Final

Funcionalidade-Pacotes-Subsistemas-Classes

Analistas/Testadores

Comportamento

- Testes, processos, iterações

Integradores de Sistemas

Desempenho

Escalabilidade

Processamento

Programadores

Gerenciamento de Software-Módulos estáticos-Camadas-Gerenciamento de configurações

Engenharia de Sistema

Topologia, entrega, instalação, comunicação

Visão de

Caso de Uso

Cenários Chave

RUP – Cap. 4 – Processo Centrado na Arquitetura

8Aula 04

Porque é Necessária a Arquitetura?

Para desenvolver sistemas complexos é necessário um arquiteto e desenvolvedores.

São sistemas que não existem no mundo real, geralmente são únicos e inexistentes.

“O design e a implementação vão além de algoritmos e estruturas de dados de computação: projetar e especificar toda uma estrutura

dessas emerge como um novo tipo de problema.”

RUP – Cap. 4 – Processo Centrado na Arquitetura

9Aula 04

Porque é Necessária a Arquitetura?

A arquitetura é necessária para:- Entendimento do sistema- Organização do desenvolvimento- Estímulo ao reuso- Evolução do sistema

RUP – Cap. 4 – Processo Centrado na Arquitetura

10Aula 04

Entendimento do Sistema: tornar sistemas complexos compreensíveis é um desafio por várias razões:

- Comportamento complexo;- Ambiente de operação complexo;- Tecnologia complexa;- Combinação de computação distribuída, produtos e plataformas

comerciais, componentes e estruturas reusáveis;- Satisfação de demanda de indivíduos e de organizações;- Dificuldade de gerenciamento;- Constantes mudanças.

Porque é Necessária a Arquitetura?

RUP – Cap. 4 – Processo Centrado na Arquitetura

11Aula 04

Organização do Desenvolvimento: redução da intensa necessidade de comunicação entre membros de uma equipe maior e viabilização do trabalho em paralelo.

Estímulo ao Reuso: a base do reuso são os componentes. Quando estes são bem projetados há redução de tempo e custo durante a construção do sistema.

Evolução do Sistema: o sistema deve ser capaz de suportar bem as mudanças, sem causar impactos indesejáveis ao projeto e implementação existentes.

Porque é Necessária a Arquitetura?

RUP – Cap. 4 – Processo Centrado na Arquitetura

12Aula 04

Casos de Uso x Arquitetura

Restrições e facilitadores:

Casos de Uso

Experiência

Arquitetura

- Arquiteturas prévias- Padrões arquiteturais

Software do sistema

Middleware

Sistemas de legado

Padrões e políticas

Requisitos não funcionais

Necessidade de distribuição

dirigem guia

Casos de Uso com Valor: alta performance, qualidade

e usabilidade.

RUP – Cap. 4 – Processo Centrado na Arquitetura

13Aula 04

Casos de Uso x Arquitetura

Restrições e facilitadores para definição da Arquitetura:

a) Software do sistema: quais produtos serão usados – BD e SO?

b) Middleware: quais os produtos de interface serão usados entre camadas?

c) Sistemas Legados: sistemas já existentes serão usados? Serão melhorados?

d) Padrões e políticas da empresa: serão usadas, adaptadas?

e) Requisitos não-funcionais: qual a disponibilidade, tempo de restauração, memória?

f) Necessidade de distribuição: como o sistema estará organizado, distribuído fisicamente?

Este é um entendimento geral de como o sistema funcionará!

RUP – Cap. 4 – Processo Centrado na Arquitetura

14Aula 04

Casos de Uso x Arquitetura

A arquitetura é desenvolvida em interações durante a fase de elaboração;

Abordagem incremental com resultado sendo uma arquitetura estável;

Durante a fase de construção, os casos de uso são implementados baseados nos requisitos dos usuários e dos clientes, sendo também influenciados pela arquitetura selecionada na fase de elaboração.

Entradas dos usuários

Entradas do clienteCasos de Uso

Arquitetura

RUP – Cap. 4 – Processo Centrado na Arquitetura

15Aula 04

Elaboração da Arquitetura

Quais os casos de uso serão arquiteturalmente significantes?

a)Os que ajudam a mitigar riscos mais sérios;

b)Os que são considerados mais importantes para os usuários do sistema;

c)Os que ajudam a cobrir as funcionalidades mais importantes do sistema.

Geralmente são 80% dos Casos de Uso

RUP – Cap. 4 – Processo Centrado na Arquitetura

16Aula 04

Elaboração da Arquitetura

O resultado da fase de elaboração será uma base arquitetural – um esqueleto do sistema com poucos “músculos”. Depois desta etapa haverão poucas mudanças na arquitetura.

Base Arquitetural: agregação dos modelos do sistema que representem os casos de uso mais importantes, com uma perspectiva arquitetural e uma descrição da arquitetura.

O papel da descrição da arquitetura é guiar toda a equipe de desenvolvimento durante os ciclos de vida do sistema. Se a arquitetura for estável, o padrão desta também se tornará estável.

RUP – Cap. 4 – Processo Centrado na Arquitetura

17Aula 04

Elaboração da Arquitetura

Casos de Uso Análise Projeto Implantação Implementação Testes

Base Arquitetural

Casos de Uso Análise Projeto Implantação Implementação

Descrição Arquitetural

RUP – Cap. 4 – Processo Centrado na Arquitetura

18Aula 04

Elaboração da Arquitetura

Casos de Uso Análises Projeto Implantação Implementação Testes

Fim da Construção

Casos de Uso Análises Projeto Implantação Implementação

Descrição Arquitetural

RUP – Cap. 4 – Processo Centrado na Arquitetura

19Aula 04

Elaboração da Arquitetura

A descrição da Arquitetura:-É basicamente a uma extração sobre os modelos do sistema;-Apresenta apenas componentes arquiteturalmente

significantes;-Contém as 5 visões: casos de uso, análise, projeto,

implantação e implementação;

RUP – Cap. 4 – Processo Centrado na Arquitetura

20Aula 04

Elaboração da Arquitetura

A descrição da Arquitetura: deve sempre ser atualizada, mas não deve “crescer” durante o ciclo de vida do projeto. As atualizações podem incluir:

a) descoberta de novas interfaces e classes;b) adição de funcionalidades aos subsistemas já existentes;c) atualização de versão dos componentes utilizados;d) reorganização da estrutura do processo.

-Pode ainda conter: requisitos não-funcionais, detalhes sobre plataforma, sistemas legados e comerciais utilizados, documentação de padrões utilizados.

-É uma visão de alto nível: trata com detalhes apenas subsistemas que são significantes no ponto de vista da arquitetura.

RUP – Cap. 4 – Processo Centrado na Arquitetura

21Aula 04

Elaboração da Arquitetura

Utilizando Padrões de Arquitetura:-Padrões de projeto são as “soluções já consagradas para

problemas recorrentes”.-Trata de uma perspectiva arquitetural do sistema, portanto mais

abrangente.-No UP a solução é descrita na forma de interações e colaborações

entre subsistemas e até mesmo entre sistemas.

-Exemplos de padrões: Broker, Cliente-Servidor, Three-Tier, Ponto-a-Ponto, Camadas.

-Obs: mais de um padrão poderá ser usado no sistema, porém um deles deverá ser o predominante.

RUP – Cap. 4 – Processo Centrado na Arquitetura

22Aula 04

Elaboração da Arquitetura – Modelo em Camadas

Modelos, classes,

bibliotecas

específicas do negócio.

Não consideram

detalhes específicos

do

negócio.

Subsistemas não específicos

para a aplicação, permitem

reuso por outras aplicações do

mesmo domínio do negócio.

RUP – Cap. 4 – Processo Centrado na Arquitetura

23Aula 04

O Arquiteto Cria a Arquitetura

A arquitetura é criada pelo arquiteto, juntamente com outros desenvolvedores;

Deve buscar um sistema com alta performance, qualidade, funcionalidade, amigável, robusto, …

Objetivo: implementar as funcionalidades da aplicação em um custo adequado com eficiência desejada, agora e no futuro.

Arquiteto: conhecimento do domínio no qual trabalha e de desenvolvimento de software.

Uma boa arquitetura = diminuição do tempo total de desenvolvimento de projeto.

RUP – Cap. 4 – Processo Centrado na Arquitetura

24Aula 04

A Descrição da Arquitetura – Exemplo

Visão Arquitetural do Modelo de Caso de Uso – Caixa Eletrônico:

-Apresenta atores e casos de uso mais importantes.-Apresenta descrição completa do caso de uso.-É totalmente implementado durante a fase de elaboração.

Depósito

Transferência

Saque

Saque

RUP – Cap. 4 – Processo Centrado na Arquitetura

25Aula 04

A Descrição da Arquitetura – Exemplo

Visão Arquitetural do Modelo de Projeto – Caixa Eletrônico:-Apresenta os classificadores mais importantes do modelo de projeto

(subsistemas, interfaces, classes, classes ativas) e as realizações dos casos de uso mais importantes.

1. Diagrama de classes das classes ativas do Caso de Uso

2. Diagrama de classes mostrando os subsistemas e interfaces

3. Diagrama de colaboração

4. Descrição do fluxo de realização do Caso de Uso

Gerenciador

do Cliente

Gerenciador

da Transação

Gerenciador

da Conta

RUP – Cap. 4 – Processo Centrado na Arquitetura

26Aula 04

A Descrição da Arquitetura – Exemplo

Visão Arquitetural do Modelo de Implementação – Caixa Eletrônico:

-Define a arquitetura física do sistema em termos de nós conectados;-Os nós e conexões do modelo de implantação e a alocação de

objetos ativos aos nós podem ser descritos em diagramas de implantação.

Gerenciador

Cliente

Servidor da

Aplicação

Servidor de

Dados

Internet Intranet

Cliente

nós

RUP – Cap. 4 – Processo Centrado na Arquitetura

27Aula 04

A Descrição da Arquitetura – Exemplo

Visão Arquitetural do Modelo de Implantação – Caixa Eletrônico:

-Será o mapeamento direto do modelo de projeto para o modelo de implantação.

RUP – Cap. 4 – Processo Centrado na Arquitetura

28Aula 04

Três Conceitos Importantes

O que é Arquitetura?Especificação feita pelo arquiteto na descrição da arquitetura;Permite controle do desenvolvimento;Contém elementos estruturais do sistema, interfaces e suas

colaborações;Dirigida pelos Casos de Uso;Compreensível, suportar reuso e modificações.

Como é obtida?Desenvolvida interativamente durante a fase de elaboração.Construção de uma base da arquitetura.

Como é descrita?Visão dos modelos do sistema que contém os componentes mais

interessantes arquiteturalmente e mais importantes a serem entendidos pela equipe e interessados.

RUP – Cap. 4 – Processo Centrado na Arquitetura

29Aula 04

Visão Geral

top related