SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Durante o processo de construção da aplicação, é necessário marcar marcos no desenvolvimento
da mesma, entendendo como marcos o “congelamento” do desenvolvimento num determinado
momento especial no processo. Isto pode acontecer por exemplo para liberar uma versão na
produção, congelar uma versão entregue a um cliente, a necessidade de congelar um determinado
estado especial da aplicação, etc.
Além disso também vamos querer ter diferentes linhas de desenvolvimento da aplicação, algo muito
comum por exemplo quando se quer fazer variações do projeto para um cliente ou quando se requer
que dois grupos de trabalho o façam em paralelo e necessitamos poder realizar uma administração
de todos estes elementos.
O que necessitamos basicamente é administrar o “ciclo de vida” da aplicação durante o
desenvolvimento. Várias destas funcionalidades entram no que no mundo do software se conhece
como SCM (Software Configuración Management)
Começa o desenvolvimento seguindo uma linha principal de desenvolvimento (linha do meio – Trunk),
lugar onde são agregadas as funcionalidades requeridas e são utilizados protótipos para prová-las .
Em determinados momentos deste ciclo surge a necessidade de estabelecer um checkpoint no
processo, seja pela liberação de uma versão, a entrega de uma versão a um cliente, a necessidade
de congelar um determinado estado de uma aplicação, etc. Então o que fazemos é congelar o
produto nesse momento criando por exemplo a versão 1.0 que a entregamos a um cliente e continua
o processo de desenvolvimento principal.
Em determinado momento surge a necessidade de realizar correções sobre a versão entregue ao
cliente (1.0) sendo necessário abrir uma nova linha de desenvolvimento para incluir estas correções
sobre o que era a versão 1.0 sem afetar a linha de desenvolvimento principal que continuou
crescendo desde o momento que foi congelada a versão 1.0.
Então se cria o que se conhece como Developmen Version ou branch, que é simplesmente uma nova
linha de desenvolvimento paralela a principal.
Depois durante o transcurso do projeto voltam a aparecer requerimentos deste tipo, seja pela
determinação de checkpoints como a necessidade de abrir novas linhas de desenvolvimento, então
por exemplo criamos a versão 1.1, ou a 1.0.1 que vem a ser um congelamento da linha de
desenvolvimento aberta a partir da versão 1.0 e assim sucessivamente até ter por exemplo a situação
estabelecida no diagrama.
Estas situações formam parte da operação normal no desenvolvimento de uma aplicação e é
necessário administrar este processo de forma fácil.
.
Para isso se introduz o conceito de Gerência de Versões. As versões são classificadas em:
•Development Versions, representam as linhas de desenvolvimento da aplicação as quais são
independentes entre si, existe uma linha principal e várias paralelas, a principal vem a ser o que se
conhece como Trunk e as demais seriam o que em SCM se conhece como Branches
•Frozen Versions (também conhecidas como Labels em SCM), representam as congeladas criados
em determinados momentos do processo sobre as DV para determinar certos checkpoints (liberação
de versão, entrega ao cliente, congelar estado, etc.)
As development version são as linhas de desenvolvimento da aplicação, isto é o lugar onde
efetivamente criamos e modificamos a aplicação.
No ciclo de vida de uma aplicação participa uma linha de desenvolvimento principal, isto é, onde
começa o processo de desenvolvimento da aplicação e na qual normalmente se vai estar fazendo as
modificações requeridas no avanço do projeto. Em SCM esta linha de desenvolvimento é conhecida
com o nome de Trunk.
Além desta linha principal poderão existir uma ou várias linhas de desenvolvimento secundárias,
totalmente independentes da linha principal e independentes entre si. Em SCM estas linhas de
desenvolvimento secundárias são conhecidas como Branches e são usadas em geral para realizar
correções ou pequenas alterações sobre versões congeladas ou liberadas da aplicação, ou para
liberar uma versão especial para um cliente.
O desenvolvimento em cada uma destas development version é independente, tendo cada versão
seus próprios objetos, sua própria base de dados, ambientes para gerar a aplicação, etc.
Uma Development Version, é então, uma cópia da KB editável e independente.
Uma Frozen Version permite armazenar de forma estática momentos especiais da KB. É o elemento
que utilizamos para marcar distintos marcos no processo, como por exemplo “feche” uma versão
para liberá-la aos clientes.
Se obtêm a partir de uma versão em desenvolvimento (development version), “congelando-a” para
obter uma “foto” num determinado momento.
A versão obtida é Read Only, que objetos da mesma não poderão ser modificados, nem tampouco
suas propriedades. Sendo possível realizar ações relacionadas com a geração da aplicação, como
por exemplo a criação da base de dados ou a geração novamente dos programas.
Quando congelamos uma versão é porque determinamos que a mesma está em um estado
consistente e seria conveniente guardar dito estado. Por exemplo, congelamos uma version X para
se dar aos clientes, em determinado momento, enquanto o processo de desenvolvimento continua,
um novo cliente requer a aplicação, então o que fazermos é gerar a mesma na version X, que
sabemos que tem um estado correto e a instalamos ao novo cliente.
Se os objetos não poder ser modificados, podem ser abertos para distintas consultas ou para
realizar comparações com outras versões da aplicação.
Partimos do nó raiz da árvore de versões, o qual se cria ao criar a KB.
A aplicação vai sofrendo alterações a medida que transcorre o ciclo de desenvolvimento. A linha de
desenvolvimento principal é onde se implementam as funcionalidades requeridas e onde se faz a
prototipação.
Esta linha de desenvolvimento geralmente coincide com o Trunk, ou seja com a ramo principal da
árvore de versões. É uma Development Version criada por default quando a KB é criada.
A medida que as modificações na aplicação são realizadas, a mesma vai se alterando ao longo do
tempo.
As Frozen Version servem para:
• Analisar (não modificar) objetos, propriedades, environments, etc.
• Como fonte de um Reporte de Análise de Impacto da base de dados
• Para criar a base de dados
• Para regerar todos os programas
Na versão de “Produção” vão sendo produzidas variações devido aos consertos, mas não se agrega
funcionalidades novas. As mesmas são agregadas na linha de desenvolvimento principal.
As Development Version servem para:
- Trabalhar numa linha de desenvolvimento paralela a principal
- Como fonte ou destino de uma operation de Revert a partir de uma Frozen Version de Backup
Observe que as Frozen Version mais novas, são mostradas mais acima na árvore de versões.
O tempo que se demora em criar uma nova Development Version é proporcional ao tamanho da KB.
Como as linhas de desenvolvimento do Trunk (Desenvolvimento) e de Relase 1 (Produção) são
paralelas, as alterações numa não afeta a outra.
Ambas versões são totalmente independentes e podemos requerer congelá-las por diferentes
motivos. Por exemplo, no caso do ramo de Produção, para fixar um estado depois de certos
consertos que tivemos que fazer.
De acordo com a metodologia adotada, no ciclo de desenvolvimento principal, é onde se agregam
novas funcionalidades, consertos, alterações importantes na aplicação, prototipação e testing. É
mais frequente que seja necessária “fotos” nessa etapa viva do desenvolvimento da aplicação.
No ramo do Release1, as alterações são menores, mais certos consertos circunstanciais que não
agregam funcionalidade. Neste caso, é menos frequente a necessidade de criar Frozen Versions,
mas pode ser igualmente necessário.
GeneXus gera automaticamente os programas e as estruturas da BD, partindo da versão que esteja
ativa.
Se pode marcar como ativa uma versão em desenvolvimento ou uma versão congelada. Neste
último caso, não poderemos fazer nenhuma modificação a mesma, somente utilizá-la para gerar a
aplicação ou para realizar um impacto na base de dados, ou para comparar versões.
Somente pode ter uma versão ativa por vez.
17 kb versoes-curso-gxxbr

