Este documento describe la metodología incremental y la herramienta CASE Genexus. La metodología incremental implica el desarrollo inicial de la arquitectura completa de un sistema, seguido de incrementos y versiones parciales que agregan funcionalidad adicional. Genexus es una herramienta de desarrollo de software multiplataforma que permite la administración automática del conocimiento de los sistemas de negocios y el desarrollo ágil de aplicaciones web y móviles.
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 ComputerAided 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. 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. 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
ObjetiveC. Dentro de los manejadores de Base de datos que puede utilizar son: Microsoft SQL
Server, Oracle, IBM DB2, Informix, PostgreSQL y MySQL.
5
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. 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. Unidad Profesional Interdisciplinaria
de Ingeniería y Ciencias Sociales y
Administrativas.
Bibliografia
FFIEC IT Examination Handbook InfoBase ComputerAided Software Engineering. (s. f.). Recuperado 30
de
septiembre
de
2013,
a
partir
de
http://ithandbook.ffiec.gov/itbooklets/developmentandacquisition/developmentprocedures/softwaredevelop
menttechniques/computeraidedsoftwareengineering.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: AddisonWesley.
9