Boas Práticas de Programação

Tamanho: px
Começar a partir da página:

Download "Boas Práticas de Programação"

Transcrição

1 Boas Práticas de Programação João Arthur Brunet Monteiro Mestrando em Informática - COPIN 25/10/2008 João Arthur Brunet Monteiro 1/ 27

2 Roteiro Introdução 1 Introdução Objetivos Contextualização 2 Práticas de alto-nível 3 Práticas de baixo-nível 4 João Arthur Brunet Monteiro 2/ 27

3 Objetivos Introdução Objetivos Contextualização Apresentar boas práticas de programação Alto nível Baixo nível Apresentar o comportamento de um bom programador João Arthur Brunet Monteiro 3/ 27

4 Código elegante Introdução Objetivos Contextualização Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Martin Fowler) Código elegante (elegância funcional) Reuso de código Manutenção de código Diminuição de bugs Facilita comunicação Diminui curva de aprendizado João Arthur Brunet Monteiro 4/ 27

5 Código elegante Introdução Objetivos Contextualização Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Martin Fowler) Código elegante (elegância funcional) Reuso de código Manutenção de código Diminuição de bugs Facilita comunicação Diminui curva de aprendizado João Arthur Brunet Monteiro 4/ 27

6 Pensando no problema Pense no problema antes Quanto mais tempo no teclado, mais bugs são adicionados Mapeie seu problema para objetos Use boas abstrações João Arthur Brunet Monteiro 5/ 27

7 Programe para interface Programe para a interface, não para a implementação Interfaces são mais democráticas! Exemplo Collections.sort(List list) Flexibilidade Reuso João Arthur Brunet Monteiro 6/ 27

8 Programe para interface Programe para a interface, não para a implementação Interfaces são mais democráticas! Exemplo Collections.sort(List list) Flexibilidade Reuso João Arthur Brunet Monteiro 6/ 27

9 Respeite a lei de Demeter Não abuse dos pontos! String key = entry.getvalue().entryset().iterator().next().getkey(); Princípio do mínimo conhecimento Conhecer o mínimo possível sobre as propriedades de um objeto "Only talk to your friends" Parâmetros Objetos criados Objetos próprios Métodos próprios Inibe efeito gelatina João Arthur Brunet Monteiro 7/ 27

10 Respeite a lei de Demeter Não abuse dos pontos! String key = entry.getvalue().entryset().iterator().next().getkey(); Princípio do mínimo conhecimento Conhecer o mínimo possível sobre as propriedades de um objeto "Only talk to your friends" Parâmetros Objetos criados Objetos próprios Métodos próprios Inibe efeito gelatina João Arthur Brunet Monteiro 7/ 27

11 Padrões de Projeto Introdução Soluções padrão para problemas recorrentes Procure mapear seu problema para um já solucionado Exemplo: Expert (padrão de distribuição de responsabilidades) João Arthur Brunet Monteiro 8/ 27

12 Testes Introdução Teste o que você desconfia que vai falhar Evite testes de get e set Não encare como uma atividade secundária Testes aumentam a confiança no código (regressão) Testes revelam mau cheiro no código João Arthur Brunet Monteiro 9/ 27

13 Programação Defensiva Valide dados vindos do usuário Cheque referências nulas Commons Validator (Apache) João Arthur Brunet Monteiro 10/ 27

14 Não construa dependência cíclica Pacotes representam abstração diferentes (Ex.: Acesso a dados vs GUI) Dificulta entendimento Dificulta evolução Dificulta testabilidade Dificulta modularidade João Arthur Brunet Monteiro 11/ 27

15 Construindo métodos - Contrato Respeite contratos A assinatura de um método é o contrato do programador Implementar exatamente o que a especificação diz Um método deve cumprir com somente uma obrigação Não force leitura de corpo de método Separe o que do como João Arthur Brunet Monteiro 12/ 27

16 Construindo métodos - Implementação Crie variáveis somente quando for usá-las Não reuse variáveis Nomes pronunciáveis e sugestivos Evite siglas retorne result Seja coerente no uso de padrões de codificação João Arthur Brunet Monteiro 13/ 27

17 Uso de coleções Introdução Exemplo Declare usando a interface: List mylist = new LinkedList() João Arthur Brunet Monteiro 14/ 27

18 Uso de coleções Introdução Exemplo Declare usando a interface: List mylist = new LinkedList() João Arthur Brunet Monteiro 14/ 27

