Itil e cobit

Disponível somente no TrabalhosFeitos
  • Páginas : 12 (2759 palavras )
  • Download(s) : 0
  • Publicado : 7 de janeiro de 2012
Ler documento completo
Amostra do texto
Argo Navis J930 - Padrões de Design

1 - Introdução

J930

Padrões de

1

Projeto
Introdução
argonavis.com.br

Helder da Rocha (helder@acm.org)

O que é um padrão?
• Maneira testada ou documentada de alcançar um objetivo qualquer
•Padrões são comuns em várias áreas da engenharia

• Design Patterns, ou Padrões de Projeto
• Padrões para alcançar objetivos na engenharia desoftware usando classes e métodos em linguagens orientadas a objeto • Inspirado em "A Pattern Language" de Christopher Alexander, sobre padrões de arquitetura de cidades, casas e prédios •"Design Patterns" de Erich Gamma, John Vlissides, Ralph Jonhson e Richard Helm, conhecidos como "The Gang of Four", ou GoF, descreve 23 padrões de projeto úteis.
2

© 2003, Helder L. S da Rocha

1-1

ArgoNavis J930 - Padrões de Design

1 - Introdução

O que é um padrão?
"Cada padrão descreve um problema que ocorre repetidas vezes em nosso ambiente, e então descreve o núcleo da solução para aquele problema, de tal maneira que pode-se usar essa solução milhões de vezes sem nunca fazê-la da mesma forma duas vezes"
Christopher Alexander, sobre padrões em Arquitetura

"Os padrões de projeto sãodescrições de objetos que se comunicam e classes que são customizadas para resolver um problema genérico de design em um contexto específico"
Gamma, Helm, Vlissides & Johnson, sobre padrões em software
3

Por que aprender padrões?
• Aprender com a experiência dos outros
•Identificar problemas comuns em engenharia de software e utilizar soluções testadas e bem documentadas •Utilizar soluções quetêm um nome: facilita a comunicação, compreensão e documentação

• Aprender a programar bem com orientação a objetos
• Os 23 padrões de projeto "clássicos" utilizam as melhores práticas em OO para atingir os resultados desejados

• Desenvolver software de melhor qualidade
•Os padrões utilizam eficientemente polimorfismo, herança, modularidade, composição, abstração para construir códigoreutilizável, eficiente, de alta coesão e baixo acoplamento
4

© 2003, Helder L. S da Rocha

1-2

Argo Navis J930 - Padrões de Design

1 - Introdução

Por que aprender padrões?
• Vocabulário comum
• Faz o sistema ficar menos complexo ao permitir que se fale em um nível mais alto de abstração

• Ajuda na documentação e na aprendizagem
•Conhecendo os padrões de projeto torna mais fácila compreensão de sistemas existentes • "As pessoas que estão aprendendo POO freqüentemente reclamam que os sistemas com os quais trabalham usam herança de forma convoluida e que é difícil de seguir o fluxo de controle. Geralmente a causa disto é que eles não entendem os padrões do sistema" [GoF] • Aprender os padrões ajudam um novato a agir mais como um especialista
5

Por que aprenderpadrões?
• Uma prática adjunta aos métodos existentes
•Mostram como usar práticas primitivas • Descrevem mais o porquê do design • Ajudam a converter um modelo de análise em um modelo de implementação

• Um alvo para refatoramento
• Captura as principais estruturas que resultam do refatoramento • Uso de patterns desde o início pode diminuir a necessidade de refatoramento
6

© 2003, Helder L. S daRocha

1-3

Argo Navis J930 - Padrões de Design

1 - Introdução

Elementos de um padrão
• Nome • Problema
• Quando aplicar o padrão, em que condições?

• Solução
• Descrição abstrata de um problema e como usar os elementos disponíveis (classes e objetos) para solucioná-lo

• Conseqüências
• Custos e benefícios de se aplicar o padrão • Impacto na flexibilidade, extensibilidade,portabilidade e eficiência do sistema
7

Formas de classificação
• Há várias formas de classificar os padrões. Gamma et al [1] os classifica de duas formas
•Por propósito: (1) criação de classes e objetos, (2) alteração da estrutura de um programa, (3) controle do seu comportamento • Por escopo: classe ou objeto

• Metsker [2] os classifica em 5 grupos, por intenção (problema a ser...
tracking img