65
Técnicas y Herramientas para el desarrollo de SW Prof. Ing. Edith Urdaneta

Semana 8 técnicas y herramientas para el desarrollo de sw

  • Upload
    edithua

  • View
    437

  • Download
    1

Embed Size (px)

DESCRIPTION

técnicas y herramientas para el desarrollo de sw

Citation preview

Page 1: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnicas y Herramientas para el desarrollo de SWProf. Ing. Edith Urdaneta

Page 2: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnicas para el

Desarrollo de SW

Page 3: Semana 8 técnicas y herramientas para el desarrollo de sw

Concepto

Procedimiento o conjunto de reglas, normas o protocolos, que tienen como objetivo obtener un resultado determinado, en una actividad o campo

La aplicación de una técnica conduce a la obtención de información, la cual debe ser guardada en un medio material de manera que los datos puedan ser recuperados, procesados, analizados e interpretados posteriormente.

Page 4: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnicas para el desarrollo de SW

Técnica para la recopilación de datos

Técnica de costo-beneficio

Técnica de planificación y control de proyectos

Existen tres tipos de técnicas utilizadas dentro del proceso de desarrollo de SW:

Page 5: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de Datos• Son todos los medios o procedimientos posibles

de los que se vale el analista para levantar la información relativa a los sistemas de información.

• Podemos diferenciar entre dos tipos de información, según su procedencia:

• Información obtenida directamente de la realidad

Fuentes primarias

• Información obtenida de investigaciones pasadas

Fuentes secundaria

s

Page 6: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de Datos

Entrevista Encuesta

Cuestionario

Observación

Revisión documental

Page 7: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de datos: Observación• Es una técnica que consiste en visualizar o captar mediante la

vista, en forma sistemática, cualquier hecho, fenómeno o situación que se produzca en la naturaleza o en la sociedad, en función de unos objetivos de investigación preestablecidos

• Tipos de observación:

1) Observar a una persona o actitud sin que el observado se dé cuenta.

2) Observar una actividad o hecho sin intervenir para nada, pero estando la persona observada enteramente consciente de la observación.

3) Observar y a la vez estar en contacto con las personas observadas.

Page 8: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de datos: Observación Pasos a seguir durante la observación

1. Determinar el objeto, situación o caso que se va a observar.

2. Determinar los objetivos de la observación (¿para qué se va a observar?).

3. Determinar la forma con que se van a registrar los datos.

4. Realizar el proceso de observación propiamente dicho, de manera cuidadosa y crítica.

5. Registrar los datos obtenidos a partir de la observación realizada.

6. Analizar e interpretar los datos recolectados.7. Elaborar conclusiones.8. Elaborar el informe de observación.

Page 9: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de datos: Entrevista• Es una técnica basada en un diálogo o conversación “cara

a cara”, entre el entrevistador y el entrevistado acerca de un tema previamente determinado, de tal manera que el entrevistador pueda obtener la información requerida

• Tipos de Entrevista:

Estructuradas: se tiene una guía prediseñada con las preguntas a realizar.

No Estructuradas: no se dispone de una guía de preguntas elaboradas previamente. El entrevistador debe improvisar, pero sin perder la coherencia.Mixtas: aún cuando existe una guía de preguntas, el entrevistador puede realizar otras adicionales que no estaban contempladas inicialmente.

Page 10: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de datos: EntrevistaConsideraciones durante su realizaciónNo hacer nunca preguntas demasiado directas Evitar que el interlocutor se salga del tema, pero

sin interrumpiéndole jamás. Mostrar atención: el interlocutor sabrá valorarlo.Dirigir la entrevista, pero de forma muy flexible.Permitir que sea él/ella (no nosotros mismos) quien

que responda.Crear ocasiones para destensar el ambiente.Hacer, periódicamente, el balance mental de los

problemas evocados. No abusar de la terminología técnica.Tomar nota con discreción, sin distraer al

entrevistado.No superar el límite de tiempo establecido (nunca

más de una hora)

Page 11: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de datos: EntrevistaConsideraciones al finalizarla

• Respetar el plazo de envío de la memoria o informe.

• Enviar los documentos prometidos en los plazos fijados.

• Completar las notas que se han tomado durante la entrevista y resumirlas.

• Agradecer al jefe del interlocutor(a) la calidad de la entrevista y hacerle llegar un ejemplar de la memoria o informe ya revisado por el interlocutor(a).

Page 12: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de datos: Encuesta

