Está en la página 1de 25

Introduccin Terica

Herramientas y Metodologas

Nuestra tarea como profesionales de la informtica consiste en desarrollar y mantener aplicaciones


para apoyar al usuario en su actividad. Para realizar esta tarea existen diferentes herramientas y
metodologas.
GeneXus es una herramienta para el desarrollo de aplicaciones sobre bases de datos. Su objetivo es
permitir la implantacin de aplicaciones en el menor tiempo y con la mejor calidad posible.
A grandes rasgos, el desarrollo de una aplicacin implica tareas de anlisis, diseo e
implementacin. La va de GeneXus para alcanzar el objetivo anterior es liberar a las personas de las
tareas automatizables (como el diseo de la base de datos), permitindoles as concentrarse en las
tareas realmente difciles y no automatizables (como comprender los problemas del usuario).
GeneXus emplea una metodologa que tiene un enfoque muy diferente al de las metodologas ms
comnmente utilizadas. Por tanto, aprender a utilizar GeneXus adecuadamente va ms all de
conocer un nuevo lenguaje: lo ms importante es aprender su metodologa.

Modelado de la realidad

A partir de las visiones de los usuarios

MODELO DE LA
REALIDAD

Satisface
Ingeniera Inversa

BASE
DE
DATOS

PROGRAMAS

VISIONES
DE
USUARIOS

El primer problema al que nos enfrentamos en el desarrollo de aplicaciones es la obtencin del


conocimiento de la realidad.
Nadie dentro de la empresa conoce los requerimientos y el alcance de la aplicacin a desarrollar
como un todo. Entonces, cmo logramos obtener el conocimiento de la realidad de una forma lo
suficientemente objetiva y detallada al mismo tiempo, que nos permita construir un modelo
corporativo?
Este conocimiento se encuentra en cada una de las visiones de los usuarios. Cada usuario conoce
bien los objetos con los que trabaja cotidianamente, la informacin que se maneja en ellos, las reglas
que deben seguirse, los clculos que deben realizarse.
Por lo tanto, el punto de partida de la metodologa GeneXus es: describir las visiones de los
usuarios para modelar el sistema; y a partir del modelo de la realidad definido, GeneXus construye
el soporte computacional -base de datos y programas- en forma totalmente automtica.

Desarrollo con GeneXus

REALIDAD
DESCRIPCIN
DE OBJETOS

Utilizando GeneXus, la tarea bsica del analista es la descripcin de la realidad. Slo el ser humano
puede desarrollar esta tarea ya que slo l puede entender el problema del usuario.
El analista GeneXus trabaja en alto nivel, en vez de realizar tareas de bajo nivel como: disear
archivos, normalizar, disear programas, programar, buscar y eliminar los errores de los programas.
Para comenzar el desarrollo de una aplicacin con GeneXus, el primer paso consiste en crear un
nuevo proyecto o base de conocimiento.
Una vez creada una nueva base de conocimiento (en ingls: knowledge base; abreviado: KB), el
siguiente paso es describir las visiones de los usuarios. Para ello se deben identificar los objetos de la
realidad (prestando atencin a los sustantivos que los usuarios mencionan en sus descripciones,
como por ejemplo: clientes, productos, facturas) y pasar a definirlos mediante objetos GeneXus.
Con la definicin de estos objetos, GeneXus puede extraer el conocimiento y disear la base de
datos y los programas de la aplicacin en forma automtica.

Desarrollo con GeneXus

REALIDAD
DESCRIPCIN
DE OBJETOS

BASE DE
CONOCIMIENTO

