SlideShare uma empresa Scribd logo
1 de 78
Baixar para ler offline
CPqD Developer Suite
SPIN Campinas
Reunião #56 - Ferramentas de Software
03/set/2013
CPqD Developer Suite
CDS - custo
CPqD Developer Suite
Um conjunto de ferramentas
● de software livre e de baixo-custo,
● de qualidade comprovada,
● líderes de mercado em suas categorias,
● integradas para propiciar o
● desenvolvimento eficiente de
● software de qualidade.
CPqD Developer Suite
Gestão de Mudanças e Projetos Ágeis
atlassian.com/jira
JIRA
Projeto A
Projeto B
PA-101
PA-102
PB-25
PA-103
PB-26

PA-104
PB-27
Tíquetes totalmente customizáveis

PA-101
●
●
●
●
●
●
●
●

Resumo
Descrição
Criador
Responsável
Componentes
Versões
…
Campos
customizados...

Defeito
Estória
Melhoria
Tarefa Requisito
JIRA Ágil
JIRA no CPqD
Modelagem
sparxsystems.com/products/ea
Project
Browser

Toolbox

Barra de
Ferramentas

Área de
Desenho
Modelagem UML
Diagrama de
Sequência

ESTRUTURAIS

Diagrama de
Caso de Uso

Diagrama de
Classe

Diagrama de
Colaboração

Diagrama de
Objeto
Modelos

Diagrama de
Estado

COMPORTAMENTAIS

Diagrama de
Componente

Diagrama de
Atividade

Diagrama de
Distribuição
Edição simultânea e versionamento

Banco de
Dados

Subversion
Controle de Versões
subversion.apache.org
ohloh.net/repositories/compare
Se você não
abusa de
branches e
merges
Subversion no CPqD
search.cpan.org/dist/SVN-Hooks/
git-scm.com
“For those of you that have been living
under a rock, the single biggest change
in developers’ lives in the last decade is
Distributed Version Control.”
-- Joel Spolsky
http://www.joelonsoftware.com/items/2013/03/11.html
leve e rápido

trabalhe
desconectado

merges são
simples

revise e
publique

visualização
da história
"It is easy to shoot your foot off with git,
but also easy to revert to a previous foot
and merge it with your current leg."
-- Jack William Bell
“Initial git training”

devopsreactions.tumblr.com
“After reading the ‘Pro Git’ book”

devopsreactions.tumblr.com
Eclipse Annual Survey
search.cpan.org/dist/Git-Hooks/
Revisão de Código
gerrit.googlecode.com
Quem usa o Gerrit atualmente?
Gerrit Code Review
git commit

git commit --amend

commited

git fetch

approve
reject
comment

git push

open

submit

merged

abandon

abandoned
OK, a revisão de código ajuda a encontrar bugs
mais cedo. Mas ela não atrasa o processo de
desenvolvimento?
Sim. A revisão de código gasta aproximadamente
5% do tempo que se leva pra desenvolvê-lo.
5%, ok?

Só 5%, OK?!
Outros ganhos da revisão de código

mentoring

peering
Outros ganhos da revisão de código

O “medo da rejeição” estimula o
esforço individual
Outros ganhos da revisão de código

A “exposição” do trabalho de todos promove
a integridade conceitual da solução
Integração contínua
née
jenkins-ci.org
Integração Contínua
●

Código versionado

●

Builds automatizadas e rápidas

●

Testes automatizados

●

Build a cada commit

●

Resultados publicados

●

Produtos disponíveis

●

Deployment automatizado
Martin Fowler
Arquitetura
Jenkins
Job A

Job B

Build 01

Build 02

Build 01

Build 02

Build 03

Build 04

Build 03

Build 04

Job C

Job D

Build 03

Build 02

Build 04

Build 01

Build 02

Build 03

Build 04

Build 01

Build 05

Build 06

Build 07

Build 08

Build N
Informações sobre a execução do Job
● Histórico das builds
Arquitetura

Changes

Status

Build Master

C

Commands

ds

