Está en la página 1de 53

Laboratorio de herramientas

CASE
Dr. Joaqun Decelis Burguete decelis@hotmail.com
1

Objetivos generales de la asignatura


Al finalizar el curso podrn aplicar tcnicas que faciliten la automatizacin del ciclo de vida del software en el desarrollo de sistemas de informacin. informacin.

Actividades
 

   

Exposicin Anlisis de ejercicios, casos y elaboracin de tareas Anlisis y discusin de casos reales en grupo Examen parcial y final Uso de paquetera Clases de 8:00 am a 2:00 pm con media hora de descanso
3

Restricciones


No celulares encendidos en clase Solo en caso de que esperen una llamada, ponerlo en silencio y contestar fuera del saln de clase, sin distraer No es necesario pedir permiso para entrar o salir del saln de clases, simplemente hganlo en silencio.
4

Reglas del curso


Asistencias para tener derecho a calificaciones Presentacin y discusin de temas Trabajos de investigacin Participacin Examen La escala de calificacin es de Calificacin mnima aprobatoria 85% 30% 30% 20% 20% 0 a 10 7
5

Contenido
1. 2. 3. 4. 5. 6. 7.

Qu son las herramientas CASE? Historia de las herramientas CASE Clasificacin de las herramientas CASE Componentes y funcionalidades de una herramienta CASE Ejemplos de herramientas CASE ms utilizadas Adopcin de herramientas CASE en las organizaciones Puntos importantes a considerar cuando se selecciona una herramienta CASE Tendencias tecnolgicas y del mercado de las herramientas CASE
6

1. 2.

Estrategias de implantacin de una herramienta CASE Consideraciones importantes

8.

Tema 1 Qu son las herramientas CASE?

Qu son las herramientas CASE?




Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software. Software. Como es sabido, los estados en el Ciclo de Vida de desarrollo de un Software son:
Investigacin preliminar, Anlisis, Diseo, Implementacin e Instalacin.

Variaciones del significado de CASE


8

Otras definiciones


Conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del ciclo de vida del desarrollo de sistemas de informacin, completamente o en alguna de sus fases. La sigla genrica para una serie de programas y una filosofa de desarrollo de software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas. Una innovacin en la organizacin, un concepto avanzado en la evolucin de tecnologa con un potencial efecto profundo en la organizacin. Se puede ver al CASE como la unin de las herramientas automticas de software y las metodologas de desarrollo de software formales.
9

Otras definiciones
De acuerdo con Kendall y Kendall:  CASE es la aplicacin de tecnologa informtica a las actividades, las tcnicas y las metodologas propias de desarrollo, su objetivo es acelerar el proceso para el que han sido diseadas. En este caso para automatizar o apoyar una o ms fases del ciclo de vida del desarrollo de sistemas.

10

Herramientas CASE


La realizacin de un nuevo software requiere que las tareas sean organizadas y completadas en forma correcta y eficiente. eficiente. Las Herramientas CASE fueron desarrolladas para automatizar esos procesos y facilitar las tareas de coordinacin de los eventos que necesitan ser mejorados en el ciclo de desarrollo de software. software.

11

Herramientas CASE


La mejor razn para la creacin de estas herramientas fue el incremento en la velocidad de desarrollo de los sistemas.
Por esto, las compaas pudieron desarrollar sistemas sin encarar el problema de tener cambios en las necesidades del negocio, antes de finalizar el proceso de desarrollo. Tambin permite a las compaas competir ms efectivamente usando estos sistemas desarrollados nuevamente para compararlos con sus necesidades de negocio actuales.

12

Herramientas CASE


En un mercado altamente competitivo, esto puede hacer la diferencia entre el xito y el fracaso. Las herramientas CASE tambin permiten a los analistas tener ms tiempo para el anlisis y diseo, adems de minimizar el tiempo para codificar y probar. La introduccin de CASE integradas est comenzando a tener un impacto significativo en los negocios y sistemas de informacin de las organizaciones. Con un CASE integrado, las organizaciones pueden desarrollar rpidamente sistemas de mejor calidad para soportar procesos crticos del negocio, asistir en el desarrollo y promocin intensiva de la informacin de productos y servicios.

13

Herramientas CASE


