SlideShare uma empresa Scribd logo
01 introducao teorica-cursogxxbr
Nossa tarefa como profissionais de informática consiste em desenvolver e manter aplicações para
apoiar ao usuário na sua atividade. Para realizar esta tarefa existem diferentes ferramentas e
metodologias.
GeneXus é uma ferramenta para o desenvolvimento de aplicações sobre bases de dados. Seu
objetivo é permitir a implantação de aplicações no menor tempo e com a melhor qualidade possível.
Em linhas gerais, o desenvolvimento de uma aplicação implica tarefas de análise, desenho e
implementação. A maneira do GeneXus alcançar o objetivo anterior é liberar as pessoas das tarefas
automatizáveis (como o desenho da base de dados), permitindo assim se concentrar nas tarefas
realmente difíceis e não automatizáveis (como compreender os problemas do usuário).
GeneXus emprega uma metodologia que tem um enfoque muito diferente das metodologias mais
utilizadas. Aprender a utilizar GeneXus adequadamente vai além de conhecer uma nova linguagem: o
mais importante é aprender sua metodologia.
O primeiro problema enfrentado no desenvolvimento de aplicações é a obtenção do conhecimento da
realidade.
Ninguém dentro da empresa conhece os requerimentos e o alcance da aplicação para desenvolver
toda a aplicação. Então, como fazer para obter o conhecimento da realidade de uma forma
suficientemente objetiva e detalhada ao mesmo tempo, que nos permita construir um modelo
corporativo?
Este conhecimento se encontra em cada uma das visões dos usuários. Cada usuário conhece bem
os objetos que trabalha cotidianamente, a informação que ele gerencia, as regras que devem ser
seguidas, os cálculos que devem ser realizados.
O ponto de partida da metodologia GeneXus é: descrever as visões dos usuários para modelar o
sistema; e a partir da definição da realidade do modelo, o GeneXus constrói o suporte
computacional - base de dados e programas - de forma totalmente automática.
Utilizando GeneXus, a tarefa básica do analista é a descrição da realidade. Somente o homem pode
desenvolver esta tarefa, já que só ele pode entender o problema do usuário.
O analista GeneXus trabalha em alto nível, em vez de realizar tarefas de baixo nível como: desenhar
arquivos, normalizar, desenhar programas, programar, buscar e eliminar os erros dos programas.
Para começar o desenvolvimento de uma aplicação com GeneXus, primeiramente deve ser criado
um novo projeto ou base de conhecimento.
Uma vez criada uma nova base de conhecimento (em inglês é: knowledge base; abreviado: KB), o
seguinte passo é descrever as visões dos usuários. Para isso, os objetos da realidade (prestando
atenção aos substantivos que os usuários mencionam em suas descrições, como por exemplo:
clientes, produtos, faturas) e passar a defini-los mediante objetos GeneXus.
Com a definição destes objetos, o GeneXus pode extrair o conhecimento, desenhar a base de dados
e os programas da aplicação em forma totalmente automática.
Utilizando GeneXus, a tarefa básica do analista é a descrição da realidade. Somente o homem pode
desenvolver esta tarefa, já que só ele pode entender o problema do usuário.
O analista GeneXus trabalha em alto nível, em vez de realizar tarefas de baixo nível como: desenhar
arquivos, normalizar, desenhar programas, programar, buscar e eliminar os erros dos programas.
Para começar o desenvolvimento de uma aplicação com GeneXus, primeiramente deve ser criado
um novo projeto ou base de conhecimento.
Uma vez criada uma nova base de conhecimento (em inglês é: knowledge base; abreviado: KB), o
passo seguinte é descrever as visões dos usuários. Para isso, os objetos da realidade (prestando
atenção aos substantivos que os usuários mencionam em suas descrições, como por exemplo:
clientes, produtos, faturas) e passar a defini-los mediante objetos GeneXus.
Com a definição destes objetos, o GeneXus pode extrair o conhecimento, desenhar a base de dados
e os programas da aplicação em forma totalmente automática.
A partir dos objetos definidos na base de conhecimento, GeneXus gera automaticamente
tanto os programas de criação/reorganização da base de dados como os programas da
aplicação.
Depois, se um objeto da realidade muda, são identificadas as novas ou diferentes
características acerca do mesmo, ou encontrando objetos ainda não modelados. O analista
GeneXus deve refletir sobre as mudanças correspondentes nos objetos GeneXus e a
ferramenta se encarrega automaticamente de realizar as modificações necessárias tanto na
base de dados como nos programas associados.
A metodologia GeneXus é uma metodologia incremental, pois, parte da base da construção
de um sistema mediante realizações sucessivas.
Em cada momento, o analista GeneXus define o conhecimento que tem e assim que passa a
ter mais conhecimento (ou simplesmente um conhecimento diferente), reflete na base de
conhecimento, e o GeneXus se ocupa de fazer automaticamente todas as adaptações na
base de dados e nos programas.
Se GeneXus não for capaz de realizar automaticamente as modificações na base de dados e
nos programas, conforme sejam realizadas as mudanças que assim o requerem, o
desenvolvimento incremental seria inviável
Uma vez criada uma nova base de conhecimento, o passo seguinte consiste em começar a
descrever os objetos da realidade mediante objetos GeneXus.
Os objetos GeneXus mais importantes são:
Transações
Permite definir os objetos da realidade que o usuário manipula (ex: clientes, produtos,
fornecedores, faturas, etc.). São os primeiros objetos definidos, já que através das transações,
GeneXus infere o desenho da base de dados.
Além de ter por objetivo a definição da realidade e a conseqüente criação da base de dados
normalizada, cada transação tem associada uma janela para ambiente windows e outro para
ambiente Web, para permitir ao usuário inserir, eliminar e modificar de forma interativa a base de
dados. O analista GeneXus decidirá se trabalha em ambiente windows, Web, ou ambos, e
GeneXus gera os programas para isso.
Procedimentos
Permitem recuperar informação da base de dados, e será mostrada na tela, em um arquivo ou
impressa em papel. São as típicas listagens ou relatórios. Além disso, permitem atualizar
informação da base de dados.
Data Providers
Permitem carregar e devolver dados hierárquicos para troca de informação entre objetos da
mesma aplicação ou de outras aplicações.
Web Panels
Permite ao usuário realizar interativamente consultas na base de dados, através de uma janela.
Exemplo: uma web panel permite ao usuário ingressar uma faixa de caracteres, e mostra todos
os clientes cujos nomes se encontram dentro dessafaixa.
São objetos muito flexíveis que podem ser usados para múltiplos usos. Não permitem a
atualização da base de dados, somente consultá-los.
Os primeiros objetos definidos são as transa ões, j que a partir delas que o GeneXus extrai o
conhecimento necess rio para desenhar o modelo de dados normalizado (em 3 . forma normal).
Depois vão se definindo os demais objetos que correspondam
GeneXus gera automaticamente os programas necess rios para criar a base de dados e os
executa. Desta forma a base de dados criada pelo GeneXus de forma autom tica.
Depois, GeneXus gera programas de aplicação para interagir com a base de dados
previamente criada.
Uma vez criada a base de dados e gerados os programas, contamos com uma aplicação pronta para
executar.
Durante o ciclo de vida da aplicação, vai surgir repetidamente à necessidade de serem feitas
modificações na base de conhecimento, seja porque as visões dos usuários mudaram, ou porque
devem ser feitas correções, ou acrescentar novos conhecimentos.
As modificações realizadas na base de conhecimento serão analisadas pelo GeneXus para avaliar
a necessidade de efetuar mudanças na base de dados (por exemplo: modificação/criação de
tabelas/índices), ou não.
Em caso de detectar mudanças para efetuar na base dados, o GeneXus vai detalhar os mesmos num
relatório de análise de impacto (IAR: Impact Analisis Report), é um relatório que explica todas as
mudanças sobre tabelas, índices, dados, etc. que precisam ser realizados que refletem a nova
realidade.
Mesmo assim, no relatório de análise de impacto, se informam os eventuais problemas que as
mudanças em questões podem ocasionar como ter inconsistências ou redundâncias.
Algumas vezes a nova base de dados coincide com a anterior. Outras vezes isto não ocorre, e a base
de dados sofre alguma modifica ão para representar a nova realidade.
O analista deve estudar o relatório de an lise de impacto e resolver se deseja realizar efetivamente
as mudan as na base de dados, ou renunciar a base de dados e deixar como estava, ou fazer outras
altera ões.
Se o analista opta por aplicar as mudan as propostas, dizemos que optou por reorganizar a base de
dados. Utilizamos este termo para definir a a ão de aplicar mudan as f sicas sobre a base de dados.
GeneXus gera os programas que implementam as modifica ões sobre as estruturas f sicas da
base de dados, e mediante sua execu ão nos brindar com uma nova versão da base de dados com
as mudan as efetuadas.
Visto que se quer reorganizar a base de dados ou não, considerando as novas definições
introduzidas, GeneXus estuda o impacto das alterações sobre os programas atuais.
Por último, GeneXus prossegue com a geração/regeração dos programas de aplicação
necessários, obtendo assim uma nova versão da aplicação.
Assim novamente teremos uma aplicação pronta para executar, com as mudanças aplicadas.
01 introducao teorica-cursogxxbr
Para criar uma base de conhecimento, selecionar na barra do menu do GeneXus, o item File / New
Knowledge Base. Em seguida vai aparecer um diálogo como o que segue:
Deverá ser indicado;
• Nome da Knowledge Base: em nosso caso será BillingSystem.
• Diretório onde será criada.
• O ‘Environment’ por default: veja que são mostradas linguagens de programação. GeneXus os utilizará para
criar os programas associados a base de dados. As opções oferecidas são: C# Environment, Java
Environment e Ruby Environment.
• Language: Idioma em que vai aparecer os botões, mensagens, etc.
No momento de criar a KB se começa a definir o ambiente de implementação (Environment) cujas definições
serão depois completadas no momento de executar a aplicação (nome da base de dados, servidor, forma de
conexão, etc).
01 introducao teorica-cursogxxbr
01 introducao teorica-cursogxxbr
O environment ativo é indicado em negro e tem o icone de “Play”.
A construção automática da base de dados e programas permite ao GeneXus aplicar esta
metodologia de desenvolvimento, conhecida como metodologia incremental.
Como explicado anteriormente, este processo é realizado mediante aproximações
sucessivas.
Referente a versões (do que se trata, como realizar, etc.) voltaremos no final. No momento é
suficiente saber que ao criar a base de conhecimento, os programas que estaremos executando,
programas reais, serão uma versão da aplicação, de teste. Uma vez que resolvermos que essa
versão está pronta para ser colocada em produção, basta fazer outra ‘versão’ da aplicação, e
pronto!.
Toda comunicação é susceptível a erros:
• O usuário esquece certos detalhes
• O analista não toma nota de alguns elementos
• O usuário se equivoca em algumas situações
• O analista interpreta mal algumas explicações do usuário
Como a implementação dos sistemas é habitualmente uma tarefa que consome bastante tempo. E muitos
destes problemas somente são detectados nos testes finais do sistema, o custo em tempo e dinheiro em
solucioná-los é muito grande. Sabendo que a realidade não permanece estática, por isto não é razoável
pensar que as especificações não vão mudar até que o sistema seja implementado. A conseqüência de
manter as especificações, é que se acaba implementando uma solução relativamente insatisfatória.
O impacto destes problemas diminui muito se for possível testar cada especificação, imediatamente, e
saber qual é a repercussão de cada alteração sobre o resto do sistema. Uma primeira aproximação de
resolução deste problema, oferecida por diversos sistemas, é a possibilidade de mostrar ao usuário
formatos de janelas, relatórios, etc. animados por menus. Isto permite ajudar o usuário a ter uma idéia de
como o sistema será construído, porém no final, sempre aparecem surpresas.
Uma situação bastante diferente seria colocar a disposição do usuário, para sua execução imediata, uma
aplicação funcionalmente equivalente à desenhada, até nos mínimos detalhes. Isto é o que faz o GeneXus:
um protótipo GeneXus é uma aplicação pronta, funcionalmente equivalente a aplicação de produção.
Assim a aplicação pode ser totalmente provada antes de colocar em produção, e durante estes testes, o
usuário afinal pode trabalhar com os dados reais, testando de uma forma natural não somente os formatos
de telas, relatórios, etc., mas também suas fórmulas, regras do negócio, estruturas de dados, etc. e
trabalhar com seus dados reais.
Isto somente é possível graças a construção automática que o GeneXus realiza do suporte computacional
(base de dados e programas).