Utilizando GeneXus, la tarea bsica del analista es la descripcin de la realidad. Slo el ser humano
puede desarrollar esta tarea ya que slo l puede entender el problema del usuario.
El analista GeneXus trabaja en alto nivel, en vez de realizar tareas de bajo nivel como: disear
archivos, normalizar, disear programas, programar, buscar y eliminar los errores de los programas.
Para comenzar el desarrollo de una aplicacin con GeneXus, el primer paso consiste en crear un
nuevo proyecto o base de conocimiento.
Una vez creada una nueva base de conocimiento (en ingls: knowledge base; abreviado: KB), el
siguiente paso es describir las visiones de los usuarios. Para ello se deben identificar los objetos de la
realidad (prestando atencin a los sustantivos que los usuarios mencionan en sus descripciones,
como por ejemplo: clientes, productos, facturas) y pasar a definirlos mediante objetos GeneXus.
Con la definicin de estos objetos, GeneXus puede extraer el conocimiento y disear la base de
datos y los programas de la aplicacin en forma automtica.

Desarrollo con GeneXus


REALIDAD

BASE
DE
DATOS

DESCRIPCIN
DE OBJETOS

BASE DE
CONOCIMIENTO

PROGRAMAS

A partir de los objetos definidos en la base de conocimiento, GeneXus genera


automticamente tanto los programas de creacin / reorganizacin de la base de datos
como los programas de la aplicacin.
Luego, si un objeto de la realidad cambia, si se identifican nuevas o diferentes caractersticas
del mismo, o si se encuentran objetos an no modelados, el analista GeneXus debe reflejar
dichos cambios en los objetos GeneXus que correspondan, y la herramienta se encargar
automticamente de realizar las modificaciones necesarias tanto en la base de datos como en
los programas asociados.
La metodologa GeneXus es una metodologa incremental, pues parte de la base de que la
construccin de un sistema se realiza mediante aproximaciones sucesivas.
En cada momento el analista GeneXus define el conocimiento que tiene y luego cuando pasa a
tener ms conocimiento (o simplemente diferente) lo refleja en la base de conocimiento y
GeneXus se ocupar de hacer automticamente todas las adaptaciones en la base de datos
y programas.
Si GeneXus no fuera capaz de realizar automticamente las modificaciones en la base de
datos y programas conforme se realicen cambios que as lo requieran, el desarrollo incremental
sera inviable.

Algunos objetos GeneXus

Transacciones
(Trns)

Procedimientos
(Procs)

Data Providers

Web Panels

(DP)

(Wbps)

y hay ms, que veremos...

Una vez creada una base de conocimiento, el siguiente paso consiste en comenzar a describir
los objetos de la realidad mediante objetos GeneXus.
Los objetos GeneXus ms importantes son:
Transacciones
Permiten definir los objetos de la realidad que el usuario manipula (ej: clientes, productos,
proveedores, facturas, etc.). Son los primeros objetos en definirse, ya que a travs de las
transacciones, GeneXus infiere el diseo de la base de datos.
Adems de tener por objetivo la definicin de la realidad y la consecuente creacin de la base de
datos normalizada, cada transaccin tiene asociada una pantalla para ambiente windows y otra
para ambiente Web, para permitir al usuario dar altas, bajas y modificaciones en forma
interactiva a la base de datos. El analista GeneXus decidir si trabajar en ambiente windows,
Web, o ambos, y GeneXus generar los programas para ello.
Procedimientos
Permiten recuperar informacin de la base de datos, y desplegarla ya sea en la pantalla, en un
archivo o impresa en papel. Son los tpicos listados o informes. Adems, permiten la
actualizacin de la informacin de la base de datos.
Data Providers
Permiten cargar y devolver datos jerrquicos para intercambio de informacin entre objetos de la
misma aplicacin o de otras aplicaciones.
Web Panels
Permiten al usuario realizar interactivamente consultas a la base de datos, a travs de una
pantalla. Ejemplo: un web panel permite al usuario ingresar un rango de caracteres, y muestra a
continuacin todos los clientes cuyos nombres se encuentran dentro del rango.
Son objetos web muy flexibles que se prestan para mltiples usos. No permiten la actualizacin
de la base de datos, sino solo su consulta.

