cds overview para o spin campinas #56
DESCRIPTION
Há seis anos o CPqD vem utilizando um conjunto de ferramentas de software livre (e algumas comerciais de baixo custo) para suportar uma equipe de ~800 pessoas envolvidas com o desenvolvimento de seus produtos de software. O CPqD Developer Suite, como ficou conhecido, consiste atualmente em ferramentas para controle de versão, revisão de código, gestão de tarefas e de projetos ágeis, modelagem, integração contínua, testes e qualidade de código . Nesta palestra mostraremos como as ferramentas estão integradas, como elas são utilizadas e como o CPqD se organizou internamente para garantir o suporte e a evolução da suíte.TRANSCRIPT
![Page 1: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/1.jpg)
CPqD Developer Suite
SPIN CampinasReunião #56 - Ferramentas de Software03/set/2013
![Page 2: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/2.jpg)
CPqD Developer Suite
![Page 3: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/3.jpg)
CDS - custo
![Page 4: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/4.jpg)
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.
![Page 5: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/5.jpg)
CPqD Developer Suite
![Page 6: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/6.jpg)
Gestão de Mudanças e Projetos Ágeis
![Page 8: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/8.jpg)
![Page 9: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/9.jpg)
JIRA
Projeto A
Projeto BPA-101
PA-102
PA-103PA-104
PB-25
PB-26
PB-27
![Page 10: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/10.jpg)
PA-101
● Resumo● Descrição● Criador● Responsável● Componentes● Versões● …● Campos
customizados...
Tíquetes totalmente customizáveis
DefeitoMelhoria
TarefaEstóriaRequisito
![Page 11: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/11.jpg)
JIRA Ágil
![Page 12: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/12.jpg)
JIRA no CPqD
![Page 13: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/13.jpg)
Modelagem
![Page 14: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/14.jpg)
sparxsystems.com/products/ea
![Page 15: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/15.jpg)
Toolbox
Barra de Ferramentas
Project Browser
Área de Desenho
![Page 16: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/16.jpg)
Diagrama de Sequência
Diagrama de Caso de Uso
Diagrama de Colaboração
Diagrama de Estado
Diagrama de Atividade
Modelos
Diagrama de Classe
Diagrama de Objeto
Diagrama de Componente
Diagrama de DistribuiçãoCOMPORTAMENTAIS
ESTRUTURAISModelagem UML
![Page 17: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/17.jpg)
Banco de Dados Subversion
Edição simultânea e versionamento
![Page 18: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/18.jpg)
Controle de Versões
![Page 20: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/20.jpg)
ohloh.net/repositories/compare
![Page 21: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/21.jpg)
Se você não abusa de
branches e merges
![Page 22: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/22.jpg)
Subversion no CPqD
![Page 23: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/23.jpg)
search.cpan.org/dist/SVN-Hooks/
![Page 25: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/25.jpg)
“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 Spolskyhttp://www.joelonsoftware.com/items/2013/03/11.html
![Page 26: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/26.jpg)
leve e rápido
visualizaçãoda história
revise e publique
merges são simples
trabalhedesconectado
![Page 27: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/27.jpg)
"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
![Page 28: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/28.jpg)
devopsreactions.tumblr.com
“Initial git training”
![Page 29: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/29.jpg)
![Page 30: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/30.jpg)
devopsreactions.tumblr.com
“After reading the ‘Pro Git’ book”
![Page 31: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/31.jpg)
Eclipse Annual Survey
![Page 32: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/32.jpg)
search.cpan.org/dist/Git-Hooks/
![Page 33: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/33.jpg)
Revisão de Código
![Page 35: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/35.jpg)
Quem usa o Gerrit atualmente?
![Page 36: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/36.jpg)
Gerrit Code Review
![Page 37: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/37.jpg)
commited
open abandoned
merged
git commit
submit
abandon
git pushgit fetch
approvereject
comment
git commit --amend
![Page 38: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/38.jpg)
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?!
![Page 39: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/39.jpg)
Outros ganhos da revisão de código
mentoring peering
![Page 40: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/40.jpg)
Outros ganhos da revisão de código
O “medo da rejeição” estimula o esforço individual
![Page 41: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/41.jpg)
Outros ganhos da revisão de código
A “exposição” do trabalho de todos promove a integridade conceitual da solução
![Page 42: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/42.jpg)
Integração contínua
![Page 44: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/44.jpg)
Integração Contínua
● Código versionado
● Builds automatizadas e rápidas
● Testes automatizados
● Build a cada commit
● Resultados publicados
● Produtos disponíveis
● Deployment automatizadoMartin Fowler
![Page 45: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/45.jpg)
![Page 46: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/46.jpg)
Arquitetura
Build 01 Build 02
Build 03 Build 04
Jenkins
Job A Job B
Job C Job D
Build 01 Build 02
Build 03 Build 04
Build 01Build 01 Build 02
Build 03 Build 04
Build 02 Build 03
Build 04 Build 05 Build 06
Build 07 Build 08 Build N
![Page 47: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/47.jpg)
Informações sobre a execução do Job
● Histórico das builds
![Page 48: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/48.jpg)
Build Slave
Build Master
Build Slave
Build Slave
Changes Status
Commands Commands
Com
mands
Arquitetura
![Page 49: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/49.jpg)
Jenkins integrado ao CDS
Revisão de Código
Repositorio de ArtefatosConstrução
Gestão de Mudança
Controle de Versão
Controle de Versão
Integração Contínua
Automação de Teste
IDE
maven
egit
Qualidade
AS
subversive
![Page 50: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/50.jpg)
Usuários Jenkins
![Page 51: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/51.jpg)
Jenkins no CPqD
![Page 52: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/52.jpg)
Repositório de artefatos
![Page 54: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/54.jpg)
Old style dependency management
Internet...
dev.java.net
central
SVN/lib/*.jar
![Page 55: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/55.jpg)
Maven style dependency management
Internet
...
dev.java.net
central
...
codehaus-snapshots
apache-snapshots
internalreleases
thirdparties
externalreleases
externalsnapshots
internalsnapshots
releasessnapshots
![Page 56: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/56.jpg)
Nexus
![Page 57: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/57.jpg)
Testes
![Page 59: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/59.jpg)
![Page 60: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/60.jpg)
Projeto
...
Organização dos Testes
RQ RQ RQ RQ
T.Suite
T.Suite
T.Suite
T.PlanT.Plan
TC
TC
TC
TC
TC
TC
TC
TC
TC
![Page 61: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/61.jpg)
Plano de Testes e relatórios
Test Plan
Test Case
Test Case
Test Case
Test Case
Test Case
build
build
build
![Page 63: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/63.jpg)
Selenium IDE
<HTML>JavaPHPPerlPythonRubyC#
![Page 64: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/64.jpg)
Arquitetura do Selenium
SeleniumTest
SeleniumTest
WebApps
Selenium Hub
![Page 65: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/65.jpg)
Inspeção contínua
![Page 67: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/67.jpg)
Inspeção contínua
● Análise estática automatizada de código○ Disparada pelo Jenkins○ Java, C/C++, C#, PHP, Javascript, XML, etc.
● Dezenas de métricas de qualidade○ 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.
![Page 68: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/68.jpg)
Dashboard e tendências
![Page 69: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/69.jpg)
Issue Drilldown
![Page 70: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/70.jpg)
Timeline
![Page 71: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/71.jpg)
Hotspots
![Page 72: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/72.jpg)
Eclipse plugin
![Page 73: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/73.jpg)
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
![Page 74: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/74.jpg)
Sonar no CPqD
![Page 75: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/75.jpg)
Integrações
![Page 76: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/76.jpg)
Integrações
LDAP
![Page 77: Cds overview para o SPIN Campinas #56](https://reader033.vdocuments.com.br/reader033/viewer/2022052905/5585cfedd8b42ab2048b5098/html5/thumbnails/77.jpg)