SlideShare une entreprise Scribd logo
1  sur  21
O jCompany Developer é um
Gerador de Código?
Justino
Diretor Comercial
O jCompany NÃO é um gerador de código
Vejamos porque!
O que é um gerador de Código?
• Um gerador de código visa levar para um outro nível de
abstração a função do desenvolvedor, trazendo para isto
diagramas, meta-linguagens, modelos de telas, modelo de
banco de dados entre outras abordagem
• Durante a década de 80 e 90 onde as linguagem não eram
Orientadas a Objeto para aumentar a produtividade a
única a coisa a ser feita era a geração de código
• Tomemos como exemplo: Cobol, Clipper e Basic
• Após a confecção de tais artefatos normalmente escolhe-
se a linguagem e clica-se para a geração de código
• Transferindo para o gerador a função de codificar em
linguagem intermediária, atualmente Java ou .Net
O que é um gerador de Código?
• Um gerador de código (FERTALJ et al.,2002; WANG et all.,
2008) é uma ferramenta de software que permite a partir
de diferentes artefatos de entrada gerar o código de uma
aplicação em uma linguagem fonte
• Apesar do código produzido esteja correto, Moreira e
Mrack (2003) citam várias característica indesejáveis:
• Funcionamento em uma via: Caso o código gerado seja
alterado pelo desenvolvedor, tais alterações são perdidas
• O padrão do código dependente da ferramenta
• Código de baixa qualidade
• Acrescentamos:
• Despreocupação total com a arquitetura
O fracasso dos anos 80 e 90
Os geradores fracassaram nos anos 80 e 90
seria uma opção para o século XXI?
Geração de código x OO
• O surgimento da Orientação Objeto permitiu a fatoração
de todo o código repetitivo
• A melhor opção não é gerar rápido um código e sim não
gerar código repetitivo desnecessário
• Os principais benefícios da orientação a objeto (OO) são
perdidos no gerador de código
• Não há Reuso de componentes e de bibliotecas
• Total acoplamento entre o gerador e o código gerado
• Falta de coesão do código produzido
• O objetivo é gerar código rápido a qualquer preço
O que a organização perde?
• Seguramente um dos aspectos mais preocupantes para
uma organização é o grau de dependência quando se faz a
opção por um gerado de código
• Se o produto ou a empresa deixar de existir por qualquer
que seja o motivo, tudo que foi desenvolvido nesta
tecnologia deverá ser reescrito
• Quanto custará reescrever?
• Qual o impacto no negócio da organização?
• Quem será responsabilizado por esta decisão?
• A inovação dependerá única e exclusivamente de um
único fabricante desprezando todos os benéficos do
movimento Open Source
O que o profissional perde?
• O profissional ao utilizar um gerador de código perde o
conhecimento da linguagem e da arquitetura
• As oportunidades de novas colocações no mercado
estarão restrita a outras empresas que usam o gerador de
código
• Defasagem tecnológica
• Encurtamento da carreira profissional, pois jamais
conseguirá ser um arquiteto
• As linhas de códigos somem e todo o conhecimento
tecnológico vão junto
• Para se usar um gerador de código qual a necessidade de
um curso superior em tecnologia?
O que a equipe perde?
• O desenvolvimento em equipe é um dos pontos mais
prejudicados com o uso do gerador de código
• Como garantir a integração dos projetos para equipes de 5
a 100 desenvolvedores?
• Como reusar regras de negócios feitas por outras pessoas
da equipe?
• Como evitar que as alterações feitas entre os membros não
terão impactos entre si?
• Como garantir um baseline do aplicativo em produção?
• Como garantir um branch paralelo entre manutenção do
sistema em produção de uma nova versão?
Não há Bala de Prata
"No Silver Bullet: essence and accidents of
software engineering"
Frederick P. Brooks
Este artigo de um dos mais respeitados
engenheiros de software defende a inexistência
de um avanço tecnológico que gere uma melhora
de ordem de magnitude na produtividade,
simplicidade e confiabilidade da construção de
software.
Questões importantes
• A quanto tempo existe o software?
• Quanto de material para estudo existe disponível?
• Quantas releases do produto já foram liberados?
• Qual o tipo de licença adotada pelo software?
• Quantos softwares semelhantes existem?
• Qual o grau de reuso ou de colaboração do mercado com
este produto?
• Quantos projetos de missão crítica foram desenvolvidos
com o software e estão em produção?
• É uma solução departamental ou corporativa?
Principais players de mercado
Genexus Maker AndroMDA GOL Linc Gaz Synon
Afinal o jCompany Suite
é um gerador de código?
O jCompany NÃO é um gerador de código
O jCompany faz uso de wizards para gerar
artefatos que não são Java e não possuem
orientação a objeto
tais como: JSP, XML e XHMTL
• Tem como premissa básica a orientação a objeto (OO) e o
foco principal em arquitetura
• O uso intensivo do OO permite a programação por exceção
ou invés da geração de código repetitivo
• Reusa os frameworks lideres em cada segmento,
conseguindo evoluir de forma colaborativa e alinhada com
as tendências mundiais
• Uso de padrão de mercado como: Gof, W3C, MVC ou MVP
• Full compliance com as especificações do Java EE
• Orientado para o reuso de componentes e regras de
negócios
• Ambiente de qualidade e testes automatizados integrados
• Segurança garantida
• Possibilidade de extensão para atender as mais diversas
necessidades e dispositivos
• Atualização tecnológica constante
• Total independência do fabricante
• Total independência da IDE
• Privilegia o conhecimento tecnológico dos profissionais
• Privilegia a produtividade sem abrir mão da liberdade e da
qualidade
• Forte desenvolvimento em equipe
• Governança corporativa
• Gerencia de configuração
• Modalidade Open Source
Aderente a todos os níveis profissionais
Iniciante
Redução da curva de aprendizado
Intermediário
Aprimoramento do nível de conhecimento
Arquiteto
Extensão da arquitetura
Abrange todos os níveis da organização
Garantia do investimento
Mitigação de risco
Qualidade
Padronização
Produtividade
Atualização tecnológica
O jCompany em números
• Um framework estável com 7 anos de mercado.
• Atualizado tecnologicamente (Up-to-Date).
• Em 7 anos, mais de 26 lançamentos de versões e releases.
• Mais de 1.500 subscrições.
• Mais de 200 clientes corporativos e órgãos públicos.
• Mais de 1.100 projetos em produção.
• Mais de 180.000 Pontos de Função desenvolvidos.
• 3.421 profissionais treinados.
• 111 profissionais certificados.
• 54.736 horas de treinamento já realizados.
• 164.208 horas de mentorias já realizadas.
Fique atento!
O dinheiro investido é possível recuperar
Porem o tempo perdido jamais se recupera
A decisão cabe a você!
Obrigado.
Justino
(31) 9313-4910
justino@powerlogic.com.br