19 Evite funções com efeito colateral Exemplo de função com efeito colateral: Collections.sort(List l) Dificultam reuso São difícies de entender Difíceis de prever o comportamento Se for inevitável, comente os efeitos colaterais João Arthur Brunet Monteiro 15/ 27

20 Construa objetos imutáveis Objetos imutáveis Como? Facilitam testes São confiáveis para serem usados em coleções São thread-safe Permitem cache de resultados de métodos (hashcode) Ganho em memória Ótimas chaves para HashMap Não permita que a classe seja estendida (final) Atributos private e final Não permita métodos set Não permita funções com efeito colateral João Arthur Brunet Monteiro 16/ 27

21 Cópia Defensiva Introdução Proteção contra objetos mutáveis No construtor this.date = new Date(param.getTime()) Evita efeito gelatina Torna o código mais seguro Métodos get de coleções Collections.unmodifiableList(this.alunos) João Arthur Brunet Monteiro 17/ 27

22 Cópia Defensiva Introdução Proteção contra objetos mutáveis No construtor this.date = new Date(param.getTime()) Evita efeito gelatina Torna o código mais seguro Métodos get de coleções Collections.unmodifiableList(this.alunos) João Arthur Brunet Monteiro 17/ 27

23 Parametrize coleções Qual o problema? List alunos = new ArrayList() Melhorou? List<Aluno> alunos = new ArrayList<Aluno>(); Evita casts Evita coleções guarda-chuva Segurança ao acessar os elementos da coleção Facilita uso do for João Arthur Brunet Monteiro 18/ 27

24 Parametrize coleções Qual o problema? List alunos = new ArrayList() Melhorou? List<Aluno> alunos = new ArrayList<Aluno>(); Evita casts Evita coleções guarda-chuva Segurança ao acessar os elementos da coleção Facilita uso do for João Arthur Brunet Monteiro 18/ 27

25 Use for vs Iterator Introdução Iterator Iterator it = alunos.iterator(); while (it.hasnext()) { Aluno aluno = (Aluno) it.next() } For for (Aluno aluno : alunos) João Arthur Brunet Monteiro 19/ 27

26 Use for vs Iterator Introdução Iterator Iterator it = alunos.iterator(); while (it.hasnext()) { Aluno aluno = (Aluno) it.next() } For for (Aluno aluno : alunos) João Arthur Brunet Monteiro 19/ 27

27 Streams Introdução Exemplos Sempre feche os streams Bug conhecido! Pergunta clássica: Você fechou o stream? Use bufferização BufferedReader e StringBuffer StringBuffer X Concatenação de Strings João Arthur Brunet Monteiro 20/ 27

28 Streams Introdução Exemplos Sempre feche os streams Bug conhecido! Pergunta clássica: Você fechou o stream? Use bufferização BufferedReader e StringBuffer StringBuffer X Concatenação de Strings João Arthur Brunet Monteiro 20/ 27

29 Equals e HashCode Sempre que implementar equals, implemente hashcode Bug muito comum: hashset.contains( algo ) Effective Java [1] possui diretrizes para construção desses dois métodos João Arthur Brunet Monteiro 21/ 27

30 Implemente compareto Implemente Comparable Reuso do método Collections.sort(List l) Mudança na estratégia de ordenação Collections.sort(List l, Comparator c) João Arthur Brunet Monteiro 22/ 27

31 Como lidar com erros Mensagens de erro inúteis System.out.println("Deu erro aqui") Use mensagens de erro que façam sentido Tratamento de erros deve ser adequado Use exceções ao invés de valores extremos João Arthur Brunet Monteiro 23/ 27

32 Como lidar com erros Mensagens de erro inúteis System.out.println("Deu erro aqui") Use mensagens de erro que façam sentido Tratamento de erros deve ser adequado Use exceções ao invés de valores extremos João Arthur Brunet Monteiro 23/ 27

33 Equals vs "==" Introdução Qual o resultado? Integer i = new Integer("4"); Integer j = new Integer("4"); assert i.equals(j); assert i == j; Sempre use equals ao invés de "==" Exceção: Comparar referências João Arthur Brunet Monteiro 24/ 27

34 Equals vs "==" Introdução Qual o resultado? Integer i = new Integer("4"); Integer j = new Integer("4"); assert i.equals(j); assert i == j; Sempre use equals ao invés de "==" Exceção: Comparar referências João Arthur Brunet Monteiro 24/ 27

