Está en la página 1de 25

1

Introduccin Terica
2
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.
3
VI SI ONES
DE
USUARI OS
Satisface
MODELO DE LA
REALIDAD
I ngeniera I nversa
Modelado de la realidad
A partir de las visiones de los usuarios
BASE
DE
DATOS
PROGRAMAS
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.
4
Desarrollo con GeneXus
REALI DAD
DESCRI PCI N
DE OBJ ETOS
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.
5
Desarrollo con GeneXus
REALI DAD
DESCRI PCI N
DE OBJ ETOS
BASE DE
CONOCI MI ENTO
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.
6
REALI DAD
Desarrollo con GeneXus
DESCRI PCI N
DE OBJ ETOS
BASE
DE
DATOS
PROGRAMAS
BASE DE
CONOCI MI ENTO
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.
7
Data Providers
(DP)
Procedimientos
(Procs)
Web Panels
(Wbps)
Algunos objetos GeneXus
Transacciones
(Trns)
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.
8
Proceso de desarrollo de una
aplicacin con GeneXus
Base de Conocimiento
Base de Conocimiento
Base Base
de de
Datos Datos
Data Providers
(DP)
Procedimientos
(Procs)
Web Panels
(Wbps)
Transacciones
(Trns)
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.
9
Creacin de la Base de Datos
Base Base
de de
Datos Datos
Programas
Creacin
BD
Base de Conocimiento
Base de Conocimiento
Data Providers
(DP)
Procedimientos
(Procs)
Web Panels
(Wbps)
Transacciones
(Trns)
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.
10
Programas de Aplicacin
(Trns, Procs, Wbps, DPs, etc.)
Generacin de los
Programas de la aplicacin
Base Base
de de
Datos Datos
Base de Conocimiento
Base de Conocimiento
Data Providers
(DP)
Procedimientos
(Procs)
Web Panels
(Wbps)
Transacciones
(Trns)
Luego, GeneXus genera programas de aplicacin para interactuar con la base de datos
previamente creada.
11
Resultado final en la Etapa de
Desarrollo
Base Base
de de
Datos Datos
Base de Conocimiento
Base de Conocimiento
Programas de Aplicacin
(Trns, Procs, Wbps, DPs, etc.)
Data Providers
(DP)
Procedimientos
(Procs)
Web Panels
(Wbps)
Transacciones
(Trns)
Una vez creada la base de datos y generados los programas, contamos con una aplicacin pronta
para ejecutar.
12
Las visiones de los usuarios cambian
Nueva Nueva
Base Base
de de
Datos Datos
Base Base
de de
Datos Datos
Programas de Aplicacin
(Trns, Procs, Wbps, DPs, etc.)
Nuevos
Procedimientos
Nuevos
Data Providers
Nuevos
Web Panels
Nueva Nueva
Base Base
de de
Datos Datos
Nuevas
Transacciones
Base de Conocimiento
Base de Conocimiento
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.
13
Anlisis de Impacto Automtico
Anlisis
de
impacto
Nueva Nueva
Base Base
de de
Datos Datos
Base Base
de de
Datos Datos
Programas de Aplicacin
(Trns, Procs, Wbps, DPs, etc.)
Nueva Nueva
Base Base
de de
Datos Datos
Base de Conocimiento
Base de Conocimiento
Nuevos
Procedimientos
Nuevos
Data Providers
Nuevos
Web Panels
Nuevas
Transacciones
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.
14
Generacin de Programas de
Reorganizacin de la Base de Datos
Programas
de
Reorganiz.
Programas de Aplicacin
(Trns, Procs, Wbps, DPs, etc.)
Nueva Nueva
Base Base
de de
Datos Datos
Base Base
de de
Datos Datos
Nueva Nueva
Base Base
de de
Datos Datos
Base de Conocimiento
Base de Conocimiento
Nuevos
Procedimientos
Nuevos
Data Providers
Nuevos
Web Panels
Nuevas
Transacciones
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.
15
Anlisis automtico del impacto
de los cambios sobre los programas
Anlisis
de Impacto
sobre los
programas
Nuevos Programas de
Aplicacin
(Trns, Procs, Wbps, DPs, etc.)
Nueva Nueva
Base Base
de de
Datos Datos
Base de Conocimiento
Base de Conocimiento
Nuevos
Procedimientos
Nuevos
Data Providers
Nuevos
Web Panels
Nuevas
Transacciones
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.
16
Generacin automtica de nuevos
programas
Nueva Nueva
Base Base
de de
Datos Datos
Nuevos Programas de
Aplicacin
(Trns, Procs, Wbps, DPs, etc.)
Generacin
de
programas
Base de Conocimiento
Base de Conocimiento
Nuevos
Procedimientos
Nuevos
Data Providers
Nuevos
Web Panels
Nuevas
Transacciones
Por ltimo, GeneXus proseguir con la generacin/regeneracin de los programas de
aplicacin que sean necesarios, obteniendo as una nueva versin de la aplicacin.
17
Nueva realidad, con los cambios en la
aplicacin
Nueva Nueva
Base Base
de de
Datos Datos
Nuevos Programas de Aplicacin
Base de Conocimiento
Base de Conocimiento
Nuevos
Procedimientos
Nuevos
Data Providers
Nuevos
Web Panels
Nuevas
Transacciones
De modo que nuevamente contaremos con una aplicacin pronta para ejecutar, con los cambios
aplicados.
18
Ellugardondesealmacenalainformacinparagenerarla
aplicacinenciertaplataformadeejecucinsellamaEnvironment.
ElusodevariosEnvironmentspermitedistintasimplementaciones
delamismaaplicacin.
C# & SQL Server
C# & MySQL
Java & MySQL
GeneXus
Project
Knowledge Base
Environments:
Implementation #1
Implementation #2
C#
Application
MySQL
C#
Application
SQL
Implementation #3
Java Application
MySQL
Environments
19
Cuandosecreaunabasedeconocimiento(KB),GeneXuspideal
usuarioqueseleccioneelEnvironmentconelquevaatrabajar:
Conestosdatos,secreaautomticamenteunEnvironment.
Environments
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).
20
ParaverelEnvironment creado,seleccionamoslaventanade
Preferences delKnowledgeBaseNavigator:
Default
Environment
Environments
21
Environments
Paratenerimplementacionesendistintasplataformas,creamos
variosEnvironments.
22
VemoslosEnvironments creados:
Environments
C# & SQL Server
Java & MySQL
GeneXus
Project
Knowledge Base
Environments:
El environment activo est sealado en negrita y tiene el cono de Play
23
Construir una aplicacin mediante aproximaciones sucesivas.
DEFINICION
INICIAL
Metodologa Incremental
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.
24
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!.
25
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).

También podría gustarte