Más contenido relacionado

La actualidad más candente

MiniCurso de Git e Github - UNIFG PIE
MiniCurso de Git e Github - UNIFG PIEMiniCurso de Git e Github - UNIFG PIE
MiniCurso de Git e Github - UNIFG PIECloves da Rocha
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de VersãoJonathas Silva
 
Plano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisPlano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisMarcos Pessoa
 
Conceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoConceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoFelipe
 
ConheçA O Apache 2.0 Parte 2
ConheçA O Apache 2.0   Parte 2ConheçA O Apache 2.0   Parte 2
ConheçA O Apache 2.0 Parte 2Felipe Santos
 
GCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de VersõesGCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de VersõesMisael Santos
 
CVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoCVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoMarden Neubert
 
Versionamento de Software com Subversion - Wanderson Henrique Camargo Rosa
Versionamento de Software com Subversion - Wanderson Henrique Camargo RosaVersionamento de Software com Subversion - Wanderson Henrique Camargo Rosa
Versionamento de Software com Subversion - Wanderson Henrique Camargo RosaTchelinux
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Globalcode
 
Integração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimentoIntegração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimentoMario Mendonça
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETJosé Corrêa Viana
 
Gerenciamento de Projetos com o Redmine
Gerenciamento de Projetos com o RedmineGerenciamento de Projetos com o Redmine
Gerenciamento de Projetos com o RedminePatrick Kaminski
 