35 Aprenda com os gurus Cole nos caras bons Troque experiências Pair programming Joshua Bloch, Kent Beck, Marting Fowler, Eric Gahma Leia bons livros (Effective Java, Beautiful Code [4], Pragmatic Programmer [3], Design Patterns [2] etc) Discussões e Sites [5] João Arthur Brunet Monteiro 25/ 27

36 Não conviva com Janelas Quebradas "Don t Live with Broken Windows" Bons programadores têm coragem João Arthur Brunet Monteiro 26/ 27

37 Perguntas Introdução Perguntas? João Arthur Brunet Monteiro 27/ 27

38 J. Bloch. Effective Java: Programming Language Guide. Addison-Wesley Professional, E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable object-oriented software. Addison-Wesley Reading, MA, A. Hunt and D. Thomas. The Pragmatic Programmer: From Journeyman to Master. Addison-Wesley Professional, A. Oram and G. Wilson. Beautiful Code: Leading Programmers Explain how They Think. O Reilly, H. Systems. Java Practices. At João Arthur Brunet Monteiro 27/ 27

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade Page 1 podem ser comparadas com arrays, visto que também apresentam a capacidade de armazenar referências para vários objetos. Entretanto, as coleções apresentam uma gama de funcionalidades bem maior do

Leia mais

Introdução ao Design

Introdução ao Design Introdução ao Design João Arthur e Guilherme Germoglio Coordenação de Pós-graduação em Informática - COPIN 16/10/2008 João Arthur e Guilherme Germoglio 1/ 33 Roteiro 1 Introdução Objetivos 2 Definições

Leia mais

Laboratório de Programação. Aula 13 Java 5COP088. Aula 13 Genéricos e Conjuntos Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr barbon@uel.

Laboratório de Programação. Aula 13 Java 5COP088. Aula 13 Genéricos e Conjuntos Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr barbon@uel. 5COP088 Laboratório de Programação Aula 13 Genéricos e Conjuntos Java Prof. Dr. Sylvio Barbon Junior 1 Sumário: 1) Métodos hashcode(), equals() e tostring(); 2) Conjuntos; 3) Genéricos; 4) Resumo. 2 1)

Leia mais

Introdução ao TDD. Dionatan Moura. #guma10anos Abril de 2014. about.me/dionatanmoura

Introdução ao TDD. Dionatan Moura. #guma10anos Abril de 2014. about.me/dionatanmoura Introdução ao TDD #guma10anos Abril de 2014 Dionatan Moura about.me/dionatanmoura Introdução ao TDD Extreme Programming TDD Refatoração xunit Baby Steps Clean Code Patterns para TDD Red Bar Test Green

Leia mais

EMENTA DO CURSO. Tópicos:

EMENTA DO CURSO. Tópicos: EMENTA DO CURSO O Curso Preparatório para a Certificação Oracle Certified Professional, Java SE 6 Programmer (Java Básico) será dividido em 2 módulos e deverá ter os seguintes objetivos e conter os seguintes

Leia mais

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 1 Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira Linguagem a ser Utilizada? Nossa disciplina é de Algoritmos e Estrutura de Dados, e não de linguagem

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Everton Coimbra de Araújo Orientação a Objetos com Java Simples, Fácil e Eficiente Visual Books Sumário Prefácio... 11 Introdução... 13 1 Introdução à Orientação a Objetos... 17 1.1 Conceitualização...

Leia mais

Padrão Básico de Projeto: Interfaces e Polimorfismo

Padrão Básico de Projeto: Interfaces e Polimorfismo Padrão Básico de Projeto: Interfaces e Polimorfismo Herança de implementação versus herança de interface Há uma diferença grande entre uma classe e seu tipo A classe define ambos um tipo e uma implementação

Leia mais

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS. PADRÕES DE SOFTWARE 1 Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade Grupo de Padrões de Software da UECE (GPS.UECE) Julho-2009 CONTEÚDO Introdução aos Padrões de Software O quê são padrões?

Leia mais

Coleções Avançadas. Programação Orientada a Objetos Java. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior

Coleções Avançadas. Programação Orientada a Objetos Java. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Coleções Avançadas Programação Orientada a Objetos Java Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Objetivos Aprender como o conceito de coleção pode ser expresso de forma genérica Examinar

Leia mais

Dois clientes com a mesma data de pagamento não podem compartilhar instâncias