Estas herramientas pueden proveer muchos beneficios en todas las etapas del proceso de desarrollo de software, algunas de ellas son:
Verificar el uso de todos los elementos en el sistema diseado. Automatizar el dibujo de diagramas. Ayudar en la documentacin del sistema. Ayudar en la creacin de relaciones en la Base de Datos. Generar estructuras de cdigo.
14

Herramientas CASE


La principal ventaja de la utilizacin de una herramienta CASE, es la mejora de la calidad de los desarrollos realizados y, en segundo trmino, el aumento de la productividad. productividad. Para conseguir estos dos objetivos es conveniente contar con una organizacin y una metodologa de trabajo, adems de la propia herramienta.

15

Herramientas CASE


La mejora de calidad se consigue reduciendo sustancialmente muchos de los problemas de anlisis y diseo, inherentes a los proyectos de mediano y gran tamao
Lgica del diseo, coherencia, consolidacin, etc.

La mejora de productividad se consigue a travs de la automatizacin de determinadas tareas


Generacin de cdigo y la reutilizacin de objetos o mdulos.

16

Tema 2 Historia de las Herramientas CASE

17

Historia de las Herramientas CASE




Tienen su inicio con el simple procesador de palabras


Fue usado para crear y manipular documentacin.

Los setentas vieron la introduccin de tcnicas grficas y diagramas de flujo de estructuras de datos.

El diseo y especificaciones en forma pictrica han sido extremadamente complejos y consuman mucho tiempo para realizar cambios.

Esto ha permitido que los diagramas puedan ser fcilmente creados y modificados, mejorando la calidad de los diseos de software.

Los diccionarios de datos, un documento muy usado que mantiene los detalles de cada tipo de dato y los procesos dentro de un sistema, son el resultado directo de la llegada del diseo de flujo de datos y anlisis estructural, hecho posible a travs de 18 las mejoras en las Herramientas CASE.

Historia de las Herramientas CASE




Pronto se reemplazaron los paquetes grficos por paquetes especializados que habilitan la edicin, actualizacin e impresin en mltiples versiones de diseo. Eventualmente, las herramientas grficas integradas con diccionarios de base de datos para producir poderosos diseos y desarrollar herramientas, podran sostener ciclos completos de diseo de documentos. Como un paso final, la verificacin de errores y generadores de casos de pruebas fueron incluidos para validar el diseo del software. Todos estos procesos pueden saberse integrados en una simple herramienta CASE que soporta todo el ciclo de desarrollo. 19

Historia de las Herramientas CASE




En la dcada de los setenta el proyecto ISDOS desarroll un lenguaje llamado "Problem Statement Language" (PSL) para la descripcin de los problemas de usuarios y las necesidades de solucin de un sistema de informacin en un diccionario computarizado. Problem Statement Analyzer (PSA) era un producto asociado que analizaba la relacin de problemas y necesidades. La primera herramienta comercial se remonta a 1982, aunque algunos especialistas indican que algunos ejemplos de herramientas para diagramacin ya existan. La primera herramienta CASE como hoy la conocemos fue "Excelerator" en 1984, era para PC. Excelerator"

20

Historia de las Herramientas CASE




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 seran beneficiadas
Con el aumento en la productividad.

El objetivo para muchos vendedores era producir software ms rpidamente.


Seran una familia de mtodos favorablemente estructurados para planeamiento, anlisis y diseo.

Esto llevara a la generacin automtica de cdigo para desarrollo de software va una especificacin formalmente diseada.
21

Historia de las Herramientas CASE




Esto traera como beneficio:

Una mejora en la calidad, fiabilidad, utilidad y rendimiento.

El entorno de produccin de documentacin para software mejora la comunicacin, mantenimiento y actualizacin. Hace el trabajo de diseo de software ms fcil y agradable. La promesa futura de reemplazar realmente a los ingenieros de software especializados. Reduccin del costo de produccin de software.
22

Historia de las Herramientas CASE




Con estos objetivos en mente, la industria destin millones en produccin de herramientas CASE. As como esta enorme suma de dinero fue gastada en Herramientas CASE, hubo tambin trabajo de investigacin a nivel mundial en diferentes instituciones como universidades, instituciones gubernamentales y de defensa. La industria de herramientas CASE est creciendo y esta tomando cada vez mayor importancia.

