Entornos de programación
description
Transcript of Entornos de programación
© 2004-2006 Manuel Collado
Entornos de Programación-1
Entornos de programación
Concepto, funciones y tipos
© 2004-2006 Manuel Collado
Entornos de Programación-2
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-3
Análisis
Diseño
Codificación
Integración
Mantenimiento
Desarrollo de software Actividades (ciclo) de desarrollo
© 2004-2006 Manuel Collado
Entornos de Programación-4
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-2006 Manuel Collado
Entornos de Programación-5
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-6
Análisis
Diseño
Codificación
Integración
Mantenimiento
Diseño detallado
Pruebas
Entorno de programación Situación en el ciclo de desarrollo
© 2004-2006 Manuel Collado
Entornos de Programación-7
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-8
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-9
IDE (Interactive Development Environment) Entornos centrados en un lenguaje Entornos orientados a estructura Entornos colección de herramientas
Editor Compilador Montador Depurador
P. Fuente P. Objeto P. EjecutableLibrería
Antecedentes (ejemplo: Compilador)
Tipos de Entornos de Programación
© 2004-2006 Manuel Collado
Entornos de Programación-10
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-11
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 (Stoneman, Cais, Asis) Entornos Smalltalk Entornos Oberon, Component Pascal
© 2004-2006 Manuel Collado
Entornos de Programación-12
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-13
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-14
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)