Dois clientes com a mesma data de pagamento não podem compartilhar instâncias Capítulo 3. Tópicos de Orientação a Objetos correr o risco de cair na armadilha da quebra de encapsulamento e alto acoplamento. Repare que, desta forma, o acoplamento é bem menor, nenhuma das classes precisa

Leia mais

Trilha Agile TDD e 20 coisas que você precisa saber

Trilha Agile TDD e 20 coisas que você precisa saber Trilha Agile TDD e 20 coisas que você precisa saber Camilo Lopes Quem sou eu?! Trabalha com desenvolvimento de software desde 2003. Atualmente Desenvolvedor de Software na ADP Labs, escritor do livro "Guia

Leia mais

Modulo IIa Extra: Object

Modulo IIa Extra: Object Modulo IIa Extra: Object Professor Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Bibliografia Linguagem de Programação JAVA Ismael H. F. Santos,

Leia mais

1Introdução Helder da Rocha (helder@acm.org)

1Introduçã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 mais

Desenvolvimento Dirigido por Testes (TDD)

Desenvolvimento Dirigido por Testes (TDD) Desenvolvimento Dirigido por Testes (TDD) Cursos de Verão 2010 www.agilcoop.org.br Hugo Corbucci O que é Desenvolvimento Dirigido por Testes? Entenderam? Copyleft AgilCoop 2010 2 Testes a priori Conhecer

Leia mais

Padrões de Projeto de Software Orientado a Objetos

Padrõ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

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais

Leia mais

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org)

J930. 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 mais

Padrões. Projeto (Design) de Software

Padrões. Projeto (Design) de Software Padrões Projeto de Softwares Categorias de Padrões Processo de Tradução de modelos de análise (isentos de tecnologia, lógicos) para modelos de projeto (development-ready, físicos) Qual a Tecnologia Alvo

Leia mais

5. Generics, Iterators e Comparable em Java. Tipos de Dados Abstractos Generics em Java

5. Generics, Iterators e Comparable em Java. Tipos de Dados Abstractos Generics em Java 5. Generics, Iterators e Comparable em Java Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 1 / 12 Tipos de Dados Abstractos

Leia mais

Desenvolvimento Dirigido por Testes (TDD)

Desenvolvimento Dirigido por Testes (TDD) Desenvolvimento Dirigido por Testes (TDD) Cursos de Verão 2008 www.agilcoop.org.br Mariana & Paulo O que é Desenvolvimento Dirigido por Testes? Dúvidas? Copyleft AgilCoop 2008 2 Testes a priori Conhecer

Leia mais

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA

Leia mais

Padrõ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 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 mais

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS Tecnologia em Análise e Desenvolvimento de Sistemas 4 a série Programação Orientada a Objetos A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com Coleções List Set Map Classes e interfaces do pacote java.util que representam listas, conjuntos e mapas. Solução flexível para armazenar objetos. Quantidade

Leia mais

TESTE DE SOFTWARE COM XP. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

TESTE DE SOFTWARE COM XP. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com TESTE DE SOFTWARE COM XP Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Contexto Inúmeros processos de software Evolução das formas/metodologias de desenvolvimento de software Dificuldades encontradas

Leia mais

Aspectos técnicos do desenvolvimento baseado em componentes

Aspectos técnicos do desenvolvimento baseado em componentes Aspectos técnicos do desenvolvimento baseado em componentes Um novo processo de desenvolvimento O uso de componentes traz mudanças no processo de desenvolvimento Além de desenvolver um produto, queremos

Leia mais

Programação Orientada a Testes Rodrigo Rebouças de Almeida

Programação Orientada a Testes Rodrigo Rebouças de Almeida Programação Orientada a Testes Rodrigo Rebouças de Almeida http://rodrigor.com rodrigor@rodrigor.com Agenda Nossos objetivos hoje: Entender o que é programação orientada a testes Entender a sua função

Leia mais

Princípios de Design TRADUÇÃO DE TATIANE CRISTINE ARNOLD, DO ARTIGO IBM DESIGN: DESIGN PRINCIPLES CHECKLIST.

Princípios de Design TRADUÇÃO DE TATIANE CRISTINE ARNOLD, DO ARTIGO IBM DESIGN: DESIGN PRINCIPLES CHECKLIST. Princípios de Design TRADUÇÃO DE TATIANE CRISTINE ARNOLD, DO ARTIGO IBM DESIGN: DESIGN PRINCIPLES CHECKLIST. Um software deve ser projetado para simplificar tarefas e criar experiências positivas para

