herramientas y entornos de programaciÓn
TRANSCRIPT
1
HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN
Tema 2. Tecnologías CASE
Escuela Superior de Informática
2
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE.
Tecnologías CASE (~ 4 horas)
Introducción. Conceptos, Objetivos, Herramientas y Métodos de las tecnologías CASE
Clasificación de herramientas CASE Entornos CASE Integrados (I-CASE) Adopción de Herramientas CASE Casos de Estudio
3
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Computer Aided Software Engineering
4
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Conceptos
Tecnologías CASE: Automatización del Desarrollo del Software. Ingeniería del Software asistida por Computador.
Herramientas y Metodologías que se aplican a todo el ciclo de vida del desarrollo del SW.
Herramientas autónomas o integradas de productividad que automatiza en todo o en parte, tareas del ciclo de vida del Desarrollo del Software.
Metodologías estructuradas y automatizables que definen una formulación técnica y disciplinada para todos o alguno(s) de los aspectos del desarrollo del SW. Ejemplos: Análisis Estructurado o la Programación Estructurada.
Las tecnologías CASE se centran en la productividad y no solo en obtener soluciones.
5
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Columna vertebral de la tecnología CASE: Automatización y Productividad.
Desde los años 70 con sistemas de documentación automática.
EJEMPLOS Herramientas de diagramación para especificar esquemas estructurados
Diccionarios y sistemas de datos con información de gestión de proyectos
Herramientas de validación sintáctica o de inconsistencias.
Generadores automáticos de código a partir de otras especificaciones (por ejemplo, gráficas)
Generadores automáticos de documentación técnica y de usuario
6
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
¿Qué es CASE?
"CASE es la automatización del software“ Carma McClure
“CASE es una filosofía que se orienta a la mejor comprensión de los modelos de empresa, sus actividades y el desarrollo de los sistemas de información. Esta filosofía involucra además el uso de programas que permiten:
Construir los modelos que describen la empresa, Describir el medio en el que se realizan las actividades, Llevar a cabo la planificación, El desarrollo del Sistema Informático, desde la planificación, pasando por el
análisis y diseño de sistemas, hasta la generación del código de los programas y la documentación.”
Michael Lucas Gibson
7
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Glosario de definiciones básicas CASE
CASE: Ingeniería de Software asistida por computación.
TECNOLOGIA CASE: Conjunto de instrumentos y técnicas software para automatizar una disciplina de la ingeniería, incluyendo metodologías estructuradas y herramientas.
HERRAMIENTA CASE: Una herramienta del software que automatiza (por lo menos en parte) una parte del ciclo de desarrollo de software.
SISTEMA CASE: Un conjunto de herramientas CASE integradas que comparten una interfaz del usuario común y corren en un ambiente computacional común.
8
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Glosario de definiciones básicas CASE
KIT de HERRAMIENTAS CASE: Un conjunto de herramientas CASE integradas que se han diseñado para trabajar juntas y automatizar (o proveer ayuda automatizada al ciclo de desarrollo de software, incluyendo el análisis, diseño, codificación y pruebas.
METODOLOGIA CASE: Conjunto estructurado de métodos que definen una disciplina de la ingeniería como un acercamiento a todos o algunos aspectos del desarrollo y mantenimiento de software.
PUESTO DE TRABAJO para CASE: Una estación de trabajo técnica o computadora personal equipada con Herramientas Case que automatiza varias funciones del ciclo. [obsoleto]
PLATAFORMA de HARDWARE para CASE: Una arquitectura de hardware con uno, dos o tres sistemas puestos en línea, que proveen una plataforma operativa para las Herramientas Case. [obsoleto]
9
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Objetivos de las herramientas CASE
• Aumentar la productividad de las áreas de desarrollo y mantenimiento de los sistemas informáticos. (Reducir tiempos y costes).
• Mejorar la calidad del software desarrollado.
• Mejorar la gestión y dominio sobre el proyecto en cuanto a su planificación, ejecución y control.
• Mejorar el archivo de datos (enciclopedia) de conocimientos (know-how) y sus facilidades de uso, reduciendo la dependencia de analistas y programadores.
Continúa
10
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Objetivos de las herramientas CASE
Automatizar : El desarrollo del software La documentación La generación del código El chequeo de errores La gestión del proyecto
Permitir La reutilización (reusabilidad) del software La portabilidad del software La estandarización de la documentación
Integrar las fases de desarrollo (Ingeniería del software)
Facilitar la utilización de las distintas metodologías que desarrolla la propia Ingeniería del Software.
11
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Un poco de Historia…
Las Herramientas CASE tienen su inicio con el simple procesador de palabras que fue usado para crear y manipular documentación.
Los setentas vieron la introducción de técnicas gráficas y diagramas de flujo de estructuras de datos.
Sobre este punto, el diseño y especificaciones en forma pictórica han sido extremadamente complejos y consumían mucho tiempo para realizar cambios.
Pronto se reemplazaron los paquete gráficos por paquetes especializados que habilitan la edición, actualización e impresión en múltiples versiones de diseño.
Como un paso final, la verificación de errores y generadores de casos de pruebas fueron incluidos para validar el diseño del software.
12
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Un poco de Historia…
La primera herramienta comercial se remonta a 1982, aunque algunos especialistas indican que algunos ejemplos de herramientas para diagramación ya existían.
No fue sino hasta 1985 en que las herramientas CASE se volvieron realmente importantes en el proceso de desarrollo de software.
Los proveedores prometieron a la Industria que muchas actividades serían beneficiadas por la ayuda de las CASE. Estos beneficios consistían, por ejemplo, en el aumento en la productividad.
Con estos beneficios en mente, la industria destinó millones en producción de Herramientas CASE.
Así como esta enorme suma de dinero fue gastada en Herramientas CASE, hubo también trabajo de investigación a nivel mundial en diferentes instituciones como Universidades, Instituciones Gubernamentales y de Defensa.
13
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Un poco de Historia… Evolución
14
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Componentes de Herramientas CASE
Repositorio (diccionario): Se almacenan los elementos definidos o creados por la herramienta, y cuya gestión se realiza mediante el apoyo de un Sistema de Gestión de Base de Datos (SGBD) o de un sistema de gestión de ficheros.
Apoyándose en la existencia del repositorio se efectúan comprobaciones de integridad y consistencia:
Que no existan datos no definidos.
Que no existan datos autodefinidos (datos que se emplean en una definición pero que no han sido definidos previamente).
Que todos los alias (referencias a un mismo dato empleando nombres distintos) sean correctos y estén actualizados.
Las características más importantes de un repositorio son: Tipo de información. Que contiene alguna metodología concreta, datos, gráficos,
procesos, informes, modelos o reglas.
Tipo de controles. Si incorpora algún módulo de gestión de cambios, de mantenimiento de versiones, de acceso por clave, de redundancia de la información.
15
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Componentes de Herramientas CASE
Repositorio (diccionario): Continuación… La gestión de cambios y el mantenimiento de versiones, ayudarán en el caso de que
convivan diferentes versiones de la misma aplicación, o se tengan que realizar cambios en la versión en producción y en la de desarrollo, simultáneamente.
Tipo de actualización. Si los cambios en los elementos de análisis o diseño se ven reflejados en el repositorio en tiempo real o mediante un proceso por lotes (batch). Esto será importante en función a la necesidad de que los cambios sean visibles por todos los usuarios, en el acto.
Reutilización de módulos para otros diseños. El repositorio es la clave para identificar, localizar y extraer código para su reutilización.
Posibilidad de exportación e importación para extraer información del repositorio y tratarla con otra herramienta (formateo de documentos, mejora de presentación) o incorporar al repositorio, información generada por otros medios.
Interfaces automáticas con otros repositorios o bases de datos externos.
16
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Componentes de Herramientas CASE
Módulos de diagramación y modelado
Algunos de los diagramas y modelos utilizados con mayor frecuencia son:
Diagrama de flujo de datos. Modelo entidad - interrelación. Historia de la vida de las entidades. Diagrama Estructura de datos. Diagrama Estructura de cuadros. Técnicas matriciales
17
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Componentes de Herramientas CASE
Módulos de diagramación y modelado
Algunas características referentes a los diagramas son: Número máximo de niveles para poder soportar diseños complejos.
Número máximo de objetos que se pueden incluir para no encontrarse limitado en el diseño de grandes aplicaciones.
Número de diagramas distintos en pantalla o al mismo tiempo en diferentes ventanas.
Dibujos en formato libre con la finalidad de añadir comentarios, dibujos, información adicional para aclarar algún punto concreto del diseño.
18
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Componentes de Herramientas CASE
Módulos de diagramación y modelado
Algunas características referentes a los diagramas (Continuación): Actualización del repositorio por cambios en los diagramas. Siempre
resulta más fácil modificar de forma gráfica un diseño y que los cambios queden reflejados en el repositorio.
Control sobre el tamaño, fuente y emplazamiento de los textos en el diagrama.
Comparaciones entre gráficos de distintas versiones. De esta forma será más fácil identificar qué diferencias existen entre las versiones.
Inclusión de pseudocódigo, que servirá de base a los programadores para completar el desarrollo de la aplicación.
Posibilidad de deshacer el último cambio, facilitando que un error no conlleve perder el trabajo realizado.
19
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Componentes de Herramientas CASE
Herramienta de prototipado El objetivo principal de esta herramienta es poder mostrar al usuario,
desde los momentos iniciales del diseño, el aspecto que tendrá la aplicación una vez desarrollada.
Facilita la aplicación de los cambios que se consideren necesarios, en la fase de diseño.
La herramienta será tanto más útil, cuanto más rápidamente permita la construcción del prototipo y por tanto antes, se consiga la implicación del usuario final en el diseño de la aplicación
Actualmente, es imprescindible utilizar productos que incorporen esta funcionalidad por la cambiante tecnología y necesidades de los usuarios.
20
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Componentes de Herramientas CASE Generador de Código Las características más importantes de los generadores de código son:
Lenguaje generado. Si se trata de un lenguaje estándar o un lenguaje propietario.
Portabilidad del código generado. Capacidad para poder ejecutarlo en diferentes plataformas físicas y/o lógicas.
Generación del esqueleto del programa o del programa completo. Si únicamente genera el esqueleto será necesario completar el resto mediante programación.
Posibilidad de modificación del código generado. Suele ser necesario acceder directamente al código generado para optimizarlo o completarlo.
Generación del código asociado a las pantallas e informes de la aplicación. Mediante esta característica se obtendrá la interface de usuario de la aplicación.
21
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.
Componentes de Herramientas CASE Módulo generador de documentación El módulo generador de la documentación se alimenta del repositorio para
transcribir las especificaciones allí contenidas.
Algunas características de los generadores de documentación son: Generación automática a partir de los datos del repositorio, sin necesidad de un
esfuerzo adicional.
Combinación de información textual y gráfica, lo que hace más fácil su comprensión.
Generación de referencias cruzadas. Con ello se podrá localizar fácilmente en qué partes de la aplicación se encuentra un determinado objeto o elemento, con el fin de analizar el impacto de un cambio o identificar los módulos afectados por un determinado error.
Ayuda de tratamiento de textos. Facilidad para la introducción de textos complementarios a la documentación que se genera de forma automática.
Interfase con otras herramientas: procesadores de textos, editores gráficos, etc.
22
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Tecnologías CASE
Introducción. Conceptos, Objetivos, Herramientas y Métodos de las tecnologías CASE
Clasificación de herramientas CASE Entornos CASE Integrados (I-CASE) Adopción de Herramientas CASE Casos de Estudio
23
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Clasificaciones: A tener en cuenta
Los fabricantes desglosan sus herramientas CASE. Existen herramientas que cubren gran parte del ciclo de
vida del software. Existen herramientas que sólo cubren alguna/s fase/s
dentro de la etapa de desarrollo. Existen herramientas que se pueden agrupar en distintas
fases Cada herramienta tiene sus características: lenguaje de
generación, análisis estructurado u orientado a objetos, etc.
24
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Por todo ello: No existe una única clasificación de herramientas
CASE y, en ocasiones, es difícil incluirlas en una clase determinada.
Podrían clasificarse atendiendo a:
Las plataformas que soportan. Las fases del ciclo de vida del desarrollo de sistemas que
cubren. La arquitectura de las aplicaciones que producen. Su funcionalidad. Su amplitud
25
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Clasificación
Una primera clasificación de las herramientas CASE es considerando su amplitud:
TOOLKIT : es una colección de herramientas integradas que permiten automatizar un conjunto de tareas de algunas de las fases del ciclo de vida del sistema informático: Planificación estratégica, Análisis, Diseño, Generación de programas.
WORKBENCH : Son conjuntos integrados de herramientas que dan soporte a la automatización del proceso completo de desarrollo del sistema informático. Permiten cubrir el ciclo de vida completo. El producto final aportado por ellas es un sistema en código ejecutable y su documentación.
26
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Una segunda clasificación es teniendo en cuenta las fases (y/o tareas) del ciclo de vida que automatizan:
UPPER CASE : Planificación estratégica, Requerimientos de Desarrollo Funcional.
MIDDLE CASE : Análisis, Diseño y Calidad
LOWER CASE : Construcción, incluyendo la generación de código y la prueba (test).
27
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
CASE en el ciclo de vida
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Algunos ejemplos…pensar y clasificar E1: Entorno de programación, gestión de la configuración,
modelado de datos y generador de la documentación.
E2: Análisis estructurado
E3: Análisis y testeo de requerimientos
E4: Testeo de los flujos de negocio
E5: Diseño orientado a objetos
E6: Análisis, diseño, repositorio y generación de prototipos
E7: Gestión de la configuración y reingeniería
E8: Modelado de datos
E9: Desarrollo y pruebas
28
29
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Herramientas Toolkit (1)
30
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Herramientas Toolkit (2)
31
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Herramientas Toolkit (3)
32
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Clasificación Según su Funcionalidad
De Ingeniería de la Información De Modelado y administración de procesos de empresas De Estimación, planificación y administración de proyectos De Análisis de riesgo De Seguimiento de requisitos De Métricas De Documentación De Aseguramiento de la calidad Para el Mantenimiento De Análisis y diseño Para la Gestión de la Configuración del Software Para Prototipado y simulación Para la Generación de aplicaciones y componentes De Programación De Pruebas Para la Validación De Reingeniería e Ingeniería Inversa
33
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Ingeniería de la Información
Proporcionan un “metamodelo” del que se derivan sistemas de información específicos.
Su objetivo principal es representar objetos de datos de negocio, sus relaciones, así como la forma en que influyen estos objetos de datos entre las distintas áreas de negocio dentro de la Empresa
Modelado y administración de procesos de empresas
Se utilizan para representar los elementos clave del proceso de modo que sea posible entenderlo mejor.
También pueden proporcionar vínculos con otras herramientas que apoyen otras actividades de proceso ya definidas.
34
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Estimación, planificación y administración de proyectos
Estimación: Calculan el esfuerzo estimado, la duración del proyecto y el número recomendado de personas.
Planificación: Capacitan al administrador para definir todas las tareas del Proyecto, para crear una red de tareas, para representar las interdependencias entre esas tareas y para modelar la cantidad de paralelismo que es posible para ese Proyecto.
Administración de Proyectos: Extensión de las herramientas de Planificación para poder realizar un seguimiento continuo del Proyecto.
Análisis de riesgos
Para identificar los riesgos potenciales y para desarrollar un plan que mitigue, monitorice y administre esos riesgos.
Capacitan al administrador para construir una guía detallada de riesgos que ayude en su identificación y análisis.
35
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Seguimiento de requisitos
Proporcionar un enfoque sistemático para el aislamiento de requisitos, comenzando por la solicitud del cliente de una propuesta o especificación.
Las herramientas de seguimiento de requisito típicas combinan una evaluación de textos mediante interacción humana con un SGBD que almacena y categoriza todos los requisitos del sistema.
Métricas
Proporcionan una mejor visión de la calidad del diseño o del código.
Muchas herramientas de Métricas avanzadas mantienen una Base de Datos que permite calificar las medidas del producto particular frente a los valores medios de la industria y frente a rendimientos particulares anteriores.
36
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Documentación Muchas organizaciones dedicadas al desarrollo de SW invierten mucho
tiempo y esfuerzo en el desarrollo de documentos. Se estima que representa hasta un 30 % del esfuerzo global corresponde a
documentación. Posibilitan la edición, visualización e impresión de documentos. Algunos documentadores automáticos, incluyen además opciones de
maquetación, generación de índices, gestión de modificaciones o parametrización de contenidos
Aseguramiento de la calidad La mayoría en realidad son herramientas de métricas. Las auténticas herramientas de aseguramiento de la calidad permiten
automatizar las tareas que mejoren la calidad del software: análisis de calidad control de compatibilidad control de conexiones control de la seguridad y validación de la calidad.
37
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Gestión de la Configuración del Software
Para conseguir una mayor calidad en el SW, es necesario disponer de herramientas que permitan gestionar de manera automatizada los diversos estados por los que pasa un Producto de SW a lo largo del tiempo.
Por ello, GCS está en el núcleo de muchos sistemas CASE.
Definición de IEEE: Proceso de identificar y definir los elementos de configuración en un sistema, controlando la entrega y el cambio de éstos elementos a través del Ciclo de Vida del Sistema, almacenando el estado de los elementos de la configuración y de las peticiones de cambio con respecto a los requisitos especificados.
Elemento de Configuración: Cada una de las partes que Constituyen un Producto Software.
GCS es la disciplina que permite controlar formalmente la evolución del software, garantizando la visibilidad en el desarrollo del Producto. (Bryan y Siegel, 1984)
38
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Gestión de la Configuración del Software
CINCO TAREAS PRINCIPALES DE LAS GCS
Identificación de los elementos de configuración. Control de versiones Control de los cambios Auditoria Contabilidad de estados (información de los cambios a quienes necesiten
conocerlos)
CLASIFICACION DE GCS SEGÚN ANSI/IEEE 1042
Básicas (Usan utilidades del Sistema Operativo) Avanzadas (Mejoras en memoria, nombres largos, Contabilidad) En Línea (Control interactivo de los cambios en el SW) Integradas (Consistencia entre elementos de la configuración e Interfaces con otras herramientas)
39
Herramientas y Entornos de Programación Tema 2. L4G y CASE. Clasificación.
Análisis y diseño
Están entre las más antiguas y son las mas usadas hasta la fecha.
Ayudan al ingeniero de SW a crear modelos del sistema que hay que construir.
Ayudan a eliminar errores antes que se propaguen al diseño, o lo que es peor, a la implementación
En ocasiones se subdividen en dos tipos:
Herramientas para el diseño funcional. Que permiten describir los datos y los procesos, casi siempre de modo gráfico y con diagramas
Herramientas para el diseño detallado. Como generadores automáticos de especificaciones, simuladores de transiciones y otros.
40
Herramientas y Entornos de Programación Tema 2. L4G y CASE. Clasificación.
Prototipado y Simulación
Se emplean cuando se utiliza un ciclo de vida mediante Prototipos.
Herramientas de PRO/SIM - Prototipado / Simulación permiten acceder al comportamiento de un sistema en tiempo real antes de construirlo.
Permite al Ingeniero de Software crear simulaciones para que el cliente se haga una idea del futuro comportamiento y funcionamiento antes de la verdadera implementaron.
41
Herramientas y Entornos de Programación Tema 2. L4G y CASE. Clasificación.
Generación de aplicaciones y componentes
Generadores de código Generadores de Macros Generadores de esquemas de Bases de Datos Generadores de Interfaces de Usuario Muchas de estas herramientas se están convirtiendo en generadores de
Prototipos específicos.
Ejemplo: Las herramientas de desarrollo de interfaces que comenzaron siendo conjuntos de primitivas de componentes visuales ( menús, botones, ventanas, etc.) están siendo sustituidas por generadores de prototipos de interfaz que permiten la creación de interfaces complejas ajustadas a estándares de interfaz.
42
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Programación
CLASICAS Compiladores Editores Depuradores
NUEVAS Entornos de desarrollo Orientados a Objetos Lenguajes de Cuarta Generación (4GL) Entornos de Programación Visual (Interfaz Gráfica) Entornos de Desarrollo Rápido de Aplicaciones (RAD)
43
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Pruebas (CAST) CAST Computer Supported Software Testing
Funcionalidades:
Gestión de Pruebas (Predicción de costes y tiempos. Planificación. Monitorización. Generación de Informes)
Definición de los requisitos y objetivos de la Prueba
Diseño de Pruebas (Diseño, Generación y Documentación de Casos)
Construcción de entornos de ejecución de Pruebas (Implementaron y verificación del código)
Ejecución de Pruebas (Registro de la ejecución de los casos. Repetición de las pruebas)
Evaluación de las Pruebas (Detección y registro de fallos en las pruebas. Calidad de las Pruebas)
44
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Validación Permiten automatizar y verificar el cumplimento de las especificaciones.
Ingeniería Inversa
Procesan código fuente para producir otro tipo de elemento software. Muchas para entornos COBOL, FORTRAN SGBD Muy útiles cuando la documentación es inexistente o desfasada
Tipos:
Recuperadores de Diseño (A partir del código fuente) Recuperadores para HII de Datos Recuperadores para HII de Procesos
Redocumentadores (A partir del código fuente generan diagramas y otros documentos)
Analizadores de código (Estudian el código) Descompiladores. (De código objeto a código fuente)
45
Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.
Mantenimiento
Para automatizar tareas del Mantenimiento del SW
Herramientas de Navegación (permiten al Ing. del SW la búsqueda rápida y fácil de las partes del SW que le interesan)
Identificación de dónde se usan las variables Identificación de los módulos que utiliza un módulo Visualización de un árbol de llamadas Visualización de estructuras de datos
Herramientas para el perfeccionamiento del código Reformateadores de código fuente (A partir del CF generan una salida
con formato y presentación mejorados. Útiles para códigos antiguos) Reestructuradores de código fuente (Para programas poco o mal
estructurados. Generalmente a partir del CF se obtiene un diagrama que se estructura)