Contenu connexe

Tendances

Qualidade e Teste de Software - O que preciso saber
Qualidade e Teste de Software - O que preciso saberQualidade e Teste de Software - O que preciso saber
Qualidade e Teste de Software - O que preciso saberKamilla Queiroz Xavier
 
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
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...Rafael Chiavegatto
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsLuiz Henrique
 
Construindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadoresConstruindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadoresGabriel Oliveira
 
Google android p Noobs - COMBINATIVIDADE - UPE
Google android p  Noobs - COMBINATIVIDADE - UPEGoogle android p  Noobs - COMBINATIVIDADE - UPE
Google android p Noobs - COMBINATIVIDADE - UPELevi Saturnino
 
Como manter a qualidade do seu projeto sem perder a sua sanidade!
Como manter a qualidade do seu projeto sem perder a sua sanidade!Como manter a qualidade do seu projeto sem perder a sua sanidade!
Como manter a qualidade do seu projeto sem perder a sua sanidade!Elton Minetto
 
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Rafael Prallon
 
Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Vinta Software
 
Integração contínua - Rumo à automação e ao DEVOPS
Integração contínua - Rumo à automação e ao DEVOPSIntegração contínua - Rumo à automação e ao DEVOPS
Integração contínua - Rumo à automação e ao DEVOPSFabiano Souza
 
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebProposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebEr Galvão Abbott
 