Mais conteúdo relacionado

Semelhante a 01 introducao teorica-cursogxxbr

OUTDOOR171
OUTDOOR171OUTDOOR171
OUTDOOR171
nilojr90
 
mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdf
mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdfmbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdf
mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdf
William Almeida
 
Sistema de Integração de Informações Médicas (SIIM)
Sistema de Integração de Informações Médicas (SIIM)Sistema de Integração de Informações Médicas (SIIM)
Sistema de Integração de Informações Médicas (SIIM)
Jerônimo Medina Madruga
 
O uso de programação reflexiva para o desenvolvimento de aplicações comerciai...
O uso de programação reflexiva para o desenvolvimento de aplicações comerciai...O uso de programação reflexiva para o desenvolvimento de aplicações comerciai...
O uso de programação reflexiva para o desenvolvimento de aplicações comerciai...
Jefferson Simão Gonçalves
 
Projeto ppi v 27.10
Projeto ppi v   27.10Projeto ppi v   27.10
Projeto ppi v 27.10
valdir nascimento
 
Princípios de Sistemas de Informação Unidade II Unip
 Princípios de Sistemas de Informação Unidade II Unip  Princípios de Sistemas de Informação Unidade II Unip
Princípios de Sistemas de Informação Unidade II Unip
Heber Gutenberg
 