23

Evolucin de las Herramientas CASE


A inicios de los 80 s
    

A mediados de los 80 s

Ayuda en la documentacin por computadora. Diagramacin asistida por computadora. Herramientas de anlisis y diseo. Diseo automtico de anlisis y pruebas. Repositorios automticos de informacin de sistemas

Al final de los 80 s A inicios de los 90 s

Generacin automtica de cdigo desde especificaciones de diseo.

 

Metodologa Inteligente. Interfase de Usuario reusable como una metodologa de desarrollo.

24

Tema 3 Clasificacin de las Herramientas CASE

25

Clasificacin de las Herramientas CASE




No existe una nica clasificacin de herramientas CASE y, en ocasiones, es difcil incluirlas en una clase determinada. Podran 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.

26

Clasificacin de las Herramientas CASE




Las herramientas CASE, en funcin de las fases del ciclo de vida abarcadas, se pueden agrupar de la forma siguiente: abarcadas,
I-CASE U-CASE L-CASE Tool-CASE Tool-

27

Herramientas integradas, I-CASE I(Integrated CASE, CASE integrado)




Abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas tambin CASE workbench. Se concibe como el conjunto herramientas que tocan las disciplinas que van desde la estrategia de la empresa, y la concepcin del sistema de informacin, hasta el anlisis, diseo y la generacin de los mismos programas. Las herramientas I-CASE se basan en una metodologa. ITienen un repositorio y aportan tcnicas estructuradas para todas las fases del ciclo de vida.
28

Herramientas integradas, I-CASE I(Integrated CASE, CASE integrado)


Ventajas
y y

Desventajas
y

Integra el ciclo de vida. Permite lograr importantes mejoras de productividad a mediano plazo. Permite un eficiente soporte al mantenimiento de sistemas. Mantiene la consistencia de los sistemas a nivel corporativo. Mejora la calidad de los desarrollos

No es tan eficiente para soluciones simples, sino para soluciones complejas. Depende del Hardware y del Software. Es costoso.

29

I-CASE:

Beneficios
Case nfasis en anlisis y diseo. Especificaciones basadas en diagramas automatizados. Generacin automtica de cdigos, programas fuente. I Case nfasis en el modelamiento empresarial. Especificaciones basadas en diagramas automatizados y perfectamente integrados a travs de las diferentes etapas de desarrollo. Generacin automtica de cdigos y totalmente integrada con la estacin de trabajo de diseo representacin grfica de las estructuras de cdigos.
30

Desarrollo Tradicional nfasis en la codificacin y pruebas de programas. Especificaciones basadas en papel.

Codificacin manual de programas.

I-CASE:
Documentacin manual. Mantenimiento de programas fuentes. Desarrollo Tradicional

Beneficios
Case Generacin automtica de documentacin. Mantenimiento de especificaciones de diseo y regeneracin de cdigos I Case Generacin automtica de documentacin. Mantenimiento de especificaciones de diseo y regeneracin de cdigos Uso de una enciclopedia (coordinador de conocimientos) para concentrar toda la informacin de las diferentes estaciones de trabajo en forma integrada. 31

Herramientas de alto nivel, U-CASE U(Upper CASE - CASE superior)


O front-end, frontorientadas a la automatizacin y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: Anlisis y diseo. diseo.
Ventajas
y

Desventajas
y

Se utiliza en plataforma PC, es aplicable a diferentes entornos Menor costo

Permite mejorar la calidad de los sistemas, pero no mejora la productividad No permite la integracin del ciclo de vida.

32

Herramientas de bajo nivel, L-CASE L(Lower CASE - CASE inferior)


O back-end, backdirigidas a las ltimas fases del desarrollo: Construccin e implantacin. implantacin.
Ventajas
y

Desventajas
y

Permite lograr importantes mejoras de productividad a corto plazo. Permite un eficiente soporte al mantenimiento de sistemas.

No garantiza la consistencia de los resultados a nivel corporativo. No garantiza la eficiencia del Anlisis y Diseo. No permite la integracin del ciclo de vida.

33

Juegos de herramientas o ToolsTools-CASE




