SlideShare a Scribd company logo
1 of 38
Consejos para futuros instructores A/S Maia Shuster mshuster@genexus.com
Veremos… Aportes útiles para la hora de dictarsuscursos GeneXus Sugerencias Tips para enseñar fácil Errores más comunes que cometen los alumnos… y recomendaciones!
Acerca de enseñar fácil…
Enseñar fácil = un arte Explicar ordenadamente Usar palabras fáciles Describir qué se va a mostrar, antes de resolverlo Cuidado con la velocidad Mostrar paso a paso..
Enseñar fácil = un arte Emplear términos adecuados…
Errores y dudas más comunes…
Tema: Diseño de transacciones
Tema: Diseño de transacciones Errores comunes: ,[object Object],(A1*  A2     (B1*      B2) (A1*  A2     (B1*      B2) B1* B2 +
Tema: Diseño de transacciones Errores comunes: ,[object Object]
 Se creantablasfísicas de más
 Se almacenandatosredundantes
Quedandefinidascomplejidadesinnecesarias,[object Object]
Alumnos que no tienen fijados ciertos conocimientos puntuales, que les serían de gran ayuda,[object Object]
Tema: Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #1 ProductId*ProductName ProviderId*ProviderName   (ProductId* ProductName) ProductId*ProductName   (ProviderId*     ProviderName) ProviderId*ProviderName ProductId*ProductName   (ProviderId*     ProviderName) ProviderId*ProviderName   (ProductId*     ProductName) ProductId*ProductName ProviderId*ProviderName ProviderId*ProductId*
Tema: Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #1 Tablas fisicasresultantes:
Tema: Diseño de transacciones ENTERPRISE #2 2 ALTERNATIVAS DE DISEÑO DIFERENTES GENERAN TABLAS FÍSICAS DIFERENTES PROVIDER PRODUCT
Tema: Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #1: ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName CustomerId* CustomerName InvoiceId* InvoiceDate …. CustomerId CustomerName PROVIDER PRODUCT
Tema: Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #1: ProviderId* ProviderName ProductId ProductName ProductId* ProductName ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName PROVIDER PRODUCT PROVIDER PRODUCT
Tema: Diseño de transacciones Prop. Nullable = Yes ENTERPRISE #2 ALTERNATIVA #1: ALTERNATIVA #2: ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName  (ProductId* ProductName) PROVIDER PRODUCT
Tema: Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #2: ProviderId* ProviderName  (ProductId* ProductName) PROVIDER PRODUCT
Tema: Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #2 CUSTOMER INVOICE ¿ ALTERNATIVA #1 ? ¿ ALTERNATIVA #2 ? ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName  (ProductId* ProductName) CustomerId* CustomerName   (InvoiceId* InvoiceDate    ….) CustomerId* CustomerName InvoiceId* InvoiceDate …. CustomerId CustomerName ¿Cómo elegimos cuál?  Dependerá de la realidad a modelar…
Tema: Diseño de transacciones ENTERPRISE #2 CUSTOMER PHONE ¿ ALTERNATIVA #1 ? ¿ ALTERNATIVA #2 ? ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName  (ProductId* ProductName) CustomerId* CustomerName   (CustomerPhoneId* CustomerPhoneNumber) CustomerId* CustomerName PhoneId* PhoneNumber …. CustomerId CustomerName  PROVIDER PRODUCT
Tema: Diseño de transacciones ENTERPRISE #2 ¿ ALTERNATIVA #2 ? ¿ ALTERNATIVA #1 ? ProviderId* ProviderName  (ProductId* ProductName) ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName RELACIÓN 1-N “FUERTE”   o “RELACIONADO CON” RELACIÓN 1-N “DÉBIL”  O “PARTE DE”  PROVIDER PRODUCT
Tema: Diseño de transacciones Volviendo a esta duda de los alumnos… ¿ Cuál es la diferencia .. ? (A1*  A2     (B1*      B2) (A1*  A2     (B1*      B2) B1* B2 + A B B A 1-N “DÉBIL”
Tema: Diseño de transacciones Veamos un error más que cometen los alumnos… ,[object Object],Realidad a ser descripta:  Un médico en una fecha, solamente puede tener una consulta  Se le asigna un consultorio para atender Solución de alumno: DoctorId* DoctorName MedicalAppointmentDate* DoctorId* RoomId* DoctorName RoomDescription RoomFloor RoomId* RoomDescriptionRoomFloor
Tema: Diseño de transacciones Para que alumno visualice su error de diseño ,[object Object],    crean + datos de prueba
Tema: Diseño de transacciones A raíz de lo anterior, surge también explicar… ¿Claves primarias compuestas por conjunto  de atributos que determinan unicidad? ¿Claves primarias ficticias? MedicalAppointmentId * MedicalAppointmentDate DoctorId RoomId DoctorName RoomDescription RoomFloor MedicalAppointmentDate* DoctorId* RoomId DoctorName RoomDescription RoomFloor
Tema: Subtipos
Tema: Subtipos ,[object Object]
Tiene fama de complejo..
Sin embargo.. nada en GeneXus es complejo ¡ Los subtipos permiten representar en GeneXuscasosque se dan en la realidad !
Tema: Subtipos Ejemplo + Explicación fácil : ProviderId* ProviderName PurchaseOrderId* PurchaseOrderDate ProviderId ProviderName   (ProductId* ProductName ProductPrice ProviderId ProviderName PurchaseOrderLineQuantity) ProductId* ProductName ProductPrice ProviderId ProviderName
Tema: Subtipos Ejemplo + Explicación fácil : ProviderId* ProviderName PurchaseOrderId* PurchaseOrderDate ProviderId ProviderName   (ProductId* ProductName ProductPrice PurchasOrderLineProviderId PurchasOrderLineProviderName PurchaseOrderLineQuantity) ProductId* ProductName ProductPrice ProviderId ProviderName ¿Solución adecuada? No
Tema: Subtipos Ejemplo + Explicación fácil : Solución ProviderId* ProviderName PurchaseOrderId* PurchaseOrderDate PurchasOrderProviderId PurchaseOrderProviderName   (ProductId* ProductName ProductPrice ProviderId ProviderName PurchaseOrderLineQuantity) ProductId* ProductName ProductPrice ProviderId ProviderName
Tema: Reglas en transacciones y eventos de disparo
Tema: Reglas en transacciones y eventos de disparo REGLAS SIN EVENTO DE DISPARO INTERACTIVAMENTE REGLAS CON EVENTO DE DISPARO (ON …. )
Tema: Reglas en transacciones y eventos de disparo Algunos errores comunes: ¿En una invocación que tiene evento de disparo “onAfterComplete”, es posible enviar atributos por parámetro? ¿No?  ¿Si? ¿De cuáles niveles?  Sí, del primer nivel
Tema: Reglas en transacciones y eventos de disparo Algunos errores comunes: ¿Es correcto asignar valores a atributos…  … OnAfterComplete? … OnBeforeComplete?  No, ya es tarde

More Related Content

Similar to Consejos parafuturosinstructores mx-marzo2011

Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...
Hernan Wilkinson
 
Invs oport-de fpro-plantdisñ
Invs oport-de fpro-plantdisñInvs oport-de fpro-plantdisñ
Invs oport-de fpro-plantdisñ
juanestebangari
 

Similar to Consejos parafuturosinstructores mx-marzo2011 (20)

Introducción al desarrollo guiado por pruebas
Introducción al desarrollo guiado por pruebasIntroducción al desarrollo guiado por pruebas
Introducción al desarrollo guiado por pruebas
 
Cuida tu código: Clean Code
Cuida tu código: Clean CodeCuida tu código: Clean Code
Cuida tu código: Clean Code
 
Buenas practicas y código limpio en C#
Buenas practicas y código limpio en C#Buenas practicas y código limpio en C#
Buenas practicas y código limpio en C#
 
Meetup: Sesión #8 Domain Driven Design
Meetup: Sesión #8 Domain Driven DesignMeetup: Sesión #8 Domain Driven Design
Meetup: Sesión #8 Domain Driven Design
 
Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...
 
Visualfoxpro
VisualfoxproVisualfoxpro
Visualfoxpro
 
Temario
Temario Temario
Temario
 
Plantilla con-normas-icontec2000
Plantilla con-normas-icontec2000Plantilla con-normas-icontec2000
Plantilla con-normas-icontec2000
 
La guía para sacarle provecho a tu proyecto de BBDD con Visual Studio - Solid...
La guía para sacarle provecho a tu proyecto de BBDD con Visual Studio - Solid...La guía para sacarle provecho a tu proyecto de BBDD con Visual Studio - Solid...
La guía para sacarle provecho a tu proyecto de BBDD con Visual Studio - Solid...
 
normas incoctec
normas incoctec normas incoctec
normas incoctec
 
Plantilla con-normas-icontec
Plantilla con-normas-icontecPlantilla con-normas-icontec
Plantilla con-normas-icontec
 
St044 calderon montoya_presentation
St044 calderon montoya_presentationSt044 calderon montoya_presentation
St044 calderon montoya_presentation
 
Jessik
JessikJessik
Jessik
 
Jessik
JessikJessik
Jessik
 
Clase 11, 2/10/2007
Clase 11, 2/10/2007Clase 11, 2/10/2007
Clase 11, 2/10/2007
 
Generador codigo
Generador codigoGenerador codigo
Generador codigo
 
Buenos Aires vs. (London vs. Chicago) Agiles 2020
Buenos Aires vs. (London vs. Chicago) Agiles 2020Buenos Aires vs. (London vs. Chicago) Agiles 2020
Buenos Aires vs. (London vs. Chicago) Agiles 2020
 
Invs oport-de fpro-plantdisñ
Invs oport-de fpro-plantdisñInvs oport-de fpro-plantdisñ
Invs oport-de fpro-plantdisñ
 
El proceso de diseño
El proceso de diseñoEl proceso de diseño
El proceso de diseño
 
Taller de WordPress avanzado | #EBE11
Taller de WordPress avanzado | #EBE11Taller de WordPress avanzado | #EBE11
Taller de WordPress avanzado | #EBE11
 

More from GeneXus

More from GeneXus (20)

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) Bots
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivos
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industria
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 Students
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsive
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAP
 
Going mobile
Going mobileGoing mobile
Going mobile
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
 
Laboratorio GXserver (cont)
Laboratorio GXserver (cont)Laboratorio GXserver (cont)
Laboratorio GXserver (cont)
 
Laboratorio GXserver
Laboratorio GXserverLaboratorio GXserver
Laboratorio GXserver
 
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...
 
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y SaltoLaboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto
 
Laboratorio: Desarrollo para Smart Devices
Laboratorio: Desarrollo para Smart DevicesLaboratorio: Desarrollo para Smart Devices
Laboratorio: Desarrollo para Smart Devices
 

Consejos parafuturosinstructores mx-marzo2011

  • 1. Consejos para futuros instructores A/S Maia Shuster mshuster@genexus.com
  • 2. Veremos… Aportes útiles para la hora de dictarsuscursos GeneXus Sugerencias Tips para enseñar fácil Errores más comunes que cometen los alumnos… y recomendaciones!
  • 3. Acerca de enseñar fácil…
  • 4. Enseñar fácil = un arte Explicar ordenadamente Usar palabras fáciles Describir qué se va a mostrar, antes de resolverlo Cuidado con la velocidad Mostrar paso a paso..
  • 5. Enseñar fácil = un arte Emplear términos adecuados…
  • 6. Errores y dudas más comunes…
  • 7. Tema: Diseño de transacciones
  • 8.
  • 9.
  • 12.
  • 13.
  • 14. Tema: Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #1 ProductId*ProductName ProviderId*ProviderName (ProductId* ProductName) ProductId*ProductName (ProviderId* ProviderName) ProviderId*ProviderName ProductId*ProductName (ProviderId* ProviderName) ProviderId*ProviderName (ProductId* ProductName) ProductId*ProductName ProviderId*ProviderName ProviderId*ProductId*
  • 15. Tema: Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #1 Tablas fisicasresultantes:
  • 16. Tema: Diseño de transacciones ENTERPRISE #2 2 ALTERNATIVAS DE DISEÑO DIFERENTES GENERAN TABLAS FÍSICAS DIFERENTES PROVIDER PRODUCT
  • 17. Tema: Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #1: ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName CustomerId* CustomerName InvoiceId* InvoiceDate …. CustomerId CustomerName PROVIDER PRODUCT
  • 18. Tema: Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #1: ProviderId* ProviderName ProductId ProductName ProductId* ProductName ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName PROVIDER PRODUCT PROVIDER PRODUCT
  • 19. Tema: Diseño de transacciones Prop. Nullable = Yes ENTERPRISE #2 ALTERNATIVA #1: ALTERNATIVA #2: ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName (ProductId* ProductName) PROVIDER PRODUCT
  • 20. Tema: Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #2: ProviderId* ProviderName (ProductId* ProductName) PROVIDER PRODUCT
  • 21. Tema: Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #2 CUSTOMER INVOICE ¿ ALTERNATIVA #1 ? ¿ ALTERNATIVA #2 ? ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName (ProductId* ProductName) CustomerId* CustomerName (InvoiceId* InvoiceDate ….) CustomerId* CustomerName InvoiceId* InvoiceDate …. CustomerId CustomerName ¿Cómo elegimos cuál?  Dependerá de la realidad a modelar…
  • 22. Tema: Diseño de transacciones ENTERPRISE #2 CUSTOMER PHONE ¿ ALTERNATIVA #1 ? ¿ ALTERNATIVA #2 ? ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName (ProductId* ProductName) CustomerId* CustomerName (CustomerPhoneId* CustomerPhoneNumber) CustomerId* CustomerName PhoneId* PhoneNumber …. CustomerId CustomerName  PROVIDER PRODUCT
  • 23. Tema: Diseño de transacciones ENTERPRISE #2 ¿ ALTERNATIVA #2 ? ¿ ALTERNATIVA #1 ? ProviderId* ProviderName (ProductId* ProductName) ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName RELACIÓN 1-N “FUERTE” o “RELACIONADO CON” RELACIÓN 1-N “DÉBIL” O “PARTE DE” PROVIDER PRODUCT
  • 24. Tema: Diseño de transacciones Volviendo a esta duda de los alumnos… ¿ Cuál es la diferencia .. ? (A1* A2 (B1* B2) (A1* A2 (B1* B2) B1* B2 + A B B A 1-N “DÉBIL”
  • 25.
  • 26.
  • 27. Tema: Diseño de transacciones A raíz de lo anterior, surge también explicar… ¿Claves primarias compuestas por conjunto de atributos que determinan unicidad? ¿Claves primarias ficticias? MedicalAppointmentId * MedicalAppointmentDate DoctorId RoomId DoctorName RoomDescription RoomFloor MedicalAppointmentDate* DoctorId* RoomId DoctorName RoomDescription RoomFloor
  • 29.
  • 30. Tiene fama de complejo..
  • 31. Sin embargo.. nada en GeneXus es complejo ¡ Los subtipos permiten representar en GeneXuscasosque se dan en la realidad !
  • 32. Tema: Subtipos Ejemplo + Explicación fácil : ProviderId* ProviderName PurchaseOrderId* PurchaseOrderDate ProviderId ProviderName (ProductId* ProductName ProductPrice ProviderId ProviderName PurchaseOrderLineQuantity) ProductId* ProductName ProductPrice ProviderId ProviderName
  • 33. Tema: Subtipos Ejemplo + Explicación fácil : ProviderId* ProviderName PurchaseOrderId* PurchaseOrderDate ProviderId ProviderName (ProductId* ProductName ProductPrice PurchasOrderLineProviderId PurchasOrderLineProviderName PurchaseOrderLineQuantity) ProductId* ProductName ProductPrice ProviderId ProviderName ¿Solución adecuada? No
  • 34. Tema: Subtipos Ejemplo + Explicación fácil : Solución ProviderId* ProviderName PurchaseOrderId* PurchaseOrderDate PurchasOrderProviderId PurchaseOrderProviderName (ProductId* ProductName ProductPrice ProviderId ProviderName PurchaseOrderLineQuantity) ProductId* ProductName ProductPrice ProviderId ProviderName
  • 35. Tema: Reglas en transacciones y eventos de disparo
  • 36. Tema: Reglas en transacciones y eventos de disparo REGLAS SIN EVENTO DE DISPARO INTERACTIVAMENTE REGLAS CON EVENTO DE DISPARO (ON …. )
  • 37. Tema: Reglas en transacciones y eventos de disparo Algunos errores comunes: ¿En una invocación que tiene evento de disparo “onAfterComplete”, es posible enviar atributos por parámetro? ¿No? ¿Si? ¿De cuáles niveles?  Sí, del primer nivel
  • 38. Tema: Reglas en transacciones y eventos de disparo Algunos errores comunes: ¿Es correcto asignar valores a atributos… … OnAfterComplete? … OnBeforeComplete?  No, ya es tarde
  • 39. Tema: Aplicación del concepto de taba extendida
  • 40. Tema: Aplicación del concepto de tabla extendida Actualización directa de la tabla extendida En rules de transacciones En Foreach
  • 42. ¡Muchas gracias! A/S Maia Shuster mshuster@genexus.com