SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
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
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
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
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
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
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
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
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
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

Más contenido relacionado

La actualidad más candente

Paso 8 actividad colaborativa - propuesta ampliada
Paso 8   actividad colaborativa - propuesta ampliadaPaso 8   actividad colaborativa - propuesta ampliada
Paso 8 actividad colaborativa - propuesta ampliadaCristiam Gomez Quijano
 
Planes de auditoria y buenas practicas para entornos cloud computing y bring ...
Planes de auditoria y buenas practicas para entornos cloud computing y bring ...Planes de auditoria y buenas practicas para entornos cloud computing y bring ...
Planes de auditoria y buenas practicas para entornos cloud computing y bring ...Pilar Santamaria
 
Devsecooops Los Caso de no éxito en DevSecOps
Devsecooops Los Caso de no éxito en DevSecOpsDevsecooops Los Caso de no éxito en DevSecOps
Devsecooops Los Caso de no éxito en DevSecOpsLuciano Moreira da Cruz
 
DevSec Oops, los casos de no éxito de DevSecOps
DevSec Oops, los casos de no éxito de DevSecOpsDevSec Oops, los casos de no éxito de DevSecOps
DevSec Oops, los casos de no éxito de DevSecOpsLuciano Moreira da Cruz
 
La ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidadesLa ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidadesAntonio Vallecillo
 
fundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaarefundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaareLuz
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoLuciano Moreira da Cruz
 
Modelo de desarrollo rápido de aplicaciones (RAD)
Modelo de desarrollo rápido de aplicaciones (RAD)Modelo de desarrollo rápido de aplicaciones (RAD)
Modelo de desarrollo rápido de aplicaciones (RAD)EdwinCondoriGonzales1
 
GESTION DE PROYECTOS INFORMATICOS
GESTION  DE PROYECTOS INFORMATICOSGESTION  DE PROYECTOS INFORMATICOS
GESTION DE PROYECTOS INFORMATICOSYASMIN RUIZ
 
Unidad i ing_soft
Unidad i ing_softUnidad i ing_soft
Unidad i ing_softUCC
 
Aseguramiento de la calidad - Víctor Gómez Adán
Aseguramiento de la calidad - Víctor Gómez AdánAseguramiento de la calidad - Víctor Gómez Adán
Aseguramiento de la calidad - Víctor Gómez AdánVíctor Gómez Adán
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agilesAdam Guevara
 
Ciclos de-vida-proceso-de-desarrollo-del-software
Ciclos de-vida-proceso-de-desarrollo-del-softwareCiclos de-vida-proceso-de-desarrollo-del-software
Ciclos de-vida-proceso-de-desarrollo-del-softwareUCC
 
Tecnicas avanzadas de_ingenieria_de_software_(modulo_3)
Tecnicas avanzadas de_ingenieria_de_software_(modulo_3)Tecnicas avanzadas de_ingenieria_de_software_(modulo_3)
Tecnicas avanzadas de_ingenieria_de_software_(modulo_3)Adam Guevara
 
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9Luis Eduardo Pelaez Valencia
 

La actualidad más candente (20)

Paso 8 actividad colaborativa - propuesta ampliada
Paso 8   actividad colaborativa - propuesta ampliadaPaso 8   actividad colaborativa - propuesta ampliada
Paso 8 actividad colaborativa - propuesta ampliada
 
Planes de auditoria y buenas practicas para entornos cloud computing y bring ...
Planes de auditoria y buenas practicas para entornos cloud computing y bring ...Planes de auditoria y buenas practicas para entornos cloud computing y bring ...
Planes de auditoria y buenas practicas para entornos cloud computing y bring ...
 
Actividadades
ActividadadesActividadades
Actividadades
 
Paso6 201014 25_colaborativo
Paso6 201014 25_colaborativoPaso6 201014 25_colaborativo
Paso6 201014 25_colaborativo
 
Devsecooops Los Caso de no éxito en DevSecOps
Devsecooops Los Caso de no éxito en DevSecOpsDevsecooops Los Caso de no éxito en DevSecOps
Devsecooops Los Caso de no éxito en DevSecOps
 
DevSec Oops, los casos de no éxito de DevSecOps
DevSec Oops, los casos de no éxito de DevSecOpsDevSec Oops, los casos de no éxito de DevSecOps
DevSec Oops, los casos de no éxito de DevSecOps
 
La ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidadesLa ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidades
 
fundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaarefundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaare
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivo
 
Modelo de desarrollo rápido de aplicaciones (RAD)
Modelo de desarrollo rápido de aplicaciones (RAD)Modelo de desarrollo rápido de aplicaciones (RAD)
Modelo de desarrollo rápido de aplicaciones (RAD)
 
GESTION DE PROYECTOS INFORMATICOS
GESTION  DE PROYECTOS INFORMATICOSGESTION  DE PROYECTOS INFORMATICOS
GESTION DE PROYECTOS INFORMATICOS
 
Metodologia de software
Metodologia de softwareMetodologia de software
Metodologia de software
 
Unidad i ing_soft
Unidad i ing_softUnidad i ing_soft
Unidad i ing_soft
 
Realidad aumentada
Realidad aumentadaRealidad aumentada
Realidad aumentada
 
Seis en 75 - Víctor Gómez Adán
Seis en 75 - Víctor Gómez AdánSeis en 75 - Víctor Gómez Adán
Seis en 75 - Víctor Gómez Adán
 
Aseguramiento de la calidad - Víctor Gómez Adán
Aseguramiento de la calidad - Víctor Gómez AdánAseguramiento de la calidad - Víctor Gómez Adán
Aseguramiento de la calidad - Víctor Gómez Adán
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Ciclos de-vida-proceso-de-desarrollo-del-software
Ciclos de-vida-proceso-de-desarrollo-del-softwareCiclos de-vida-proceso-de-desarrollo-del-software
Ciclos de-vida-proceso-de-desarrollo-del-software
 
Tecnicas avanzadas de_ingenieria_de_software_(modulo_3)
Tecnicas avanzadas de_ingenieria_de_software_(modulo_3)Tecnicas avanzadas de_ingenieria_de_software_(modulo_3)
Tecnicas avanzadas de_ingenieria_de_software_(modulo_3)
 
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
 

Similar a GeneXus (20)

Conferencia_Introducción a la Ingeniería de Software
Conferencia_Introducción a la Ingeniería de SoftwareConferencia_Introducción a la Ingeniería de Software
Conferencia_Introducción a la Ingeniería de Software
 
AnthonyRivas_Ing
AnthonyRivas_IngAnthonyRivas_Ing
AnthonyRivas_Ing
 
SeccióN De TéCnicas De IngenieríA De Software(2007)
SeccióN De TéCnicas  De IngenieríA De Software(2007)SeccióN De TéCnicas  De IngenieríA De Software(2007)
SeccióN De TéCnicas De IngenieríA De Software(2007)
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
Tarea 1
Tarea 1Tarea 1
Tarea 1
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieria
 
Tarea(1)
Tarea(1)Tarea(1)
Tarea(1)
 
Ingenieria de Software
Ingenieria de Software Ingenieria de Software
Ingenieria de Software
 
Integrantes
IntegrantesIntegrantes
Integrantes
 
Integrantes
IntegrantesIntegrantes
Integrantes
 
Integrantes
IntegrantesIntegrantes
Integrantes
 
Tecnicas de software
Tecnicas de softwareTecnicas de software
Tecnicas de software
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software
 
Ingeniería del software
Ingeniería del softwareIngeniería del software
Ingeniería del software
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Exposicion
ExposicionExposicion
Exposicion
 
Trabajo final calidad Adrian Aguilar / Jairo Martinez
Trabajo final calidad Adrian Aguilar / Jairo MartinezTrabajo final calidad Adrian Aguilar / Jairo Martinez
Trabajo final calidad Adrian Aguilar / Jairo Martinez
 

GeneXus

  • 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. 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. 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 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. 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. 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  ­   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