Son el tipo ms simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontraran las herramientas de reingeniera, orientadas a la fase de mantenimiento. Estn formadas por un conjunto de herramientas orientadas cada una de ellas a resolver una determinada fase del desarrollo. El ensamblaje de las mismas se efecta por medio de una serie de interfaces que adaptan las salidas producidas por cada una de ellas de forma que sirva como entrada en la siguiente.
34

Ing. de Software

35

Otra posible clasificacin: La funcionalidad


Herramientas de planificacin de sistemas de gestin


Sirven para modelizar los requisitos de informacin estratgica de una organizacin. Proporcionan un "metamodelo" del cual se pueden obtener sistemas de informacin especficos. Su objetivo principal es ayudar a comprender mejor cmo se mueve la informacin entre las distintas unidades organizativas. Estas herramientas proporcionan una ayuda importante cuando se disean nuevas estrategias para los sistemas de informacin y cuando los mtodos y sistemas actuales no satisfacen las necesidades de la organizacin.

36

Otra posible clasificacin: La funcionalidad


Herramientas de anlisis y diseo Permiten al desarrollador crear un modelo del sistema que se va a construir y tambin la evaluacin de la validez y consistencia de este modelo. Proporcionan un grado de confianza en la representacin del anlisis y ayudan a eliminar errores con anticipacin.
Herramientas de anlisis y diseo (Modelamiento). Herramientas de creacin de prototipos y de simulacin. Herramientas para el diseo y desarrollo de interfaces. Mquinas de anlisis y diseo (Modelamiento).
37

Otra posible clasificacin: La funcionalidad


Herramientas de programacin Se engloban aqu los compiladores, los editores y los depuradores de los lenguajes de programacin convencionales. Ejemplos de estas herramientas son:
Herramientas de codificacin convencionales. Herramientas de codificacin de cuarta generacin.

Herramientas de programacin orientadas a los objetos.

38

Otra posible clasificacin: La funcionalidad


Herramientas de integracin y prueba Sirven de ayuda a la adquisicin, medicin, simulacin y prueba de los equipos lgicos desarrollados. Entre las ms utilizadas estn:
Herramientas de anlisis esttico. Herramientas de codificacin de cuarta generacin.

Herramientas de programacin orientadas a los objetos.

39

Otra posible clasificacin: La funcionalidad


Herramientas de gestin de prototipos Los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la evaluacin de especificaciones de un sistema de informacin, o para un mejor entendimiento de cmo los requisitos de un sistema de informacin se ajustan a los objetivos perseguidos.

40

Otra posible clasificacin: La funcionalidad


Herramientas de mantenimiento La categora de herramientas de mantenimiento se puede subdividir en:
Herramientas de ingeniera inversa. Herramientas de reestructuracin y anlisis de cdigo. Herramientas de reingeniera.

41

Otra posible clasificacin: La funcionalidad


Herramientas de gestin de proyectos La mayora de las herramientas CASE de gestin de proyectos se centran en un elemento especfico, en lugar de proporcionar un soporte global para la actividad de gestin. Utilizando un conjunto seleccionado de las mismas se puede:
realizar estimaciones de esfuerzo, coste y duracin, hacer un seguimiento continuo del proyecto, estimar la productividad y la calidad, etc.

42

Otra posible clasificacin: La funcionalidad


Existen tambin herramientas que permiten al comprador del desarrollo de un sistema, hacer un seguimiento que va desde los requisitos del pliego de prescripciones tcnicas inicial, hasta el trabajo de desarrollo que convierte estos requisitos en un producto final. Se incluyen dentro de las herramientas de control de proyectos las siguientes:
Herramientas de planificacin de proyectos. Herramientas de seguimiento de requisitos. Herramientas de gestin y medida.

43

Otra posible clasificacin: La funcionalidad


Herramientas de soporte Se engloban en esta categora las herramientas que recogen las actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a continuacin:
Herramientas Herramientas Herramientas Herramientas de documentacin. para software de sistemas. de control de calidad. de bases de datos.

44

Otra clasificacin ms: Las funciones CASE en cinco grupos


Repositorio