Proceso de desarrollo de una


aplicacin con GeneXus
Transacciones
(Trns)

Procedimientos
(Procs)

Data Providers
(DP)

Web Panels
(Wbps)

Base
Basede
deConocimiento
Conocimiento

Base
de
Datos

Los primeros objetos que se definen son las transacciones, ya que es a partir de ellas que
GeneXus extrae el conocimiento necesario para disear el modelo de datos normalizado (en 3era.
forma normal). Luego se van definiendo los dems objetos que correspondan.

Creacin de la Base de Datos


Transacciones
(Trns)

Procedimientos
(Procs)

Data Providers
(DP)

Web Panels
(Wbps)

Base
Basede
deConocimiento
Conocimiento

Base
de
Datos

Programas
Creacin
BD

GeneXus genera automticamente los programas necesarios para crear la base de datos y los
ejecuta. De esta manera obtenemos la base de datos creada por GeneXus en forma
automtica.

Generacin de los
Programas de la aplicacin
Transacciones
(Trns)

Procedimientos
(Procs)

Data Providers
(DP)

Web Panels
(Wbps)

Base
Basede
deConocimiento
Conocimiento

Base
de
Datos

Programas de Aplicacin
(Trns, Procs, Wbps, DPs, etc.)

Luego, GeneXus genera programas de aplicacin para interactuar con la base de datos
previamente creada.

10

Resultado final en la Etapa de


Desarrollo
Transacciones
(Trns)

Procedimientos
(Procs)

Data Providers
(DP)

Web Panels
(Wbps)

Base
Basede
deConocimiento
Conocimiento

Base
de
Datos

Programas de Aplicacin
(Trns, Procs, Wbps, DPs, etc.)

Una vez creada la base de datos y generados los programas, contamos con una aplicacin pronta
para ejecutar.

11

Las visiones de los usuarios cambian


Nuevas
Transacciones

Nuevos
Procedimientos

Nuevos
Data Providers

Nuevos
Web Panels

Base
Basede
deConocimiento
Conocimiento

Base
de
Datos

Nueva
Nueva
Base
Base
de
de
Datos
Datos

Programas de Aplicacin
(Trns, Procs, Wbps, DPs, etc.)

Durante el ciclo de vida de la aplicacin, surgir repetidamente la necesidad de hacer modificaciones


en la base de conocimiento, ya sea porque las visiones de los usuarios cambian, porque se deben
hacer correcciones, o simplemente agregar nuevo conocimiento.
Las modificaciones que se realicen sobre la base de conocimiento sern analizadas por GeneXus
para evaluar si es necesario efectuar cambios en la base de datos (por ejemplo:
modificacin/creacin de tablas/ndices), o no.
En caso de detectar cambios para efectuar en la base datos, GeneXus detallar los mismos en un
reporte de anlisis de impacto (IAR: Impact Analisis Report), que es un reporte que explicita
todos los cambios sobre tablas, ndices, datos, etc. que habra que realizar para reflejar la nueva
realidad.
Asimismo, en el reporte de anlisis de impacto se informan los eventuales problemas que los
cambios en cuestin podran ocasionar, como inconsistencias o redundancias.

12

Anlisis de Impacto Automtico


Nuevas
Transacciones

Nuevos
Procedimientos

Anlisis
de
impacto

Base
de
Datos

Nuevos
Data Providers

Nuevos
Web Panels

Base
Basede
deConocimiento
Conocimiento

Nueva
Nueva
Base
Base
de
de
Datos
Datos

Programas de Aplicacin
(Trns, Procs, Wbps, DPs, etc.)

Algunas veces la nueva base de datos coincide con la anterior. Otras veces esto no ocurre, y la base
de datos debe sufrir alguna modificacin para representar la nueva realidad.
El analista debe estudiar el reporte de anlisis de impacto y resolver si desea realizar
efectivamente los cambios en la base de datos, o renunciar a ello dejando la base de datos como
estaba.