• Es una técnica que pretende obtener información basado en un conjunto de preguntas suministrada a un grupo o muestra de sujetos acerca de sí mismos, o en relación con un tema en particular

• Características de la encuesta:La encuesta no es una observación directa de los hechos, sino por medio de

lo que manifiestan los interesados.

Es un método preparado para la investigación.

Permite una aplicación masiva que mediante un

sistema de muestreo pueda extenderse a una

nación entera.

Hace posible con que la investigación social llegue a los aspectos subjetivos

de los miembros de la sociedad.

Page 13: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de datos: Encuesta: Tipos

• Será exhaustiva Abarca a todas las unidades estadísticas que componen el universo o población en estudio.

• Cuando una encuesta no es exhaustiva, se denomina parcial.

Encuestas exhaustivas y parciales

• Será directa cuando la unidad estadística se observa a través de la investigación propuesta registrándose en la encuesta.

• Será indirecta cuando los datos obtenidos no correspondan al objetivo principal de la encuesta.

Encuestas directas e indirectas

• Su misión es averiguar lo que el público en general piensa acerca de una determinada materia o lo que considera que debe hacerse en una circunstancia concreta.

Encuestas sobre hechos y encuestas de

opinión

Page 14: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de datos: Cuestionario

• Es la modalidad de encuesta que se realiza de forma escrita mediante un instrumento o formato en papel contentivo de una serie de preguntas

Encuestados

Investigación

Preguntas Hechos o aspectos

Page 15: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de datos: Cuestionario: Tipos

Cuestiona-rio de preguntas abiertas

Son los que no ofrecen opciones de respuestas, sino que se da la libertad de

responder al encuestado, quien desarrolla su respuesta de manera

independiente.

Cuestiona-rio de preguntas cerradas

Son aquellos que establecen previamente las opciones de respuesta que puede elegir el

encuestado.

Page 16: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de datos: Revisión Documental

• Es un proceso basado en la búsqueda, recuperación, análisis crítica e interpretación de datos secundarios, es decir, los obtenidos y registrados por otros investigadores en fuentes documentales: impresas, audiovisuales o electrónicas

• La revisión documental hace aportes al marco teórico y/o conceptual.

• Se busca por medio de esta técnica investigativa estar actualizado en el tema que se explora.

Page 17: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica: Recopilación de datos: Revisión Documental

Es requisito de la revisión indagar

en:

Page 18: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica de costo-beneficio• El análisis de costo- beneficio es una técnica

analítica que enumera y compara el costo neto de una intervención con los beneficios que surgen como consecuencia de aplicar dicha intervención

Costos

Beneficios

Los costos y los beneficios de la intervención se expresan en unidades monetarias

La aplicación

de esta técnica puede

ayudar en un

posterior proceso de

toma de decisiones

Page 19: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica de costo-beneficio: Costos

CostosPrecio del SW: Licenciamiento y Soporte

{A}

Infraestructura: HW / SW requerido{B}

Implantación: consultoría en instalación y puesta en marcha {C}

Entrenamiento{D}

CTS (Costo total de la solución)= A + B + C + D

Page 20: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica de costo-beneficio: Beneficios

BeneficiosMejora de Procesos: Conducen a reducción de tiempo y recursos

{A}

Disponer de Sistemas de Información: Mejora la toma de decisiones y obtención de ingresos.{B}

Personal Motivado: Creciente moral del personal al funcionar en un entorno de herramientas modernas para el negocio{C}

Intangibles{D}

BTS (Beneficio total de la solución)= A + B + C + D

Page 21: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica de costo-beneficio: Resultados

CTS < BTS CTS > BTS

Si…

Si…

Cada uno de los elementos a incluirse debe ser cuantificado y ponderado, de tal forma que el agregado final determine un resultado medible

Page 22: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica de planificación y control de proyectos de SW• Comprende una serie de procedimientos, entre los

que destacan los siguientes:

Objeto Alcance Entrada Salidas

Desarrollo

Planificación

Programación Control

Page 23: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica de planificación y control de proyectos de SW

Inicia con la necesidad de desarrollar nuevo SW o modificar uno

existente

ENTRADA

Finaliza con la planeación,

programación y control de cada una de las

actividades en las que consistirá el proyecto.

SALIDA

Describe la sistemática a seguir para una correcta planificación del desarrollo de una aplicación de SW

OBJETO

Todas las actividades encaminadas a la

