• Nenhum resultado encontrado

PROJETO DE ARQUITETURA

N/A
N/A
Protected

Academic year: 2021

Share "PROJETO DE ARQUITETURA"

Copied!
17
0
0

Texto

(1)

PROJETO DE ARQUITETURA

Projeto Detalhado de Software (PDS)

Profa. Cynthia Pinheiro

Antes de mais nada...

•Próximas aulas

:

•Seminários

de Padrões de Projeto GoF

• 1º Dia: 10/11/2017, 08h – 10h, Sala 04

• 2º Dia: 13/11/2017, no local e horário habituais • 3º Dia: 17/11/2017, 08h – 10h, Sala 04

(2)

Na aula passada...

•Padrões de Projeto

GoF

(Gang of Four)

Uso de Pacotes para o Modelo de Domínio

•Se o Modelo de Domínio cresce muito:

• É desejável decompô-lo em pacotes de conceitos fortemente relacionados.

(3)

Uso de Pacotes para o Modelo de Domínio

•Posse

e

referência

entre pacotes:

• Um elemento é possuído pelo pacote dentro do qual é definido, mas pode ser referenciado em outros pacotes. • O nome do elemento é qualificado pelo nome do pacote,

usando o formato NomeDoPacote::NomeDoElemento.

Elemento possuído pelo pacote Elemento referenciado em outros pacotes

Uso de Pacotes para o Modelo de Domínio

•Dependências

entre pacotes:

• Os elementos do pacote dependente tem, de alguma forma, conhecimento (ou estão acoplados) aos elementos do pacote de destino.

(4)

Uso de Pacotes para o Modelo de Domínio

•Como

particionar

um Modelo de Domínio:

Uso de Pacotes para o Modelo de Domínio

•Como

particionar

um Modelo de Domínio:

• Todos os elementos do modelo estão enraizados em um pacote

“Domínio”. • Todos os conceitos amplamente compartilhados, comuns e centrais são definidos em um pacote “Elementos Centrais” ou “Conceitos Comuns”.

(5)

Uso de Pacotes para o Modelo de Domínio

•Como

particionar

um Modelo de Domínio:

• Pacote “Elementos Centrais” ou “Conceitos Comuns”: conceitos amplamente compartilhados.

Uso de Pacotes para o Modelo de Domínio

• Como

particionar

um Modelo de

Domínio:

• Pacote

(6)

Uso de Pacotes para o Modelo de Domínio

• Como

particionar

um Modelo de

Domínio:

• Pacote “Produtos”

Uso de Pacotes para o Modelo de Domínio

•Como

particionar

um Modelo de Domínio:

(7)

Uso de Pacotes para o Modelo de Domínio

• Como

particionar

um Modelo de

Domínio:

• Pacote “Transações de Autorização”

Uso de Pacotes para o Modelo de Domínio

(8)

Arquitetura Lógica

•Introdução:

• Um Projeto OO típico é baseado em várias camadas arquiteturais como a camada de Interface com o Usuário, camada de Aplicação Lógica (ou “Domínio”) etc.

• Diagramas UML podem ilustrar a Arquitetura Lógica como

parte do modelo de projeto.

• Ela pode também ser resumidacomo uma visãono DAS

(Documento de Arquitetura do Software).

• Principal entrada: forças arquiteturais captadas na

Especificação Suplementar(artefato de requisitos do PU).

Arquitetura

Lógica

• Exemplo de

Arquitetura Lógica em camadasparcial feita com a notação de

Diagrama de Pacotes

(9)

Refinamento da Arquitetura Lógica

•Evolução da Arquitetura Lógica:

• Evoluir a Arquitetura Lógica significa gradualmente adicionar mais pacotes e mais informação às camadas e aos pacotes existentes, à medida que as iterações (do PU) se dão.

• Um objetivo da 3ª fase da Elaboração é ter a Arquitetura central estabelecida (projetada e implementada).

Refinamento da

Arquitetura Lógica

•Evolução

da

Arquitetura

Lógica:

(10)

Refinamento da

Arquitetura Lógica

•Acoplamento

entre camadas e

pacotes:

Linhas de dependência

Diagrama da Visão Lógica: ilustra acoplamentos importantes entre as camadas e os pacotes.

Refinamento da

Arquitetura Lógica

•Acoplamento

pacote-pacote:

Diagrama de Arquitetura Lógica mais comum: oculta os tipos específicos e foca apenas no acoplamento pacote a pacote (apenas os mais importantes e suas dependências).

(11)

Refinamento da Arquitetura Lógica

•Interação

entre

camadas

e entre

pacotes

:

• Diagramas de Pacotesmostram informações estáticas. • Para entender a dinâmica na arquitetura lógica é útil