La actualidad más candente (17)

MiniCurso de Git e Github - UNIFG PIE
MiniCurso de Git e Github - UNIFG PIEMiniCurso de Git e Github - UNIFG PIE
MiniCurso de Git e Github - UNIFG PIE
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de Versão
 
Plano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisPlano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiais
 
Conceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoConceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de código
 
ConheçA O Apache 2.0 Parte 2
ConheçA O Apache 2.0   Parte 2ConheçA O Apache 2.0   Parte 2
ConheçA O Apache 2.0 Parte 2
 
GCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de VersõesGCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de Versões
 
IBM Rational Unified Process
IBM Rational Unified ProcessIBM Rational Unified Process
IBM Rational Unified Process
 
Novidades do plone 4
Novidades do plone 4Novidades do plone 4
Novidades do plone 4
 
CVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoCVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - Introdução
 
Versionamento de Software com Subversion - Wanderson Henrique Camargo Rosa
Versionamento de Software com Subversion - Wanderson Henrique Camargo RosaVersionamento de Software com Subversion - Wanderson Henrique Camargo Rosa
Versionamento de Software com Subversion - Wanderson Henrique Camargo Rosa
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!
 
Ferramentas Case - fase de análise e projeto
Ferramentas Case - fase de análise e projetoFerramentas Case - fase de análise e projeto
Ferramentas Case - fase de análise e projeto
 
Integração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimentoIntegração contínua - Prática de desenvolvimento
Integração contínua - Prática de desenvolvimento
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
Cvs everton
Cvs   evertonCvs   everton
Cvs everton
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NET
 
Gerenciamento de Projetos com o Redmine
Gerenciamento de Projetos com o RedmineGerenciamento de Projetos com o Redmine
Gerenciamento de Projetos com o Redmine
 

Similar a 17 kb versoes-curso-gxxbr

Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágilClaudia Melo
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxALEXANDRELISBADASILV
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individualAdivaldo_badinho
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascatawilsonguns
 
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfO_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfAthena542429
 
Web Training Aula 04: Introduction to Git
Web Training Aula 04: Introduction to GitWeb Training Aula 04: Introduction to Git
Web Training Aula 04: Introduction to GitMozDevz
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
Ciclo+de+vida+do+projeto
Ciclo+de+vida+do+projetoCiclo+de+vida+do+projeto
Ciclo+de+vida+do+projetoDIANE BRAGA
 
Criando projetos mestres ms project 2010 server
Criando projetos mestres ms project 2010 serverCriando projetos mestres ms project 2010 server
Criando projetos mestres ms project 2010 serverIgor Serra
 
Rational Unified Process - RUP
Rational Unified Process - RUPRational Unified Process - RUP
Rational Unified Process - RUPFernando Nogueira
 

Similar a 17 kb versoes-curso-gxxbr (20)

Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágil
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptx
 
Prince2 mudanças
Prince2 mudançasPrince2 mudanças
Prince2 mudanças
 
Modelo cascata
Modelo cascataModelo cascata
Modelo cascata
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individual
 
Analise sistemas 05
Analise sistemas 05Analise sistemas 05
Analise sistemas 05
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascata
 
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfO_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
 
Web Training Aula 04: Introduction to Git
Web Training Aula 04: Introduction to GitWeb Training Aula 04: Introduction to Git
Web Training Aula 04: Introduction to Git
 
Git hub and Laravel
Git hub and Laravel Git hub and Laravel
Git hub and Laravel
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Branches-Intro
Branches-IntroBranches-Intro
Branches-Intro
 
Ciclo+de+vida+do+projeto
Ciclo+de+vida+do+projetoCiclo+de+vida+do+projeto
Ciclo+de+vida+do+projeto
 
Criando projetos mestres ms project 2010 server
Criando projetos mestres ms project 2010 serverCriando projetos mestres ms project 2010 server
Criando projetos mestres ms project 2010 server
 
