Rossana Andrade Departamento de Computação Universidade Federal do Ceará. O que é? Como?
|
|
- Rui Guimarães
- 5 Há anos
- Visualizações:
Transcrição
1 Rossana Andrade Departamento de Computação Universidade Federal do Ceará Oferecer uma visão geral sobre os conceitos de padrões de software Explicar a terminologia Apresentar exemplos de padrões de software Apresentar exemplos de classificação de padrões e de reuso de padrões Não pretende exaurir o assunto Copyright Rossana Andrade Slide 1 Copyright Rossana Andrade Slide 2 Padrões de Software Diferentes Definições Um pouco da história Componentes Padrões como uma Peça ou Estória Diferentes Formatos GoF Coplien Exemplos Classificação Comunidade e Ética Reuso Copyright Rossana Andrade Slide 3 O que é? Nova categoria de conhecimento Conhecimento não é novo, mas falar sobre ele é Objetivo: conhecer o que você já conhece Como? Partindo de problemas e soluções recorrentes em diferentes áreas do conhecimento Copyright Rossana Andrade Slide 4
2 Aplicação Arquitetura Ciência da Computação Engenharia de software Engenharia Mecânica Telecomunicações... Copyright Rossana Andrade Slide 5 Por que padrões de software? engenheiros de software não iniciam o seu projeto do nada ao contrário, nós reutilizamos idéias que já vimos antes as mesmas técnicas são utilizadas repetitivamente a indústria de software necessita documentar o que nós fazemos Copyright Rossana Andrade Slide 6!! " Um padrão é uma entidade que descreve um problema que ocorre repetidamente em um ambiente e então descreve a essência da solução para este problema, de tal forma que você use esta solução milhões de vezes, sem nunca utilizá-la do mesmo modo, Christopher Alexander!!" Um padrão é um pedaço de literatura que descreve um problema de projeto e uma solução geral para o problema num contexto particular, James Coplien Copyright Rossana Andrade Slide 7 Copyright Rossana Andrade Slide 8
3 !!" Um padrão é uma solução provada para um problema em um contexto, Comunidade de Software #$ %&' ( Object-Oriented (OO) Metade do anos 80 Padrões de software emergiram de objetos Ward Cunningham and Kent Beck 1987: linguagem de padrões para interface de usuário James Coplien 1988: idioms Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides : Padrões de projeto (Design Patterns) Copyright Rossana Andrade Slide 9 Copyright Rossana Andrade Slide 10 #$ %&' ( Peter Coad Desde 1991 explora padrões The Hillside Group 1993: tentativa de montar as primeiras bases para padrões de software Idéias de Alexander integradas aos padrões de projeto da GoF 1994: The first Pattern Languages of Programming (PLoP) conference OOPSLA 94: livro da GoF é lançado Padrões de projeto: foco em OO Copyright Rossana Andrade Slide 11 $ ) Escritos na forma literária Não apenas documentação Diferentes formatos GoF, Alexandrian, Coplien, Cockburn, Portland Componentes essenciais nome, contexto, problema, solução e usos conhecidos Outros componentes importantes forças, contexto resultante, padrões relacionados, autor e data Copyright Rossana Andrade Slide 12
4 $ ) &%$ * Nome Uma palavra ou uma frase curta É a primeira coisa que o projetista9 encontra quando procura uma solução Nomes de padrões devem se tornar parte do vocabulário do domínio Iniciantes procuram nomes que descrevem o problema ou sua solução Os nomes do padrões da GoF são analogias Bridge, facade, mediator, entre outros $ ) &%$ * Contexto Quando considerar o padrão Ajuda a ter uma visão abrangente de onde o problema surge expressando o seu início, a sua essência e o seu corpo É difícil escrever um bom contexto Inclui um histórico dos padrões que têm sido aplicados antes aplicável às linguagens de padrões) Copyright Rossana Andrade Slide 13 Copyright Rossana Andrade Slide 14 $ ) &%$ * Problema Quando utilizar o padrão Problema a ser resolvido descrito claramente Expresso por uma simples pergunta ou por uma formulação resumida do problema Geralmente a primeira coisa que um procuradorpor-solução observa Um entendimento do problema vem da análise das forças $ ) &%$ * Solução O que fazer para resolver o problema Deve descrever claramente o que é necessário para resolver o problema Três tipos Uma solução que pode ser usada para todas as ocorrências do problema Uma solução que pode ser melhorada E uma solução que vai ser refinada nos níveis de projeto e implementação de diferentes formas Copyright Rossana Andrade Slide 15 Copyright Rossana Andrade Slide 16
5 $ ) &%$ * Usos Conhecidos Exemplos de aplicações do padrão em sistemas reais Pelo menos 3 usos conhecidos Regra de 3 %$ )+$ ) %$ * Forças O padrão é um balanço de forças/conseqüências Considerações positivas ou negativas a serem avaliadas a fim de mostrar que a solução apresentada é a melhor mostrar por que a solução mais óbvia é errada mostrar porque o problema é difícil de se resolver Copyright Rossana Andrade Slide 17 Copyright Rossana Andrade Slide 18 %$ )+$ ) %$ * Contexto Resultante É a conclusão do padrão O estado ou a configuração do sistema depois da aplicação do padrão, incluindo as consequências (boas e ruins) O contexto resultante de um padrão é a entrada para os padrões seguintes Aplicável para linguagens de padrões %$ )+$ ) %$ * Padrões Relacionados Como o padrão está relacionado com outros padrões que se referem ao mesmo problema Com que outros padrões este pode ser usado Copyright Rossana Andrade Slide 19 Copyright Rossana Andrade Slide 20
6 &$ %$ )"%( Analogia de Robert Hanmer Contexto: o cenário Problema: o tema Forças: desenvolvendo o conflito Solução: catarse, a moral da peça Contexto Resultante: eles viveram felizes para sempre ou deixando espaço para a seqüência Motivação: a discussão no bar ou no café depois da peça,$,%-, Nome do Padrão e Classificação Analogias Padrões de criação, de estrutura e de comportamento Intenção Breve descrição do problema e da solução Também Conhecido Como Motivação Exemplo de protótipo Aplicabilidade Problema, forças e contexto Copyright Rossana Andrade Slide 21 Copyright Rossana Andrade Slide 22,$,%, Estrutura Participantes Solução Colaborações Conseqüências forças Implementação Solução Código Exemplo Usos Conhecidos Padrões relacionados Copyright Rossana Andrade Slide 23, $ ). Nome Contexto Problema Forças Solução Sketch Desenhos ou Diagramas Contexto Resultante Rationale Mostra por que o padrão é útil Mostra a importância dos princípios atrás dos padrões Copyright Rossana Andrade Slide 24
7 #$ /$ ).%$ $ * Nome: Half-Object + Protocol (HOPP) Problema: Às vezes um objeto deve aparecer em mais de um espaço de endereçamento. Como nós podemos fazer a diferença entre um espaço e múltiplos espaços de endereçamento de forma transparente? Forças: Complexidade, Distribuição, Disponibilidade de Informação, Custo e Performance Copyright Rossana Andrade Slide 25 #$ /$ ).%$ $ * Solução Divida o objeto em dois objetos-metade, um em cada espaço de endereçamento, com um protocolo entre eles Em cada espaço de endereçamento, implemente a funcionalidade para interagir eficientemente com os outros objetos naquele espaço de endereçamento (isto pode resultar em funcionalidade duplicada, ou seja, funções implementadas em ambos espaços de endereçamento) Copyright Rossana Andrade Slide 26 #$ /$ ).%$ $ * Solução (Cont.) Defina o protocolo entre os dois objetosmetade de tal forma que ele coordene as atividades dos dois objetos-metade e carregue a informação essencial que necessita ser passada entre os espaços de endereçamento #$ /$ ).%$ $ * Sketch Diagrama UML para uma aplicação de FTP Copyright Rossana Andrade Slide 27 Copyright Rossana Andrade Slide 28
8 #$ /$ ).%$ $ * Sketch Diagrama FTP com a aplicação do HOPP Copyright Rossana Andrade Slide 29 #$ /$ ).%$ $ * Usos Conhecidos Sistemas de Telefonia: half-call IBM s VisualAge Ultra Light Client Padrões Relacionados padrões para o projeto de protocolos Message as Object, Message Parameter as Object Mecanismos para tratar a criação e recepção da mensagem Information collection e Formatting Parsing e Handling Copyright Rossana Andrade Slide 30 /$ ). Web Handlers Padrões de Interface Gráfica Linguagem Tropyc Padrões XML.&"* Padrões de Requisitos Padrões de Análise Padrões de Projeto Meta-Patterns Padrões Arquitetônicos Idiomas Copyright Rossana Andrade Slide 31 Copyright Rossana Andrade Slide 32
9 .&"* Padrões de Requisitos Padrões de Análise Padrões Arquiteturais Meta-Padrões Padrões de Projeto Idiomas Requisitos Análise Projeto Implementação 0 1% Documentam as necessidades do usuário e o comportamento genérico do sistema em um alto nível de abstração Ações que os desenvolvedores de software podem tomar para melhorar os requisitos não-funcionais Mostram os relacionamentos entre o usuário ou o operador e o sistema Copyright Rossana Andrade Slide 33 Copyright Rossana Andrade Slide 34 01% Fault-tolerant telecommunication patterns Visa a manutenção dos sistemas de comutação Medidas apropriadas para serem tomadas no estágio de desenvolvimento de requisitos Padrões relacionados a confiabilidade (mensagens do sistema e falhas do sistema) Five minutes of no escalation messages Padrões relacionados aos fatores humanos Copyright Rossana Andrade Slide Inicialmente apresentados como complementos aos padrões de projeto Um passo antes do projeto Modelo de análise que focaliza nas estruturas conceituais Padrões de análise do Martin Fowler Domínio de conhecimento de software de negócios Party, quantity, subtype state machines, entre outros Copyright Rossana Andrade Slide 36
10 2. Party Problema: pessoas e organizações têm responsabilidades semelhantes Solução: Crie um tipo party como um supertype de uma pessoa ou organização Copyright Rossana Andrade Slide 37 Estrutura repetida de elementos de projeto Um esquema para o refinamento de subsistemas ou de componentes de sistemas ou as relações entre eles....resolvem um problema geral de projeto num contexto particular., GoF Padrões de projeto que incluem detalhes de código de baixo nível Aplicados a diferentes tipos de problemas Padrões Arquitetônicos e Meta-Padrões podem ser considerados Padrões de Projeto. Copyright Rossana Andrade Slide 38 +$ Relacionados com a implementação de características de projeto específicas Padrão de baixo nível específico para uma linguagem de programação Idiomas em C++ C++ Programming Styles and Idioms, James Coplien, $ Nome: Counted Body Contexto: A interface de uma classe é separada de sua implementação (respectivamente, classes handle e body) Problema: atribuição em C++ é definida recursivamente como membro-por-membro com cópia quando a recursão termina Solução: Um contador de referência é adicionado à classe body para facilitar o gerenciamento de memória Autor e data: James Coplien, 1994 Copyright Rossana Andrade Slide 39 Copyright Rossana Andrade Slide 40
11 $ % Uma hierarquia de workshops de escritores Grupos de leitura local Grupo Hillside Livros com os artigos da conferência Conferências PLoP ao redor do mundo 3&4.. EuroPLoP 2002 Copyright Rossana Andrade Slide 41 Copyright Rossana Andrade 5 & Regra de Buschmann: nunca capture suas próprias idéias em um padrão Não pense que padrões resolvem tudo Tente sempre encorajar as pessoas a repassar os conhecimentos Sempre reconheça aqueles que criaram as técnicas ou que primeiro se empenharam a escrever sobre elas Não fique tão excitado! Padrões são apenas mais uma técnica para ajudá-lo no desenvolvimento de software Copyright Rossana Andrade Slide 43 0% Conheça os padrões estão disponíveis Catálogo de padrões de 2000 Escolha aquele que satisfaz as suas necessidades Um padrão é difícil de entender se você não necessita dele Apenas tenha uma visão geral Utilize o vocabulário dos padrões em revisões e sessões de projeto Copyright Rossana Andrade Slide 44
12 0% GoF Bastante utilizado entre a comunidade de software Core J2EE Pattern Catalog Padrões Arquiteturais Frank Bushmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal (Gang of Five) Copyright Rossana Andrade Slide 45 Creational patterns Abstract factory Builder Factory method Prototype Singleton,! Structural patterns Adapter Bridge Composite Decorator Facade Flyweight Proxy Behavioral Patterns Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor Copyright Rossana Andrade Slide &&%. Presentation Tier Intercepting Filter Front Controller View Helper Composite View Service to Worker Dispatcher View Business Tier Business Delegate Service Locator Session facade Transfer Object Transfer Object Assembler Value List Handler Composite Entity Integration Tier Data Access Object Service Activator Copyright Rossana Andrade Slide 47 From Mud to Structure Layers Pipes and Filters Blackboard Distributed Systems Broker Pipes and Filters Microkernel Interactive Systems Model-View- Controller Presentation- Abstraction- Control Adaptable Systems Reflection Microkernel Copyright Rossana Andrade Slide 48
13 ).& Empresas IBM, John Vlissides e Erich Gamma Design Patterns Lucent, Jim Coplien e Linda Rising Organizational Patterns Nortel, Greg Utas Sistemas de Telefonia Carleton University Teaching Patterns Copyright Rossana Andrade Slide % SugarloafPLoP 2002 Airline Computer Reservation Systems Engenharia Reversa de Demeyer Uma ferramenta para Reuso: AGAP Análise do Reuso de Padrões Captura de Padrões Copyright Rossana Andrade Slide $ " Página de Padrões do Grupo Hillside Apontadores para listas, livros, arquivos ftp, padrões on-line, conferências, entre outros Listas Gang-of-4-patterns-request@cs.uiuc.edu Patterns-request@cs.uiuc.edu Patterns-discussion-request@cs.uiuc.edu Repositório de Padrões Portland GREaT Patterns padroes.lia.ufc.br Copyright Rossana Andrade Slide 51 $ %$ Arquitetos experientes não têm consciência que utilizam padrões Bons para compartilhar informação e capturar conhecimento Padrões funcionam como uma porta para troca de experiências Pode ajudar novos desenvolvedores a aprenderem com os mais experientes Copyright Rossana Andrade Slide 52
14 $ %$ Vocabulário Comum Padrões dão uma competência arquitetural de organização Você deve reutilizar padrões Em busca de uma melhoria no desenvolvimento de software Copyright Rossana Andrade Slide & [1] Andrade, R.M.C, Capture, Reuse, and Validation of Requirements and Analysis Patterns for Mobile Systems, Ph.D. Thesis, University of Ottawa, Ottawa, [2] Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl- King, I., and Angel, S., A Pattern Language: Towns, Buildings, Construction, Oxford University Press, New York, NY, [3] Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M., Pattern-Oriented Software Architecture, John Wiley and Sons, New York, NY, [4] Coplien, J. O., Software Patterns, SIGS books and Multimedia, June [5] Fowler, M., Analysis Patterns: Reusable Object Models, Addison- Wesley, Reading, MA, Copyright Rossana Andrade Slide 54 03& 1%9(:.; [6] Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns: Element of Reusable Object-Oriented Software, [7] Pattern Languages of Program Design I, II, III & IV; Patterns from the PLoP Conference at Allerton Park in Illinois, US and EuroPLoP in Europe; Addison-Wesley, [8] Rising, Linda, Patterns: A Way to Reuse Expertise, IEEE Communications Magazine, Vol. 37, No. 4, April [9] Rising, Linda, The Pattern Almanac 2000, Software Pattern Series, Addison-Wesley, ISBN [10] Schmidt, D., Tutorial about Design Patterns, Available at [11] Yoder, Joseph, Tutorial Software Patterns, SugarloafPLoP 2002, Itaipava, Rio de Janeiro, RJ. Copyright Rossana Andrade Slide 55 Copyright Rossana Andrade Slide 56
Padrões de Software. Objetivos Gerais. O que são Padrões
Padrões de Software Rossana M. C. Andrade rossana@lia.ufc.br Departamento de Computação Universidade Federal do Ceará Objetivos Gerais Oferecer uma visão geral sobre os conceitos de padrões de software
Leia maisAnálise e Projeto. Padrões de Análise, Arquitetura e Projeto
Análise e Projeto Padrões de Análise, Arquitetura e Projeto 33 Padrões de Arquitetura Padrões Nome do padrão Problema: quando aplicar o padrão? Descreve o problema e seu contexto. Solução: elementos que
Leia maisPadrões contexto problema solução
Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.
Leia maisMas o que é mesmo Padrão de Projeto?
Mas o que é mesmo Padrão de Projeto? Um Padrão de Projeto descreve uma solução comprovada para um problema recorrente e conhecido no desenvolvimento de software orientado a objetos. Mas afinal, porque
Leia maisTópicos Avançados em Linguagem de Programação. Padrões de Software. Prof. Alexandre Vidal DEINF-UFMA. Ciência da Computação
Tópicos Avançados em Linguagem de Programação Prof. Alexandre Vidal DEINF-UFMA Ciência da Computação Patterns (padrões) Compõem uma disciplina da Engenharia de Software voltada para a resolução de problemas
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça. Introdução. Padrões de projeto
Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça Introdução Padrões de projeto Algumas definições... Um padrão de projeto (design pattern) é uma solução geral reutilizável
Leia mais15/09/2014. Aula 01: Apresentação. Review to 1 st Exam. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02
Software Reuse Lecture 13 Aula 01: Apresentação Review to 1 st Exam Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 15 September 2014 Bibliografia Método de avaliação Provas
Leia maisAula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02
Reutilização de Software Aula 13 Aula 01: Apresentação Revisão para Prova 1 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 23 Setembro 2013 Bibliografia Método de avaliação
Leia maisRoni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná
Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Reuso Motivações para reutilização de software Aspecto econômico Produtividade Time to market Qualidade Utilização de artefatos (código,
Leia maisArquitectura de Sistemas de Software
Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Arquitectar... Arquitectar uma pequena cabana
Leia maisINF011 Padrões de Projeto Introdução
INF011 Padrões de Projeto 01 - Introdução Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação
Leia maisPadrões de Projeto. Parte 1. Prof. Fellipe Aleixo
Padrões de Projeto Parte 1 Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Padrões de Projeto de Software OO Também conhecidos como Padrões de Projeto de Software OO ou simplesmente como Padrões A Inspiração
Leia maisPadrões de Projeto de Software
Padrões de Projeto de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Introdução O que é? Como descrever? Principais Padrões de Projetos Unidade 2 Padrões GoF PADRÕES CRIAÇÃO Abstract Factory
Leia maisPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho
Leia mais" ##$#$!% # & #$#$ !!!!"!
" ##$#$!% # & #$#$ Abstract Factory, Builder, Singleton, Factory Method, Prototype, Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Chain of Responsability, Command, Interpreter, Iterator,
Leia maisMódulo I Princípios e Padrões de Projeto de SW em Java
Módulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br
Leia maisPadrões de Projeto de Software
Padrões de Projeto de Software Lista de Exercícios AV2-01 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Qual o objetivo dos padrões Comportamentais, segundo o catálogo GOF? Questão 1 Resposta
Leia maisArquitectura de Sistemas de Software
Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Revisões Arquitectura de Sistemas de Software,
Leia maisDesenho e documentação de arquitectura de software e de aplicações empresariais
Desenho e documentação de arquitectura de software e de aplicações empresariais João Pascoal Faria Laboratório de Engenharia de Software 10 de Novembro de 2003 1 Definição de arquitectura de software Arquitectura
Leia maisPadrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões
DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para
Leia maisProf.ª Esp. Talita Pagani
Especialização em Engenharia de Software Prof.ª Esp. Talita Pagani talita.cpb@gmail.com @talitapagani 21/02/2014 Design Patterns Aula 1 Prof.ª Esp. Talita Pagani 1 Informações gerais 1. Definição de Design
Leia maisSISMO - Sistemas e Mobilidade Departamento de Informática / UFMA. Junho de 2008
Introdução SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Compõem uma disciplina da Engenharia de Software voltada para a resolução de problemas
Leia maisBibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa
BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa Dairton Bassi, Kelly Braghetto, Eduardo Colli, Fabio Kon, João Eduardo Ferreira Instituto de Matemática e Estatística Universidade
Leia maisPadrões de Design Orientado a Objetos Design Patterns. Jorge H. C. Fernandes DI-UFPE, Junho de 1999
Padrões de Design Orientado a Objetos Design Patterns Jorge H. C. Fernandes DI-UFPE, Junho de 1999 Padrões de Design Bibliografia Design Patterns: Elements of Reusable Object- Oriented Software. Gamma,
Leia maisAgenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software
Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais
Leia maisEngenharia de Software
Engenharia de Software Projeto e Implementação Padrões de Projeto Msc. Carlos Mar 04/2014 REVISÃO: ORIENTAÇÃO A OBJETOS Msc. Carlos Mar - Abr/2014 Conceitos Fundamentais Classe Objeto Atributos Métodos
Leia maisPadrões de Projeto. Conteúdo. Objetivos
Padrões de Projeto Conteúdo O que são Padrões de Projeto? Para que servem? Vantagens/Desvantagens, Pontos Fortes/Fracos Exemplos e Alternativas Objetivos Conhecer diferentes padrões; Entender sua utilidade;
Leia maisPadrões de Software (Software Patterns)
Padrões de Software (Software Patterns) Cleidson de Souza - cdesouza@ufpa.br Departamento de Informática Universidade Federal do Pará Agenda! Definição! Histórico! Motivação! Exemplo Estratégia MVC! Forma
Leia maisUma Proposta para a Integração de Modelos de Padrões de Software com Ferramentas de Apoio ao Desenvolvimento de Sistemas
Universidade Federal do Ceará Departamento de Computação Mestrado em Ciência da Computação Dissertação de Mestrado Uma Proposta para a Integração de Modelos de Padrões de Software com Ferramentas de Apoio
Leia maisAbstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy
Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State
Leia maisPadrões de Software (Software Patterns)
Padrões de Software (Software Patterns) Cleidson de Souza - cdesouza@ufpa.br Departamento de Informática Universidade Federal do Pará Agenda! Definição! Histórico! Considerações! Forma de um Padrão! Exemplo!
Leia maisArquitectura de Sistemas de Software
Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Arquitectar... Arquitectar uma pequena cabana
Leia maisAgenda. Padrões de Projeto para Sistemas Web. Introdução. Padrões. Referências. Misael Santos e Rossana Andrade
Padrões de Projeto para Sistemas Web Misael Santos e Rossana Andrade misael@lia.ufc.br Universidade Federal do Ceará Jan/2003 1 Agenda Introdução Servlets Padrões Web Interceptor Web Handlers Web Compiler
Leia maisDIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA
DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA DEPARTAMENTO DE CIÊNCIAS EXATAS CÓDIGO: EXA836 DISCIPLINA: PADRÕES E FRAMEWORKS CARGA HORÁRIA: 60h EMENTA: Padrões e anti-padrões
Leia maisDesign Patterns. Viviane Torres da Silva
Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2010.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 11 Padrões GoF (Bridge e Decorator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton
Leia maisUma Proposta de um Repositório de Padrões de Software Integrado ao RUP 1
Uma Proposta de um Repositório de Padrões de Software Integrado ao RUP 1 Fabiana Marinho *, Misael Santos, Rute Nogueira Pinto e Rossana Andrade * Instituto Atlântico, Rua Chico Lemos, 94, 660822-780,
Leia maisLaboratório de Desenvolvimento de Software
Laboratório de Desenvolvimento de Software FEUP/MIEIC, 2010/11 Nuno Flores nuno.flores at fe.up.pt Rosaldo Rossetti rossetti at fe.up.pt Filipe Correia filipe.correia at fe.up.pt http://paginas.fe.up.pt/~nflores/dokuwiki/doku.php?id=teaching:1011:ldso
Leia maisTópico 8: Arquitetura, Padrões, Frameworks e MDA
PU-Rio Tópico 8: Arquitetura, Padrões, Frameworks e MDA Luiz Antônio M. Pereira lpereira@uninet.com.br PU-Rio Agenda Arquitetura de Software Padrões e Frameworks Introdução Padrões de projeto Frameworks
Leia maisArquitectura de Sistemas de Software
Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2004/2005 1 Arquitectar... Arquitectar uma pequena cabana
Leia maisProjeto de software Estrutura do software e arquitetura SWEBOK
Projeto de software Estrutura do software e arquitetura SWEBOK SWEBOK Design Patterns Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas da engenharia Design
Leia maisPadrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson
Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 17 Padrões de Design Singleton Facade Factory Method Observer Strategy
Leia maisModulo I Princípios e Padrões de Projeto de SW em Java
Modulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br
Leia maisCurso - Padrões de Projeto Módulo 1: Introdução
Curso - Padrões de Projeto Módulo 1: Introdução Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação
Leia maisMódulo III Padrões GOF
Módulo III Padrões GOF Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Introdução aos
Leia maisTópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico
Reuso de Software Aula 03 Tópicos da Aula POO e Padrões de Projetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 12 Março 2012 Programação orientada a objetos Reuso de
Leia maisTecnologias Atuais de. Desenvolvimento de Software
Tecnologias Atuais de Desenvolvimento de Software Arquitetura, Padrões, Frameworks e MDA Prof. Luiz Antônio lpereira@uninet.com.br Agenda Arquitetura de Software Patterns e Frameworks Introdução Padrões
Leia maisArquitetura de Software Introdução. Por quê? O que? Como? Onde? e Quem?
Arquitetura de Software Introdução Por quê? O que? Como? Onde? e Quem? Síntese Arquitetura de software é o caminho para: conectar as metas de negócios ao que iremos construir obter alinhamento organizar
Leia maisArquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação
Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação Ademar Aguiar Universidade do Porto & INESC Porto ademar.aguiar at fe.up.pt FEUP
Leia maisEstilos Arquiteturais. Prof. Fellipe Aleixo
Estilos Arquiteturais Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Como Definir Arquiteturas? Dois tipos de elementos podem ser utilizados para a definição de uma arquitetura: Componentes à blocos
Leia maisProgramação Orientada a Objetos. Padrões de Criação
Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc. Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified
Leia maisArquitectura de Sistemas de Software
Ou um prédio de 6 andares... Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Arquitectura de
Leia maisPrincípios de Engenharia de Software Resumo 8 Semana 8 Versão: 1.0 Data: 05/10/04
Alunos: Ariane Bueno 0114784-9 Elaine A. de Carvalho 0114633-1 Gabriel Ramos 0114838» O QUE APRENDI ASSUNTO: ARQUITETURA ASSUNTO: Notas de aula referentes às aulas de 30/09/04, Arquitetura de Software(Shaw),
Leia maisPadrões de Projeto de Software
Padrões de Projeto de Software Introdução Paulo Gomide Departamento de Ciência da Computação Universidade de Itaúna Motivação Introdução Por que Padrões? Por que Padrões de Projeto? O que é um Padrão de
Leia maisTópicos Especiais em Informática Fatec Indaiatuba
Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba O que tem a ver isso com Programação? Imagine que uma pessoa tenha aprendido diversas técnicas de pintura. A partir desse conhecimento, ela saberá como pegar
Leia maisProgramação Orientada a Objetos. Padrões Estruturais
Programação Orientada a Objetos Padrões Estruturais Cristiano Lehrer, M.Sc. Classificação dos Padrões de Projeto Propósito o que o padrão faz: Padrões de criação: abstraem o processo de criação de objetos
Leia maisPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho
Leia mais31/05/ : Software Visualization. Review to 2 nd Exam. System as a City. Polymetric View. View Crosscutting Concerns.
Software Quality and Measurement Lecture 25 14: Software Visualization Review to 2 nd Exam Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo ese.dcc@gmail.com 1 June 2015 Evaluating the design with
Leia maisPadrões de Análise. Martin Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley, Osvaldo Kotaro Takai João Eduardo Ferreira
Padrões de Análise Martin Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley, 2000 última atualização: agosto 2005 Osvaldo Kotaro Takai João Eduardo Ferreira Capítulo 1 - Introdução Modelos
Leia maisArquitetura de Software visão emergente
Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais
Leia maisSoluções reutilizáveis para situações ou problemas encontrados comumente em desenvolvimento de software orientado a objetos.
Padrões de Projeto O que são? Soluções reutilizáveis para situações ou problemas encontrados comumente em desenvolvimento de software orientado a objetos. Livros Design Patterns: Elements of Reusable Object-
Leia maisDesign Pattern Implementation in Java and AspectJ
Design Pattern Implementation in Java and AspectJ Jan Hannemann Gregor Kiczales In Proceedings of 2002 ACM SIGPLAN conference on OOPSLA. NY, USA. Introdução 2 Introdução 3 Introdução 4 Introdução 5 Introdução
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 10 Padrões GoF (Protoype e Façade) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton
Leia maisPadrões de Design. Jair C Leite
Padrões de Design Jair C Leite Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva
Leia maisJ930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org)
Padrões de J930 Projeto Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas
Leia mais1Introdução Helder da Rocha (helder@acm.org)
J930 Padrões Projeto de 1Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas
Leia maisOrganizando Processos de Requisitos
Organizando Processos de Requisitos Soeli T. Fiorini Julio Cesar Sampaio do Prado Leite Carlos José Pereira de Lucena soeli,julio,lucena@inf.puc-rio.br Pontifícia Universidade Católica do Rio de Janeiro
Leia maisPadrões. Arquitetura de Software Thaís Batista
Padrões Endereçam uma classe de problemas recorrentes e apresenta uma solução para eles (podem ser considerados um par problema-solução) Permitem a construção de software com propriedades definidas Ajudam
Leia maisProf. Dr. Dilermando Piva Jr. Fatec Indaiatuba
Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba Imagine que uma pessoa tenha aprendido diversas técnicas de pintura. A partir desse conhecimento, ela saberá como pegar um pincel, como misturar as cores
Leia maisProgramação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos
Programação Avançada Padrões de Projeto de Software 1 Fonte: Oswaldo B. Peres e K19 Treinamentos Introdução Projetar software OO reusável e de boa qualidade é uma tarefa difícil; Para realizar essa tarefa
Leia maisPadrões de Projeto de Software
Padrões de Projeto de Software Lista de Exercícios AV1 01 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Dentre as alternativas abaixo identifique a que NÃO define uma situação em que deve
Leia maisPadrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br
Padrões GoF Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução Padrões de Criação Padrões de Estrutura Padrões de comportamento Leonardo Murta Padrões GoF 2 Introdução Os padrões GoF (Gamma
Leia maisAs Visões. Visões arquiteturais (revisão)
As 4 + 1 Visões Jair C Leite Visões arquiteturais (revisão) Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da engenharia.
Leia maisTestes com Design Patterns
Helder da Rocha (helder.darocha@gmail.com) 31 de março de 2005 71. Que padrão de design pode ser usado para permitir que uma implementação específica e uma hierarquia de abstrações possa variar independentemente?
Leia maisDefinindo um padrão para arquitetura Web
Definindo um padrão para arquitetura Web Padrões de Projeto Soluções reutilizáveis para situações ou problemas encontrados comumente em desenvolvimento de software orientado a objetos. Livros Design Patterns:
Leia maisDesign Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1
Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares Aula 1 - Apresentação Ementa Definição de arquitetura de software. Importância e impacto
Leia maisAula 1: Apresentação. Revisão para Prova 1. Aula 2: Motivação. O que é software? Eng. de Software em Camadas. O que é Engenharia de Software?
Engenharia de Software Aula 15 Aula 1: Apresentação Revisão para Prova 1 Livro Datas Monitoria Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 22 Abril 2013 Avaliação Agenda do Curso
Leia maisPATI-MVC: Padrões MVC para Sistemas de Informação. Gabriela T. De Souza Instituto Atlântico
PATI-MVC: Padrões MVC para Sistemas de Informação Gabriela T. De Souza gabi@atlantico.com.br Instituto Atlântico Carlo Giovano S. Pires cgiovano@atlantico.com.br Instituto Atlântico Márcio de Oliveira
Leia maisb) Adapter, Bridge e Composite. c) Builder, Prototype e Singleton. d) Façade, Command e Decorator. e) Factory Method, Interpreter e Template Method.
1) Considere os diagramas de classes de análise fornecidos nos itens (a) e (b) abaixo, ambos de acordo com a notação da UML. Esses diagramas desejam representar o fato de que uma conta bancária pode estar
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 09 Padrões GoF (Adapter e Composite) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton
Leia maisArquitectura de Sistemas de Software
Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Seminários Arquitectura LEIC, de 30 Sistemas de Outubro de Software, de 2002 LEIC/MEI, 2003/2004 1 Abstract
Leia maisPadrões. Identificando padrões
Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.
Leia maisMAC Tópicos de P.O.O.
MAC 5715 - Tópicos de P.O.O. Anti-Padrão de Desenvolvimento: Será um padrão? Diego Tarábola tarabola@gmail.com Denise Goya dhgoya@ime.usp.br Historinha-evidência Esta implementação de Singleton [2] faz
Leia maisProgramação com Objectos 2º Teste Tipo 1º Semestre (120 minutos)
1/8 Programação com Objectos 2º Teste Tipo 1º Semestre (120 minutos) Nome: Primeira Parte (7 valores) PERGUNTA NOTA 1.1.1 1.1.2 1.1.3 1.2 1.3 1.4 Segunda Parte (3 valores) PERGUNTA RESPOSTA 2.1 2.2 2.3
Leia maisPROJETO DE ARQUITETURA
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:
Leia maisArquitetura de Sistemas
Arquitetura de Sistemas Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society Projeto Arquitetural Modelos mentais
Leia maisHélio Engholm Jr. Novatec
Hélio Engholm Jr. Novatec Copyright 2013 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer
Leia maisPadrões de Desenho (Design Patterns)
Padrões de Desenho (Design Patterns) O que são padrões de desenho Porque são úteis Conhecer alguns padrões 1 Padrões (Patterns) Design Patterns Explained: A New Perspective on Object-Oriented Design, Alan
Leia maisEnglish version at the end of this document
English version at the end of this document Ano Letivo 2016-17 Unidade Curricular PROGRAMAÇÃO ORIENTADA POR OBJETOS Cursos ENGENHARIA ELETRÓNICA E TELECOMUNICAÇÕES (Mestrado Integrado) ENGENHARIA INFORMÁTICA
Leia maisPADRÕES DE PROJETO: DESIGN PATTERNS
PADRÕES DE PROJETO: DESIGN PATTERNS Jaime William Dias 1, Danilo Venturini 1, William Macxuel Muniz 1, Rodrigo Niehues Chagas 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil danilo_tr98@hotmail.com,
Leia mais