planeación, programación y control de cada una de las fases requeridas para

el desarrollo del SW

ALCANCE

Page 24: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnica de planificación y control de proyectos de SW• El desarrollo se desglosa en 3 actividades:

1)Planificación: Descomponer el proyecto en actividades distintas. Luego, se determinan las estimaciones de tiempo para cada actividad y se construyen diagramas de red para estas actividades.

2) Programación: Construir un gráfico de tiempo donde se muestran los tiempos de iniciación y terminación para cada actividad y la relación con el resto de las actividades del proyecto.

3) Control: Comprende el uso del diagrama de flechas y la gráfica de tiempo para hacer reportes periódicos del progreso. Se debe analizar la secuencia de las actividades y, si es necesario, determinar un nuevo programa para la parte restante del proyecto.

1

2

3

4 5

Page 25: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas para

Desarrollo de SW

Page 26: Semana 8 técnicas y herramientas para el desarrollo de sw

Concepto• Subprograma o módulo encargado de

funciones específicas y afines entre sí para realizar una tarea

Herramientas

Solución

Problemas

Proyectos de

aplicaciones

informáticas

Plazos y presupuestos incumplidos

Insatisfacción del usuario

Escasa productividad

Baja calidad de los desarrollos

Page 27: Semana 8 técnicas y herramientas para el desarrollo de sw

Importancia• La mejor razón para la creación de estas

herramientas fue el incremento en la velocidad de desarrollo de los sistemas. Por esto, las compañías pudieron desarrollar sistemas sin encarar el problema detener cambios en las necesidades del negocio.

Page 28: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas para el desarrollo de SW

CASE

• Mejorar la calidad

4GL

• Mejorar la productividad

Computer Aided SW Engineering

Ingeniería de SW Asistida por Ordenador

Fourth Generation Languages

Lenguajes de Cuarta

Generación

Algunas de las Herramientas de Ayuda al Desarrollo de Sistemas de Información se dirigen principalmente a mejorar la calidad, como es el caso de las herramientas CASE. Otras van dirigidas a mejorar la productividad durante la fase de construcción, como es el caso de los Lenguajes de Cuarta Generación.

Page 29: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Definición

Métodos

Utilidades

Técnicas

Automatización

Ciclo de vida Sistemas de Inf.

Completamente

Fases

«Las Herramientas CASE son un conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases».

Page 30: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Objetivos

• Mejorar la productividad en el desarrollo y mantenimiento del SW.

• Aumentar la calidad del SW.• Reducir el tiempo y coste de desarrollo y mantenimiento

de los sistemas informáticos.• Mejorar la planificación de un proyecto.• Aumentar la biblioteca de conocimiento informático de

una empresa ayudando a la búsqueda de soluciones para los requisitos.

• Automatizar el desarrollo del SW, la documentación, la generación de código, las pruebas de errores y la gestión del proyecto.

• Ayuda a la reutilización del SW, portabilidad y estandarización de la documentación.

• Gestión global en todas las fases de desarrollo de SW con una misma herramienta.

• Facilitar el uso de las distintas metodologías propias de la ingeniería del SW.

Page 31: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Características

• Proporciona aplicaciones portátiles.• Provee Control de Versión.• Crea código compilado en el servidor.• Permite trabajar con una variedad de administradores

de recurso. • Permite trabajar con una variedad de software

intermedios.• Soporte multiusuarios.• Seguridad.• Desarrollo en equipo, repositorio de librerías

compartidas. • Proporciona topologías de aplicación flexibles.

Page 32: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Componentes

Page 33: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Ejemplos• Visual Paradigm• Poseidon para UML• ArgoUML• Eclipse

Page 34: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Beneficios• Facilidad para la revisión de aplicaciones• Soporte para el desarrollo de prototipos de

sistemas• Generación de código• Mejora en la habilidad para satisfacer los

requerimientos del usuario • Soporte interactivo para el proceso de desarrollo 

Page 35: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Debilidades• Las herramientas CASE tienen puntos débiles

significativos, que van desde la confiabilidad en los métodos estructurados hasta su alcance limitado, los cuales amenazan con minar los beneficios potenciales descritos con anterioridad:

• Confiabilidad en los métodos estructurados• Falta de niveles estándar para el soporte de la

metodología Aún no aparece un conjunto "estándar" de herramientas CASE. Por tanto, debe tener precaución al seleccionar una herramienta de este tipo.

Page 36: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Clasificación