Bdii aula01 apresentacao
Bdii aula01 apresentacaoBdii aula01 apresentacao
Bdii aula01 apresentacao
samuel1562314
 
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdfAPOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
LinaKelly2
 
Dfd
DfdDfd
Resolvendo problemas de customização em softwares como serviço (SaaS)
Resolvendo problemas de customização em softwares como serviço (SaaS)Resolvendo problemas de customização em softwares como serviço (SaaS)
Resolvendo problemas de customização em softwares como serviço (SaaS)
André Aranha
 
Banco de dados_i-ok
Banco de dados_i-okBanco de dados_i-ok
Banco de dados_i-ok
Barbosacv
 
apostila-de-sap2000.pdf
apostila-de-sap2000.pdfapostila-de-sap2000.pdf
apostila-de-sap2000.pdf
151727
 
WDES 2014 paper: SECOView: Uma Abordagem Baseada em Visões para Apoiar a Gove...
WDES 2014 paper: SECOView: Uma Abordagem Baseada em Visões para Apoiar a Gove...WDES 2014 paper: SECOView: Uma Abordagem Baseada em Visões para Apoiar a Gove...
WDES 2014 paper: SECOView: Uma Abordagem Baseada em Visões para Apoiar a Gove...
Workshop on Distributed Software Development, Software Ecosystems and Systems-of-Systems
 