13

Generacin de Programas de
Reorganizacin de la Base de Datos
Nuevas
Transacciones

Nuevos
Procedimientos

Programas
de
Reorganiz.

Base
de
Datos

Nuevos
Data Providers

Nuevos
Web Panels

Base
Basede
deConocimiento
Conocimiento

Nueva
Nueva
Base
Base
de
de
Datos
Datos

Programas de Aplicacin
(Trns, Procs, Wbps, DPs, etc.)

Si el analista opta por aplicar los cambios propuestos, decimos que opt por reorganizar la base de
datos. Utilizamos este trmino para referirnos a la accin de aplicar cambios fsicos sobre la base de
datos.
GeneXus generar los programas que implementan las modificaciones sobre las estructuras
fsicas de la base de datos, y mediante su ejecucin nos brindar la nueva versin de la base de
datos con los cambios efectuados.

14

Anlisis automtico del impacto


de los cambios sobre los programas
Nuevas
Transacciones

Nuevos
Procedimientos

Nuevos
Data Providers

Base
Basede
deConocimiento
Conocimiento

Nueva
Base
de
Datos

Nuevos
Web Panels

Anlisis
de Impacto
sobre los
programas

Nuevos Programas de
Aplicacin
(Trns, Procs, Wbps, DPs, etc.)

Ya sea que se requiera reorganizar la base de datos o no, considerando las nuevas definiciones
introducidas, GeneXus estudiar el impacto de los cambios sobre los programas actuales.

15

Generacin automtica de nuevos


programas
Nuevas
Transacciones

Nuevos
Procedimientos

Nuevos
Data Providers

Base
Basede
deConocimiento
Conocimiento

Nueva
Base
de
Datos

Nuevos
Web Panels

Generacin
de
programas

Nuevos Programas de
Aplicacin
(Trns, Procs, Wbps, DPs, etc.)

Por ltimo, GeneXus proseguir con la generacin/regeneracin de los programas de


aplicacin que sean necesarios, obteniendo as una nueva versin de la aplicacin.

16

Nueva realidad, con los cambios en la


aplicacin
Nuevas
Transacciones

Nuevos
Procedimientos

Nuevos
Data Providers

Nuevos
Web Panels

Base
Basede
deConocimiento
Conocimiento

Nueva
Base
de
Datos

Nuevos Programas de Aplicacin

De modo que nuevamente contaremos con una aplicacin pronta para ejecutar, con los cambios
aplicados.

17

Environments
Ellugardondesealmacenalainformacinparagenerarla
aplicacinenciertaplataformadeejecucinsellamaEnvironment.
Environments:
Implementation #1
C# & SQL Server

C#
Application

SQL

Implementation #2
GeneXus
Project

C# & MySQL

C#
Application

MySQL

Implementation #3
Java Application

Java & MySQL

MySQL

Knowledge Base

ElusodevariosEnvironmentspermitedistintasimplementaciones
delamismaaplicacin.

18

Environments
Cuandosecreaunabasedeconocimiento(KB),GeneXuspideal
usuarioqueseleccioneelEnvironmentconelquevaatrabajar:

Conestosdatos,secreaautomticamenteunEnvironment.

Para crear una base de conocimiento, se debe seleccionar en la barra de men de GeneXus, el tem File /
New Knowledge Base. A continuacin aparecer un dilogo como el siguiente:

Se deber indicar;
Nombre de la Knowledge Base: en nuestro caso ser BillingSystem.
Directorio donde se crear.
El Environment por defecto: vea como se muestran lenguajes de programacin. GeneXus los utilizar para
crear los programas asociados a la base de datos.
Target: Su aplicacin final ser Web, Win, o Win & Web?
Language: Idioma en el que aparecern los botones, mensajes, etc.
Al momento de crear la KB se comienza a definir el ambiente de implementacin (Environment) cuyas
definiciones sern luego completadas al momento de ejecutar la aplicacin (nombre de la base de datos,
servidor, forma de conexin, etc).

