GeneXus

9
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

Transcript of GeneXus

Unidad Profesional Interdisciplinariade Ingeniería y Ciencias Sociales y

Administrativas.

UNIDAD DE APRENDIZAJEHERRAMIENTAS AUTOMATIZADAS

GRUPO:2NM50

ACTIVIDADHERRAMIENTAS CASE APLICADASEN LA METODOLOGÍA INCREMENTAL

ALUMNOSCANO NAVARRO ISRAEL ALEJANDROCORNEJO GONZALEZ ALAN NERY

JAÉN VARGAS BRANDONRIVERA IBARRA JORGE ALBERTOSALGADO FLORES LIGORIO EDWIN

FECHA DE ENTREGA:1 DE OCTUBRE DE 2013

1

Unidad Profesional Interdisciplinariade Ingeniería y Ciencias Sociales y

Administrativas.

INTRODUCCIÓNMETODOLOGÍA INCREMENTALFASES DE LA METODOLOGÍA INCREMENTALBENEFICIOS METODOLOGÍA INCREMENTALDEBILIDADES METODOLOGÍA INCREMENTALGENEXUS¿QUÉ ES?

PARADÍGMA DE GENEXUS¿POR QUÉ SE DEBE USAR GENEXUS?¿QUÉ NECESITA PARA FUNCIONAR?

HARDWARESOFTWARE

¿CÓMO FUNCIONA?BENEFICIOSAPORTES AL MODELO INCREMENTAL ITERATIVOCONCLUSIONES

INTRODUCCIÓNMETODOLOGÍA INCREMENTALFASES DE LA METODOLOGÍA INCREMENTALBENEFICIOS METODOLOGÍA INCREMENTALDEBILIDADES METODOLOGÍA INCREMENTALGENEXUS¿QUÉ ES?

PARADÍGMA DE GENEXUS¿POR QUÉ SE DEBE USAR GENEXUS?¿QUÉ NECESITA PARA FUNCIONAR?

HARDWARESOFTWARE

¿CÓMO FUNCIONA?BENEFICIOSAPORTES AL MODELO INCREMENTAL ITERATIVOCONCLUSIONES

2

Unidad Profesional Interdisciplinariade Ingeniería y Ciencias Sociales y

Administrativas.

INTRODUCCIÓNLas 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 INCREMENTALFue 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 INCREMENTALLas 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

Unidad Profesional Interdisciplinariade 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

Unidad Profesional Interdisciplinariade 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).

GENEXUSEs 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

Unidad Profesional Interdisciplinariade 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áticadel 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 GENEXUSGeneXus 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

Unidad Profesional Interdisciplinariade 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

Unidad Profesional Interdisciplinariade 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 ITERATIVOComo 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.

CONCLUSIONESDesde 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

Unidad Profesional Interdisciplinariade Ingeniería y Ciencias Sociales y

Administrativas.

BibliografiaFFIEC 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­development­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