VB 6.0 1
VB 6.0 1VB 6.0 1
VB 6.0 1
cjc173
 
Técnicas de Análise Contextual - Livro de Walter Cybis
Técnicas de Análise Contextual - Livro de Walter CybisTécnicas de Análise Contextual - Livro de Walter Cybis
Técnicas de Análise Contextual - Livro de Walter Cybis
Luiz Agner
 
DDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquiteturaDDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquitetura
Graziella Bonizi
 
Sistemas Especialistas Google Maps
Sistemas Especialistas Google MapsSistemas Especialistas Google Maps
Sistemas Especialistas Google Maps
Dellailah
 
Analise - Aula 1
Analise - Aula 1Analise - Aula 1
Analise - Aula 1
Kelvin Wesley
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2
lfernandomcj
 
Relatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informaticaRelatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informatica
LucianaFerreira163
 

Semelhante a 01 introducao teorica-cursogxxbr (20)

OUTDOOR171
OUTDOOR171OUTDOOR171
OUTDOOR171
 
mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdf
mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdfmbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdf
mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdf
 
Sistema de Integração de Informações Médicas (SIIM)
Sistema de Integração de Informações Médicas (SIIM)Sistema de Integração de Informações Médicas (SIIM)
Sistema de Integração de Informações Médicas (SIIM)
 