Leia mais

Reuso com Herança a e Composiçã

Reuso com Herança a e Composiçã Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:

Leia mais

Jonas de Souza H2W SYSTEMS

Jonas de Souza H2W SYSTEMS Jonas de Souza H2W SYSTEMS 1 Tecnólogo em Informática Fatec Jundiaí MBA em Gerenciamento de Projetos FGV Project Management Professional PMI Mestrando em Tecnologia UNICAMP Metodologia de apoio à aquisição

Leia mais

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato

Leia mais

Tópicos Avançados em Engenharia de Software

Tópicos Avançados em Engenharia de Software Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Programa de Pós-Graduação em Ciência da Computação Tópicos Avançados em Engenharia de Software Padrões e Frameworks (Aula 01-

Leia mais

Programação Orientada a Objetos. Padrões de Criação

Programaçã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 mais

Categorias de Padrões

Categorias de Padrões Categorias de Padrões Padrão Arquitetural ou Estilo Arquitetural Padrão de Design (Design Patterns) Idiomas Categorias de Padrões ESTILOS ARQUITETURAIS PADRÕES DE DESIGN IDIOMAS Padrões de Design Os subsistemas

Leia mais

Padrão Arquitetura em Camadas

Padrão Arquitetura em Camadas Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Definição Estimula a organização

Leia mais

Design 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 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 mais

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp web@cercomp.ufg.br

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp web@cercomp.ufg.br XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp web@cercomp.ufg.br Introdução Criada por Kent Baeck em 1996 durante o projeto Daimler Chrysler. O sucesso

Leia mais

Curso - Padrões de Projeto Módulo 1: Introdução

Curso - 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 mais

Roteiro do Programa e Entrada/Saída

Roteiro do Programa e Entrada/Saída Roteiro do Programa e Entrada/Saída c Professores de ALPRO I Faculdade de Informática PUCRS 03/2012 ALPRO I (FACIN) Roteiro do Programa e E/S 03/2012 1 / 32 Sumário 1 Relembrando 2 Programa Definição de

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 03 APRESENTAÇÃO: Hoje vamos conhecer o comando switch, o bloco try catch;

Leia mais

Processo de Desenvolvimento de Software. Engenharia de Software. nelmarpg@yahoo.com.br

Processo de Desenvolvimento de Software. Engenharia de Software. nelmarpg@yahoo.com.br Processo de Desenvolvimento de Software nelmarpg@yahoo.com.br 1 Objetivos Contextualizar Análise e Projeto de software dentro de uma metodologia de desenvolvimento (um processo de desenvolvimento de software)

Leia mais

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único Pacotes e Encapsulamento Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes

Leia mais

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE SUMÁRIO usando o izcode... 1 para gerar software rapidamente... 1 introdução... 2 o que é o izcode?... 2 Como funciona o izcode?... 2 os tipos diferentes

Leia mais

CSF FasTest SOLUÇÕES DE OUTPUT DE PAGAMENTO

CSF FasTest SOLUÇÕES DE OUTPUT DE PAGAMENTO CSF FasTest SOLUÇÕES DE OUTPUT DE PAGAMENTO CSF FasTest Reduzindo o esforço empregado nos testes Os testes são a faca de dois gumes da composição de documentos: durante o ciclo de vida de seu documento,

Leia mais

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013 Introdução à orientação a objetos João Tito Almeida Vianna 25/05/2013 Roteiro Aula 2 Motivação Revisão dos conceitos da aula 1 Preparação para os exercícios Exercícios propostos 2 Motivação A orientação

Leia mais

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com Análise e Projeto de Sistemas de Informação Andrêza Leite andreza.lba@gmail.com Roteiro Sistemas de Informação Ciclo de Desenvolvimento de SI Projeto Análise Estruturada Análise Orientada a Objetos Como

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

6.170 Revisão para a Prova

6.170 Revisão para a Prova 6.170 Revisão para a Prova Tópicos: 1. Desacoplamento 2. Abstração de dados 3. Funções de Abstração e Invariantes de Representação 4. Abstração de Iteração & Iteradores 5. Modelos de Objeto e Invariantes

Leia mais

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída DCC / ICEx / UFMG Testes de Software Testes de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Teste de software buscam por erros ou anomalias em requisitos funcionais e não funcionais Classificação

Leia mais

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br AULA 12 CLASSES DA API JAVA Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br CLASSES DA API JAVA A maioria dos programas de computador que resolvem problemas do

Leia mais

Exercícios 07 Introdução à POO (Interface Gráfica)

Exercícios 07 Introdução à POO (Interface Gráfica) Exercícios 07 Introdução à POO (Interface Gráfica) Importante: Desenvolva cada questão em um mesmo projeto, porém em diferentes pacotes. ex. Questão 1: lab03.aula11_out.questao01, Questão 2: lab03.aula11_out.questao02.

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Arquitetura da Informática e Automação MBA Gestão em Tecnologia 1 da Informaçao 2 Figura: Tela do IBM Mainframe Fonte: Arquivo próprio

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

2 echo "PHP e outros.";

2 echo PHP e outros.; PHP (Hypertext Preprocessor) Antes de qualquer coisa, precisamos entender o que é o PHP: O PHP(Hypertext Preprocessor) é uma linguagem interpretada gratuita, usada originalmente apenas para o desenvolvimento

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

Universidade do Estado da Bahia UNEB Departamento de Ciências Exatas e da Terra - Campus I

Universidade do Estado da Bahia UNEB Departamento de Ciências Exatas e da Terra - Campus I Projeto Avançado de Sistemas/CPD029 Conceito de padrão de projeto. Padrões de projeto para software orientado a objetos. Mapeamento objetorelacional baseado em padrões. Padrões de arquitetura de software.

Leia mais

Desenvolvimento Web com Framework Demoiselle versão 1.0

Desenvolvimento Web com Framework Demoiselle versão 1.0 Desenvolvimento Web com Framework Demoiselle versão 1.0 Módulo 07: Outros Componentes Autor: Rodrigo Hjort Serpro / Coordenação Estratégica de Tecnologia / Curitiba www.frameworkdemoiselle.org.br Modificado

Leia mais

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva UML & Padrões Aula 1 Apresentação Profª Kelly Christine C. Silva Sistemas para Internet Módulo I - Construção de sites informativos Módulo II - Construção de sites dinâmicos Módulo III - Aplicações para

Leia mais

Modelos do Design de Software

Modelos do Design de Software Modelos do Design de Software Modelos do Design de Software O processo de design na Engenharia de Software parte de três pressupostos básicos: O resultado do design é um produto; O produto é derivado de

Leia mais

Curso - Padrões de Projeto Módulo 2: Padrões de Criação

Curso - Padrões de Projeto Módulo 2: Padrões de Criação Curso - Padrões de Projeto Módulo 2: Padrões de Criaçã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 mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres Tópicos de Ambiente Web Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres Roteiro Motivação Desenvolvimento de um site Etapas no desenvolvimento de software (software:site) Analise

Leia mais

Exercícios de Revisão Java Básico

Exercícios de Revisão Java Básico Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1

Leia mais

O Processo de Desenvolvimento de Software

O Processo de Desenvolvimento de Software O Processo de Desenvolvimento de Software Objetivos Contextualizar Análise e Projeto de software dentro de uma metodologia de desenvolvimento (um processo de desenvolvimento de software) Um processo de

Leia mais

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Padrõ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 mais

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education Java Como Programar, 8/E Slide 1 Slide 2 Slide 3 Métodos genéricos e classes genéricas (e interfaces) permitem especificar, com uma única declaração de método, um conjunto de métodos relacionados ou, com

Leia mais

Padrões de Projeto. Singleton

Padrões de Projeto. Singleton Padrões de Projeto Padrões de Criação Singleton Singleton Assegura que uma classe tenha apenas uma instância e provê um ponto de acesso global a ela 2 Livro Texto: Design Pattern - Elements 1 Motivação

Leia mais

A Linguagem Pascal e o Ambiente de Programação Dev-Pascal. Introdução à Ciência da Computação I

A Linguagem Pascal e o Ambiente de Programação Dev-Pascal. Introdução à Ciência da Computação I A Linguagem Pascal e o Ambiente de Programação Dev-Pascal Introdução à Ciência da Computação I Março/2004 Introdução (1 de 3) Homenagem a Blaise Pascal, filósofo e matemático do século XVII. Desenvolvida

Leia mais

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Classes abstratas Interfaces Tipos genéricos Coleções Introdução GUI Classes abstratas São classes que não podem ser instanciadas,

Leia mais

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes. Programação Java em Ambiente Distribuído Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate Douglas Rocha Mendes Novatec Copyright 2011 da Novatec Editora Ltda. Todos os direitos reservados

Leia mais

Profa. Thienne Johnson

Profa. Thienne Johnson Profa. Thienne Johnson E. Gamma and R. Helm and R. Johnson and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison- Wesley, 1995. Conhecido como GoF (Gang of Four) Versão

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

Leia mais

Gerenciador de Log. Documento Visão. Projeto Integrador 2015/2. Engenharia de Software. Versão 2.0. Engenharia de Software

Gerenciador de Log. Documento Visão. Projeto Integrador 2015/2. Engenharia de Software. Versão 2.0. Engenharia de Software Documento Visão e Documento Suplementar Gerenciador de Log Documento Visão Versão 2.0 1 Índice 1. Histórico de Revisões...3 2. Objetivo do Documento...4 3. Sobre o Problema...4 4. Sobre o produto...4 4.1.

Leia mais

Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções

Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções 1/ Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções Adote as melhores práticas de reuso de soluções com a abordagem de Padrões de Projeto (Design

Leia mais

Programação Orientada por Objetos

Programação Orientada por Objetos PPROG Paradigmas da Programação Programação Orientada por Objetos Relações entre Dependência Agregação Composição Associação (Livro Big Java, Late Objects Capítulo 12) Nelson Freire (ISEP DEI-PPROG 2014/15)

Leia mais

Capítulo 22. Associações entre Classes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 22. Associações entre Classes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 22 Associações entre Classes Objetivos do Capítulo Indicar os diferentes aspectos de um relacionamento entre classes que podem ser expressos através de uma associação. Descrever o significado

Leia mais

Curso Superior de Tecnologia emtelemática Programação Orientada a Objetos Streams em Java. Copyright 2010 Prof. César Rocha

Curso Superior de Tecnologia emtelemática Programação Orientada a Objetos Streams em Java. Copyright 2010 Prof. César Rocha Curso Superior de Tecnologia emtelemática Programação Orientada a Objetos Streams em Java Copyright 2010 Prof. César Rocha 1 Objetivos Explorar os conceitos fundamentais acerca do uso de streams de arquivos

Leia mais

1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010

1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010 Engenharia de Software Aula 5 (Versão 2010-02) Melhores práticas para desenvolvimento de software Desenvolver de forma iterativa e gerenciar requisitos Professor Gabriel Baptista ( gabriel.baptista@uninove.br

Leia mais

Roteiro. Interfaces de Programação de Aplicações (Application Programming Interfaces) Conceitos BásicosB. ! Definição

Roteiro. Interfaces de Programação de Aplicações (Application Programming Interfaces) Conceitos BásicosB. ! Definição Roteiro Interfaces de Programação de Aplicações (Application Programming Interfaces) Cleidson R. B. Souza Departamento de Informática Universidade Federal do Pará! Definição! Vantagens! Exemplos! Utilização

Leia mais

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Classes abstratas Interfaces Tipos genéricos Coleções Classes abstratas São classes que não podem ser instanciadas, porque representam

Leia mais

Figura 1. A Classe Java

Figura 1. A Classe Java Conexã o com MySQL Connection Factory Para criar as conexões com o banco de dados será utilizado um padrão chamado Factory, onde através dele se terá uma única classe que proverá uma fábrica de conexão

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

JAVA 1.5 na plataforma J2SE 5.0 Tiger Novas Construções, Sintaxe, Tipos e Polimorfismo

JAVA 1.5 na plataforma J2SE 5.0 Tiger Novas Construções, Sintaxe, Tipos e Polimorfismo JAVA 1.5 na plataforma J2SE 5.0 Tiger Novas Construções, Sintaxe, Tipos e Polimorfismo GENERICS (Tipos Parametrizados, Classes Parametrizadas) : têm o objectivo de tornar as Colecções seguras em termos

Leia mais

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet) UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical

Leia mais

A Evolução de XP segundo Kent Beck Parte 2

A Evolução de XP segundo Kent Beck Parte 2 A Evolução de XP segundo Kent Beck Parte 2 O que mudou nesses 5 anos? Danilo Toshiaki Sato dtsato@ime.usp.br Agenda PARTE 1 1. Introdução 2. O que é XP? 3. O que mudou em XP? Valores, Princípios e Práticas

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos

Leia mais