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

Slides:



Advertisements
Apresentações semelhantes
APS I Análise e Projeto de Sistemas I
Advertisements

Desenvolvimento de Plug-ins Orientado a Testes
Modelagem de Software Orientado a Objetos
Validação de Requisitos
CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 13
15/1/2014 Professor Leomir J. Borba- – 1 CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula.
UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Métricas de Software Prof.ª Adriana dos Santos Caparróz Carvalho.
Sistema Gerenciador de Ocorrências
Análise e Projeto de Sistemas I
Desenvolvimento ágil: eXtreme Programming vs SCRUM Tiago Rodrigues de Mello CCO-230 – ENGENHARIA DE SOFTWARE / 2010.
CK 119: Engenharia de Software DC/CC/UFC © Rossana Andrade, Setembro CK119: Engenharia de Software Rossana Andrade Ph.D, SITE, University of Ottawa,
Módulo III Padrões GOF: Composite
- GQM – Goal/Question/Metric
um processo ágil de desenvolvimento de software
Mapeamento dos processos de desenvolvimento
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE SOFTWARE USANDO MÉTODOS ÁGEIS SOFTWARE USANDO MÉTODOS ÁGEIS Faculdade Cenecista Nossa Senhora dos Anjos FACENSA.
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE SOFTWARE USANDO MÉTODOS ÁGEIS SOFTWARE USANDO MÉTODOS ÁGEIS Faculdade Cenecista Nossa Senhora dos Anjos FACENSA.
MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
dbCheck! uma ferramenta para teste de banco de dados
Introdução a Engenharia de Software
Test-Driven Development
Linguagem Técnica II Testes Automatizados Aula 04 Prof
Processo de Software Prof. Dr. rer. nat. Daniel D. Abdala
Técnicas e Projeto de Sistemas
UERJ – Universidade do Estado do Rio de Janeiro
DESENVOLVIMENTO ÁGIL DE SISTEMAS ALINHADO À GOVERNANÇA DE TI
Avaliação Experimental de Técnicas Ágeis de Desenvolvimento
Avaliação Experimental de Técnicas Ágeis de Desenvolvimento
Modelagem de Software.
Prof. Guilherme Alexandre Monteiro Reinaldo Recife
Test Driven Development Nazareno Andrade Baseado no material do prof. Hyggo Almeida.
Test Driven Development por Johann Gomes e Thaís Moura.
Raoni de Oliveira Franco
Prof. Alexandre Vasconcelos
Introdução a Desenvolvimento de Sistemas
Gerência, Planejamento e XP
Universidade Tecnológica Federal do Paraná
Introdução a Desenvolvimento de Sistemas
Aluno: Cristiano Levi Arnold Orientador: Alexandre Luís Franco 2009
Aluno: Cristiano Levi Arnold Orientador: Alexandre Luís Franco 2009
1 Test Driven Development John Jonathan da Silva /
The Factory Produzindo Arte Manufaturada. The Factory Objetivo Prover uma linha de produção de soluções que atendam às necessidades específicas de cada.
Introdução à Engenharia de Software
Aplicativo de Interação Acadêmica
Engenharia de Software
EXTREME PROGRAMMING XP.
Engenharia de Software 1
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
Qualidade de Software Gerência de projetos.
Fabrício Dias
Análise e Especificação de Requisitos © 2001 Jaelson CastroInformações Gerais 1 Análise e Especificação de Requisitos - IF119 Centro de Informática Jaelson.
ADS – 5º Semestre Trabalho de Conclusão de Curso
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína ANA PAULA LIMA.
Engenharia de Software
Extreme Programming João Gabriel Pedro Ramos Renan Santos.
Modelos de Processo de Software eXtreme Programming André DrummondRA Danilo BenzattiRA MO409 – Engenharia de Software Profa. Eliane Martins.
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína XP (EXTREME PROGRAMMING) Pós-Graduação em Engenharia de Software Metodologias.
Erton W. Vieira Metodologias Ágeis, Qualidade de Software e Design Centrado no usuário: Pontos de Interação Erton W. Vieira.
Extreme Programming Alexandre Nodari.
Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza 06/12/2008 Programa de Mestrado em Ciência.
Estudo Comparativo Entre Metodologias Ágeis e Tradicionais Aluno: Márcia Seabra Cabral Professor: Augusto Sampaio Disciplina: Tópicos Avançados em Engenharia.
Romeu de Andrade Guimarães 06/12/2008.
Engenharia de Software Ludimila Monjardim Casagrande 1º Semestre Plano da Disciplina.
Engenharia de Software Ludimila Monjardim Casagrande 2º Semestre Plano da Disciplina.
Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação.
Gustavo Comeli, Giullyan Kuntze, Maria Inés Castiñeira Ciência da Computação, Pedra Branca (PMUC) Introdução Um dos indicadores de Qualidade de software.
Prof. Edilton Santos – Centro Universitário Jorge Amado1 Curso: Sistemas de Informação Disciplina: Engenharia de Software Contato:
Transcrição da apresentação:

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