O uso de programação reflexiva para o desenvolvimento de aplicações comerciai...
O uso de programação reflexiva para o desenvolvimento de aplicações comerciai...O uso de programação reflexiva para o desenvolvimento de aplicações comerciai...
O uso de programação reflexiva para o desenvolvimento de aplicações comerciai...
 
Projeto ppi v 27.10
Projeto ppi v   27.10Projeto ppi v   27.10
Projeto ppi v 27.10
 
Princípios de Sistemas de Informação Unidade II Unip
 Princípios de Sistemas de Informação Unidade II Unip  Princípios de Sistemas de Informação Unidade II Unip
Princípios de Sistemas de Informação Unidade II Unip
 
Bdii aula01 apresentacao
Bdii aula01 apresentacaoBdii aula01 apresentacao
Bdii aula01 apresentacao
 
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdfAPOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
 
Dfd
DfdDfd
Dfd
 
Resolvendo problemas de customização em softwares como serviço (SaaS)
Resolvendo problemas de customização em softwares como serviço (SaaS)Resolvendo problemas de customização em softwares como serviço (SaaS)
Resolvendo problemas de customização em softwares como serviço (SaaS)
 
Banco de dados_i-ok
Banco de dados_i-okBanco de dados_i-ok
Banco de dados_i-ok
 
apostila-de-sap2000.pdf
apostila-de-sap2000.pdfapostila-de-sap2000.pdf
apostila-de-sap2000.pdf
 
WDES 2014 paper: SECOView: Uma Abordagem Baseada em Visões para Apoiar a Gove...
WDES 2014 paper: SECOView: Uma Abordagem Baseada em Visões para Apoiar a Gove...WDES 2014 paper: SECOView: Uma Abordagem Baseada em Visões para Apoiar a Gove...
WDES 2014 paper: SECOView: Uma Abordagem Baseada em Visões para Apoiar a Gove...
 
VB 6.0 1
VB 6.0 1VB 6.0 1
VB 6.0 1
 
Técnicas de Análise Contextual - Livro de Walter Cybis
Técnicas de Análise Contextual - Livro de Walter CybisTécnicas de Análise Contextual - Livro de Walter Cybis
Técnicas de Análise Contextual - Livro de Walter Cybis
 
DDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquiteturaDDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquitetura
 
Sistemas Especialistas Google Maps
Sistemas Especialistas Google MapsSistemas Especialistas Google Maps
Sistemas Especialistas Google Maps
 
Analise - Aula 1
Analise - Aula 1Analise - Aula 1
Analise - Aula 1
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2
 
Relatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informaticaRelatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informatica
 

Mais 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 video
Cristiano 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 IMAGES
Cristiano 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 automated
Cristiano 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 Detection
Cristiano Rafael Steffens
 
Php Math and arrays
Php Math and arraysPhp Math and arrays
Php Math and arrays
Cristiano Rafael Steffens
 
ICRA 2016 - Interactive section Presentation
ICRA 2016 - Interactive section PresentationICRA 2016 - Interactive section Presentation
ICRA 2016 - Interactive section Presentation
Cristiano 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 Detection
Cristiano 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
 
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
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ídeo
Cristiano 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
 
G xserver curso-actualizgxxev1
G xserver curso-actualizgxxev1G xserver curso-actualizgxxev1
G xserver curso-actualizgxxev1
Cristiano Rafael Steffens
 

Mais 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
 