• Se clasifican atendiendo a:•Fases del ciclo de vida donde se utilizan•Funcionalidad•Plataformas que soportan•Arquitectura de las aplicaciones que producen

Page 37: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Clasificación:Fases del ciclo de vida donde se utilizan

Juegos de Herramientas: orientadas al mantenimiento. Automatizan una fase dentro del ciclo de vida.

CASE inferior: dirigidas a las últimas

fases del desarrollo: construcción

e implantación.

CASE superior: orientadas a la

automatización y soporte

de las actividades de la fase inicial : análisis y

diseño.

CASE integrado: abarcan todas las fases del ciclo de vida del desarrollo de sistemas.

Herramientas CASE

I-CASE

U-CASE

L-CASE

Toolkits

I-Case: Integrated Case o WorkbenchU-Case: Upper Case o Front-EndL-Case: Lower Case o Back-End

Page 38: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Clasificación: Según la funcionalidad

1

• Herramientas de planificación de sistemas de gestión: Su objetivo principal es ayudar a comprender mejor cómo se mueve la información entre las distintas unidades organizativas.

2

• Herramientas de análisis y diseño: Permiten al desarrollador crear un modelo del sistema que se va a construir y también la evaluación de la validez y consistencia de este modelo.

3

• Herramientas de programación: Se engloban aquí los compiladores, los editores y los depuradores de los lenguajes de programación convencionales.

4

• Herramientas de integración y prueba: Sirven de ayuda a la adquisición, medición, simulación y prueba de los equipos lógicos desarrollados.

Page 39: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Clasificación: Según la funcionalidad

5

• Herramientas de gestión de prototipos: Los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para evaluar las especificaciones de un sistema de información.

6

• Herramientas de mantenimiento: Esta categoría se puede subdividir en: Herramientas de ingeniería inversa, herramientas de reestructuración y análisis de código, y de reingeniería.

7

• Herramientas de gestión de proyectos: Se centran en un elemento específico de la gestión del proyecto, en lugar de proporcionar un soporte global para la actividad de gestión.

8

• Herramientas de soporte: Se engloban aquí las herramientas que recogen las actividades aplicables en todo el proceso de desarrollo: de documentación, de bases de datos, etc.

Page 40: Semana 8 técnicas y herramientas para el desarrollo de sw

Estrategia para adopción de herramientas CASE• Identificar la magnitud de problemas a resolver en la

Institución.• Identificar el nivel estratégico que deben tener los sistemas.• Evaluar los recursos de hardware y software disponibles en

la Institución y el medio.• Evaluar el nivel del personal.• Efectuar un estudio de costo-beneficio definiendo metas a

lograr.• Elegir las herramientas apropiadas para la Institución.• Establecer un programa de capacitación de personal de

sistemas y usuarios• Elegir una aplicación que reúna la mayor parte de los

siguientes requisitos:• Gran impacto de resultados.• Disponibilidad de recursos.• Mínimo nivel de riesgos.• Máxima colaboración de usuarios.• Tamaño reducido de solución.

Page 41: Semana 8 técnicas y herramientas para el desarrollo de sw

Herramientas CASE: Causas del fracaso de la adopción• Deficiencias de la propia tecnología• Deficiencias en la aplicación de la tecnología a los

problemas• Deficiencias de la propia organización:• Actitud por parte de los directivos, que pretenden

introducir la tecnología CASE como la panacea o salvación de todos los males del desarrollo sin contar con una base metodológica.• Infravalorar el esfuerzo requerido, no sólo el económico,

sino también el de formación y aceptación por parte del personal.• Incapacidad para encontrar las metodologías y

herramientas adecuadas al nivel de madurez de la organización.• Inadecuada formación, que a veces no existe o se limita a

que el primer estudiante forme a los demás.• No medir la productividad ni la rentabilidad de la

tecnología.Estas deficiencias se pueden superar con una gestión adecuada de las expectativas, siendo realista (conociendo la cultura de la empresa y su historia frente a cambios tecnológicos) y con una buena gestión.

Page 42: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnicas y Herramientas de 4ta generación

Page 43: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnicas 4G: Concepto• Abarca un amplio espectro de herramientas de

software de amplio espectro que tienen algo en común: todas facilitan al ingeniero del software la especificación de algunas características del software a alto nivel, facilitando así el desarrollo del proyecto, ya que, la herramienta genera automáticamente el código fuente basándose en la especificación 

Page 44: Semana 8 técnicas y herramientas para el desarrollo de sw

