Entornos de programación
Concepto, funciones y tipos
© 2004-2006 Manuel Collado
Entornos de 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-2006 Manuel Collado
Entornos de Programación-2
Desarrollo de software

Actividades (ciclo) de desarrollo
Análisis
Diseño
Codificación
Integración
Mantenimiento
© 2004-2006 Manuel Collado
Entornos de Programación-3
Entornos de desarrollo de Sw.

CASE: Computer-Aided Software Engineering




Soporte para actividades verticales


Soporte informático para el desarrollo
Se automatiza todo o parte
Productos CASE: herramientas
Específicas de una fase: diseño, compilación, ..
Soporte para actividades horizontales

Generales: documentación, planificación, ...
© 2004-2006 Manuel Collado
Entornos de 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-2006 Manuel Collado
Entornos de 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-2006 Manuel Collado
Entornos de 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-2006 Manuel Collado
Entornos de 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-2006 Manuel Collado
Entornos de Programación-8
Tipos de Entornos de Programación
 Antecedentes
(ejemplo: Compilador)
Editor
P. Fuente

Compilador
P. Objeto
Montador
Librería
Depurador
P. Ejecutable
IDE (Interactive Development Environment)



Entornos centrados en un lenguaje
Entornos orientados a estructura
Entornos colección de herramientas
© 2004-2006 Manuel Collado
Entornos de 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-2006 Manuel Collado
Entornos de Programación-10
Entornos centrados en un lenguaje

Ejemplo: lenguaje interpretado


Ejemplo: lenguaje compilado


(Inter)Lisp, Haskell, etc.
Delphi, Visual C++, AdaGide, GPS, etc.
Ejemplos especiales:



Entornos Ada (Stoneman, Cais, Asis)
Entornos Smalltalk
Entornos Oberon, Component Pascal
© 2004-2006 Manuel Collado
Entornos de 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)
 Ejemplo: The Cornell Program Synthesizer
 Representación XML


Editores y procesadores XML
© 2004-2006 Manuel Collado
Entornos de Programación-12
Combinación de herramientas
Integración débil
 Entornos heterogéneos
 Fáciles de ampliar / adaptar
 Construible por el usuario: Estilo UNIX
 Poco control de uso
 Frontal: editor con llamadas ext. ( IDE)




Emacs, Vim, Gvim
Med, SciTE, jEdit
Eclipse
© 2004-2006 Manuel Collado
Entornos de Programación-13
Entornos multilenguaje

Entornos genéricos




Entornos específicos




Combinando herramientas (compiladores, etc.)
Frontal: editor personalizable
Emacs (modos)
Lenguajes concretos
Como los entornos orientados a un lenguaje
Formato binario compatible
Máquina virtual

JVM (JRE), .Net (CLR)
© 2004-2006 Manuel Collado
Entornos de Programación-14
Descargar

Entornos de programación