01 introducao teorica-cursogxxbr

25

Upload: cristiano-rafael-steffens

Post on 27-Jun-2015

89 views

Category:

Technology


0 download

DESCRIPTION

Genexus Course

TRANSCRIPT

Page 1: 01 introducao teorica-cursogxxbr

Page 2: 01 introducao teorica-cursogxxbr

Nossa tarefa como profissionais de informática consiste em desenvolver e manter aplicações paraapoiar ao usuário na sua atividade. Para realizar esta tarefa existem diferentes ferramentas emetodologias.

GeneXus é uma ferramenta para o desenvolvimento de aplicações sobre bases de dados. Seuobjetivo é 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 eimplementação. A maneira do GeneXus alcançar o objetivo anterior é liberar as pessoas das tarefasautomatizáveis (como o desenho da base de dados), permitindo assim se concentrar nas tarefasrealmente 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 maisutilizadas. Aprender a utilizar GeneXus adequadamente vai além de conhecer uma nova linguagem: omais importante é aprender sua metodologia.

Page 3: 01 introducao teorica-cursogxxbr

O primeiro problema enfrentado no desenvolvimento de aplicações é a obtenção do conhecimento darealidade.

Ninguém dentro da empresa conhece os requerimentos e o alcance da aplicação para desenvolvertoda a aplicação. Então, como fazer para obter o conhecimento da realidade de uma formasuficientemente objetiva e detalhada ao mesmo tempo, que nos permita construir um modelocorporativo?

Este conhecimento se encontra em cada uma das visões dos usuários. Cada usuário conhece bemos objetos que trabalha cotidianamente, a informação que ele gerencia, as regras que devem serseguidas, os cálculos que devem ser realizados.

O ponto de partida da metodologia GeneXus é: descrever as visões dos usuários para modelar osistema; e a partir da definição da realidade do modelo, o GeneXus constrói o suportecomputacional - base de dados e programas - de forma totalmente automática.

Page 4: 01 introducao teorica-cursogxxbr

Utilizando GeneXus, a tarefa básica do analista é a descrição da realidade. Somente o homem podedesenvolver 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: desenhararquivos, 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 criadoum novo projeto ou base de conhecimento.

