78
CPqD Developer Suite SPIN Campinas Reunião #56 - Ferramentas de Software 03/set/2013

CPqD Developer Suite - SPIN Campinas - Reunião #56

  • Upload
    cpqd

  • View
    311

  • Download
    1

Embed Size (px)

Citation preview

Page 1: CPqD Developer Suite - SPIN Campinas - Reunião #56

CPqD Developer Suite

SPIN CampinasReunião #56 - Ferramentas de Software03/set/2013

Page 2: CPqD Developer Suite - SPIN Campinas - Reunião #56

CPqD Developer Suite

Page 3: CPqD Developer Suite - SPIN Campinas - Reunião #56

CDS - custo

Page 4: CPqD Developer Suite - SPIN Campinas - Reunião #56

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: CPqD Developer Suite - SPIN Campinas - Reunião #56

CPqD Developer Suite

Page 6: CPqD Developer Suite - SPIN Campinas - Reunião #56

Gestão de Mudanças e Projetos Ágeis

Page 8: CPqD Developer Suite - SPIN Campinas - Reunião #56
Page 9: CPqD Developer Suite - SPIN Campinas - Reunião #56

JIRA

Projeto A

Projeto BPA-101

PA-102

PA-103PA-104

PB-25

PB-26

PB-27

Page 10: CPqD Developer Suite - SPIN Campinas - Reunião #56

PA-101

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

customizados...

Tíquetes totalmente customizáveis

DefeitoMelhoria

TarefaEstóriaRequisito

Page 11: CPqD Developer Suite - SPIN Campinas - Reunião #56

JIRA Ágil

Page 12: CPqD Developer Suite - SPIN Campinas - Reunião #56

JIRA no CPqD

Page 13: CPqD Developer Suite - SPIN Campinas - Reunião #56

Modelagem

Page 15: CPqD Developer Suite - SPIN Campinas - Reunião #56

Toolbox

Barra de Ferramentas

Project Browser

Área de Desenho

Page 16: CPqD Developer Suite - SPIN Campinas - Reunião #56

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: CPqD Developer Suite - SPIN Campinas - Reunião #56

Banco de Dados Subversion

Edição simultânea e versionamento

Page 18: CPqD Developer Suite - SPIN Campinas - Reunião #56

Controle de Versões

Page 21: CPqD Developer Suite - SPIN Campinas - Reunião #56

Se você não abusa de

branches e merges

Page 22: CPqD Developer Suite - SPIN Campinas - Reunião #56

Subversion no CPqD

Page 25: CPqD Developer Suite - SPIN Campinas - Reunião #56

“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: CPqD Developer Suite - SPIN Campinas - Reunião #56

leve e rápido

visualizaçãoda história

revise e publique

merges são simples

trabalhedesconectado

Page 27: CPqD Developer Suite - SPIN Campinas - Reunião #56

"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: CPqD Developer Suite - SPIN Campinas - Reunião #56

devopsreactions.tumblr.com

“Initial git training”

Page 29: CPqD Developer Suite - SPIN Campinas - Reunião #56
Page 30: CPqD Developer Suite - SPIN Campinas - Reunião #56

devopsreactions.tumblr.com

“After reading the ‘Pro Git’ book”

Page 31: CPqD Developer Suite - SPIN Campinas - Reunião #56

Eclipse Annual Survey

Page 33: CPqD Developer Suite - SPIN Campinas - Reunião #56

Revisão de Código

Page 35: CPqD Developer Suite - SPIN Campinas - Reunião #56

Quem usa o Gerrit atualmente?

Page 36: CPqD Developer Suite - SPIN Campinas - Reunião #56

Gerrit Code Review

Page 37: CPqD Developer Suite - SPIN Campinas - Reunião #56

commited

open abandoned

merged

git commit

submit

abandon

git pushgit fetch

approvereject

comment

git commit --amend

Page 38: CPqD Developer Suite - SPIN Campinas - Reunião #56

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: CPqD Developer Suite - SPIN Campinas - Reunião #56

Outros ganhos da revisão de código

mentoring peering

Page 40: CPqD Developer Suite - SPIN Campinas - Reunião #56

