170 likes | 380 Views
Herramientas software. Contenido. Clasificación Funciones Bibliografía A. Fuggetta: A Classification of CASE Technology. IEEE Computer, Dic.1993. Clases de Herramientas. Servicio automatiza una función simple Herramienta automatiza una tarea Edición Codificación
E N D
Contenido • Clasificación • Funciones • Bibliografía • A. Fuggetta: A Classification of CASE Technology. IEEE Computer, Dic.1993
Clases de Herramientas • Servicio automatiza una función simple • Herramienta automatiza una tarea • Edición • Codificación • Verificación y validación • Gestión de configuración • Métricas • Otras herramientas (de uso general) • (Gestión de proyecto, Análisis/diseño, etc.)
Edición / examen (browse) • Editores de texto • Editor básico / orientado a lenguaje • Editores gráficos • Diagramas / iconos para GUI • Editores de estructura • Diagramas / código • Facilidades de ‘navegación’ • Referencias cruzadas / folding / class wizzard
Codificación • Codificación y depuración • Ensamblador, Compilador , Depurador, Compilación cruzada, Macroprocesador, Montador de enlaces (link), Intérprete • Generadores de código • Generadores de compiladores, Generadores de interfaz de usuario, Application wizzards • Reestructuradores de código • Reforma (prettyprinter), Ingeniería inversa
Verificación y validación (1) • Análisis estático • Analisis de consistencia, código no usado, flujo de llamadas, referencias cruzadas, diagramas de estructura, comprobador de normas • Análisis dinámico • Perfil de ejecución, Traza de ejecución • Comparadores • Diferencias entre ficheros, mezcla de ficheros, visualizadores de diferencias
Verificación y validación (2) • Ejecución simbólica • Emuladores / simuladores • Ejecución cruzada, Máquinas virtuales • Comprobación de corrección • Ayuda a la demostración formal • Prueba de programas • Generación de casos prueba, Ejecución automática de pruebas (p. de regresión)
Gestión de configuración • Identificación de elementos • Gestión de versiones • Gestión de configuración • Gestión de cambios • Repositorio, archivo • Configurador de aplicaciones
Métricas • Métricas de código (análisis estático) • Complejidad, calidad • Capacidad de proceso (análisis dinámico) • Performance, benchmarks • Otras • (estimación/medida de costo, productividad)
Otras herramientas • Hoja de cálculo • Acumulación de datos, estadísticas, resúmenes • Preparación de documentación • Procesadores de texto, visualización de datos, generación de diagramas, extracción de documentación de código • Sistemas de hipertexto • Documentación tipo hipertexto, generación de ayuda en línea, ayuda sensible al contexto
Integración de herramientas • Criterios de integración • Integración de datos • Integración de control • Integración de presentación • Integración de proceso
Integración de datos • Interoperabilidad entre herramientas • Evitar redundancias (duplicaciones) • Consistencia, evitando incoherencias • Paso de datos entre herramientas
Técnicas de integración de datos • Transferencia directa • Transferencia mediante ficheros • Transferencia mediante comunicación • Repositorio común • Conversión de formatos
Integración de control • Invocar servicios o herramientas desde otras • Requiere integración de datos • Procesos, mensajes, llamadas • Uso del “Shell”
Integración de presentación • Herramientas interactivas • Interfaz amigable y uniforme • Limitar las formas diferentes de interacción • Formas adecuadas al modelo mental del usuario • Tiempos de respuesta adecuados • Mantener información disponible
Editor configurable • Frontal (front-end) general con el usuario • Facilita la integración de presentación • Funciones • Edición de código, datos, etc. • Modos dependientes del tipo de fichero • Integración de control • Invocación de órdenes externas • Captura y análisis de resultados
Editor configurable: Ejemplos • Emacs • Personalizable con e-lisp • Herramienta universal • Vim • Personalizable con macros y descripción de sintaxis (analizador léxico) • MED • Personalizable con expresiones regulares y tablas de propiedades