Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouKauã Borrego Alterado mais de 9 anos atrás
1
Projetar Arquitetura
2
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2 Objetivos Apresentar os passos necessários para realizar a atividade projetar arquitetura e discutir seus artefatos Apresentar o padrão de arquitetura em camadas Apresentar e exercitar o uso de padrões de projeto Apresentar o Padrão MVC Considerações sobre concorrência e distribuição
3
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Arquiteto de Informação Análise e Projeto OO com UML e Padrões| 3 Analisar Casos de Uso Revisar Projeto Projetar Arquitetura Projetista de Banco de Dados Arquiteto de Software Revisor de projeto Projetar Casos de Uso Projetar Subsistemas Projetar Base de Dados Analista de Sistemas Check List bla bla bla blabla Projetar classes Prototipar Interface gráfica Analisar Serviços Projetar Serviços
4
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 4 O que foi feito até agora Análise de caso de uso - para cada caso de uso: Identificação das classes de análise (fronteira, entidade e controle) Identificação das classes persistentes Distribuição do comportamento do caso de uso entre as classes Elaboração do diagrama de seqüência Geração do diagrama de colaboração Identificação das responsabilidades das classes Identificação dos atributos e relacionamentos
5
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 5 Objetivos desta atividade Avaliar o conjunto das classes de análise Definir elementos de projeto (classes de projeto, cápsulas e subsistemas) e organizá- los em pacotes Definir a estrutura da aplicação No final do projeto da arquitetura tudo deve estar pronto para que os projetistas possam detalhar as realizações dos casos de uso de maneira uniforme!
6
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 6 Visão geral dos artefatos Arquiteto Projetar Arquitetura Documento da Arquitetura Documento de Requisitos Mapeamento das Classes de Análise em Elementos de Projeto Modelo de Análise e Projeto (classes de projeto, cápsulas e subsistemas) Modelo de Análise e Projeto (classes de análise) Modelo de Casos de Uso
7
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 7 Passos para Projetar Arquitetura 1. Mapear classes de análise em elementos (classes, cápsulas e subsistemas) de projeto 2. Identificar oportunidades de reuso 3. Definir a estrutura da aplicação
8
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 8 Passo 1: Mapear classes de análise em elementos (classes, cápsulas e subsistemas) de projeto Identificar classes de projeto Identificar subsistemas Especificar a interface dos subsistemas Fazer o mapeamento 1 classe de análise pode dar origem a 0 ou mais elementos de projeto Mapeamento m : n
9
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 9 Identificando classes de projeto Uma classe de análise simples, que representa uma única abstração, é mapeada para uma única classe de projeto Exemplo: classes de entidade Classes de análise muito simples podem até ser combinadas em uma única classe de projeto Em geral, classes de análise complexas podem ser divididas em várias classes ou transformadas em um pacote ou subsistema
10
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 10 QIB – Identificando classes de projeto Classe Conta Tem duas responsabilidades distintas: controle de acesso e conta bancária Na realidade, modelam duas entidades diferentes A separação favorece o reuso Por exemplo, ContaCorrente é utilizado para clientes que não têm acesso à internet. 1 1
11
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 11 Identificando subsistemas Antes, vamos revisar alguns conceitos... Qual a diferença entre subsistemas e pacotes? Como se descreve o comportamento de um subsistema? Qual a grande vantagem associada aos subsistemas?
12
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 12 > Nome subsistema > Nome subsistema Atributos Realização Subsistemas e interfaces: notação Nome da interface Métodos > Nome da interface Atributos Métodos
13
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 13 Por que usar subsistemas? Subsistemas permitem dividir o sistema em partes independentes (que se tornarão componentes) Cada subsistema pode ser desenvolvido, testado e possivelmente implantado independentemente dos demais Um subsistema pode representar uma abstração (no projeto) de produtos ou sistemas externos que serão incorporados na implementação
14
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 14 Identificando subsistemas Classes de análise Classes de fronteira (interfaces com sistemas externos e com usuários) Classes que fornecem serviços complexos Componentes reusáveis Software de comunicação Suporte ao acesso a BD Estruturas de dados Bibliotecas de utilitários Produtos específicos da aplicação
15
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 15 > Subsistema X Identificando subsistemas Classe A Y() Z() Y() Z() > Interface A Classe complexa
16
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 16 Interface > nomeSubsistema FachadaSubsistema ISubSistema Além da interface, é destacada uma classe fachada de cada subsistema A classe fachada
17
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 17 Análise Projeto QIB – Efetuar Pagamento do Qualiti Card Identificando subsistemas > ComunicacaoOperadoraCartao enviar() > SubsistemaComunicacao OperadoraCartao ISubsistemaComunicacao OperadoraCartao enviar()
18
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 18 QIB – Efetuar Pagamento do Qualiti Card ISubsistemaComunicacao OperadoraCartao enviar() FachadaComunicacaoOperadoraCartao PagamentoCartao Contexto do subsistema ControladorPagamentoQualitiCard
19
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 19 Passo 2. Identificar oportunidades de reuso Internas ao sistema Similaridades entre pacotes e subsistemas Externas ao sistema Componentes disponíveis no mercado Componentes de aplicações já desenvolvidas Componentes que podem se tornar reusáveis para outros projetos
20
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 20 Identificando oportunidades de reuso A partir das interfaces de subsistemas ou componentes existentes analisar onde estes podem ser reutilizados Para um candidato a subsistema Procure interfaces similares (podendo requerer engenharia reversa de subsistemas existentes) Tente adaptar a interface nova às existentes, ou tornar as existentes mais gerais Substitua a interface nova por existentes
21
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 21 Passo 3. Definir a estrutura da aplicação Definir as camadas da aplicação Determinar o meio de armazenamento que será utilizado Agrupar as classes, cápsulas e protocolos em pacotes e especificar a fachada da aplicação
22
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 22 Definir as camadas da aplicação O arquiteto pode seguir um padrão já existente para estruturar a aplicação Se o arquiteto adotar uma estrutura diferente do padrão, deve descrevê-la no Documento da Arquitetura O arquiteto também pode definir novos padrões ou atualizar orientações já existentes
23
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 23 Estruturação em camadas Separação do código: interface com o usuário (GUI) comunicação regras de negócio acesso a dados Interface com o usuário (GUI) Comunicação Negócio Dados
24
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 24 Benefícios Modularidade: Dividir para conquistar Separação de conceitos Reusabilidade Extensibilidade Mudanças em uma camada não afetam as outras, desde que as interfaces sejam preservadas plug-and-play
25
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 25 Benefícios Uma mesma versão de uma camada trabalhando com diferentes versões de outra camada várias GUIs para a mesma aplicação vários mecanismos de persistência suportados pela mesma aplicação várias plataformas de distribuição para acesso a uma mesma aplicação
26
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 26 Camada de negócios Responsável por implementar a lógica do negócio Classes inerentes ao domínio da aplicação: classes básicas do negócio coleções de negócio fachada do sistema
27
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 27 Classes básicas do negócio Representam conceitos básicos do domínio da aplicação
28
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 28 Coleções de negócio Representam conjuntos de objetos das classes básicas Responsáveis pela inclusão, remoção, atualização e consultas a instâncias das classes básicas Encapsulam as verificações e validações inerentes ao negócio
29
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 29 Fachada do sistema Segue o padrão de projeto Facade Representa os serviços oferecidos pelo sistema Centraliza as instâncias das coleções de negócio e/ou controladores Gerencia as transações do sistema CadastroContasCadastroPagamentos Cartao CadastroContasFachadaCadastroPagamentos Cartao ControladorPagamento QualitiCard Fachada efetuarPagamentoQualitiCard()
30
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 30 Camada de dados Responsável pela manipulação da estrutura física de armazenamento dos dados Isolam o resto do sistema do meio físico usado Classes coleções de dados
31
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 31 Coleções de dados Executam inclusões, remoções, atualizações e consultas a instâncias das classes básicas no meio de armazenamento usado Implementadas de acordo com o meio físico usado RepositorioContasBDR
32
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 32 Coleções de dados Dependem do meio de armazenamento! RepositorioContasBDR RepositorioContasBDOO RepositorioContasArquivo
33
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 33 Independência do meio de armazenamento Como isolar as coleções de negócio de mudanças na coleção de dados correspondente? RepositorioContasBDRRepositorioContasArquivoCadastroContas > RepositorioContas
34
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 34 Interface negócio-dados Sugestão de serviços > RepositorioContas inserir(conta: Conta): void atualizar(conta: Conta): void remover(conta: Conta): void consultarConta(login: String): Conta
35
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 35 Juntando tudo - Visão geral da arquitetura GUI / Comunicação NEGÓCIO Interfaces negócio- dados DADOS Fachada TelaLogin TelaPagamentoQualitiCard ControladorLogin ControladorPagamentoQualitiCard CadastroPagamentosCartao... ContaInternet PagamentoCartao IRepositorioContasInternet IRepositorioPagamentosCartao RepositorioPagamentos CartaoBDR RepositorioPagamentos CartaoBDOO RepositorioContas InternetBDR RepositorioContas InternetArquivo CadastroContas Internet
36
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 36 QIB – Efetuar Login e Efetuar Pagamento do Qualiti Card Mapeamento entre análise e projeto Classes de AnáliseElementos de Projeto Fachada TelaMenu Data Hora ContaContaInternet ContaCorrente CadastroContas CadastroPagamentosCartaoCadastroTransacoes IRepositorioTransacoes RepositorioTransacoesBDR ComunicacaoOperadoraCartao SubsistemaComunicacaoOperadoraCartao ISubsistemaComunicacaoOperadoraCartao FachadaComunicacaoOperadoraCartao CadastroContasInternet IRepositorioContasInternet RepositorioContasInternetBDR CadastroContasCorrente IRepositorioContasCorrente RepositorioContasCorrenteBDR
37
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 37 QIB – Efetuar Login e Efetuar Pagamento do Qualiti Card Projeto da arquitetura Comprovante FachadaComunicacaoOperadoraCartao Hora Data PagamentoCartao numeroFatura contaBancaria valor RepositorioContas CorrenteBDR RepositorioContas InternetBDR RepositorioPagame ntosCartaoBDR ContaCorrente ContaInternet 1 1 1 1 IRepositorio ContasCorrente TelaLoginTelaMenuTelaPagamentoQualitiCard IRepositorio PagamentosCartao IRepositorio ContasInternet ControladorLogin CadastroContasCorrente 1 1 1 1 Fachada 1 0..n 1 1 1 1 1 1 1 1 ISubsistemaComunicacao OperadoraCartao CadastroPagamentosCartao 1 1 1 1 CadastroContasInternet 1 1 1 1 1 1 1 1 ControladorPagamentoQualitiCard 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
38
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 38 Exercício – Qualiti Internet Banking Dado: As classes de análise do caso de uso Realizar Doc A tabela de mapeamento e o projeto de arquitetura de Efetuar Login e Efetuar Pagamento do Qualiti Card Identificar para o Realizar Doc: subsistemas e suas interfaces elementos de projeto (classes e subsistemas) Produzir: Tabela mapeando as classes de análise nos elementos de projeto Diagrama de contexto dos subsistemas (opcional) Projeto da arquitetura com incluindo Realizar DOC
39
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 39 Agrupar as classes em pacotes À medida que os elementos de projeto são identificados, a complexidade do modelo vai aumentando Para organizá-lo, os elementos devem ser agrupados em pacotes As camadas guiam essa organização
40
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 40 Evite dependências cíclicas Critérios para definição dos pacotes Acoplamento e Coesão Agrupa as classes em bibliotecas Exemplo: cliente, conta, banco, util, etc. Distribuição – usuário Agrupa as classes por locais de implantação Exemplo: clienteRecife, clienteSaoPaulo, etc. Segurança Agrupa as classes por permissão de acesso Exemplo: gerência, programadores, etc.
41
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 41 Pacote Global Pode ser usado por todos os outros pacotes classes utilitárias Não é necessário explicitar as dependências
42
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 42 QIB – Efetuar Login e Efetuar Pagamento do Qualiti Card conta Organização de pacotes protocolos
43
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 43 QIB – Pacote conta IRepositorioContas Corrente > CadastroContasCorrente > 1 1 1 1 RepositorioContasCorrenteBDR ContaCorrente numero saldo getSaldo() debitar() > ContaInternet login senha > 1111 IRepositorioContasInternet > CadastroContasInternet > 1 1 1 1 RepositorioContasInternetBDR
44
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 44 QIB – Pacotes Dependência entre pacotes > util controladores GUI conta > subsistemaComunicaca o OperadoraCartao transacao ISubsistemaComunicacao OperadoraCartao protocolos
45
Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 45 Exercício – Qualiti Internet Banking Dado: Os elementos de projeto A estrutura definida para a aplicação Definir os pacotes da aplicação e os elementos que devem estar presentes em cada pacote (incluir os elementos do caso de uso Realizar DOC) Elaborar um diagrama mostrando as dependências entre pacotes (opcional
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.