Outros ganhos da revisão de código

O “medo da rejeição” estimula o esforço individual

Page 41: CPqD Developer Suite - SPIN Campinas - Reunião #56

Outros ganhos da revisão de código

A “exposição” do trabalho de todos promove a integridade conceitual da solução

Page 42: CPqD Developer Suite - SPIN Campinas - Reunião #56

Integração contínua

Page 43: CPqD Developer Suite - SPIN Campinas - Reunião #56

jenkins-ci.orgnée

Page 44: CPqD Developer Suite - SPIN Campinas - Reunião #56

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: CPqD Developer Suite - SPIN Campinas - Reunião #56
Page 46: CPqD Developer Suite - SPIN Campinas - Reunião #56

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: CPqD Developer Suite - SPIN Campinas - Reunião #56

Informações sobre a execução do Job

● Histórico das builds

Page 48: CPqD Developer Suite - SPIN Campinas - Reunião #56

Build Slave

Build Master

Build Slave

Build Slave

Changes Status

Commands Commands

Com

mands

Arquitetura

Page 49: CPqD Developer Suite - SPIN Campinas - Reunião #56

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: CPqD Developer Suite - SPIN Campinas - Reunião #56

Usuários Jenkins

Page 51: CPqD Developer Suite - SPIN Campinas - Reunião #56

Jenkins no CPqD

Page 52: CPqD Developer Suite - SPIN Campinas - Reunião #56

Repositório de artefatos

Page 54: CPqD Developer Suite - SPIN Campinas - Reunião #56

Old style dependency management

Internet...

dev.java.net

central

SVN/lib/*.jar

Page 55: CPqD Developer Suite - SPIN Campinas - Reunião #56

Maven style dependency management

Internet

...

dev.java.net

central

...

codehaus-snapshots

apache-snapshots

internalreleases

thirdparties

externalreleases

externalsnapshots

internalsnapshots

releasessnapshots

Page 56: CPqD Developer Suite - SPIN Campinas - Reunião #56

Nexus

Page 57: CPqD Developer Suite - SPIN Campinas - Reunião #56

Testes

Page 59: CPqD Developer Suite - SPIN Campinas - Reunião #56
Page 60: CPqD Developer Suite - SPIN Campinas - Reunião #56

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: CPqD Developer Suite - SPIN Campinas - Reunião #56

Plano de Testes e relatórios

Test Plan

Test Case

Test Case

Test Case

Test Case

Test Case

build

build

build

Page 63: CPqD Developer Suite - SPIN Campinas - Reunião #56

Selenium IDE

<HTML>JavaPHPPerlPythonRubyC#

Page 64: CPqD Developer Suite - SPIN Campinas - Reunião #56

Arquitetura do Selenium

SeleniumTest

SeleniumTest

WebApps

Selenium Hub

Page 65: CPqD Developer Suite - SPIN Campinas - Reunião #56

Inspeção contínua

Page 67: CPqD Developer Suite - SPIN Campinas - Reunião #56

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: CPqD Developer Suite - SPIN Campinas - Reunião #56

Dashboard e tendências

Page 69: CPqD Developer Suite - SPIN Campinas - Reunião #56

Issue Drilldown

Page 70: CPqD Developer Suite - SPIN Campinas - Reunião #56

Timeline

Page 71: CPqD Developer Suite - SPIN Campinas - Reunião #56

Hotspots

Page 72: CPqD Developer Suite - SPIN Campinas - Reunião #56

Eclipse plugin

Page 73: CPqD Developer Suite - SPIN Campinas - Reunião #56

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: CPqD Developer Suite - SPIN Campinas - Reunião #56

Sonar no CPqD

Page 75: CPqD Developer Suite - SPIN Campinas - Reunião #56

Integrações

Page 76: CPqD Developer Suite - SPIN Campinas - Reunião #56

Integrações

LDAP

Page 77: CPqD Developer Suite - SPIN Campinas - Reunião #56
Page 78: CPqD Developer Suite - SPIN Campinas - Reunião #56

Gustavo [email protected](19) 3705 7003

Obrigado!

www.cpqd.com.br