Funcionan en torno a un repositorio central, siendo ste el ncleo fundamental que contiene todas las definiciones de objeto y sus relaciones. Los objetos pueden ser especificaciones del sistema en forma de diagramas de flujo de datos, diagramas entidad-relacin, entidadesquemas de bases de datos, diseos de pantallas, etc. El repositorio es un concepto ms amplio que el de diccionario de datos y soporta a los dems grupos de funciones.
45

Otra clasificacin ms: Las funciones CASE en cinco grupos


Repositorio


No es fcil encontrar en el mercado productos CASE con funcionalidades estrictamente a las de repositorio, ya que, a pesar de su innegable importancia, tienen un carcter auxiliar de los dems grupos de funciones. Cualquier sistema CASE poseer un repositorio propio o bien, trabajar sobre un repositorio suministrado por otro fabricante o vendedor

46

Otra clasificacin ms: Las funciones CASE en cinco grupos


ReRe-ingeniera


Los sistemas CASE permiten establecer una relacin estrecha y fuertemente formalizable entre los productos generados a lo largo de distintas fases del ciclo de vida, permitiendo actuar en el sentido especificaciones-cdigo (ingeniera "directa") y especificacionestambin en el contrario (ingeniera "inversa"). Ello facilita la realizacin de modificaciones en la fase ms adecuada en cada caso y su traslado a las dems. Al conjunto de facilidades proporcionadas por la ingeniera directa e inversa se le denomina "re-ingeniera". "re47

Otra clasificacin ms: Las funciones CASE en cinco grupos


Soporte del ciclo de vida


El ciclo de vida de un sistema de informacin se compone de varias etapas, que van desde la planificacin de su desarrollo hasta su implantacin, mantenimiento y actualizacin. Aunque el nmero de fases puede ser variable en funcin del nivel de detalle que se adopte, pueden de modo simplificado, identificarse las siguientes:
Planeamiento. Anlisis y Diseo. Implantacin (programacin y pruebas). Mantenimiento y actualizacin.
48

Otra clasificacin ms: Las funciones CASE en cinco grupos


Soporte del ciclo de vida


Los sistemas CASE pueden cubrir la totalidad de estas fases o bien especializarse en algunas de ellas. En este ltimo caso se pueden distinguir sistemas de "alto nivel" ("Upper Case"), orientados a la autonoma y soporte de las actividades correspondientes a las dos primeras fases y, Sistemas de "bajo nivel" ("Lower Case"), dirigidos hacia las dos ltimas. Los sistemas de "alto nivel" pueden soportar un nmero ms o menos amplio de metodologas de desarrollo.
49

Otra clasificacin ms: Las funciones CASE en cinco grupos


Soporte de proyecto


Hace referencia al soporte de actividades que se producen durante el desarrollo, derivadas fundamentalmente del trabajo en grupos, tales como
facilidades de comunicacin, soporte a la creacin, modificacin e intercambio de documentacin, herramientas personales, controles de seguridad,

Se pueden conceder a stas una importancia variable por lo cual el S. P. constituye un factor de diferenciacin.
50

Otra clasificacin ms: Las funciones CASE en cinco grupos


Mejora continua de calidad


Aunque frecuentemente se asocia a los sistemas CASE con la mejora de la productividad en el desarrollo de aplicaciones, aplicaciones, debe tenerse en cuenta que una de las principales ventajas estriba tambin, en la mejora de la calidad de los desarrollos realizados. realizados. Determinados sistemas CASE enfatizan ms sobre este punto que sobre el anterior, introduciendo herramientas que permiten ejercer un control intenso de garanta de calidad del software desarrollado desde las primeras fases de su ciclo de vida.
51

Rango de las Herramientas CASE (*)




Algunas herramientas CASE son slo para la fase de Diseo. Otras, son slo generadoras de Cdigo. Algunas Herramientas de anlisis y diseo tienen una visin de desarrollo orientada a procesos sin la capacidad de modelamiento. modelamiento. Algunas proveen herramientas para el modelamiento sin incluir los procesos de anlisis o diseo.
(*)Fuente: Revista, Tecnologa de Punta
52

Investigar: Herramientas de
    


Planificacin de sistemas de gestin Anlisis y diseo Programacin Integracin y prueba Gestin de prototipos
Mantenimiento

 

Gestin de proyectos Soporte


53