Uma vez criada uma nova base de conhecimento (em inglês é: knowledge base; abreviado: KB), oseguinte passo é descrever as visões dos usuários. Para isso, os objetos da realidade (prestandoatençã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 dadose os programas da aplicação em forma totalmente automática.

Page 5: 01 introducao teorica-cursogxxbr

Utilizando GeneXus, a tarefa básica do analista é a descrição da realidade. Somente o homem podedesenvolver 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: desenhararquivos, 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 criadoum novo projeto ou base de conhecimento.

Uma vez criada uma nova base de conhecimento (em inglês é: knowledge base; abreviado: KB), opasso seguinte é descrever as visões dos usuários. Para isso, os objetos da realidade (prestandoatençã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 dadose os programas da aplicação em forma totalmente automática.

Page 6: 01 introducao teorica-cursogxxbr

A partir dos objetos definidos na base de conhecimento, GeneXus gera automaticamentetanto os programas de criação/reorganização da base de dados como os programas daaplicação.

Depois, se um objeto da realidade muda, são identificadas as novas ou diferentescaracterísticas acerca do mesmo, ou encontrando objetos ainda não modelados. O analistaGeneXus deve refletir sobre as mudanças correspondentes nos objetos GeneXus e aferramenta se encarrega automaticamente de realizar as modificações necessárias tanto nabase de dados como nos programas associados.

A metodologia GeneXus é uma metodologia incremental, pois, parte da base da construçãode um sistema mediante realizações sucessivas.

Em cada momento, o analista GeneXus define o conhecimento que tem e assim que passa ater mais conhecimento (ou simplesmente um conhecimento diferente), reflete na base deconhecimento, e o GeneXus se ocupa de fazer automaticamente todas as adaptações nabase de dados e nos programas.

Se GeneXus não for capaz de realizar automaticamente as modificações na base de dados enos programas, conforme sejam realizadas as mudanças que assim o requerem, odesenvolvimento incremental seria inviável

Page 7: 01 introducao teorica-cursogxxbr

Uma vez criada uma nova base de conhecimento, o passo seguinte consiste em começar adescrever os objetos da realidade mediante objetos GeneXus.

Os objetos GeneXus mais importantes são:

TransaçõesPermite 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 dadosnormalizada, cada transação tem associada uma janela para ambiente windows e outro paraambiente Web, para permitir ao usuário inserir, eliminar e modificar de forma interativa a base dedados. O analista GeneXus decidirá se trabalha em ambiente windows, Web, ou ambos, eGeneXus gera os programas para isso.

ProcedimentosPermitem recuperar informação da base de dados, e será mostrada na tela, em um arquivo ouimpressa em papel. São as típicas listagens ou relatórios. Além disso, permitem atualizarinformação da base de dados.

Data ProvidersPermitem carregar e devolver dados hierárquicos para troca de informação entre objetos damesma aplicação ou de outras aplicações.

Web PanelsPermite 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 todosos clientes cujos nomes se encontram dentro dessafaixa.São objetos muito flexíveis que podem ser usados para múltiplos usos. Não permitem aatualização da base de dados, somente consultá-los.

Page 8: 01 introducao teorica-cursogxxbr

Os primeiros objetos definidos são as transa�ões, j� que � a partir delas que o GeneXus extrai oconhecimento necess�rio para desenhar o modelo de dados normalizado (em 3�. forma normal).Depois vão se definindo os demais objetos que correspondam

Page 9: 01 introducao teorica-cursogxxbr

GeneXus gera automaticamente os programas necess�rios para criar a base de dados e osexecuta. Desta forma a base de dados � criada pelo GeneXus de forma autom�tica.

Page 10: 01 introducao teorica-cursogxxbr

Depois, GeneXus gera programas de aplicação para interagir com a base de dadospreviamente criada.

Page 11: 01 introducao teorica-cursogxxbr

��

Uma vez criada a base de dados e gerados os programas, contamos com uma aplicação pronta paraexecutar.

Page 12: 01 introducao teorica-cursogxxbr

��

Durante o ciclo de vida da aplicação, vai surgir repetidamente à necessidade de serem feitasmodificações na base de conhecimento, seja porque as visões dos usuários mudaram, ou porquedevem ser feitas correções, ou acrescentar novos conhecimentos.

As modificações realizadas na base de conhecimento serão analisadas pelo GeneXus para avaliara necessidade de efetuar mudanças na base de dados (por exemplo: modificação/criação detabelas/índices), ou não.

Em caso de detectar mudanças para efetuar na base dados, o GeneXus vai detalhar os mesmos numrelatório de análise de impacto (IAR: Impact Analisis Report), é um relatório que explica todas asmudanças sobre tabelas, índices, dados, etc. que precisam ser realizados que refletem a novarealidade.

Mesmo assim, no relatório de análise de impacto, se informam os eventuais problemas que asmudanças em questões podem ocasionar como ter inconsistências ou redundâncias.

Page 13: 01 introducao teorica-cursogxxbr

��

Algumas vezes a nova base de dados coincide com a anterior. Outras vezes isto não ocorre, e a basede 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 efetivamenteas mudan�as na base de dados, ou renunciar a base de dados e deixar como estava, ou fazer outrasaltera�ões.

Page 14: 01 introducao teorica-cursogxxbr

��

Se o analista opta por aplicar as mudan�as propostas, dizemos que optou por reorganizar a base dedados. 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 dabase de dados, e mediante sua execu�ão nos brindar� com uma nova versão da base de dados comas mudan�as efetuadas.

Page 15: 01 introducao teorica-cursogxxbr

��

Visto que se quer reorganizar a base de dados ou não, considerando as novas definiçõesintroduzidas, GeneXus estuda o impacto das alterações sobre os programas atuais.

Page 16: 01 introducao teorica-cursogxxbr

��

Por último, GeneXus prossegue com a geração/regeração dos programas de aplicaçãonecessários, obtendo assim uma nova versão da aplicação.

Page 17: 01 introducao teorica-cursogxxbr

��

Assim novamente teremos uma aplicação pronta para executar, com as mudanças aplicadas.

Page 18: 01 introducao teorica-cursogxxbr

��

Page 19: 01 introducao teorica-cursogxxbr

Para criar uma base de conhecimento, selecionar na barra do menu do GeneXus, o item File / NewKnowledge 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á paracriar os programas associados a base de dados. As opções oferecidas são: C# Environment, JavaEnvironment 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çõesserão depois completadas no momento de executar a aplicação (nome da base de dados, servidor, forma deconexão, etc).

Page 20: 01 introducao teorica-cursogxxbr

Page 21: 01 introducao teorica-cursogxxbr

��

Page 22: 01 introducao teorica-cursogxxbr

��

O environment ativo é indicado em negro e tem o icone de “Play”.

Page 23: 01 introducao teorica-cursogxxbr

��

A construção automática da base de dados e programas permite ao GeneXus aplicar estametodologia de desenvolvimento, conhecida como metodologia incremental.

Como explicado anteriormente, este processo é realizado mediante aproximaçõessucessivas.

Page 24: 01 introducao teorica-cursogxxbr

��

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 essaversão está pronta para ser colocada em produção, basta fazer outra ‘versão’ da aplicação, epronto!.

Page 25: 01 introducao teorica-cursogxxbr

��

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 muitosdestes problemas somente são detectados nos testes finais do sistema, o custo em tempo e dinheiro emsolucioná-los é muito grande. Sabendo que a realidade não permanece estática, por isto não é razoávelpensar que as especificações não vão mudar até que o sistema seja implementado. A conseqüência demanter 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, esaber qual é a repercussão de cada alteração sobre o resto do sistema. Uma primeira aproximação deresolução deste problema, oferecida por diversos sistemas, é a possibilidade de mostrar ao usuárioformatos de janelas, relatórios, etc. animados por menus. Isto permite ajudar o usuário a ter uma idéia decomo 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, umaaplicaçã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, ousuário afinal pode trabalhar com os dados reais, testando de uma forma natural não somente os formatosde telas, relatórios, etc., mas também suas fórmulas, regras do negócio, estruturas de dados, etc. etrabalhar 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).