Técnicas de 4G: Propósito

Estas herramientas se orientan hacia la posibilidad de especificar el software a un nivel próximo al lenguaje natural.

Cada vez parece más evidente que cuanto mayor sea el nivel en el que se especifique el software, mas rápido se podría construir el programa.

Page 45: Semana 8 técnicas y herramientas para el desarrollo de sw

Paradigma de T4G• El paradigma TG4 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.

Page 46: Semana 8 técnicas y herramientas para el desarrollo de sw

Paradigma 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 (L4G) o un modelo comprimido de red de iconos gráficos. Sin embargo es necesario un mayor esfuerzo para el desarrollo de una estrategia de diseño para el sistema.

• El uso de T4G sin diseño, especialmente en grandes proyectos causará las mismas dificultades (poca calidad, mantenimiento pobre, mala aceptación por el cliente)que se encuentran cuando se desarrolla software mediante lo enfoques convencionales.

Page 47: Semana 8 técnicas y herramientas para el desarrollo de sw

Paradigma T4G• Las herramientas T4G generan automáticamente

el código fuente basándose en el análisis y el diseño.

• T4G comienza con el paso de reunión de requisitos; el dialogo cliente-desarrollador descrito por los otros paradigmas sigue siendo una parte esencial del enfoque T4G. 

Page 48: Semana 8 técnicas y herramientas para el desarrollo de sw

Paradigma T4G• 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 desarrollado con T4G debe ser construido de forma que facilite la realización del mantenimiento de forma expeditiva.

Page 49: Semana 8 técnicas y herramientas para el desarrollo de sw

Paradigma T4G: Que incluye?• Lenguaje para consulta a bases de datos, y manejo de datos• Generación de informes, • interacción y definición de pantallas, • generación de códigos, • capacidades gráficas de alto nivel y • capacidades de hoja de calculo, • generación automatizada de HTML y lenguajes similares

utilizados para la creación de sitios Web usando herramientas de software avanzado.

Inicialmente, muchas de estas herramientas estaban disponibles, pero sólo para ámbitos de aplicación muy específicos, pero actualmente los entornos de T4G se han extendido a todas las categorías de aplicación del software.

T4G

Page 50: Semana 8 técnicas y herramientas para el desarrollo de sw

Estado actual del enfoque T4G• El uso de T4G es un enfoque viable para muchas 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 ofrecen una solución fiable a muchos problemas del software.

• Los datos recogidos en compañías que usa T4G parecen indicar que el tiempo requerido para producir software se reduce mucho por 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.

Sin embargo, el uso de T4G para grandes trabajos de desarrollo de software exige el mismo a más tiempo de análisis 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.

Page 51: Semana 8 técnicas y herramientas para el desarrollo de sw

T4G: Conclusión• Permite especificar el software usando lenguajes

especializados anotaciones gráficas que describan el problema, requiere usar alguna herramienta CASE (Computer-aided Software Engineering) con herramientas tales como: SQL (Structured Query Language), generador de reportes, base de datos, definidores de pantallas, generadores de código, generador de gráficas, hoja de cálculo, etc.

• Idealmente el cliente describe los requisitos, que son traducidos inmediatamente a un prototipo operativo

• El uso de está técnicas pueden reducir drásticamente el tiempo y el esfuerzo de desarrollo en aplicaciones

Page 52: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguaje de 4G: Definición

Los lenguajes de cuarta generación son aquellos lenguajes de programación  o entornos de programación diseñados con un propósito específico

Page 53: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguajes de 4G: Características• Los 4GL son entornos de desarrollo de

aplicaciones constituidos por un conjunto de herramientas integradas

• Se centran principalmente en las fases de Construcción e Implantación del ciclo de vida del desarrollo de SW

• Usan comandos de alto nivel para recuperar y dar formato a los datos

• Generación automático de código de programa

Page 54: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguajes de $G: Objetivos• Acelerar el proceso de construcción de

aplicaciones• Crear aplicaciones fáciles y rápidas de mantener,

reduciendo así el costo de mantenimiento• Minimizar los problemas de depuración• Capacidad de generar código “libre de errores” a

partir de expresiones de alto nivel de requerimientos

• Crear lenguajes fáciles de usar por el usuario

Page 55: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguajes de 4G: Elementos• Los lenguajes que incorporan los 4GL suelen ser

mezcla de lenguajes procedurales y no procedurales.

