Está en la página 1de 14

Entornos de programación

Concepto, funciones y tipos

© 2004 Manuel Entornos de


Collado Programación-1
Contenido
■ Entornos de desarrollo de software. CASE
■ Entorno de programación. Funciones
■ Algunas clases de entornos
● Entornos centrados en un lenguaje
● Entornos orientados a estructura
● Entornos basados en herramientas
■ Entornos multilenguaje

© 2004 Manuel Entornos de


Collado Programación-2
Desarrollo de software
■ Actividades (ciclo) de desarrollo
Análisis

Diseño

Codificación

Integración

Mantenimiento

© 2004 Manuel Entornos de


Collado Programación-3
Entornos de desarrollo de Sw.
■ CASE: Computer-Aided Software Engineering
● Soporte informático para el desarrollo
● Se automatiza todo o parte
● Productos CASE: herramientas
■ Soporte para actividades verticales
● Específicas de una fase: diseño, compilación, ..
■ Soporte para actividades horizontales
● Generales: documentación, planificación, ...

© 2004 Manuel Entornos de


Collado Programación-4
Productos CASE (en general)
■ Niveles funcionales
● Servicio: automatiza una operación
● Herramienta: automatiza una tarea
● Banco de trabajo: automatiza un rol profesional
● Entorno: automatiza el proceso de desarrollo
■ Entorno de programación
● Banco de trabajo del programador
● Codificación y prueba de unidades

© 2004 Manuel Entornos de


Collado Programación-5
Entorno de programación
■ Situación en el ciclo de desarrollo
Análisis Diseño detallado

Diseño

Codificación Pruebas

Integración

Mantenimiento

© 2004 Manuel Entornos de


Collado Programación-6
Funciones de un E. de P.
■ Soporte para la preparación de programas
● Actividades de codificación y pruebas

■ Tareas esenciales: edición y ejecución


■ Edición (modificación) del programa fuente
■ Proceso/ejecución del programa
● Interpretación directa (código fuente)
● Compilación (código máquina) - montaje - ejecución
● Compilación (código intermedio) - interpretación

© 2004 Manuel Entornos de


Collado Programación-7
Funciones de un E. de P.
■ Otras funciones:

■ Examinar (hojear) el código fuente


■ Analizar consistencia, calidad, etc.
■ Ejecutar en modo depuración
■ Ejecución automática de pruebas
■ Control de versiones
■ Generar documentación, reformar código

© 2004 Manuel Entornos de


Collado Programación-8
Tipos de Entornos de Programación
■ Antecedentes (ejemplo: Compilador)
Editor Compilador Montador Depurador

P. Fuente P. Objeto Librería P. Ejecutable

■ IDE (Interactive Development Environment)


● Entornos centrados en un lenguaje
● Entornos orientados a estructura
● Entornos colección de herramientas
© 2004 Manuel Entornos de
Collado Programación-9
Entornos centrados en un lenguaje
■ Específicos para un lenguaje de programación
■ Fuertemente integrado. Homogéneo
■ Herramienta única
■ Editor orientado a lenguaje
■ Fáciles de usar
■ A veces son poco flexibles
■ Basados en código fuente ≈ texto

© 2004 Manuel Entornos de


Collado Programación-10
Entornos centrados en un lenguaje
■ Ejemplo: lenguaje interpretado
● (Inter)Lisp, Haskell, etc.
■ Ejemplo: lenguaje compilado
● Delphi, Visual C++, AdaGide, GPS, etc.
■ Ejemplos especiales:
● Entornos Ada
● Entornos Smalltalk
● Entornos Oberon, Component Pascal

© 2004 Manuel Entornos de


Collado Programación-11
Entornos orientados a estructura
■ Editor de estructura (editor sintáctico)
■ Representación interna de la estructura
● Arbol de sintaxis abstracta: AST
■ Presentación como texto
● Plantillas
● Elementos terminales (frases)
■ Compilación incremental (en algunos casos)
■ Representación XML
● Editores y procesadores XML
© 2004 Manuel Entornos de
Collado Programación-12
Combinación de herramientas
■ Integración débil
■ Entornos heterogéneos
■ Fáciles de ampliar / adaptar
■ Construible por el usuario
■ Poco control de uso
■ Frontal: editor con llamadas ext. (≈ IDE)
● Emacs, Vim, Gvim
● Med, SciTE, jEdit
● Eclipse
© 2004 Manuel Entornos de
Collado Programación-13
Entornos multilenguaje
■ Entornos genéricos
● Combinando herramientas (compiladores, etc.)
● Frontal: editor personalizable
● Emacs (modos)
■ Entornos específicos
● Lenguajes concretos
● Como los entornos orientados a un lenguaje
● Formato binario compatible
■ Máquina virtual
● JVM (JRE), .Net (CLR)
© 2004 Manuel Entornos de
Collado Programación-14

También podría gustarte