19

Environments
ParaverelEnvironment creado,seleccionamoslaventanade
Preferences delKnowledgeBaseNavigator:

Default
Environment

20

Environments
Paratenerimplementacionesendistintasplataformas,creamos
variosEnvironments.

21

Environments
VemoslosEnvironments creados:
Environments:

C# & SQL Server

GeneXus
Project
Java & MySQL

Knowledge Base

El environment activo est sealado en negrita y tiene el cono de Play

22

Metodologa Incremental
Construir una aplicacin mediante aproximaciones sucesivas.

DEFINICION
INICIAL

La construccin automtica de la base de datos y programas, permite a GeneXus aplicar


esta metodologa de desarrollo, conocida como metodologa incremental.
Como ya hemos explicado, este proceso se realiza mediante aproximaciones sucesivas.

23

Metodologa Incremental
Paraaplicarundesarrolloincremental,puedomanejardistintas
versiones delaaplicacin.

Versinparaprototipacin.
Versinparaponerenproduccin.

Sobre el versionado (de qu se trata, cmo realizarlo, etc.) volveremos al final. Por ahora alcanza con
saber que al crear la base de conocimiento, los programas que estaremos ejecutando, programas
reales, sern una versin de la aplicacin, de prueba. Una vez que decidamos que esa versin est
lista para ser puesta en produccin, alcanzar con hacer otra versin de la aplicacin, y listo!.

24

Ventajas de la Prototipacin

Permiteverresultadosenformatemprana.
Permiteelseguimientodelosrequerimientosdelusuario.
Deteccindeerroresenformatemprana.
Lograelcompromisodelosusuariosconeldesarrollo.
Sistemasdemejorcalidad.

Toda comunicacin es susceptible de errores:

El usuario olvida ciertos detalles


El analista no toma nota de algunos elementos
El usuario se equivoca en algunas apreciaciones
El analista malinterpreta algunas explicaciones del usuario

Como la implementacin de sistemas es habitualmente una tarea que insume bastante tiempo, y muchos de
estos problemas slo son detectados en las pruebas finales del sistema, el costo en tiempo y dinero de
solucionarlos se torna muy grande. Sabido es que la realidad no permanece esttica, por lo que no es
razonable suponer que se pueden mantener congeladas las especificaciones mientras se implementa el
sistema. Sin embargo, debido al tiempo que suele insumir la implementacin, muchas veces esto se hace y
se acaba implementando una solucin relativamente insatisfactoria.
El impacto de estos problemas disminuira mucho si se consiguiera probar cada especificacin
inmediatamente y saber cul es la repercusin de cada cambio sobre el resto del sistema. Una primera
aproximacin a esto, ofrecida por diversos sistemas, es la posibilidad de mostrar al usuario formatos de
pantallas, informes, etc., animados por mens. Esto permite ayudar al usuario a tener una idea de qu
sistema se le construir, pero al final siempre se presentan sorpresas.
Una situacin bastante diferente sera la de poner a disposicin del usuario para su ejecucin, una
aplicacin funcionalmente equivalente a la deseada hasta en los mnimos detalles. Y esto es lo que ofrece
GeneXus! Un prototipo GeneXus es una aplicacin pronta funcionalmente equivalente a la aplicacin de
produccin.
As es que la aplicacin puede ser totalmente probada antes de ponerse en produccin; y durante las
pruebas, el usuario final puede probar de una forma natural no solamente formatos de pantallas, informes,
etc., sino tambin frmulas, reglas del negocio, estructuras de datos, etc., y trabajar con datos reales.
Esto solo es posible gracias a la construccin automtica que realiza GeneXus del soporte computacional
(base de datos y programas).

25

También podría gustarte