herramientas y entornos de programaciÓn

45
1 HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN Tema 2. Tecnologías CASE Escuela Superior de Informática

Upload: vankhue

Post on 12-Feb-2017

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

1

HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

Tema 2. Tecnologías CASE

Escuela Superior de Informática

Page 2: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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

Page 3: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

3

Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.

Computer Aided Software Engineering

Page 4: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 5: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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

Page 6: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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

Page 7: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 8: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓ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]

Page 9: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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

Page 10: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 11: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 12: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 13: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

13

Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Introducción.

  Un poco de Historia…   Evolución

Page 14: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓ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.

Page 15: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓ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.

Page 16: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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

Page 17: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 18: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 19: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 20: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 21: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓ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.

Page 22: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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

Page 23: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 24: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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

Page 25: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 26: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓ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).

Page 27: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

27

Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.

 CASE en el ciclo de vida

Page 28: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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

Page 29: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

29

Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.

  Herramientas Toolkit (1)

Page 30: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

30

Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.

  Herramientas Toolkit (2)

Page 31: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

31

Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Clasificación.

  Herramientas Toolkit (3)

Page 32: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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

Page 33: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 34: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 35: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 36: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 37: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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)

Page 38: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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)

Page 39: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 40: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 41: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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.

Page 42: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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)

Page 43: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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)

Page 44: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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)

Page 45: HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

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)