incluir um diagrama que mostre como os objetos se

conectam e se comunicam entre as camadas → Diagrama

de Interação.

• Foca as colaboraçõesconforme elas cruzam os limites das camadas e de pacotes.

• Fazer apenas para os cenários arquiteturalmente mais

significativos: ilustram muitos aspectos das grandes idéias ou aquelas de larga escala.

Refinamento da

Arquitetura Lógica

• Cenário

“Processar

Vendas”

:

(12)

Refinamento da Arquitetura Lógica

•Colaboração

com o padrão

Camadas

:

• Duas decisões de projeto a nível arquitetural:

• Quais são as grandes partes? • Como elas estão conectadas?

• Padrão arquitetural Camadas:

• Guia a definição das grandes partes

• Padrões de projeto micro arquiteturais como Fachada,

Controlador e Observadorsão usados para o projeto das

conexões entre camadas e pacotes.

Refinamento da Arquitetura Lógica

•Colaboração

com o

padrão

Camadas

:

• Pacotes simples x Subsistemas:

• Alguns pacotes ou camadas não são apenas grupos

conceituais de coisas, mas são verdadeiros subsistemas, com

(13)

Refinamento da Arquitetura Lógica

•Colaboração

com o padrão

Camadas

:

• Pacotes simples x Subsistemas:

• O pacote EstabelecimentoDePreços

não é um subsistema: apenas agrupa a fábrica e as estratégias usadas no estabelecimento de preços.

• O pacote Persistência,

MotorDeRegraPDVe Jesssão subsistemas: são mecanismos separados com responsabilidades coesasque funcionam.

Estereótipoque identifica um subsistema

Refinamento da Arquitetura Lógica

•Colaboração

com o padrão

Camadas

:

•Fachada:

• Padrão de acesso mais comum no caso de pacotes que representam subsistemas.

(14)

Refinamento da Arquitetura Lógica

•Colaboração

com o padrão

Camadas

:

•Fachada:

• Uma fachada não realiza o seu próprio trabalho, mas sim é a

consolidadora ou mediadora dos objetos do subsistema, que são os que realizam o trabalho.

• Outros pacotes não veem a implementação do subsistema, pois fica oculto atrás da fachada.

Refinamento da Arquitetura Lógica

•Colaboração

com o padrão

Camadas

:

•Fachada:

• Se a aplicação tem um pequeno número de operações é comum que a camada de Domínio tenha apenas um objeto fachada para a camada superior.

• Mas se tem muitas operações, com vários subsistemas, é comum pelo menos uma fachada para cada

(15)

Refinamento da Arquitetura Lógica

•Colaboração

com o

padrão

Camadas

:

•Fachada:

• Número de interfaces expostas para as camadas superiores.

Refinamento da Arquitetura Lógica

•Colaboração

com o padrão

Camadas

:

•Fachadas de sessão

e a camada de aplicação:

• Fachada de sessão: mantem os estados da sessão para

as operações de um caso de uso, em que cada instância

(16)

Refinamento da Arquitetura Lógica

•Colaboração

com o

padrão

Camadas

:

• Fachadas de sessão e a camada de aplicação

Refinamento da Arquitetura Lógica

•Colaboração

com o

padrão

Camadas

:

• O padrão GRASP Controlador descreve controladorespara chamadas de operação que partem das UIs.

(17)

Bibliografia

• Esta aula foi retirada dos seguintes livros/artigos:

• LARMAN, Craig. Utilizando UML e Padrões: uma

introdução à análise e ao projeto orientados a objetos e ao desenvolvimento iterativo. 3. ed. Porto Alegre:

Referências

Documentos relacionados

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Os roedores (Rattus norvergicus, Rattus rattus e Mus musculus) são os principais responsáveis pela contaminação do ambiente por leptospiras, pois são portadores

Feitiço do Segredo: deposita um segredo numa pessoa de confiança, essa pessoa fica deposita um segredo numa pessoa de confiança, essa pessoa fica sendo o "Fiel do sendo o

Este desafio nos exige uma nova postura frente às questões ambientais, significa tomar o meio ambiente como problema pedagógico, como práxis unificadora que favoreça

Distribuição espectral dos sistemas de iluminação LED e do controle Observa-se na Figura 12A, a análise de componentes principais, relacionado à biometria das mudas pré-brotadas

A respeito das propostas de desregulamentação nas relações de trabalho e da seguridade social no Brasil, percebidas tanto nas defesas do Banco Mundial quanto nas

e/ou em fundos de investimento que compram ativos financeiros negociados no exterior e, consequentemente, sua performance pode ser afetada por requisitos legais

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição