SlideShare uma empresa Scribd logo
1 de 32
UNIVERSIDAD TECNICA DE AMBATO
FACULTAD DE INGENIERIA EN SISTEMAS
ELECTRONICA E INDUSTRIAL
INTEGRANTES:
• Ana Álvarez
• Leonardo Quituisaca
• 5° Sistemas
Técnicas y Modelos de 4ta
Generación
El término técnicas de cuarta generación (T4G) abarca un amplio espectro de
herramientas de software que tienen algo en común:
Todas facilitan al ingeniero del software la especificación de algunas características del
software a alto nivel.
La herramienta genera automáticamente el código fuente basándose en la especificación
del técnico.
Cada vez parece más evidente que cuanto mayor sea el nivel en el que se especifique el
software, más rápido se podrá construir el programa.
La herramienta genera automáticamente el código fuente.
Los tipos más comunes de generadores de código cubren uno o varios de los siguientes aspectos:
1.-Acceso a base de datos: utilizando lenguajes de consulta de alto nivel.
Generadores de códigos: a partir de una especificación de los requisitos se genera automáticamente
toda la aplicación
2.-Generación de pantallas: permitiendo diseñar la pantalla dibujándola directamente, incluyendo
además el control del cursor y la gestión de los errores de los datos de entrada.

3.- Generación de informes: Como otros paradigmas, T4G comienza con el paso de recolección de
requerimientos.
El paradigma T4G para la ingeniería del software se
orienta hacia la posibilidad de especificar el software
usando formas de lenguaje especializado o notaciones
gráficas que describa el problema que hay que
resolver en términos que los entienda el cliente.
Actualmente, un entorno para el desarrollo de software que soporte el paradigma
T4G puede incluir todas o algunas de las siguientes herramientas:
 Lenguajes no procedimentales de consulta a bases de datos.
 Generación de informes
 Manejo de datos
 Interacción y definición de pantallas
 Generación de códigos
 Capacidades gráficas de alto nivel
 Capacidades de hoja de cálculo
 Generación automatizada de HTML
 Lenguajes similares utilizados para la creación de sitios web usando herramientas
de software avanzado.
Inicialmente estas herramientas eran utilizadas pero solo
para
aplicaciones muy especificas, y ahora las T4G se ha extendido a
todas las categorías de aplicaciones del software.

Las herramientas de T4G generan automáticamente el código fuente
basándose en el análisis y el diseño.
T4G comienza con el paso de la reunión de requisitos; el dialogo
cliente-desarrollador descrito por los otro paradigmas sigue siendo
una parte esencial del enfoque de T4G.
 Al igual que otros paradigmas, T4G comienza con el paso de reunión de
requisitos. Idealmente, el cliente describe los requisitos, que son, a continuación,
traducidos directamente a un prototipo operativo
 Sin embargo, en la práctica no se puede hacer eso. El cliente puede que no
esté seguro de lo que necesita; puede ser ambiguo en la especificación de
hechos que le son conocidos, y puede que no sea capaz o no esté dispuesto a
especificar la información en la forma en que puede aceptar una herramienta
T4G.
Por esta razón, el diálogo cliente- desarrollador descrito por los otros
paradigmas sigue siendo una parte esencial del enfoque T4G.
Para aplicaciones pequeñas, se puede ir directamente desde el paso
de recolección de requisitos al paso de implementación, usando un
lenguaje de cuarta generación no procedimental (L4G) o un modelo
comprimido de red de iconos gráficos.
Sin embargo, es necesario un mayor esfuerzo para desarrollar una
estrategia de diseño para el sistema, incluso si se utiliza un L4G. El uso de
T4G sin diseño (para grandes proyectos) causará las mismas dificultades
(poca calidad, mantenimiento pobre, mala aceptación por el cliente)
que se encuentran cuando se desarrolla software mediante los
enfoques convencionales.
 La implementación mediante L4G permite, al que desarrolla el software,
centrarse en la representación de los resultados deseados, que es lo que se
traduce automáticamente en un código fuente que produce dichos resultados.
Obviamente, debe existir una estructura de datos con información relevante y a
la que el L4G pueda acceder rápidamente.
 Para transformar una implementación T4G en un producto, el que lo desarrolla
debe dirigir una prueba completa, desarrollar con sentido una documentación
y ejecutar el resto de las actividades de integración que son también requeridas
por otros paradigmas de ingeniería del software.
 Además, el software desarrollado con T4G debe ser construido de forma que
facilite la realización del mantenimiento de forma expeditiva
Al igual que todos los paradigmas del software, el modelo T4G tiene
ventajas e inconvenientes.

Los defensores aducen reducciones drásticas en el tiempo de desarrollo
del software y una mejora significativa en la productividad de la gente
que construye el software.
Los detractores aducen que las herramientas actuales de T4G no son
más fáciles de utilizar que los lenguajes de programación, que el código
fuente producido por tales herramientas es «ineficiente» y que el
mantenimiento de grandes sistemas de software desarrollados
mediante T4G es cuestionable.
Hay algún mérito en lo que se refiere a indicaciones de ambos lados y
es posible resumir el estado actual de los enfoques de T4G:
1. El uso de T4G es un enfoque viable para muchas de las diferentes
áreas de aplicación. Junto con las herramientas de ingeniería de
software asistida por computadora (CASE) y los generadores de
código, T4G ofrece una solución fiable a muchos problemas del
software.
2. Los datos recogidos en compañías que usan T4G parecen indicar
que el tiempo requerido para producir software se reduce mucho para
aplicaciones pequeñas y de tamaño medio, y que la cantidad de
análisis y diseño para las aplicaciones pequeñas también se reduce
3. Sin embargo, el uso de T4G para grandes trabajos de desarrollo de
software exige el mismo o más tiempo de análisis, diseño y prueba
(actividades de ingeniería del software), para lograr un
ahorro
sustancial de tiempo que puede conseguirse mediante la eliminación
de la codificación
Resumiendo, las técnicas de cuarta generación ya se han convertido
en una parte importante del desarrollo de software. Cuando se
combinan con enfoques de ensamblaje de componentes, el
paradigma T4G se puede convertir en el enfoque dominante hacia el
desarrollo del software.
VENTAJES Y DESVENTAJAS
VENTAJAS:
•

Reducción en el tiempo de desarrollo

DESVENTAJAS:
•

Código ineficiente.

•

No mas fáciles que usar que L3G.

•

Mantenimiento cuestionable
LENGUAJES DE 4ta GENERACION

 La cuarta generación incorpora lenguajes y metodologías de
más alto nivel, con lo cual, empleando sentencias simples, se
generan instrucciones que, en los lenguajes 3GL, hubiesen sido
más complicadas. Esto también disminuye la posibilidad
de errores al programar.

.
 La idea del avance de la programación es que el programador se
concentre en la resolución del problema y no en las complicaciones
inherentes al lenguaje. Los lenguajes de cuarta generación son
diseñados para reducir el esfuerzo en la programación, además de los
tiempos y costos del desarrollo de software: no en todos los casos
logran su cometido.
Origen de los lenguajes 4GL
 El término 4GL fue utilizado por primera vez en el libro Applications
Development Without Programmers de James Martin en 1982, para
referirse a los lenguajes de alto nivel no procedimentales.

Los primeros lenguajes que podrían llamarse "iniciadores
primitivos" de la categoría 4GL son el RPG de IBM del año 1960, el
Informatics MARK-IV de 1967 y el MAPPER de Sperry de 1969.
 Los lenguajes 4GL fueron evolucionando junto con el hardware y
los sistemas operativos. Aquellos lenguajes que tienen
incorporado una interfaz de desarrollo y un sistema de base de
datos, constituyen claros ejemplos de la cuarta generación de
lenguajes de programación.
 Ejemplos de lenguajes 4GL

* Clipper
* Cognos PowerHouse 4GL
* DataFlex
* FoxPro
* Lycia Querix 4GL
* Omnis Studio SDK
* Panther
* PowerBuilder
* SheerPower4GL
* SQLWindows/Team Developer
* Uniface
* Visual DataFlex
* WinDev
* XBase++
 Progress 4GL, o Progress Open Edge como se han llamado sus
últimas versiones, es un lenguaje muy utilizado pues es portable
y muy confiable. Es una plataforma diseñada para ayudar a los
desarrolladores en la construcción de aplicaciones
empresariales de forma rápida, esto ayuda a recuperar la
inversión de manera más rápida. Tiene la facilidad de fácilmente
conectarse e integrarse con clientes, con otras aplicaciones y con
distintas bases de datos
 SQL (Structured Query Language): SQL (lenguaje de
consultas estructurado) es un lenguaje de acceso a
bases de datos relacionales con el cual se pueden
crear y manipular las mismas.
 WinDev: Permite el desarrollo de interfaz gráfica. Se pueden realizar muchos
tipos de aplicaciones, entre ellas: Gestión, industriales, médicas. En WinDev la
calidad de las aplicaciones dependen menos del equipo de desarrollo que con
otras herramientas, esto debido a que trae un conjunto de funciones
avanzadas sin la necesidad de que alguien las programe, por ejemplo, puede
ser que el entorno detecte que mejoras para aumentar el rendimiento y la
velocidad del sistema y este mismo las sugiere y las realiza automáticamente,
además, posee una herramienta generadora de reportes automática.
 PowerBuilder:Es un entorno gráfico de programación
orientado a objetos para el desarrollo de aplicaciones
cliente/servidor, distribuidas y web. Incluye herramientas para
generar reportes, acceder bases de datos y para crear interfaz
gráfica.
 Mathematica: En Mathematica se contemplan muchos de los
aspectos técnicos de la computación como el manejo numérico,
la conversión de datos, la visualización y la creación de
interfaces para el usuario. El avance intelectual que hizo posible
el desarrollo de un paquete tan completo fue la invención de un
lenguaje que fuera capaz de manipular la gran cantidad de
objetos que alberga la computaron técnica.
 La evolución de los lenguajes tiende cada vez más a alejarnos de la maquina o
hardware, creando una mayor abstracción de los problemas a resolver, esto
es beneficioso pues genera un ahorro significativo de recursos como el
tiempo que es tan valioso actualmente.
 Los Lenguajes de Cuarta Generación tienden a ser muy compatibles entre
sus mismas evoluciones lo que nos permite crear aplicaciones con la
confianza de que el trabajo realizado no será desechado más adelante.

Paquetes tan poderosos como Mathematica hacen posible que las técnicas de
computación mejoren constantemente pues brindan una mayor facilidad para
el análisis y diseño de nuevas herramientas, mientas también ayudan a áreas
tan importantes como la educación, todo esto empleando la misma
herramienta.
 Es importante resaltar que para utilizar un 4GL se debe tener claro que si se
desea manipular para sacarle un mayor rendimiento, se debe de hacer
cambiando la forma normal de hacer software.
 Para esto, los programadores deben de volverse analistas, deben dominar
técnicas estructuradas, conceptos de diseño de interfaz grafica,
conceptos de arquitectura, conceptos de orientación a objetos y de
principios de diseño. Y todo esto para poder obtener una mayor
productividad, una mayor facilidad al dar mantenimiento y además una
mejor apariencia de la aplicación.
Bibliografía:
Pressman, R (2002), “Ingeniería del Software – Un enfoque
práctico”, 5ta ed.
http://www.slideshare.net/toryneutral/4ta-generacion
http://tema3isoftware.blogspot.com/p/topicos-relacionados-conla.html

Mais conteúdo relacionado

Mais procurados

Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)Martín Machuca
 
Aspect Oriented Programming introduction
Aspect Oriented Programming introductionAspect Oriented Programming introduction
Aspect Oriented Programming introductionMiguel Pastor
 
Aplicaciones de estándares de calidad en la construcción de algoritmaos
Aplicaciones de estándares de calidad en la construcción de algoritmaosAplicaciones de estándares de calidad en la construcción de algoritmaos
Aplicaciones de estándares de calidad en la construcción de algoritmaosalexisj2303
 
presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTPcesia_97
 
Aplicaciones de estándares de calidad en la construcción de algoritmos
Aplicaciones de estándares de calidad en la construcción de algoritmosAplicaciones de estándares de calidad en la construcción de algoritmos
Aplicaciones de estándares de calidad en la construcción de algoritmosRaul-Betancourt
 
Tarea Nº 1, software libres/gratis
Tarea Nº 1, software libres/gratisTarea Nº 1, software libres/gratis
Tarea Nº 1, software libres/gratispablocartay
 
Mda informatica
Mda informaticaMda informatica
Mda informaticaIsabel
 
Introducción a la ingeniería de software
Introducción a la ingeniería de softwareIntroducción a la ingeniería de software
Introducción a la ingeniería de softwareSebastianRipalda1
 

Mais procurados (20)

Metodologiaxp
MetodologiaxpMetodologiaxp
Metodologiaxp
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02
 
Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)
 
Fasesdedesarrollodeunprograma
FasesdedesarrollodeunprogramaFasesdedesarrollodeunprograma
Fasesdedesarrollodeunprograma
 
Aspect Oriented Programming introduction
Aspect Oriented Programming introductionAspect Oriented Programming introduction
Aspect Oriented Programming introduction
 
Aplicaciones de estándares de calidad en la construcción de algoritmaos
Aplicaciones de estándares de calidad en la construcción de algoritmaosAplicaciones de estándares de calidad en la construcción de algoritmaos
Aplicaciones de estándares de calidad en la construcción de algoritmaos
 
Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)
 
presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTP
 
Programación
Programación  Programación
Programación
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Aplicaciones de estándares de calidad en la construcción de algoritmos
Aplicaciones de estándares de calidad en la construcción de algoritmosAplicaciones de estándares de calidad en la construcción de algoritmos
Aplicaciones de estándares de calidad en la construcción de algoritmos
 
Tarea Nº 1, software libres/gratis
Tarea Nº 1, software libres/gratisTarea Nº 1, software libres/gratis
Tarea Nº 1, software libres/gratis
 
Programacion informatica
Programacion informaticaProgramacion informatica
Programacion informatica
 
Las fases de la programación
Las fases de la programaciónLas fases de la programación
Las fases de la programación
 
Mda
MdaMda
Mda
 
Programacion
Programacion Programacion
Programacion
 
Mda informatica
Mda informaticaMda informatica
Mda informatica
 
Andy powerpoint
Andy powerpointAndy powerpoint
Andy powerpoint
 
Introducción a la ingeniería de software
Introducción a la ingeniería de softwareIntroducción a la ingeniería de software
Introducción a la ingeniería de software
 

Semelhante a 5 aissexposicion1grupo4

4tageneracion 090512224610-phpapp02
4tageneracion 090512224610-phpapp024tageneracion 090512224610-phpapp02
4tageneracion 090512224610-phpapp02Lupunkd Ruiz Angulo
 
Tecnicas de 4th generacion
Tecnicas de 4th generacionTecnicas de 4th generacion
Tecnicas de 4th generacionclaudiappaez
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1Jose Garcia
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareDeisy Sapaico
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobarEdwin Alexander
 
Automatización de servicios en un restaurant-bar por medio de aplicaciones pa...
Automatización de servicios en un restaurant-bar por medio de aplicaciones pa...Automatización de servicios en un restaurant-bar por medio de aplicaciones pa...
Automatización de servicios en un restaurant-bar por medio de aplicaciones pa...michaeljr89
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruizjhonatanalex
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanjhonatanalex
 
Ingenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos InicialesIngenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos InicialesMaikoUrizar1
 
Ingenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos BasicosIngenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos BasicosMaikoUrizar1
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwareJORGE MONGUI
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software'Jorge Martinez
 
Que es el software
Que es el softwareQue es el software
Que es el softwaregaboantonio
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesIván Campaña Naranjo
 
Fases en el desarrollo de un programa
Fases en el desarrollo de un programaFases en el desarrollo de un programa
Fases en el desarrollo de un programaBeydasanchezhernandez
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software Luis Valeriano
 
Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3natachaceleste
 

Semelhante a 5 aissexposicion1grupo4 (20)

1057571401
10575714011057571401
1057571401
 
4tageneracion 090512224610-phpapp02
4tageneracion 090512224610-phpapp024tageneracion 090512224610-phpapp02
4tageneracion 090512224610-phpapp02
 
Tecnicas de 4th generacion
Tecnicas de 4th generacionTecnicas de 4th generacion
Tecnicas de 4th generacion
 
