GeneXus

497 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
497
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

GeneXus

  1. 1. Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas. UNIDAD DE APRENDIZAJE HERRAMIENTAS AUTOMATIZADAS GRUPO: 2NM50 ACTIVIDAD HERRAMIENTAS CASE APLICADAS EN LA METODOLOGÍA INCREMENTAL  ALUMNOS CANO NAVARRO ISRAEL ALEJANDRO CORNEJO GONZALEZ ALAN NERY JAÉN VARGAS BRANDON RIVERA IBARRA JORGE ALBERTO SALGADO FLORES LIGORIO EDWIN FECHA DE ENTREGA: 1 DE OCTUBRE DE 2013 1
  2. 2. Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas. INTRODUCCIÓN METODOLOGÍA INCREMENTAL FASES DE LA METODOLOGÍA INCREMENTAL BENEFICIOS METODOLOGÍA INCREMENTAL DEBILIDADES METODOLOGÍA INCREMENTAL GENEXUS ¿QUÉ ES? PARADÍGMA DE GENEXUS ¿POR QUÉ SE DEBE USAR GENEXUS? ¿QUÉ NECESITA PARA  FUNCIONAR? HARDWARE SOFTWARE ¿CÓMO FUNCIONA? BENEFICIOS APORTES AL MODELO INCREMENTAL ITERATIVO CONCLUSIONES INTRODUCCIÓN METODOLOGÍA INCREMENTAL FASES DE LA METODOLOGÍA INCREMENTAL BENEFICIOS METODOLOGÍA INCREMENTAL DEBILIDADES METODOLOGÍA INCREMENTAL GENEXUS ¿QUÉ ES? PARADÍGMA DE GENEXUS ¿POR QUÉ SE DEBE USAR GENEXUS? ¿QUÉ NECESITA PARA  FUNCIONAR? HARDWARE SOFTWARE ¿CÓMO FUNCIONA? BENEFICIOS APORTES AL MODELO INCREMENTAL ITERATIVO CONCLUSIONES 2
  3. 3. Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas. INTRODUCCIÓN Las  herramientas  case  son  aquellas  que  ayudan  al  ingeniero  de  software  en  el  desarrollo  y mantenimiento  de  software.  Son  herramientas  individuales  de  apoyo  para  la  administración  de un proyecto de software en una o más fases. («FFIEC IT Examination Handbook InfoBase ­ Computer­Aided Software Engineering», s. f.) La  metodología  incremental  es  el  desarrollo  inicial  de  la  arquitectura  completa  de  un  sistema, seguido  de  incrementos y versiones parciales del mismo. Cada incremento tiene su propio ciclo de  vida  y  cada  incremento  agrega funcionalidad  adicional o mejorada del sistema.(Sommerville, 2011) Conociendo  que  estos  conceptos  podemos  identificar  de  forma  más  clara  una  herramienta CASE  que  se  adecue  a  la metodología  incremental dentro del mercado podemos encontrar una diversidad  de  herramientas  que  se  adecuen  a  nuestras  necesidades  estas  pueden  ser gratuitas o de paga. METODOLOGÍA INCREMENTAL Fue  propuesto por  Mills  en  1980.  Sugiriendo  una  forma  de  reducir  la  repetición  del trabajo en el proceso  del  desarrollo  y  dar  la  oportunidad  de  retrasar  la  toma  de  decisiones  en  los  requisitos hasta adquirir experiencia con el sistema. FASES DE LA METODOLOGÍA INCREMENTAL Las  etapas  del  modelo  incremental  están  basadas  en  el  modelo  en  cascada,  este  marco  de trabajo  se  basa  en  siete  etapas:  I.  Identificación  del  problema,  oportunidades  y  objetivos.  II. Determinación  de  los  requerimientos  de  información.  III.  Análisis   de  las  necesidades  del sistema.  IV.  Diseño  del  sistema recomendado.  V.  Desarrollo  y  documentación  del  software. VI. Pruebas  y  mantenimiento  del  sistema.  VII.  Implantación  y  evaluación  del  sistema.  Para  el  caso del modelo incremental este proceso se realiza en repetidas ocasiones. 3
  4. 4. Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas. Figura 1.­ Esquema de la metodología incremental Fuente: (Aruquipa, n.d.) El  modelo   incremental  es  un  modelo  tipo  cascada  el   cual  origina  una  primera  versión  con  su respectiva  funcionalidad,  posteriormente  se  aplica  de  nuevo  cascada  sobre  aquella  primer versión  y  se  obtiene  una  segunda  versión  con  más  una  funcionalidad.  Este  proceso  se  repite hasta terminar el desarrollo. BENEFICIOS METODOLOGÍA INCREMENTAL ➔ La  esencia  del proyecto es desarrollada primero, por lo tanto la funcionalidad principal es agregada desde el primer incremento. ➔ Después  de  cada  iteración,  se  debe  realizar  una  prueba  de  regresión.  Durante  ésta prueba,  los  elementos  defectuosos  del  software  pueden  ser  identificados  rápidamente porque algunos cambios son realizados en una sola iteración (CMS, 2005). ➔ Generalmente es más fácil probar y corregir que usar los otros métodos de desarrollo de software  porque  relativamente  hay  pequeños   cambios  en  cada  iteración.(Technotrice, n.d.) ➔ En cada revisión, una nueva característica es agregada al proyecto.. ➔ Permite  una  mejor  explotación  del  potencial  de  conocimientos  adquiridos  en  un incremento  temprano  mientras  se  desarrollan  incrementos  posteriores  (Sommerville & Alfonso Galipienso, 2005). ➔ El  control  moderado  se  mantiene  durante  la  vida  del  desarrollo  del proyecto mediante el uso  de  documentación  escrita,  revisión  formal  y  aprobación  por  parte  del usuario.(Technotrice, n.d.) ➔ Permite  la  entrega  de  una  serie  de implementaciones que se completan gradualmente y pueden  entrar  en  producción  más  rápidamente  como  versiones  incrementales  (CMS, 2005). ➔ La  implementación  gradual  proporciona  la  capacidad  de  controlar  el  efecto  de  los 4
  5. 5. Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas. cambios incrementales, aislar los problemas y hacer ajustes antes de la organización se vea afectada (Sommerville & Alfonso Galipienso, 2005). DEBILIDADES METODOLOGÍA INCREMENTAL ➔ El costo resultante puede ser superior al presupuesto de la organización. ➔ Cuando  se  utiliza  una  serie de mini cascadas para una pequeña parte del sistema antes de  pasar  al  siguiente incremento, por lo general hay una falta de consideración global  del problema de la empresa y los requisitos técnicos para el sistema general.(CMS, 2005) ➔ Dado  que  algunos  módulos  se  completarán   mucho   antes  que  otros,  se  requieren interfaces bien definidas.(CMS, 2005) ➔ El  proceso  no  es  visible.  Los  administradores  necesitan  entregas regulares  para  medir el  avance.  Si  los sistemas se desarrollan rápidamente,  resulta  poco efectivo en términos de  costo   producir  documentos  que  reflejen  cada  versión   del  sistema  (Sommerville  & Alfonso Galipienso, 2005). ➔ La  estructura  del  sistema  tiende  a  degradarse  conforme  se   tienen  nuevos incrementos.  la   incorporación  demás  cambios  de  software  se  vuelve  cada  vez  más difícil y costosa (Sommerville & Alfonso Galipienso, 2005). ➔ Los  problemas  difíciles  tienden  a  ser  empujados  hacia  el  futuro  para  demostrar  el  éxito inicial de la gestión (CMS, 2005). GENEXUS Es   una   herramienta  de  desarrollo  de  software,  codificado  en  C#,  multiplataforma  orientada principalmente  a  aplicaciones  web,  aplicaciones  Windows,  y  Dispositivos  móviles  o Inteligentes.  Creado  por  una  compañía  uruguaya  llamada  Artech,  esta  herramienta  es comercializada  en  más  de  45  países  incluyendo  México.  cuenta  con  más de 6,000 clientes en todo el mundo , además  posee una comunidad de 85,000 desarrolladores. Genexus  posee  una  gran  versatilidad  a  la  hora  de   elegir  un  lenguaje  de  programación  ya  que posee  un  amplio  catalogo  de  lenguajes  comerciales  como:  Cobol, RPG,  Visual  Basic,  Visual FoxPro,  Ruby,  C#,  Java.  Ademas  en plataformas moviles puede  manejar: Android, Blackberry o Objetive­C.  Dentro  de los manejadores de Base de datos que puede utilizar son:  Microsoft SQL Server, Oracle, IBM DB2, Informix, PostgreSQL y MySQL. 5
  6. 6. Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas. Figura 2.­ Capacidad multiplataforma de Genexus fuente: http://www.genexus.com/ ¿QUÉ ES? GeneXus es, esencialmente, un sistema que permite una buena administración automática del  conocimiento  de  los  sistemas  de  negocios  (Gonda  y  Jodal,  2012).  Es  una  herramienta  de desarrollo  de software  ágil,  multiplataforma,  basada  en  conocimiento y orientada a aplicaciones web empresariales, plataformas Windows y smartphones. PARADÍGMA DE GENEXUS GeneXus   está  basado  en  un  paradigma  completamente  diferente  a  los  usuales  para   el desarrollo  de  sistemas:  no  parte  de  un  modelo  de  datos  preexistente  ni  de  concepciones abstractas  sobre  lo  que  es  importante  para  la  empresa  y  lo  que no lo es. GeneXus parte de las diferentes  visiones  de  sus  usuarios.  Cada  usuario,  perteneciente  a  cualquier  nivel  de  la empresa, conoce bien la visión de los datos con los que trabaja a diario. GeneXus  parte  de  estas  visiones  y  encuentra  el modelo  de datos ideal derivado de ellas (puede 6
  7. 7. Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas. probarse  rigurosamente  que,  dado  un  número  de  visiones  de  usuarios, existe  solo  un  modelo relacional mínimo que las satisface .(Gonda y Jodal, 2012) ¿POR QUÉ SE DEBE USAR GENEXUS? Porque las  aplicaciones y sus bases de datos son  cada vez más complejas, y porque al diseñar grandes  bases  de datos (con cientos de miles de tablas) se cometen muchos errores humanos y,  básicamente,  porque en  las  grandes  organizaciones no  existe  NADIE que conozca los datos de  la  empresa  con  la  adecuada  objetividad  y  el  suficiente  detalle.  Por  lo  tanto,  el  paradigma introducido  por  GeneXus que consiste en tomar el conocimiento partiendo de las visiones de los usuarios  (de  alguna  manera,  realizando  un  desarrollo  isomorfo  con  la perspectiva),  es  mucho mejor que los tradicionales.(Gonda y Jodal, 2012) ¿QUÉ NECESITA PARA FUNCIONAR? HARDWARE ● ● ● Procesador: mínimo de 1 GHz (multi core recomendado). Memoria:. mínimo de 1 GB de RAM (se recomiendan 2 GB) Disco   duro:  mínimo  de  400  MB  de  espacio  en  disco  para  la  instalación.  Para  generar aplicaciones se  necesita  espacio  adicional  o  una  unidad de disco compartido para  crear las bases de conocimiento, y generar el código. SOFTWARE ● ● ● ● Microsoft Windows Server 20XX, Microsoft Windows XP SP2 o superior. Microsoft. NET Framework 3.5 Service Pack 1 o superior. Microsoft SQL Server 2005, 2008 o 2012 (Express, Estándar o cualquier otra edición). Microsoft  Internet  Explorer.  Versión  mínima:  6.0  SP1.  Versión  recomendada:.  8.0  o superior ● Sun JRE 1.6 o posterior (JRE es suficiente, o JDK) ¿CÓMO FUNCIONA? GeneXus   es  una  herramienta  que  parte  de  las   visiones  de  los  usuarios;  captura  su conocimiento y lo sistematiza en una base de  conocimiento. A partir de esta última, GeneXus es capaz  de  diseñar,  generar  y  mantener  de  manera  totalmente  automática  la  estructura  de  la base   de  datos  y  los  programas  de  la  aplicación,  es  decir,  los  programas  necesarios  para  que los  usuarios  puedan  operar  con  sus  visiones.  GeneXus  almacena  en  una  Knowledge  Base todos  los  elementos  necesarios para  construir  la  aplicación,  y  luego  la utiliza  para  el desarrollo del sistema, construyendo automáticamente el modelo de datos. (Lisboa y Fernandez, 2007) 7
  8. 8. Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas. BENEFICIOS ● ● ● ● ● ● ● ● Valida los requerimientos en la etapa de diseño, creando así prototipos 100% funcionales Universalidad en la creacion de una base de datos(.Net,Java,MySql…) Si  los   requerimientos  cambian,  Genexus  realiza  el  análisis   de  impacto  y  propaga  los cambios de manera automática. Facilidad para agregar nuevas funcionalidades conforme va avanzando el sistema. Con una sola estructura puede generar  sistemas para varias plataformas. Las migraciones de otros sistemas  son más fáciles. En  algunas  organizaciones  puede   llegar  a   reducir  el  costo  en  la  capacitación  del personal Incluye  un  módulo  de  normalización de base de  datos (En 3ra forma normal), que crea y mantiene  la  base  de datos  óptima  (en  estructura y contenido) basada en las visiones de la realidad descritas por los usuarios usando un lenguaje declarativo APORTES AL MODELO INCREMENTAL ITERATIVO Como  sabemos  en  la  metodología  incremental  la  esencia  del  proyecto  es  la  función  principal del  mismo  ,  Genexus  esta  basado  en  un  paradigma  de  conocimiento  donde  lo  más importante es  la  función  principal  del  sistema  gracias  a  la  recopilación  de  las  experiencias y necesidades de los usuarios, a partir de esto Genexus puede crear un primer prototipo solo contemplando  los requerimientos  esenciales  para  que  este  funcione,  Genexus  lo  considera  como  “primer incremento  prototipado”.  Gracias  a  que Genexus  hace más sencilla la tarea de modificación de requerimientos  o  del  diseño  del  sistema,  también  se  le  considera como  una  herramienta  para metodologías  ágiles  de  desarrollo  de  esta  manera  genexus  utiliza  todo  el  potencial  de  la metodología incremental y las metodologías ágiles. CONCLUSIONES Desde  el  punto  de  vista  del  análisis  funcional  de  una  herramienta  case  Genexus  posee   una carencia,  no   está  pensado  para  aplicaciones  donde  la  lógica  cumple  un  rol  muy  importante dentro  del  sistema  o aplicaciones  de  uso  específico,  no  obstante  Genexus  es  una  herramienta integral  que  permite  mejorar  la  comunicación  no  solo  con  el  cliente,  sino con  los  usuarios  del sistema,  permite  generar  aplicaciones  bien  documentadas,  multiplataforma,  con  un  código simple,  claro  y  funcional.  Además  al  manejar  en  tercera  forma normal tanto para la creación de las  bases  de  datos  como  para  su  mantenimiento   permite   mantener  los  repositorios optimizados.  Es  decir,  permite  desarrollar  aplicaciones  robustas  en  poco  tiempo,  con  alta calidad y con un facil mantenimiento . 8
  9. 9. Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas. Bibliografia FFIEC   IT  Examination  Handbook  InfoBase  ­   Computer­Aided  Software   Engineering.   (s.  f.).  Recuperado  30 de  septiembre  de  2013,  a  partir   de http://ithandbook.ffiec.gov/it­booklets/development­and­acquisition/development­procedures/software­develop ment­techniques/computer­aided­software­engineering.aspx Gonda,Breogán y Jodal,Nicolas, (2012). Filosofia de Genexus. Uruguay:ArcTech Consultores. Lisboa,Daniel M. y Fernandez, Cecilia (2007).Genexus x: Episodio uno. Uruguay:ArcTech Consultores. Sommerville, I. (2011). Ingeniería de software. México: Addison­Wesley. 9

×