Rational Unified Process - RUP
Rational Unified Process - RUPRational Unified Process - RUP
Rational Unified Process - RUP
 
Ciclo de vida de um projeto - Entenda o que é como funciona
Ciclo de vida de um projeto - Entenda o que é como funcionaCiclo de vida de um projeto - Entenda o que é como funciona
Ciclo de vida de um projeto - Entenda o que é como funciona
 
ES4.ppt
ES4.pptES4.ppt
ES4.ppt
 

Más de Cristiano Rafael Steffens

CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and videoCONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and videoCristiano Rafael Steffens
 
A pipelined approach to deal with image distortion in computer vision - BRACI...
A pipelined approach to deal with image distortion in computer vision - BRACI...A pipelined approach to deal with image distortion in computer vision - BRACI...
A pipelined approach to deal with image distortion in computer vision - BRACI...Cristiano Rafael Steffens
 
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGES
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGESA CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGES
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGESCristiano Rafael Steffens
 
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...Cristiano Rafael Steffens
 
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...Cristiano Rafael Steffens
 
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...Cristiano Rafael Steffens
 
FPGA-based sensor integration and communication protocols for automated
FPGA-based sensor integration and communication protocols for automatedFPGA-based sensor integration and communication protocols for automated
FPGA-based sensor integration and communication protocols for automatedCristiano Rafael Steffens
 
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire Detection
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire DetectionLars 2016 A Texture Driven Approach for Visible Spectrum Fire Detection
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire DetectionCristiano Rafael Steffens
 
ICRA 2016 - Interactive section Presentation
ICRA 2016 - Interactive section PresentationICRA 2016 - Interactive section Presentation
ICRA 2016 - Interactive section PresentationCristiano Rafael Steffens
 
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...Cristiano Rafael Steffens
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Cristiano Rafael Steffens
 
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...Cristiano Rafael Steffens
 
Automated control module based on VBM for shipyard welding applications: Stud...
Automated control module based on VBM for shipyard welding applications: Stud...Automated control module based on VBM for shipyard welding applications: Stud...
Automated control module based on VBM for shipyard welding applications: Stud...Cristiano Rafael Steffens
 
An Unconstrained Dataset for Non-stationary Video Based Fire Detection
An Unconstrained Dataset for Non-stationary Video Based Fire DetectionAn Unconstrained Dataset for Non-stationary Video Based Fire Detection
An Unconstrained Dataset for Non-stationary Video Based Fire DetectionCristiano Rafael Steffens
 
Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)Cristiano Rafael Steffens
 
Um Sistema De Detecção De Fogo Baseado Em Vídeo
Um Sistema De Detecção De Fogo Baseado Em VídeoUm Sistema De Detecção De Fogo Baseado Em Vídeo
Um Sistema De Detecção De Fogo Baseado Em VídeoCristiano Rafael Steffens
 
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)Cristiano Rafael Steffens
 

Más de Cristiano Rafael Steffens (20)

CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and videoCONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
 
A pipelined approach to deal with image distortion in computer vision - BRACI...
A pipelined approach to deal with image distortion in computer vision - BRACI...A pipelined approach to deal with image distortion in computer vision - BRACI...
A pipelined approach to deal with image distortion in computer vision - BRACI...
 
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGES
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGESA CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGES
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGES
 
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...
 
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
 
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...
 
FPGA-based sensor integration and communication protocols for automated
FPGA-based sensor integration and communication protocols for automatedFPGA-based sensor integration and communication protocols for automated
FPGA-based sensor integration and communication protocols for automated
 
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire Detection
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire DetectionLars 2016 A Texture Driven Approach for Visible Spectrum Fire Detection
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire Detection
 
Php Math and arrays
Php Math and arraysPhp Math and arrays
Php Math and arrays
 
ICRA 2016 - Interactive section Presentation
ICRA 2016 - Interactive section PresentationICRA 2016 - Interactive section Presentation
ICRA 2016 - Interactive section Presentation
 
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)
 
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...
 
Automated control module based on VBM for shipyard welding applications: Stud...
Automated control module based on VBM for shipyard welding applications: Stud...Automated control module based on VBM for shipyard welding applications: Stud...
Automated control module based on VBM for shipyard welding applications: Stud...
 