4ta Generacion
4ta Generacion4ta Generacion
4ta Generacion
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de software
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
 
ingenieriadesoftware1
ingenieriadesoftware1ingenieriadesoftware1
ingenieriadesoftware1
 
Automatización de servicios en un restaurant-bar por medio de aplicaciones pa...
Automatización de servicios en un restaurant-bar por medio de aplicaciones pa...Automatización de servicios en un restaurant-bar por medio de aplicaciones pa...
Automatización de servicios en un restaurant-bar por medio de aplicaciones pa...
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
Ingenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos InicialesIngenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos Iniciales
 
Ingenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos BasicosIngenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos Basicos
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
Que es el software
Que es el softwareQue es el software
Que es el software
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móviles
 
Fases en el desarrollo de un programa
Fases en el desarrollo de un programaFases en el desarrollo de un programa
Fases en el desarrollo de un programa
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software
 
Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3
 

5 aissexposicion1grupo4

  • 1. UNIVERSIDAD TECNICA DE AMBATO FACULTAD DE INGENIERIA EN SISTEMAS ELECTRONICA E INDUSTRIAL INTEGRANTES: • Ana Álvarez • Leonardo Quituisaca • 5° Sistemas
  • 2. Técnicas y Modelos de 4ta Generación
  • 3. El término técnicas de cuarta generación (T4G) abarca un amplio espectro de herramientas de software que tienen algo en común: Todas facilitan al ingeniero del software la especificación de algunas características del software a alto nivel. La herramienta genera automáticamente el código fuente basándose en la especificación del técnico. Cada vez parece más evidente que cuanto mayor sea el nivel en el que se especifique el software, más rápido se podrá construir el programa.
  • 4. La herramienta genera automáticamente el código fuente. Los tipos más comunes de generadores de código cubren uno o varios de los siguientes aspectos: 1.-Acceso a base de datos: utilizando lenguajes de consulta de alto nivel. Generadores de códigos: a partir de una especificación de los requisitos se genera automáticamente toda la aplicación 2.-Generación de pantallas: permitiendo diseñar la pantalla dibujándola directamente, incluyendo además el control del cursor y la gestión de los errores de los datos de entrada. 3.- Generación de informes: Como otros paradigmas, T4G comienza con el paso de recolección de requerimientos.
  • 5. El paradigma T4G para la ingeniería del software se orienta hacia la posibilidad de especificar el software usando formas de lenguaje especializado o notaciones gráficas que describa el problema que hay que resolver en términos que los entienda el cliente.
  • 6. Actualmente, un entorno para el desarrollo de software que soporte el paradigma T4G puede incluir todas o algunas de las siguientes herramientas:  Lenguajes no procedimentales de consulta a bases de datos.  Generación de informes  Manejo de datos  Interacción y definición de pantallas  Generación de códigos  Capacidades gráficas de alto nivel  Capacidades de hoja de cálculo  Generación automatizada de HTML  Lenguajes similares utilizados para la creación de sitios web usando herramientas de software avanzado.
  • 7. Inicialmente estas herramientas eran utilizadas pero solo para aplicaciones muy especificas, y ahora las T4G se ha extendido a todas las categorías de aplicaciones del software. Las herramientas de T4G generan automáticamente el código fuente basándose en el análisis y el diseño. T4G comienza con el paso de la reunión de requisitos; el dialogo cliente-desarrollador descrito por los otro paradigmas sigue siendo una parte esencial del enfoque de T4G.
  • 8.  Al igual que otros paradigmas, T4G comienza con el paso de reunión de requisitos. Idealmente, el cliente describe los requisitos, que son, a continuación, traducidos directamente a un prototipo operativo  Sin embargo, en la práctica no se puede hacer eso. El cliente puede que no esté seguro de lo que necesita; puede ser ambiguo en la especificación de hechos que le son conocidos, y puede que no sea capaz o no esté dispuesto a especificar la información en la forma en que puede aceptar una herramienta T4G.
  • 9. Por esta razón, el diálogo cliente- desarrollador descrito por los otros paradigmas sigue siendo una parte esencial del enfoque T4G. Para aplicaciones pequeñas, se puede ir directamente desde el paso de recolección de requisitos al paso de implementación, usando un lenguaje de cuarta generación no procedimental (L4G) o un modelo comprimido de red de iconos gráficos.
  • 10. Sin embargo, es necesario un mayor esfuerzo para desarrollar una estrategia de diseño para el sistema, incluso si se utiliza un L4G. El uso de T4G sin diseño (para grandes proyectos) causará las mismas dificultades (poca calidad, mantenimiento pobre, mala aceptación por el cliente) que se encuentran cuando se desarrolla software mediante los enfoques convencionales.
  • 11.  La implementación mediante L4G permite, al que desarrolla el software, centrarse en la representación de los resultados deseados, que es lo que se traduce automáticamente en un código fuente que produce dichos resultados. Obviamente, debe existir una estructura de datos con información relevante y a la que el L4G pueda acceder rápidamente.
  • 12.  Para transformar una implementación T4G en un producto, el que lo desarrolla debe dirigir una prueba completa, desarrollar con sentido una documentación y ejecutar el resto de las actividades de integración que son también requeridas por otros paradigmas de ingeniería del software.  Además, el software desarrollado con T4G debe ser construido de forma que facilite la realización del mantenimiento de forma expeditiva
  • 13. Al igual que todos los paradigmas del software, el modelo T4G tiene ventajas e inconvenientes. Los defensores aducen reducciones drásticas en el tiempo de desarrollo del software y una mejora significativa en la productividad de la gente que construye el software. Los detractores aducen que las herramientas actuales de T4G no son más fáciles de utilizar que los lenguajes de programación, que el código fuente producido por tales herramientas es «ineficiente» y que el mantenimiento de grandes sistemas de software desarrollados mediante T4G es cuestionable.
  • 14. Hay algún mérito en lo que se refiere a indicaciones de ambos lados y es posible resumir el estado actual de los enfoques de T4G: 1. El uso de T4G es un enfoque viable para muchas de las diferentes áreas de aplicación. Junto con las herramientas de ingeniería de software asistida por computadora (CASE) y los generadores de código, T4G ofrece una solución fiable a muchos problemas del software.
  • 15. 2. Los datos recogidos en compañías que usan T4G parecen indicar que el tiempo requerido para producir software se reduce mucho para aplicaciones pequeñas y de tamaño medio, y que la cantidad de análisis y diseño para las aplicaciones pequeñas también se reduce 3. Sin embargo, el uso de T4G para grandes trabajos de desarrollo de software exige el mismo o más tiempo de análisis, diseño y prueba (actividades de ingeniería del software), para lograr un ahorro sustancial de tiempo que puede conseguirse mediante la eliminación de la codificación
  • 16.
  • 17. Resumiendo, las técnicas de cuarta generación ya se han convertido en una parte importante del desarrollo de software. Cuando se combinan con enfoques de ensamblaje de componentes, el paradigma T4G se puede convertir en el enfoque dominante hacia el desarrollo del software.
  • 18. VENTAJES Y DESVENTAJAS VENTAJAS: • Reducción en el tiempo de desarrollo DESVENTAJAS: • Código ineficiente. • No mas fáciles que usar que L3G. • Mantenimiento cuestionable
  • 19. LENGUAJES DE 4ta GENERACION  La cuarta generación incorpora lenguajes y metodologías de más alto nivel, con lo cual, empleando sentencias simples, se generan instrucciones que, en los lenguajes 3GL, hubiesen sido más complicadas. Esto también disminuye la posibilidad de errores al programar. .
  • 20.  La idea del avance de la programación es que el programador se concentre en la resolución del problema y no en las complicaciones inherentes al lenguaje. Los lenguajes de cuarta generación son diseñados para reducir el esfuerzo en la programación, además de los tiempos y costos del desarrollo de software: no en todos los casos logran su cometido.
  • 21. Origen de los lenguajes 4GL  El término 4GL fue utilizado por primera vez en el libro Applications Development Without Programmers de James Martin en 1982, para referirse a los lenguajes de alto nivel no procedimentales. Los primeros lenguajes que podrían llamarse "iniciadores primitivos" de la categoría 4GL son el RPG de IBM del año 1960, el Informatics MARK-IV de 1967 y el MAPPER de Sperry de 1969.
  • 22.  Los lenguajes 4GL fueron evolucionando junto con el hardware y los sistemas operativos. Aquellos lenguajes que tienen incorporado una interfaz de desarrollo y un sistema de base de datos, constituyen claros ejemplos de la cuarta generación de lenguajes de programación.
  • 23.  Ejemplos de lenguajes 4GL * Clipper * Cognos PowerHouse 4GL * DataFlex * FoxPro * Lycia Querix 4GL * Omnis Studio SDK * Panther * PowerBuilder * SheerPower4GL * SQLWindows/Team Developer * Uniface * Visual DataFlex * WinDev * XBase++
  • 24.  Progress 4GL, o Progress Open Edge como se han llamado sus últimas versiones, es un lenguaje muy utilizado pues es portable y muy confiable. Es una plataforma diseñada para ayudar a los desarrolladores en la construcción de aplicaciones empresariales de forma rápida, esto ayuda a recuperar la inversión de manera más rápida. Tiene la facilidad de fácilmente conectarse e integrarse con clientes, con otras aplicaciones y con distintas bases de datos
  • 25.  SQL (Structured Query Language): SQL (lenguaje de consultas estructurado) es un lenguaje de acceso a bases de datos relacionales con el cual se pueden crear y manipular las mismas.
  • 26.  WinDev: Permite el desarrollo de interfaz gráfica. Se pueden realizar muchos tipos de aplicaciones, entre ellas: Gestión, industriales, médicas. En WinDev la calidad de las aplicaciones dependen menos del equipo de desarrollo que con otras herramientas, esto debido a que trae un conjunto de funciones avanzadas sin la necesidad de que alguien las programe, por ejemplo, puede ser que el entorno detecte que mejoras para aumentar el rendimiento y la velocidad del sistema y este mismo las sugiere y las realiza automáticamente, además, posee una herramienta generadora de reportes automática.
  • 27.  PowerBuilder:Es un entorno gráfico de programación orientado a objetos para el desarrollo de aplicaciones cliente/servidor, distribuidas y web. Incluye herramientas para generar reportes, acceder bases de datos y para crear interfaz gráfica.
  • 28.  Mathematica: En Mathematica se contemplan muchos de los aspectos técnicos de la computación como el manejo numérico, la conversión de datos, la visualización y la creación de interfaces para el usuario. El avance intelectual que hizo posible el desarrollo de un paquete tan completo fue la invención de un lenguaje que fuera capaz de manipular la gran cantidad de objetos que alberga la computaron técnica.
  • 29.  La evolución de los lenguajes tiende cada vez más a alejarnos de la maquina o hardware, creando una mayor abstracción de los problemas a resolver, esto es beneficioso pues genera un ahorro significativo de recursos como el tiempo que es tan valioso actualmente.
  • 30.  Los Lenguajes de Cuarta Generación tienden a ser muy compatibles entre sus mismas evoluciones lo que nos permite crear aplicaciones con la confianza de que el trabajo realizado no será desechado más adelante. Paquetes tan poderosos como Mathematica hacen posible que las técnicas de computación mejoren constantemente pues brindan una mayor facilidad para el análisis y diseño de nuevas herramientas, mientas también ayudan a áreas tan importantes como la educación, todo esto empleando la misma herramienta.
  • 31.  Es importante resaltar que para utilizar un 4GL se debe tener claro que si se desea manipular para sacarle un mayor rendimiento, se debe de hacer cambiando la forma normal de hacer software.  Para esto, los programadores deben de volverse analistas, deben dominar técnicas estructuradas, conceptos de diseño de interfaz grafica, conceptos de arquitectura, conceptos de orientación a objetos y de principios de diseño. Y todo esto para poder obtener una mayor productividad, una mayor facilidad al dar mantenimiento y además una mejor apariencia de la aplicación.
  • 32. Bibliografía: Pressman, R (2002), “Ingeniería del Software – Un enfoque práctico”, 5ta ed. http://www.slideshare.net/toryneutral/4ta-generacion http://tema3isoftware.blogspot.com/p/topicos-relacionados-conla.html