Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas de Informação MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE SOFTWARE USANDO MÉTODOS ÁGEIS por Guilherme da Silveira Elias - [email protected] Monografia apresentada na disciplina de Trabalho de Conclusão de Curso I, sob orientação do Prof. Daniel Wildt AGENDA Motivação Objetivos do trabalho Referencial teórico Estado da arte Solução Proposta Considerações finais Perguntas MOTIVAÇÃO A função do desenvolvedor obviamente é garantir qualidade! OPA COMO ASSIM? Mais INSPIRAÇÃO e menos TRANSPIRAÇÃO (Ferramentas – Boas Práticas – Métricas) OBJETIVOS DO TRABALHO Aprender, Praticar e Disseminar: Métricas - Qualidade de Código Práticas e Princípios do Manifesto Ágil Uso de Ferramentas de Apoio (Java, .Net e RoR) Incentivo Grupos de Estudos REFERENCIAL TEÓRICO Modelos de Qualidade de Software (KOSCIANSKI,2006) Métodos Ágeis (MANIFESTO,2008) Métricas e Ferramentas de Apoio à Qualidade (LANZA,2004) e (TIAN, 2005) ESTADO DA ARTE Práticas de XP (TELES, 2005) Métricas e Métodos Ágeis (TOSHIAKI, 2007) Modelo de Medição (PEREIRA, 2003) Gerenciamento Distribuído e Métricas (BARRETO, 2002) Métricas e CMM nível 2. (MOREIRA, 2002) SOLUÇÃO PROPOSTA Propor um Guia de Boas Práticas de Codificação e Testes Auditorias de Código Estático - Aplicar padrões de codificação (Code Standard) - Realizar revisões de código (Peer Review) - Ferramentas SOLUÇÃO PROPOSTA (cont ...) Testes Unitários – Funcionais - Testar até não conseguir a pensar em mais nenhum possível teste. (BECK, 2004) - Ambiente Automatizado Code Coverage - Garantir maior abrangência dos testes - Buscando qualidade nos teste SOLUÇÃO PROPOSTA (cont ...) TAMANHO - SLOC, LOC, KLOC - Mensurar métodos, classes, módulos etc.. COMPLEXIDADE - Sinônimo de Legibilidade!! OO - Acoplamento, Abstração REFACTORING - Instrumento de otimização C.I. - Agir de forma preventiva CONSIDERAÇÕES FINAIS TO DO DOING DONE REFERNCIAS BIBLIOGRAFICAS BARRETO, Fabiane Vavassori. Metodologia para o gerenciamento distribuído de projeto e métricas de software, Florianópolis, 2002 LANZA, Michele. Object-Oriented Metrics in Pratice, using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer, 2006. KOSCIANSKI , André e dos Santos Soares, Michel. Qualidade de Software. São Paulo: Novatec, 2006; MANIFESTO, Agile. Manifesto for Agile Software Development. Disponível em: (http://www.agilemanifesto.org). Consultado em abril de 2001; TIAN, Jeff. Software Quality Engineering. Testing, Quality Assurance, Quantifiable Improvement. New Jersey: John Wiley & Sons, Inc. 2005 MANHÃES, Vincíus Teles. Um estudo de Caso das praticas e valores da Extreme Programming, Rio de Janeiro, 2005. MOREIRA, Gabriela Carneiro Campelo, A Utilização de métricas na Gerencia de Projetos de Software. Uma abordagem focada no CMM nível 2. Recife, 2002. PEREIRA, Eduardo Borges. Um modelo de medição para processos de desenvolvimento de software, Belo Horizonte, 2003. TOSHIAKI, Danilo Sato. Uso Eficaz de Métricas no Desenvolvimento Ágil de software, São Paulo, 2007. BECK, Kent. Programação Extrema Explicada. Porto Alegre: Bookman, 2004; PERGUNTAS ?