Apresentação TDC2015
Apresentação TDC2015Apresentação TDC2015
Apresentação TDC2015Bruno Murawski
 
Boas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de softwareBoas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de softwareCarlos Santana
 
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimentoDevops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimentoThiago Ferreira
 
Extreming Programming XP
Extreming Programming XPExtreming Programming XP
Extreming Programming XPGabriel Galdino
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Apresentacao IzCode Web
Apresentacao IzCode  WebApresentacao IzCode  Web
Apresentacao IzCode Webjoaopauloaos
 

Tendances (20)

Qualidade e Teste de Software - O que preciso saber
Qualidade e Teste de Software - O que preciso saberQualidade e Teste de Software - O que preciso saber
Qualidade e Teste de Software - O que preciso saber
 
Integração Continua - Jenkins
Integração Continua - JenkinsIntegração Continua - Jenkins
Integração Continua - Jenkins
 
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
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applications
 
Clean Code na prática
Clean Code na práticaClean Code na prática
Clean Code na prática
 
Construindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadoresConstruindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadores
 
Google android p Noobs - COMBINATIVIDADE - UPE
Google android p  Noobs - COMBINATIVIDADE - UPEGoogle android p  Noobs - COMBINATIVIDADE - UPE
Google android p Noobs - COMBINATIVIDADE - UPE
 
Como manter a qualidade do seu projeto sem perder a sua sanidade!
Como manter a qualidade do seu projeto sem perder a sua sanidade!Como manter a qualidade do seu projeto sem perder a sua sanidade!
Como manter a qualidade do seu projeto sem perder a sua sanidade!
 
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...
 
Maio 2016 - O QA em um Time Ágil
Maio 2016 - O QA em um Time Ágil Maio 2016 - O QA em um Time Ágil
Maio 2016 - O QA em um Time Ágil
 
Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.
 
Integração contínua - Rumo à automação e ao DEVOPS
Integração contínua - Rumo à automação e ao DEVOPSIntegração contínua - Rumo à automação e ao DEVOPS
Integração contínua - Rumo à automação e ao DEVOPS
 
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebProposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
 
Apresentação TDC2015
Apresentação TDC2015Apresentação TDC2015
Apresentação TDC2015
 
Boas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de softwareBoas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de software
 
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimentoDevops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
 
Extreming Programming XP
Extreming Programming XPExtreming Programming XP
Extreming Programming XP
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Apresentacao IzCode Web
Apresentacao IzCode  WebApresentacao IzCode  Web
Apresentacao IzCode Web
 

En vedette (7)

A expansão do PHP no governo brasileiro
A expansão do PHP no governo brasileiroA expansão do PHP no governo brasileiro
A expansão do PHP no governo brasileiro
 
Politica de Parceria 2010-2011
Politica de Parceria 2010-2011Politica de Parceria 2010-2011
Politica de Parceria 2010-2011
 
Palestra Gerenciamento de Projetos com Scrum e MPS.Br
Palestra Gerenciamento de Projetos com Scrum e MPS.BrPalestra Gerenciamento de Projetos com Scrum e MPS.Br
Palestra Gerenciamento de Projetos com Scrum e MPS.Br
 
Apresentação JAGUAR Software Público
Apresentação JAGUAR Software PúblicoApresentação JAGUAR Software Público
Apresentação JAGUAR Software Público
 
jCompany for SAP NetWeaver
jCompany for SAP NetWeaverjCompany for SAP NetWeaver
jCompany for SAP NetWeaver
 
Powerlogic ISV Partner
Powerlogic ISV PartnerPowerlogic ISV Partner
Powerlogic ISV Partner
 
Apresentação Executiva
Apresentação ExecutivaApresentação Executiva
Apresentação Executiva
 

Similaire à jCompany X Geradores de Códigos

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
 
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
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimentoGabriel Moura
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxRoberto Nunes
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwareTiago Barros
 
Sonarqube
SonarqubeSonarqube
SonarqubeCDS
 
