A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Trabalho de Conclusão do Curso Sistemas de Informação

Apresentações semelhantes


Apresentação em tema: "Trabalho de Conclusão do Curso Sistemas de Informação"— Transcrição da apresentação:

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 sob orientação do Prof. Daniel Wildt e co-orientação do Prof. Guilherme Lacerda 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. 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. Estudo de Caso 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). eXtreme Programming: 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áticas da XP - Desenvvolvimento Dirigido à Testes (TDD) Integração Contínua (C.I.) - Refactoring Programação em 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 commits realizados 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 builds por 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.


Carregar ppt "Trabalho de Conclusão do Curso Sistemas de Informação"

Apresentações semelhantes


Anúncios Google