Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccion Teorica - Curso GeneXus X
Introduccion Teorica - Curso GeneXus X
Herramientas y Metodologas
Modelado de la realidad
MODELO DE LA
REALIDAD
Satisface
Ingeniera Inversa
BASE
DE
DATOS
PROGRAMAS
VISIONES
DE
USUARIOS
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.
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.
BASE
DE
DATOS
DESCRIPCIN
DE OBJETOS
BASE DE
CONOCIMIENTO
PROGRAMAS
Transacciones
(Trns)
Procedimientos
(Procs)
Data Providers
Web Panels
(DP)
(Wbps)
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.
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.
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
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
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.)
12
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
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
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.)
16
Nuevos
Procedimientos
Nuevos
Data Providers
Nuevos
Web Panels
Base
Basede
deConocimiento
Conocimiento
Nueva
Base
de
Datos
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
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:
GeneXus
Project
Java & MySQL
Knowledge Base
22
Metodologa Incremental
Construir una aplicacin mediante aproximaciones sucesivas.
DEFINICION
INICIAL
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.
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