1 / 1

Métricas associadas ao desenvolvimento de software usando Métodos Ágeis.

Métricas associadas ao desenvolvimento de software usando Métodos Ágeis. Trabalho de Conclusão do Curso Sistemas de Informação por Guilherme da S. Elias ( guilherme.elias@gmail.com ) sob orientação do Prof. Daniel Wildt ( dwildt@gmail.com ) e

ivie
Download Presentation

Métricas associadas ao desenvolvimento de software usando Métodos Ágeis.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Métricas associadas ao desenvolvimento de software usando Métodos Ágeis. Trabalho de Conclusão do Curso Sistemas de Informação por Guilherme da S. Elias (guilherme.elias@gmail.com) sob orientação do Prof. Daniel Wildt (dwildt@gmail.com) e co-orientação do Prof. Guilherme Lacerda (guilherme@facensa.com.br) Objetivo do Trabalho Estado da Arte Motivação: Como você mede a qualidade do código que você produz? • Tanto o conceito de qualidade, quanto o de métricas são assuntos explorados em vários trabalhos científicos dentro da engenharia de software, visando colher os benefícios trazidos com a aplicação de distintos modelos, filosofias e técnicas. Abaixo são mostrados alguns destes trabalhos: • Um Estudo de Caso da Adoção das Práticas e Valores do Extreme Programming (MANHAES, 2005) • O foco principal destacado no trabalho foram, as costumeiras dificuldades enfrentadas durante o desenvolvimento de um software. Práticas e valores da XP foram adotados, exatamente no intuito de prover melhorias no ambiente estudado, o qual proporcionou a validação de sua tese. Vinicius também mensurou a adoção de cada prática emprega em um estudo de caso realizado ao junto ao comitê olímpico da Rússia. • O Uso Eficaz de Métricas em Métodos Ágeis de Desenvolvimento de Software (TOSHIAKI, 2007) • A aplicação de práticas, princípios, valores pertinentes as Metodologias Ágeis e métricas de software, desempenharam papel fundamental dentro do estudo de caso proposto. Este estudo de caso é composto por sete projetos conduzidos em ambiente acadêmico e em uma instituição governamental. Métricas como número de Histórias entregues, número de pontos entregues e satisfação do cliente. Estudo de Caso No contexto da engenharia de software as métricas possuem papel fundamental dentro deste contexto, dando subsídios aos times de desenvolvimento para acompanhar o código fonte produzido. Baseado nestas premissas, este trabalho de conclusão propõe experimentos em forma de pequenos projetos, que baseiam-se na aplicação de um guia, que compreende a utilização de MÉTRICAS de software, FERRAMENTAS de apoio a QUALIDADE e PRÁTICAS pertinentes ao desenvolvimento ÁGIL de software. Estes experimentos estão sendo conduzidos com o auxilio dos grupos de estudos da FACENSA, movidos apenas por ações voluntárias. • PROJETOS • Classdiary (FACENSA Usuários Java – FUJA): Através da necessidade do preenchimento diário das atividades realizadas em sala de aula pelo professores, adotou-se a idéia de automatizar tal processo. • Ferramentas de Apoio • - PMD/CPD • - Ant • - EMMA • - Junit • - Metrics • - Checkstyle • - Cruise Control • - Netbeans • Social Program Manager “SPM” (FACENSA.Net): Projeto que visa facilitar o gerenciamento de ações sociais realizadas por instituições sem fins lucrativos. • Ferrmantas de Apoio • - Simian • - Nant • - Ncover • - Nuni • - Visual Studio Team System 2008 • - Cruise Control .Net Desenvolvimento do Trabalho VERIFICAÇÃO E VALIDAÇÃO Segundo André koscianski (KOSCIANSKI, 2004) podemos definir o conceito de verificação e validação da seguinte forma: Verificação: Estamos construindo certo o produto? Validação: Estamos construindo o produto certo? MÉTRICAS A aplicação de métricas no desenvolvimento de software vem ganhando uma maior proporção e maturidade dentre os times de desenvolvimento, em busca de uma melhor qualidade para o produto final projetado (KAN, 2002; PRESSMAN, 1995). • MÉTODO ÁGEIS • As Metodologias Ágeis de desenvolvimento de software possuem uma coleção de princípios e valores extremamente simples e focados no real objetivo do desenvolvimento de software, a entrega de software funcional e valorada ao cliente (BECK, 2004; MANIFESTO, 2008). • eXtremeProgramming: Extreme Programming, Programação Extrema ou simplesmente XP, é uma das mais difundidas Metodologias Ágeis de desenvolvimento de software (BECK, 2004). A XP possui como premissas o desenvolvimento de software baseado em comunicação, feedback, simplicidade, coragem e respeito com os indivíduos. • Práticasda XP • - DesenvvolvimentoDirigido à Testes (TDD) - IntegraçãoContínua (C.I.) • - Refactoring - Programaçãoem Pares Resultados • GUIA DE PADRÕES E BOAS PRÁTICAS • resultado obtido através do acompanhamento aos projetos e validações realizadas, servirá de apoio aos times de desenvolvimento, como um conjunto de boas práticas para garantir a qualidade do código fonte sendo gerado. Abaixo algumas destas boas práticas obtidas e documentadas pelas equipes envolvidas: • - Detector de Reuso de Código; • - Boas Práticas Para Teste Unitários; • - Controlando Complexidade passo-a-passo • etc … MÉTRICAS BASEADAS EM MÉTODOS ÁGEIS Tamanho: LOC (Line Of Code), KLOC (Kilo Line Of Code) e SLOC (Source Code Line Of Code). Refactoring: Permite mensurar número de commitsrealizados no repositório de versionamento (FOWLER, 2008). Cobertura de Código: Garantir maior abrangência dos testes por blocos, métodos, pacotes ... Integração Contínua: Acompanhamento dos buildspor dia, semana, iteração. Complexidade: Mensurar o quanto um determinado método, função etc. é de fácil compreensão –legibi- lidade. Auditorias: Analisar código fonte estático em em busca de anti-patterns, que gerem brechas para falhas e bugs. Métricas OO: Métricas do paradigma orientado à objetos: Acoplamento entre classes (CBO), Profundidade da àrvore de herança (DIT), falta de coesão de métodos (LCOM) ... (LANZA, 2006; SOMMERVILLE, 2003) Referências BECK, Kent. Programação Extrema Explicada. Porto Alegre: Bookman, 2004; FOWLER, Martin. Refactoring. Disponível em (http://www.refactoring.com), acessado em 03/06/2008 às 21h58min. LANZA, Michele. Object-Oriented Metrics in Pratice, using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer, 2006; KAN, Stephen H. Metrics and Models in Software Quality Engineering, Second Edition. Boston: Addison – Wesley, 2002; 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), acessado em abril de 2001 às 22h10min. PRESMANN, Roger S. Engenharia de Software, Makron books, 1995; SOMMERVILLE, Ian. Engenharia de Software, São Paulo: Addison Wesley, 2003; Acessado em 13/04/2008; TOSHIAKI, Danilo Sato. Uso Eficaz de Métricas no Desenvolvimento Ágil de software, São Paulo, 2007; MANHÃES, Vincíus Teles. Um estudo de Caso das praticas e valores da Extreme Programming, Rio de Janeiro, 2005.

More Related