• La parte procedural se manifiesta en la definición de tipos de constantes, datos elementales, visibilidad de variables (locales y globales), sentencias de control de flujo, definición de funciones y procedimientos, etc.

• La parte no procedural suele estar basada en el lenguaje consulta a base de datos.

Page 56: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguajes de 4G: Que abarcan?• Lenguajes de presentación, como lenguajes de

consultas y generadores de informes.• Lenguajes especializados, como hojas de cálculo y

lenguajes de bases de datos.• Generadores de aplicaciones que definen,

insertan, actualizan y obtienen datos de la base de datos.

• Lenguajes de muy alto nivel que se utilizan para generar el código de la aplicación.

Page 57: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguajes de 4G: Componentes• Editor• Compilador• Módulo de Acceso a Bases de Datos• Módulo de Ayuda a las Pruebas• Generador de Informes y Pantallas• Diccionario• Gestor de Librerías• Módulo de Control de Versiones• Biblioteca de Funciones u Objetos Reutilizables

Page 58: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguajes de 4G: Clasificación

Se tienden a clasificar en las siguientes áreas funcionales:• Generadores de Consultas• Generadores de Formularios• Generadores de Reportes• Generadores de Gráficos• Herramientas de Administración de Bases de

Datos• Generadores de Aplicaciones• Planillas de Cálculos (Spreadsheets)

Page 59: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguajes 4G: EjemplosDe uso general:* Clipper* Cognos PowerHouse 4GL* DataFlex* FoxPro* Lycia Querix 4GL* Omnis Studio SDK* Panther* PowerBuilder* SheerPower4GL* SQLWindows/Team Developer* Uniface* Visual DataFlex* WinDev* XBase++

Page 60: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguajes 4G: Ejemplos• Lenguajes de consulta de base de datos:

* FOCUS* Genero* Informix-4GL* Lycia Querix 4GL* NATURAL* Progress 4GL* Ingres 4GL* SQL

Page 61: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguajes 4G: Ejemplos

Generadores de reportes:* BuildProfessional* LINC* NATURAL* Oracle Reports* Progress 4GL* Quest* RPG-II

Page 62: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguajes 4G: Ejemplos• De manipulación, análisis y reporte de datos

Ab Initio* ABAP* Aubit-4GL* CorVision* Easytrieve* FOCUS* GraphTalk* IDL* IGOR Pro* Informix-4GL* LabVIEW* MAPPER (Unisys/Sperry) ahora parte de BIS* MARK-IV

* Mat(Sterling/Informatics) ahora VISION:BUILDER de CAhematica* MATLAB* NATURAL* PL/SQL* Progress 4GL* PROIV* Ramis* Scilab* SAS* Synon* XBase++* SQR* Xquery 

Page 63: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguajes 4G: Ejemplos

Creadores de GUI* 4th Dimension (Software)* Omnis Studio* OpenROAD* Progress 4GL AppBuilder* XUL: puede ser usado con Xquery para crear rápidamente aplicaciones GUI de base de datos

Lenguajes de desarrollo web* ColdFusion* Wavemaker * OutSystems

Page 64: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguaje de 4G: Ventajas• Permiten elaborar programas en menor tiempo, lo

que conlleva a un aumento de la productividad.• El personal que elabora software sufre menos

agotamiento, ya que generalmente requiere escribir menos.

• El nivel de concentración que se requiere es menor, ya que algunas instrucciones, que le son dadas a las herramientas, a su vez, engloban secuencias de instrucciones a otro nivel dentro de la herramienta.

• Cuando hay que dar mantenimiento a los programas previamente elaborados, es menos complicado por requerir menor nivel de concentración.

Page 65: Semana 8 técnicas y herramientas para el desarrollo de sw

Lenguaje de 4G: Desventajas• Las herramientas prefabricadas generalmente son menos

flexibles que los lenguaje de alto nivel.• Se crea dependencia de uno o varios proveedores externos,

lo que se traduce en pérdida de autonomía. A menudo las herramientas prefabricadas contienen librerías de otros proveedores, que conlleva a instalar opciones adicionales que son consideradas opcionales. Los programas que se elaboran generalmente se ejecutan sólo con la herramienta que lo creó (a menos que existan acuerdos con otros proveedores).

• A menudo no cumplen con estándares internacionales ISO ANSI. Por este motivo invertir tiempo y dinero es un riesgo a futuro, porque no se sabe a ciencia cierta cuanto tiempo permanecerá la herramienta y su fabricante en el mercado.