Metodologia Desenvolvimento do Prefeitura Livre
Metodologia Desenvolvimento do Prefeitura LivreMetodologia Desenvolvimento do Prefeitura Livre
Metodologia Desenvolvimento do Prefeitura LivreGeoLivre Conference
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxMarcondesTiburcio
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
SonarQube
SonarQubeSonarQube
SonarQubeCDS
 
Projeto arrastão projeto fábrica de software
Projeto arrastão   projeto fábrica de softwareProjeto arrastão   projeto fábrica de software
Projeto arrastão projeto fábrica de softwareAlan Correa Morais
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Cláudio Amaral
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídiaFábio Costa
 

Similaire à jCompany X Geradores de Códigos (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
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptx
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de Software
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
Metodologia Desenvolvimento do Prefeitura Livre
Metodologia Desenvolvimento do Prefeitura LivreMetodologia Desenvolvimento do Prefeitura Livre
Metodologia Desenvolvimento do Prefeitura Livre
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptx
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Qualidade no desenvolvimento de softwre
Qualidade no desenvolvimento de softwreQualidade no desenvolvimento de softwre
Qualidade no desenvolvimento de softwre
 
SonarQube
SonarQubeSonarQube
SonarQube
 
Projeto arrastão projeto fábrica de software
Projeto arrastão   projeto fábrica de softwareProjeto arrastão   projeto fábrica de software
Projeto arrastão projeto fábrica de software
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídia
 

jCompany X Geradores de Códigos

  • 1. O jCompany Developer é um Gerador de Código? Justino Diretor Comercial
  • 2. O jCompany NÃO é um gerador de código Vejamos porque!
  • 3. O que é um gerador de Código? • Um gerador de código visa levar para um outro nível de abstração a função do desenvolvedor, trazendo para isto diagramas, meta-linguagens, modelos de telas, modelo de banco de dados entre outras abordagem • Durante a década de 80 e 90 onde as linguagem não eram Orientadas a Objeto para aumentar a produtividade a única a coisa a ser feita era a geração de código • Tomemos como exemplo: Cobol, Clipper e Basic • Após a confecção de tais artefatos normalmente escolhe- se a linguagem e clica-se para a geração de código • Transferindo para o gerador a função de codificar em linguagem intermediária, atualmente Java ou .Net
  • 4. O que é um gerador de Código? • Um gerador de código (FERTALJ et al.,2002; WANG et all., 2008) é uma ferramenta de software que permite a partir de diferentes artefatos de entrada gerar o código de uma aplicação em uma linguagem fonte • Apesar do código produzido esteja correto, Moreira e Mrack (2003) citam várias característica indesejáveis: • Funcionamento em uma via: Caso o código gerado seja alterado pelo desenvolvedor, tais alterações são perdidas • O padrão do código dependente da ferramenta • Código de baixa qualidade • Acrescentamos: • Despreocupação total com a arquitetura
  • 5. O fracasso dos anos 80 e 90 Os geradores fracassaram nos anos 80 e 90 seria uma opção para o século XXI?
  • 6. Geração de código x OO • O surgimento da Orientação Objeto permitiu a fatoração de todo o código repetitivo • A melhor opção não é gerar rápido um código e sim não gerar código repetitivo desnecessário • Os principais benefícios da orientação a objeto (OO) são perdidos no gerador de código • Não há Reuso de componentes e de bibliotecas • Total acoplamento entre o gerador e o código gerado • Falta de coesão do código produzido • O objetivo é gerar código rápido a qualquer preço
  • 7. O que a organização perde? • Seguramente um dos aspectos mais preocupantes para uma organização é o grau de dependência quando se faz a opção por um gerado de código • Se o produto ou a empresa deixar de existir por qualquer que seja o motivo, tudo que foi desenvolvido nesta tecnologia deverá ser reescrito • Quanto custará reescrever? • Qual o impacto no negócio da organização? • Quem será responsabilizado por esta decisão? • A inovação dependerá única e exclusivamente de um único fabricante desprezando todos os benéficos do movimento Open Source
  • 8. O que o profissional perde? • O profissional ao utilizar um gerador de código perde o conhecimento da linguagem e da arquitetura • As oportunidades de novas colocações no mercado estarão restrita a outras empresas que usam o gerador de código • Defasagem tecnológica • Encurtamento da carreira profissional, pois jamais conseguirá ser um arquiteto • As linhas de códigos somem e todo o conhecimento tecnológico vão junto • Para se usar um gerador de código qual a necessidade de um curso superior em tecnologia?
  • 9. O que a equipe perde? • O desenvolvimento em equipe é um dos pontos mais prejudicados com o uso do gerador de código • Como garantir a integração dos projetos para equipes de 5 a 100 desenvolvedores? • Como reusar regras de negócios feitas por outras pessoas da equipe? • Como evitar que as alterações feitas entre os membros não terão impactos entre si? • Como garantir um baseline do aplicativo em produção? • Como garantir um branch paralelo entre manutenção do sistema em produção de uma nova versão?
  • 10. Não há Bala de Prata "No Silver Bullet: essence and accidents of software engineering" Frederick P. Brooks Este artigo de um dos mais respeitados engenheiros de software defende a inexistência de um avanço tecnológico que gere uma melhora de ordem de magnitude na produtividade, simplicidade e confiabilidade da construção de software.
  • 11. Questões importantes • A quanto tempo existe o software? • Quanto de material para estudo existe disponível? • Quantas releases do produto já foram liberados? • Qual o tipo de licença adotada pelo software? • Quantos softwares semelhantes existem? • Qual o grau de reuso ou de colaboração do mercado com este produto? • Quantos projetos de missão crítica foram desenvolvidos com o software e estão em produção? • É uma solução departamental ou corporativa?
  • 12. Principais players de mercado Genexus Maker AndroMDA GOL Linc Gaz Synon
  • 13. Afinal o jCompany Suite é um gerador de código?
  • 14. O jCompany NÃO é um gerador de código O jCompany faz uso de wizards para gerar artefatos que não são Java e não possuem orientação a objeto tais como: JSP, XML e XHMTL
  • 15. • Tem como premissa básica a orientação a objeto (OO) e o foco principal em arquitetura • O uso intensivo do OO permite a programação por exceção ou invés da geração de código repetitivo • Reusa os frameworks lideres em cada segmento, conseguindo evoluir de forma colaborativa e alinhada com as tendências mundiais • Uso de padrão de mercado como: Gof, W3C, MVC ou MVP • Full compliance com as especificações do Java EE • Orientado para o reuso de componentes e regras de negócios • Ambiente de qualidade e testes automatizados integrados • Segurança garantida
  • 16. • Possibilidade de extensão para atender as mais diversas necessidades e dispositivos • Atualização tecnológica constante • Total independência do fabricante • Total independência da IDE • Privilegia o conhecimento tecnológico dos profissionais • Privilegia a produtividade sem abrir mão da liberdade e da qualidade • Forte desenvolvimento em equipe • Governança corporativa • Gerencia de configuração • Modalidade Open Source
  • 17. Aderente a todos os níveis profissionais Iniciante Redução da curva de aprendizado Intermediário Aprimoramento do nível de conhecimento Arquiteto Extensão da arquitetura
  • 18. Abrange todos os níveis da organização Garantia do investimento Mitigação de risco Qualidade Padronização Produtividade Atualização tecnológica
  • 19. O jCompany em números • Um framework estável com 7 anos de mercado. • Atualizado tecnologicamente (Up-to-Date). • Em 7 anos, mais de 26 lançamentos de versões e releases. • Mais de 1.500 subscrições. • Mais de 200 clientes corporativos e órgãos públicos. • Mais de 1.100 projetos em produção. • Mais de 180.000 Pontos de Função desenvolvidos. • 3.421 profissionais treinados. • 111 profissionais certificados. • 54.736 horas de treinamento já realizados. • 164.208 horas de mentorias já realizadas.
  • 20. Fique atento! O dinheiro investido é possível recuperar Porem o tempo perdido jamais se recupera
  • 21. A decisão cabe a você! Obrigado. Justino (31) 9313-4910 justino@powerlogic.com.br