Globalcode – Open4education
Construindo uma solução ponta a
ponta com ferramentas open-sorce
Kleber Xavier
Instrutor e Arquiteto de Software
Bruno Souza
Evangelista Java e Open Source
Globalcode – Open4education
Agenda
Introdução
Problemas no gerenciamento do ciclo de vida de
um aplicativo
DEMO
Globalcode – Open4education
ALM – O que é?
Application Lifecycle Management: gerenciamento contínuo
do software;
Casamento da gestão de negócio com engenharia de
software;
Requer ferramentas integradas para gerenciar:
Requisitos;
Repositório de código;
Construção;
Arquitetura e codificação;
Testes e qualidade
Versões e componentes
Globalcode – Open4education
ALM – Por que?
Vantagens na adoção;
Rastreabilidade e dados post-hoc;
Gerenciamento integrado;
Simplificação nos processos;
Agilidade na construção do software;
Aumento da reusabilidade;
Diminuição dos riscos;
Globalcode – Open4education
ALM – ferramentas
Pilha ALM open-source que usamos:
Disciplina Software
Gerenciamento de Requisitos Redmine
Gestão de código / versionamento GIT
Construção e dependências Maven
Integração Contínua Jenkins
Repositório de componentes Nexus
Qualidade de código Sonar
Globalcode – Open4education
O planejamento inicial
Problema:
Organizar os requisitos em entregas
Atribuir os requisitos para seus desenvolvedores
Acompanhar a evolução do desenvolvimento
Solução:
Utilizar um gerenciador de issues, como o Redmine
Globalcode – Open4education
Processo – passo 1
requisitos e releases
stakeholder
Globalcode – Open4education
A organização do código fonte
Problema:
Compartilhar o código fonte entre os desenvolvedores
do projeto
Manter o histórico de alterações
Solução:
Utilizar um repositório de código fonte como o Git
Globalcode – Open4education
Processo – passo 2
requisitos e releases
stakeholder
desenvolvedor
código fonte
visualização
do histórico
Globalcode – Open4education
Gerenciamento das dependências
Problema:
Padronizar as bibliotecas de terceiros utilizadas pelo
projeto
Disponibilizar as bibliotecas utilizadas para a equipe de
desenvolvimento
Solução:
Utilizar uma ferramenta de build com suporte a
gerenciamento de dependências como o Maven
Utilizar um gerenciador de repositórios como o Nexus
Globalcode – Open4education
Processo – passo 3
requisitos e releases
stakeholder
desenvolvedor
código fonte
visualização
do histórico
build
dependências
Globalcode – Open4education
Integração entre módulos
Problema:
Garantir que alterações em um dos módulos não
quebrem o funcionamento de outros módulos
Notificar os responsáveis em caso de quebra, o mais
rapidamente possível
Solução:
Utilizar uma ferramenta de integração contínua como o
Jenkins
Globalcode – Open4education
Processo – parte 4
requisitos e releases
stakeholder
desenvolvedor
código fonte
visualização
do históricobuild
dependências
integração contínua
Globalcode – Open4education
Reutilização de módulos
Problema:
Disponibilizar os módulos desenvolvidos para reuso
entre as equipes
Solução:
Utilizar uma ferramenta de gerenciamento de
repositórios como o Nexus
Globalcode – Open4education
Processo – parte 5
requisitos e releases
stakeholder
desenvolvedor
código fonte
visualização
do históricobuild
dependências
integração contínua
publicação de artefatos
Globalcode – Open4education
Qualidade do código
Problema:
Garantir que as convenções e boas práticas estão sendo
seguidas pelos desenvolvedores
Visualizar as violações e a evolução da qualidade
estrutural do código
Solução:
Utilizar uma ferramenta de análise estática do código
como o Sonar
Globalcode – Open4education
Processo – parte 6
requisitos e releases
stakeholder
desenvolvedor
código fonte
visualização
do históricobuild
dependências
integração contínua
publicação de artefatos
inspeção
Globalcode – Open4education
Implantação em produção
Problema:
Implantar um módulo aprovado em produção
Solução:
Utilizar a ferramenta de integração contínua para fazer o
deployment contínuo
Globalcode – Open4education
Processo final
requisitos e releases
stakeholder
desenvolvedor
código fonte
visualização
do históricobuild
dependências
integração contínua
publicação de artefatos
inspeção
deploy
servidor
Globalcode – Open4education
Outras ferramentas
JUnit:
Testes unitários
Selenium
Testes de interface Web
JMeter
Testes de carga
TestLink
Gerenciamento de casos de teste
Globalcode – Open4education
DEMO
Globalcode – Open4education
Dúvidas
?
kleber@globalcode.com.br
bruno@javaman.com.br

TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferramentas open source

  • 1.
    Globalcode – Open4education Construindouma solução ponta a ponta com ferramentas open-sorce Kleber Xavier Instrutor e Arquiteto de Software Bruno Souza Evangelista Java e Open Source
  • 2.
    Globalcode – Open4education Agenda Introdução Problemasno gerenciamento do ciclo de vida de um aplicativo DEMO
  • 3.
    Globalcode – Open4education ALM– O que é? Application Lifecycle Management: gerenciamento contínuo do software; Casamento da gestão de negócio com engenharia de software; Requer ferramentas integradas para gerenciar: Requisitos; Repositório de código; Construção; Arquitetura e codificação; Testes e qualidade Versões e componentes
  • 4.
    Globalcode – Open4education ALM– Por que? Vantagens na adoção; Rastreabilidade e dados post-hoc; Gerenciamento integrado; Simplificação nos processos; Agilidade na construção do software; Aumento da reusabilidade; Diminuição dos riscos;
  • 5.
    Globalcode – Open4education ALM– ferramentas Pilha ALM open-source que usamos: Disciplina Software Gerenciamento de Requisitos Redmine Gestão de código / versionamento GIT Construção e dependências Maven Integração Contínua Jenkins Repositório de componentes Nexus Qualidade de código Sonar
  • 6.
    Globalcode – Open4education Oplanejamento inicial Problema: Organizar os requisitos em entregas Atribuir os requisitos para seus desenvolvedores Acompanhar a evolução do desenvolvimento Solução: Utilizar um gerenciador de issues, como o Redmine
  • 7.
    Globalcode – Open4education Processo– passo 1 requisitos e releases stakeholder
  • 8.
    Globalcode – Open4education Aorganização do código fonte Problema: Compartilhar o código fonte entre os desenvolvedores do projeto Manter o histórico de alterações Solução: Utilizar um repositório de código fonte como o Git
  • 9.
    Globalcode – Open4education Processo– passo 2 requisitos e releases stakeholder desenvolvedor código fonte visualização do histórico
  • 10.
    Globalcode – Open4education Gerenciamentodas dependências Problema: Padronizar as bibliotecas de terceiros utilizadas pelo projeto Disponibilizar as bibliotecas utilizadas para a equipe de desenvolvimento Solução: Utilizar uma ferramenta de build com suporte a gerenciamento de dependências como o Maven Utilizar um gerenciador de repositórios como o Nexus
  • 11.
    Globalcode – Open4education Processo– passo 3 requisitos e releases stakeholder desenvolvedor código fonte visualização do histórico build dependências
  • 12.
    Globalcode – Open4education Integraçãoentre módulos Problema: Garantir que alterações em um dos módulos não quebrem o funcionamento de outros módulos Notificar os responsáveis em caso de quebra, o mais rapidamente possível Solução: Utilizar uma ferramenta de integração contínua como o Jenkins
  • 13.
    Globalcode – Open4education Processo– parte 4 requisitos e releases stakeholder desenvolvedor código fonte visualização do históricobuild dependências integração contínua
  • 14.
    Globalcode – Open4education Reutilizaçãode módulos Problema: Disponibilizar os módulos desenvolvidos para reuso entre as equipes Solução: Utilizar uma ferramenta de gerenciamento de repositórios como o Nexus
  • 15.
    Globalcode – Open4education Processo– parte 5 requisitos e releases stakeholder desenvolvedor código fonte visualização do históricobuild dependências integração contínua publicação de artefatos
  • 16.
    Globalcode – Open4education Qualidadedo código Problema: Garantir que as convenções e boas práticas estão sendo seguidas pelos desenvolvedores Visualizar as violações e a evolução da qualidade estrutural do código Solução: Utilizar uma ferramenta de análise estática do código como o Sonar
  • 17.
    Globalcode – Open4education Processo– parte 6 requisitos e releases stakeholder desenvolvedor código fonte visualização do históricobuild dependências integração contínua publicação de artefatos inspeção
  • 18.
    Globalcode – Open4education Implantaçãoem produção Problema: Implantar um módulo aprovado em produção Solução: Utilizar a ferramenta de integração contínua para fazer o deployment contínuo
  • 19.
    Globalcode – Open4education Processofinal requisitos e releases stakeholder desenvolvedor código fonte visualização do históricobuild dependências integração contínua publicação de artefatos inspeção deploy servidor
  • 20.
    Globalcode – Open4education Outrasferramentas JUnit: Testes unitários Selenium Testes de interface Web JMeter Testes de carga TestLink Gerenciamento de casos de teste
  • 21.
  • 22.