01 introducao teorica-cursogxxbr

  • 2. Nossa tarefa como profissionais de informática consiste em desenvolver e manter aplicações para apoiar ao usuário na sua atividade. Para realizar esta tarefa existem diferentes ferramentas e metodologias. GeneXus é uma ferramenta para o desenvolvimento de aplicações sobre bases de dados. Seu objetivo é permitir a implantação de aplicações no menor tempo e com a melhor qualidade possível. Em linhas gerais, o desenvolvimento de uma aplicação implica tarefas de análise, desenho e implementação. A maneira do GeneXus alcançar o objetivo anterior é liberar as pessoas das tarefas automatizáveis (como o desenho da base de dados), permitindo assim se concentrar nas tarefas realmente difíceis e não automatizáveis (como compreender os problemas do usuário). GeneXus emprega uma metodologia que tem um enfoque muito diferente das metodologias mais utilizadas. Aprender a utilizar GeneXus adequadamente vai além de conhecer uma nova linguagem: o mais importante é aprender sua metodologia.
  • 3. O primeiro problema enfrentado no desenvolvimento de aplicações é a obtenção do conhecimento da realidade. Ninguém dentro da empresa conhece os requerimentos e o alcance da aplicação para desenvolver toda a aplicação. Então, como fazer para obter o conhecimento da realidade de uma forma suficientemente objetiva e detalhada ao mesmo tempo, que nos permita construir um modelo corporativo? Este conhecimento se encontra em cada uma das visões dos usuários. Cada usuário conhece bem os objetos que trabalha cotidianamente, a informação que ele gerencia, as regras que devem ser seguidas, os cálculos que devem ser realizados. O ponto de partida da metodologia GeneXus é: descrever as visões dos usuários para modelar o sistema; e a partir da definição da realidade do modelo, o GeneXus constrói o suporte computacional - base de dados e programas - de forma totalmente automática.
  • 4. Utilizando GeneXus, a tarefa básica do analista é a descrição da realidade. Somente o homem pode desenvolver esta tarefa, já que só ele pode entender o problema do usuário. O analista GeneXus trabalha em alto nível, em vez de realizar tarefas de baixo nível como: desenhar arquivos, normalizar, desenhar programas, programar, buscar e eliminar os erros dos programas. Para começar o desenvolvimento de uma aplicação com GeneXus, primeiramente deve ser criado um novo projeto ou base de conhecimento. Uma vez criada uma nova base de conhecimento (em inglês é: knowledge base; abreviado: KB), o seguinte passo é descrever as visões dos usuários. Para isso, os objetos da realidade (prestando atenção aos substantivos que os usuários mencionam em suas descrições, como por exemplo: clientes, produtos, faturas) e passar a defini-los mediante objetos GeneXus. Com a definição destes objetos, o GeneXus pode extrair o conhecimento, desenhar a base de dados e os programas da aplicação em forma totalmente automática.
  • 5. Utilizando GeneXus, a tarefa básica do analista é a descrição da realidade. Somente o homem pode desenvolver esta tarefa, já que só ele pode entender o problema do usuário. O analista GeneXus trabalha em alto nível, em vez de realizar tarefas de baixo nível como: desenhar arquivos, normalizar, desenhar programas, programar, buscar e eliminar os erros dos programas. Para começar o desenvolvimento de uma aplicação com GeneXus, primeiramente deve ser criado um novo projeto ou base de conhecimento. Uma vez criada uma nova base de conhecimento (em inglês é: knowledge base; abreviado: KB), o passo seguinte é descrever as visões dos usuários. Para isso, os objetos da realidade (prestando atenção aos substantivos que os usuários mencionam em suas descrições, como por exemplo: clientes, produtos, faturas) e passar a defini-los mediante objetos GeneXus. Com a definição destes objetos, o GeneXus pode extrair o conhecimento, desenhar a base de dados e os programas da aplicação em forma totalmente automática.
  • 6. A partir dos objetos definidos na base de conhecimento, GeneXus gera automaticamente tanto os programas de criação/reorganização da base de dados como os programas da aplicação. Depois, se um objeto da realidade muda, são identificadas as novas ou diferentes características acerca do mesmo, ou encontrando objetos ainda não modelados. O analista GeneXus deve refletir sobre as mudanças correspondentes nos objetos GeneXus e a ferramenta se encarrega automaticamente de realizar as modificações necessárias tanto na base de dados como nos programas associados. A metodologia GeneXus é uma metodologia incremental, pois, parte da base da construção de um sistema mediante realizações sucessivas. Em cada momento, o analista GeneXus define o conhecimento que tem e assim que passa a ter mais conhecimento (ou simplesmente um conhecimento diferente), reflete na base de conhecimento, e o GeneXus se ocupa de fazer automaticamente todas as adaptações na base de dados e nos programas. Se GeneXus não for capaz de realizar automaticamente as modificações na base de dados e nos programas, conforme sejam realizadas as mudanças que assim o requerem, o desenvolvimento incremental seria inviável
  • 7. Uma vez criada uma nova base de conhecimento, o passo seguinte consiste em começar a descrever os objetos da realidade mediante objetos GeneXus. Os objetos GeneXus mais importantes são: Transações Permite definir os objetos da realidade que o usuário manipula (ex: clientes, produtos, fornecedores, faturas, etc.). São os primeiros objetos definidos, já que através das transações, GeneXus infere o desenho da base de dados. Além de ter por objetivo a definição da realidade e a conseqüente criação da base de dados normalizada, cada transação tem associada uma janela para ambiente windows e outro para ambiente Web, para permitir ao usuário inserir, eliminar e modificar de forma interativa a base de dados. O analista GeneXus decidirá se trabalha em ambiente windows, Web, ou ambos, e GeneXus gera os programas para isso. Procedimentos Permitem recuperar informação da base de dados, e será mostrada na tela, em um arquivo ou impressa em papel. São as típicas listagens ou relatórios. Além disso, permitem atualizar informação da base de dados. Data Providers Permitem carregar e devolver dados hierárquicos para troca de informação entre objetos da mesma aplicação ou de outras aplicações. Web Panels Permite ao usuário realizar interativamente consultas na base de dados, através de uma janela. Exemplo: uma web panel permite ao usuário ingressar uma faixa de caracteres, e mostra todos os clientes cujos nomes se encontram dentro dessafaixa. São objetos muito flexíveis que podem ser usados para múltiplos usos. Não permitem a atualização da base de dados, somente consultá-los.
  • 8. Os primeiros objetos definidos são as transa ões, j que a partir delas que o GeneXus extrai o conhecimento necess rio para desenhar o modelo de dados normalizado (em 3 . forma normal). Depois vão se definindo os demais objetos que correspondam
  • 9. GeneXus gera automaticamente os programas necess rios para criar a base de dados e os executa. Desta forma a base de dados criada pelo GeneXus de forma autom tica.
  • 10. Depois, GeneXus gera programas de aplicação para interagir com a base de dados previamente criada.
  • 11. Uma vez criada a base de dados e gerados os programas, contamos com uma aplicação pronta para executar.
  • 12. Durante o ciclo de vida da aplicação, vai surgir repetidamente à necessidade de serem feitas modificações na base de conhecimento, seja porque as visões dos usuários mudaram, ou porque devem ser feitas correções, ou acrescentar novos conhecimentos. As modificações realizadas na base de conhecimento serão analisadas pelo GeneXus para avaliar a necessidade de efetuar mudanças na base de dados (por exemplo: modificação/criação de tabelas/índices), ou não. Em caso de detectar mudanças para efetuar na base dados, o GeneXus vai detalhar os mesmos num relatório de análise de impacto (IAR: Impact Analisis Report), é um relatório que explica todas as mudanças sobre tabelas, índices, dados, etc. que precisam ser realizados que refletem a nova realidade. Mesmo assim, no relatório de análise de impacto, se informam os eventuais problemas que as mudanças em questões podem ocasionar como ter inconsistências ou redundâncias.
  • 13. Algumas vezes a nova base de dados coincide com a anterior. Outras vezes isto não ocorre, e a base de dados sofre alguma modifica ão para representar a nova realidade. O analista deve estudar o relatório de an lise de impacto e resolver se deseja realizar efetivamente as mudan as na base de dados, ou renunciar a base de dados e deixar como estava, ou fazer outras altera ões.
  • 14. Se o analista opta por aplicar as mudan as propostas, dizemos que optou por reorganizar a base de dados. Utilizamos este termo para definir a a ão de aplicar mudan as f sicas sobre a base de dados. GeneXus gera os programas que implementam as modifica ões sobre as estruturas f sicas da base de dados, e mediante sua execu ão nos brindar com uma nova versão da base de dados com as mudan as efetuadas.
  • 15. Visto que se quer reorganizar a base de dados ou não, considerando as novas definições introduzidas, GeneXus estuda o impacto das alterações sobre os programas atuais.
  • 16. Por último, GeneXus prossegue com a geração/regeração dos programas de aplicação necessários, obtendo assim uma nova versão da aplicação.
  • 17. Assim novamente teremos uma aplicação pronta para executar, com as mudanças aplicadas.
  • 19. Para criar uma base de conhecimento, selecionar na barra do menu do GeneXus, o item File / New Knowledge Base. Em seguida vai aparecer um diálogo como o que segue: Deverá ser indicado; • Nome da Knowledge Base: em nosso caso será BillingSystem. • Diretório onde será criada. • O ‘Environment’ por default: veja que são mostradas linguagens de programação. GeneXus os utilizará para criar os programas associados a base de dados. As opções oferecidas são: C# Environment, Java Environment e Ruby Environment. • Language: Idioma em que vai aparecer os botões, mensagens, etc. No momento de criar a KB se começa a definir o ambiente de implementação (Environment) cujas definições serão depois completadas no momento de executar a aplicação (nome da base de dados, servidor, forma de conexão, etc).
  • 22. O environment ativo é indicado em negro e tem o icone de “Play”.
  • 23. A construção automática da base de dados e programas permite ao GeneXus aplicar esta metodologia de desenvolvimento, conhecida como metodologia incremental. Como explicado anteriormente, este processo é realizado mediante aproximações sucessivas.
  • 24. Referente a versões (do que se trata, como realizar, etc.) voltaremos no final. No momento é suficiente saber que ao criar a base de conhecimento, os programas que estaremos executando, programas reais, serão uma versão da aplicação, de teste. Uma vez que resolvermos que essa versão está pronta para ser colocada em produção, basta fazer outra ‘versão’ da aplicação, e pronto!.
  • 25. Toda comunicação é susceptível a erros: • O usuário esquece certos detalhes • O analista não toma nota de alguns elementos • O usuário se equivoca em algumas situações • O analista interpreta mal algumas explicações do usuário Como a implementação dos sistemas é habitualmente uma tarefa que consome bastante tempo. E muitos destes problemas somente são detectados nos testes finais do sistema, o custo em tempo e dinheiro em solucioná-los é muito grande. Sabendo que a realidade não permanece estática, por isto não é razoável pensar que as especificações não vão mudar até que o sistema seja implementado. A conseqüência de manter as especificações, é que se acaba implementando uma solução relativamente insatisfatória. O impacto destes problemas diminui muito se for possível testar cada especificação, imediatamente, e saber qual é a repercussão de cada alteração sobre o resto do sistema. Uma primeira aproximação de resolução deste problema, oferecida por diversos sistemas, é a possibilidade de mostrar ao usuário formatos de janelas, relatórios, etc. animados por menus. Isto permite ajudar o usuário a ter uma idéia de como o sistema será construído, porém no final, sempre aparecem surpresas. Uma situação bastante diferente seria colocar a disposição do usuário, para sua execução imediata, uma aplicação funcionalmente equivalente à desenhada, até nos mínimos detalhes. Isto é o que faz o GeneXus: um protótipo GeneXus é uma aplicação pronta, funcionalmente equivalente a aplicação de produção. Assim a aplicação pode ser totalmente provada antes de colocar em produção, e durante estes testes, o usuário afinal pode trabalhar com os dados reais, testando de uma forma natural não somente os formatos de telas, relatórios, etc., mas também suas fórmulas, regras do negócio, estruturas de dados, etc. e trabalhar com seus dados reais. Isto somente é possível graças a construção automática que o GeneXus realiza do suporte computacional (base de dados e programas).