an
omm

Co

mm

and

s

Build Slave

Build Slave

Build Slave
Jenkins integrado ao CDS
AS

Repositorio de Artefatos
Construção

Automação de Teste

maven
egit

Qualidade
subversive

IDE

Integração Contínua

Gestão de Mudança

Controle de Versão

Revisão de Código

Controle de Versão
Usuários Jenkins
Jenkins no CPqD
Repositório de artefatos
sonatype.org/nexus
Old style dependency management

central
dev.java.net
SVN
/lib/*.jar

...
Internet
Maven style dependency management

releases

internal
releases
third
parties
external
releases

central
dev.java.net
...

Internet
apache-snapshots
codehaus-snapshots

snapshots

external
snapshots
internal
snapshots

...
Nexus
Testes
testlink.org
Organização dos Testes

Projeto
RQ

RQ

RQ

RQ

T.Plan

T.Plan

TC

TC

TC

T.Suite

TC

TC

TC

T.Suite

TC

TC

TC

T.Suite

...
Plano de Testes e relatórios

Test Plan

build

Test Case
Test Case

build
Test Case
Test Case

build
Test Case
seleniumhq.org
Selenium IDE

<HTML>
Java
PHP
Perl
Python
Ruby
C#
Arquitetura do Selenium

Selenium
Test

Selenium
Hub

Web
Apps
Selenium
Test
Inspeção contínua
sonarqube.org
Inspeção contínua
●

Análise estática automatizada de código
○
○

●

Dezenas de métricas de qualidade
○

○

●

Disparada pelo Jenkins
Java, C/C++, C#, PHP, Javascript, XML, etc.

Complexidade, documentação, cobertura de testes, duplicação
de código, coding standards, etc.
Métrica fora dos limites aceitáveis quebra a build.

Apresentação multidimensional dos resultados
○

Hotspots, tendências, issue drilldown, timeline, etc.
Dashboard e tendências
Issue Drilldown
Timeline
Hotspots
Eclipse plugin
Por que coletar métricas?
●

É preciso medir pra saber o que melhorar
○

Sonar is a quality profiler

●

É preciso medir pra poder convencer

●

“Teoria da Janela Quebrada”

●

“É melhor prevenir do que remediar”

●

Planejar e priorizar

●

Controlar o débito técnico
Sonar no CPqD
Integrações
Integrações

LDAP
Gustavo Chaves
gustavo@cpqd.com.br
(19) 3705 7003

Obrigado!
www.cpqd.com.br

Mais conteúdo relacionado

Mais procurados

Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo realWilly Salazar
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareElaine Cecília Gatto
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsSamanta Cicilia
 
Organizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation serverOrganizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation serverVinicius Moura
 
Projeto e desenvolvimento
Projeto e desenvolvimentoProjeto e desenvolvimento
Projeto e desenvolvimentoYthia Karla
 
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horasSamanta Cicilia
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralRuan Carvalho
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosSamanta Cicilia
 
Fdd em uma casca de banana
Fdd em uma casca de bananaFdd em uma casca de banana
Fdd em uma casca de bananaejedelmal
 
LT 01 - Rodrigo Yoshima - Business vsarchitecture
LT 01 - Rodrigo Yoshima - Business vsarchitectureLT 01 - Rodrigo Yoshima - Business vsarchitecture
LT 01 - Rodrigo Yoshima - Business vsarchitectureDNAD
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Elaine Cecília Gatto
 

Mais procurados (20)

Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo real
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo real
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
 
Aula 4- Engenharia de Software
Aula 4- Engenharia de SoftwareAula 4- Engenharia de Software
Aula 4- Engenharia de Software
 
Organizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation serverOrganizando demandas de desenvolvimento com o microsoft team foundation server
Organizando demandas de desenvolvimento com o microsoft team foundation server
 
Projeto e desenvolvimento
Projeto e desenvolvimentoProjeto e desenvolvimento
Projeto e desenvolvimento
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
 
FDD
FDDFDD
FDD
 
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
 
Fdd em uma casca de banana
Fdd em uma casca de bananaFdd em uma casca de banana
Fdd em uma casca de banana
 
LT 01 - Rodrigo Yoshima - Business vsarchitecture
LT 01 - Rodrigo Yoshima - Business vsarchitectureLT 01 - Rodrigo Yoshima - Business vsarchitecture
LT 01 - Rodrigo Yoshima - Business vsarchitecture
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1
 
Feature Driven Development - FDD
Feature Driven Development - FDDFeature Driven Development - FDD
Feature Driven Development - FDD
 
Modelo de branches e GitFlow
Modelo de branches e GitFlowModelo de branches e GitFlow
Modelo de branches e GitFlow
 

Semelhante a Ferramentas de desenvolvimento de software

CPqD Developer Suite - SPIN Campinas - Reunião #56
CPqD Developer Suite - SPIN Campinas - Reunião #56CPqD Developer Suite - SPIN Campinas - Reunião #56
CPqD Developer Suite - SPIN Campinas - Reunião #56CPqD
 
Simplificando o Build do Android
Simplificando o Build do AndroidSimplificando o Build do Android
Simplificando o Build do AndroidDaniela Schwab
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Softwareeros.viggiano
 
Apresentação Gerpro
Apresentação GerproApresentação Gerpro
Apresentação Gerprorafahreis
 
Brateste 2013: Testes Agile em Processos Agile
Brateste 2013:  Testes Agile em Processos AgileBrateste 2013:  Testes Agile em Processos Agile
Brateste 2013: Testes Agile em Processos Agileananegrello
 
DevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeDevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeKamilla Queiroz Xavier
 
Strider CD - Deploy Contínuo com JavaScript
Strider CD -  Deploy Contínuo com JavaScriptStrider CD -  Deploy Contínuo com JavaScript
Strider CD - Deploy Contínuo com JavaScriptTaller Negócio Digitais
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
 
Processo-de-Desenvolvimento-de-Software.pptx
Processo-de-Desenvolvimento-de-Software.pptxProcesso-de-Desenvolvimento-de-Software.pptx
Processo-de-Desenvolvimento-de-Software.pptxAndreyAlencarQuadros
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração ContínuaScrumHalf Tool
 
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALMAprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALMRodrigo Kono
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = ProdutividadeAdriano Bertucci
 

Semelhante a Ferramentas de desenvolvimento de software (20)

CPqD Developer Suite - SPIN Campinas - Reunião #56
CPqD Developer Suite - SPIN Campinas - Reunião #56CPqD Developer Suite - SPIN Campinas - Reunião #56
CPqD Developer Suite - SPIN Campinas - Reunião #56
 
Simplificando o Build do Android
Simplificando o Build do AndroidSimplificando o Build do Android
Simplificando o Build do Android
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Apresentação Gerpro
Apresentação GerproApresentação Gerpro
Apresentação Gerpro
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
Webinar Novidades da Release R2017b
Webinar Novidades da Release R2017bWebinar Novidades da Release R2017b
Webinar Novidades da Release R2017b
 
Brateste 2013: Testes Agile em Processos Agile
Brateste 2013:  Testes Agile em Processos AgileBrateste 2013:  Testes Agile em Processos Agile
Brateste 2013: Testes Agile em Processos Agile
 
DevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeDevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidade
 
Eng Soft.pptx
Eng Soft.pptxEng Soft.pptx
Eng Soft.pptx
 
Strider CD - Deploy Contínuo com JavaScript
Strider CD -  Deploy Contínuo com JavaScriptStrider CD -  Deploy Contínuo com JavaScript
Strider CD - Deploy Contínuo com JavaScript
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Processo-de-Desenvolvimento-de-Software.pptx
Processo-de-Desenvolvimento-de-Software.pptxProcesso-de-Desenvolvimento-de-Software.pptx
Processo-de-Desenvolvimento-de-Software.pptx
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALMAprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = Produtividade
 

Ferramentas de desenvolvimento de software