An Unconstrained Dataset for Non-stationary Video Based Fire Detection
An Unconstrained Dataset for Non-stationary Video Based Fire DetectionAn Unconstrained Dataset for Non-stationary Video Based Fire Detection
An Unconstrained Dataset for Non-stationary Video Based Fire Detection
 
Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)
 
Introdução OpenCV (Pt-Br) com exemplos
Introdução OpenCV (Pt-Br) com exemplosIntrodução OpenCV (Pt-Br) com exemplos
Introdução OpenCV (Pt-Br) com exemplos
 
Um Sistema De Detecção De Fogo Baseado Em Vídeo
Um Sistema De Detecção De Fogo Baseado Em VídeoUm Sistema De Detecção De Fogo Baseado Em Vídeo
Um Sistema De Detecção De Fogo Baseado Em Vídeo
 
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
 
G xserver curso-actualizgxxev1
G xserver curso-actualizgxxev1G xserver curso-actualizgxxev1
G xserver curso-actualizgxxev1
 

17 kb versoes-curso-gxxbr

  • 1.
  • 2.
  • 3. Durante o processo de construção da aplicação, é necessário marcar marcos no desenvolvimento da mesma, entendendo como marcos o “congelamento” do desenvolvimento num determinado momento especial no processo. Isto pode acontecer por exemplo para liberar uma versão na produção, congelar uma versão entregue a um cliente, a necessidade de congelar um determinado estado especial da aplicação, etc. Além disso também vamos querer ter diferentes linhas de desenvolvimento da aplicação, algo muito comum por exemplo quando se quer fazer variações do projeto para um cliente ou quando se requer que dois grupos de trabalho o façam em paralelo e necessitamos poder realizar uma administração de todos estes elementos. O que necessitamos basicamente é administrar o “ciclo de vida” da aplicação durante o desenvolvimento. Várias destas funcionalidades entram no que no mundo do software se conhece como SCM (Software Configuración Management)
  • 4. Começa o desenvolvimento seguindo uma linha principal de desenvolvimento (linha do meio – Trunk), lugar onde são agregadas as funcionalidades requeridas e são utilizados protótipos para prová-las . Em determinados momentos deste ciclo surge a necessidade de estabelecer um checkpoint no processo, seja pela liberação de uma versão, a entrega de uma versão a um cliente, a necessidade de congelar um determinado estado de uma aplicação, etc. Então o que fazemos é congelar o produto nesse momento criando por exemplo a versão 1.0 que a entregamos a um cliente e continua o processo de desenvolvimento principal. Em determinado momento surge a necessidade de realizar correções sobre a versão entregue ao cliente (1.0) sendo necessário abrir uma nova linha de desenvolvimento para incluir estas correções sobre o que era a versão 1.0 sem afetar a linha de desenvolvimento principal que continuou crescendo desde o momento que foi congelada a versão 1.0. Então se cria o que se conhece como Developmen Version ou branch, que é simplesmente uma nova linha de desenvolvimento paralela a principal. Depois durante o transcurso do projeto voltam a aparecer requerimentos deste tipo, seja pela determinação de checkpoints como a necessidade de abrir novas linhas de desenvolvimento, então por exemplo criamos a versão 1.1, ou a 1.0.1 que vem a ser um congelamento da linha de desenvolvimento aberta a partir da versão 1.0 e assim sucessivamente até ter por exemplo a situação estabelecida no diagrama. Estas situações formam parte da operação normal no desenvolvimento de uma aplicação e é necessário administrar este processo de forma fácil. . Para isso se introduz o conceito de Gerência de Versões. As versões são classificadas em: •Development Versions, representam as linhas de desenvolvimento da aplicação as quais são independentes entre si, existe uma linha principal e várias paralelas, a principal vem a ser o que se conhece como Trunk e as demais seriam o que em SCM se conhece como Branches •Frozen Versions (também conhecidas como Labels em SCM), representam as congeladas criados em determinados momentos do processo sobre as DV para determinar certos checkpoints (liberação de versão, entrega ao cliente, congelar estado, etc.)
  • 5.
  • 6. As development version são as linhas de desenvolvimento da aplicação, isto é o lugar onde efetivamente criamos e modificamos a aplicação. No ciclo de vida de uma aplicação participa uma linha de desenvolvimento principal, isto é, onde começa o processo de desenvolvimento da aplicação e na qual normalmente se vai estar fazendo as modificações requeridas no avanço do projeto. Em SCM esta linha de desenvolvimento é conhecida com o nome de Trunk. Além desta linha principal poderão existir uma ou várias linhas de desenvolvimento secundárias, totalmente independentes da linha principal e independentes entre si. Em SCM estas linhas de desenvolvimento secundárias são conhecidas como Branches e são usadas em geral para realizar correções ou pequenas alterações sobre versões congeladas ou liberadas da aplicação, ou para liberar uma versão especial para um cliente. O desenvolvimento em cada uma destas development version é independente, tendo cada versão seus próprios objetos, sua própria base de dados, ambientes para gerar a aplicação, etc. Uma Development Version, é então, uma cópia da KB editável e independente.
  • 7. Uma Frozen Version permite armazenar de forma estática momentos especiais da KB. É o elemento que utilizamos para marcar distintos marcos no processo, como por exemplo “feche” uma versão para liberá-la aos clientes. Se obtêm a partir de uma versão em desenvolvimento (development version), “congelando-a” para obter uma “foto” num determinado momento. A versão obtida é Read Only, que objetos da mesma não poderão ser modificados, nem tampouco suas propriedades. Sendo possível realizar ações relacionadas com a geração da aplicação, como por exemplo a criação da base de dados ou a geração novamente dos programas. Quando congelamos uma versão é porque determinamos que a mesma está em um estado consistente e seria conveniente guardar dito estado. Por exemplo, congelamos uma version X para se dar aos clientes, em determinado momento, enquanto o processo de desenvolvimento continua, um novo cliente requer a aplicação, então o que fazermos é gerar a mesma na version X, que sabemos que tem um estado correto e a instalamos ao novo cliente. Se os objetos não poder ser modificados, podem ser abertos para distintas consultas ou para realizar comparações com outras versões da aplicação.
  • 8. Partimos do nó raiz da árvore de versões, o qual se cria ao criar a KB. A aplicação vai sofrendo alterações a medida que transcorre o ciclo de desenvolvimento. A linha de desenvolvimento principal é onde se implementam as funcionalidades requeridas e onde se faz a prototipação. Esta linha de desenvolvimento geralmente coincide com o Trunk, ou seja com a ramo principal da árvore de versões. É uma Development Version criada por default quando a KB é criada. A medida que as modificações na aplicação são realizadas, a mesma vai se alterando ao longo do tempo.
  • 9.
  • 10. As Frozen Version servem para: • Analisar (não modificar) objetos, propriedades, environments, etc. • Como fonte de um Reporte de Análise de Impacto da base de dados • Para criar a base de dados • Para regerar todos os programas
  • 11.
  • 12. Na versão de “Produção” vão sendo produzidas variações devido aos consertos, mas não se agrega funcionalidades novas. As mesmas são agregadas na linha de desenvolvimento principal. As Development Version servem para: - Trabalhar numa linha de desenvolvimento paralela a principal - Como fonte ou destino de uma operation de Revert a partir de uma Frozen Version de Backup
  • 13. Observe que as Frozen Version mais novas, são mostradas mais acima na árvore de versões.
  • 14. O tempo que se demora em criar uma nova Development Version é proporcional ao tamanho da KB.
  • 15. Como as linhas de desenvolvimento do Trunk (Desenvolvimento) e de Relase 1 (Produção) são paralelas, as alterações numa não afeta a outra. Ambas versões são totalmente independentes e podemos requerer congelá-las por diferentes motivos. Por exemplo, no caso do ramo de Produção, para fixar um estado depois de certos consertos que tivemos que fazer. De acordo com a metodologia adotada, no ciclo de desenvolvimento principal, é onde se agregam novas funcionalidades, consertos, alterações importantes na aplicação, prototipação e testing. É mais frequente que seja necessária “fotos” nessa etapa viva do desenvolvimento da aplicação. No ramo do Release1, as alterações são menores, mais certos consertos circunstanciais que não agregam funcionalidade. Neste caso, é menos frequente a necessidade de criar Frozen Versions, mas pode ser igualmente necessário.
  • 16.
  • 17. GeneXus gera automaticamente os programas e as estruturas da BD, partindo da versão que esteja ativa. Se pode marcar como ativa uma versão em desenvolvimento ou uma versão congelada. Neste último caso, não poderemos fazer nenhuma modificação a mesma, somente utilizá-la para gerar a aplicação ou para realizar um impacto na base de dados, ou para comparar versões. Somente pode ter uma versão ativa por vez.