Resumo da aula 24

Publicado dezembro 3, 2006 por Carlos
Categorias: Resumo

          Defendeu-se na aula as vantagens de se praticar o reuso, tendo a preocupação constante de descrever, procurar e integrar para que os componentes possam ser reutilizados com facilidade. Essa prática, que requer um trabalho constante, acaba pode mostrar seus frutos depois, na facilidade em reuso que trará mais produtividade e qualidade ao software. Esse processo de reuso envolverá uma análise de qual componente possui menor distância conceitual para o que se deseja implementar.

           Foi apresentado em aula, também, as três camadas segundo as quais o reuso poderá ocorrer, ordenadas abaixo crescentemente segundo sua abstração:

  • Código

  • Desenho

  • Requisito

            Por fim, alguns conceitos sobre organização de componentes, para auxiliar a análise de distância conceitual, foram introduzidos:

  • Design Patterns: Apresenta ausência de hierarquia ao se adicionar os componentes (um modo não-taxonômico) 
  • Tagging: Os próprios usuários ‘etiquetam’ os componentes com palavras que acham relevantes. Assim, a comunidade que usará os componentes acaba por enfatizar as palavras que descrevem melhor o componente.

  • Reuso generativo: Maneira flexível de se reutilizar os componentes, visando a generalização e evitando amarrar o código ao desenho.

  • Rúben Prieto-Diaz: Classifica os componentes baseado em 2 triplas que vão descrevê-lo segundo definição e uso.

Anúncios

Resumo da aula 23

Publicado dezembro 2, 2006 por Carlos
Categorias: Resumo

     O conceito de re-fatoração foi apresentado na aula, assim como as benéfices que este mesmo traz: melhoria de acoplamento, diminuição da complexidade do software, aumento da qualidade.  Por isso a re-fatoração se faz essencial e ainda mais salutar se for empregada constantemente, em vez de apenas sob demanda. Lembrou-se também que quanto maior o fan-in (inputs) e menor o fan-out (outputs) melhor a implementação será. 

     Apresentou-se então, com mais detalhes, algumas práticas de eXtreme Programming:

  • Jogo do planejamento: Identificar, junto ao cliente, as prioridades para serem desenvolvidas.

  • Pequenas versões: O XP apresenta um ciclo curto de 3 semanas, ao fim do qual é liberada uma versão do que foi implementado.

  • Re-fatoração: A re-fatoração deverá acontecer constantemente, aproveitando os benefícios dessa prática.

  • Programação em pares: Programação sempre realizada em dupla: um digita enquanto o outro observa, atento a posssíveis erros e possibilidades de melhora da qualidade do software.

  • Jornada de 40 horas por semana: Evitar queda do rendimento dos programadores

  • Cliente disponível: Cliente disponível 24/7 para tirar dúvidas e validar o que está sendo feito.

  • Propriedade coletiva: O código pertence a toda equipe, não apenas a um programador ou a uma dupla.

  • Metáfora: Procurar utilizar sistemas antigos como metáfora para o que está sendo implementado;

  • Teste contínuo: Eliminar os erros a medida que aparecem.

     As demais práticas são:

  • Padrões de codificação

  • Integração contínua

  • Desenho simples

Resumo da aula 22

Publicado dezembro 2, 2006 por Carlos
Categorias: Resumo

A aula consistiu na revisão da prova.

Resumo da aula 21

Publicado dezembro 2, 2006 por Carlos
Categorias: Resumo

           Essa aula serviu para expor os diferentes métodos e estratégias de desenvolvimento de software, a respeito de definição, arquitetura e implementação. A seguir, os métodos apresentados em sala:

  • Cascata: A técnica mais comum utiltizada, consiste na sequência de passos Definição->Arquitetura->Implementação. Apresenta dois problemas principais: a verificação e validação só ocorrem após a implementação; a documentação pode ficar seriamente desatualizada caso ocorram mudanças freqüentes na fase de implementação. 
  • Prototipação: Método mais rápido e de ciclo mais curto que o Cascata, esse método possibilita uma quase que constante modificação do produto, colocando o cliente em contato direto com os desenvolvedores antes da versão final do produto, possibilitando um contínuo feedback para quem está implementando. 
  • Espiral: Considera que cada novo ciclo é mais complexo que o anterior (por isso espiral, os raios vão aumentando). Ao final de cada ciclo uma avaliação de risco é feita, determinando os passos seguintes. 
  • Modelo V: Muito semelhante à técnica em Cascata, com a diferença que procura validar e verificar a produção e o método de produção até o dado momento. 
  • Modelo RUP: O Rational Unified Process enfatiza um paralelismo entre as etapas, sendo encarado como uma adaptação do Espiral e apresentando quatro ciclos: lógico, processo, físico e desenvolvimento. 
  • Extreme Programming: O modelo XP se apresentou recentemente como um método rápido de implementação. Propões diversas regras inovadoras pra ser usado: ciclos de 3 semanas; definição de prioridades junto aos clientes (que deverão estar disponíveis 24/7); 40 horas de trabalho semanais para os programadores e pair programming são algumas delas.

Del.ici.ous: Carlos Crestana

Publicado novembro 11, 2006 por Carlos
Categorias: Resumo

Del.ici.ous:

http://del.icio.us/carloscrestana

Delicious do Thiago Araújo

Publicado novembro 11, 2006 por araujoz
Categorias: Resumo

Meu delicious:

http://del.icio.us/araujoz

Publicado outubro 29, 2006 por Ricardo Costa
Categorias: Resumo

Closed Source

Entrevista no Jô Soares sobre Software Livre…