160 likes | 431 Views
Entornos de programación. Concepto, funciones y tipos. 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
E N D
Entornos de programación Concepto, funciones y tipos
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
Desarrollo de software • Actividades (ciclo) de desarrollo Análisis Diseño Codificación Integración Mantenimiento
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, ...
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
Entorno de programación • Situación en el ciclo de desarrollo Análisis Diseño detallado Diseño Codificación Pruebas Integración Mantenimiento
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ód. fuente) • Compilación (cód. máquina)-montaje-ejecución • Compilación (cód. intermedio)-interpretación
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
Depurador P. Fuente P. Objeto Librería P. Ejecutable Tipos de Entornos de Programación • Antecedentes (ej. Compilador) • IDE (Interactive Development Environment) • Entornos centrados en un lenguaje • Entornos orientados a estructura • Entornos colección de herramientas Editor Compilador Montador
Entornos centrados en un lenguaje • Específicos para un lenguaje de programac. • 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
Entornos centrados en un lenguaje • Ejemplo: lenguaje interpretado • (Inter)Lisp, Hope, Haskell, etc. • Ejemplo: lenguaje compilado • Delphi, Visual C++, etc. • Ejemplos especiales: • Entornos Smalltalk • Entornos Ada • Entornos Oberon, Component Pascal
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)
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 • Unity, Med, etc.
Entornos multilenguaje • Entornos específicos • Lenguajes concretos • Como los entornos orientados a un lenguaje • Formato binario compatible • Entornos genéricos • Combinando herramientas (compiladores, etc.) • Frontal: editor personalizable • Emacs (modos)