Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Herramientas Case Francisco Pua-1
Herramientas Case Francisco Pua-1
HERRAMIENTAS CASE
GUIA DIDÁCTICA
QUITO - ECUADOR
1
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Más que una disciplina o una parte del conocimiento, la ingeniería es un verbo, una
palabra de acción, un modo de enfocar el problema . El presente documento no pretende
ser una fuente de consulta acerca de “Administración de Herramientas CASE”,
pretender ser una guía que encamine al estudiante hacia la consecución de
conocimientos relacionados con el tema referido. Para lograrlo el documento pretende
coordinar las lecturas necesarias de un texto base con los ejercicios correspondientes, de
tal forma que haya un equilibrio entre lo que se lee y se practica. El texto base
seleccionado se titula “Análisis y diseño de sistemas” de los autores E. Kendall,
Kenneth y E. Kendall, Kenneth, Julie. El texto en su sexta edición presenta una relación
coherente y asimilable de la teoría de análisis y diseño de sistemas y la práctica
necesaria para que el futuro profesional de sistemas gane las habilidades necesarias para
el desempeño correcto de su actividad profesional. En este sentido, el documento, sigue
el caso de estudio, “Caso de la CPU”, propuesto por los autores en el texto base, no de
forma pasiva, sino de forma activa proponiendo soluciones a los problemas planteados
en el texto e invitando al estudiante a la reflexión y contextualización. El objetivo final
del documento es transmitir la idea de que toda la teoría relacionada al análisis y diseño
de sistemas es reflejable en las herramientas software especializadas para el efecto, esto
no significa que las herramientas CASE sean la panacea del analista de sistemas..
Objetivo General
Objetivos Específicos
• Contextualizar los conceptos básicos del ciclo de vida del desarrollo de sistemas
con el uso de herramientas software especializadas.
2
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
1.Herramientas Case
Las computadoras afectan nuestras vidas nos guste o no. Utilizamos computadoras en
nuestra vida diaria, la mayor parte del tiempo sin reconocer conscientemente que
estamos haciéndolo. Las utilizamos en aplicaciones domésticas como microondas,
televisión, vídeo casseteras o fuera de nuestras casas en máquinas para tarjetas de
crédito, por ejemplo. La verdad es que no podemos escapar de las computadoras. El
rápido incremento en performance de las computadoras junto al dramático decremento
en tamaño y costo, dio como resultado una explosión de tecnología, generándose una
larga variedad de aplicaciones que éstas pueden soportar.
3
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Hay también otra manera en la que la industria se ha ayudado a superar las dificultades
de uso de esta tecnología disponible. La industria de computadoras ha desarrollado un
soporte automatizado para el desarrollo y mantenimiento de software. Este es llamado
Computer Aided Software Engineering (CASE).
4
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
5
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
También permite a las compañías competir más efectivamente usando estos sistemas
desarrollados nuevamente para compararlos con sus necesidades de negocio actuales.
Las herramientas CASE también permiten a los analistas tener más tiempo para el
análisis y diseño y minimizar el tiempo para codificar y probar.
Estas herramientas pueden proveer muchos beneficios en todas las etapas del proceso de
desarrollo de software, algunas de ellas son:
6
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
TECNOLOGIA CASE: Una tecnología del software que mantiene una disciplina de la
ingeniería automatizada para el desarrollo de software, mantenimiento y dirección de
proyecto, incluye metodologías estructuradas automatizadas y herramientas
automatizadas.
HERRAMIENTA CASE: Una herramienta del software que automatiza (por lo menos
en parte) una parte del ciclo de desarrollo de software.
7
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
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. Eventualmente,
las herramientas gráficas integradas con diccionarios de base de datos para producir
poderosos diseños y desarrollar herramientas, podrían sostener ciclos completos de
diseño de documentos.
8
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
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. El objetivo en
1985 para muchos vendedores era producir software más rápidamente.
Las herramientas del CASE serían una familia de métodos favorablemente estructurados
para planeamiento, análisis y diseño. Esto llevaría a la generación automática de código
para desarrollo de software vía una especificación formalmente diseñada. Esto traería
como beneficio:
9
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
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. La industria de
Herramientas CASE está creciendo y esta tomando cada vez mayor importancia.
10
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Las herramientas CASE, en función de las fases del ciclo de vida abarcadas, se pueden
agrupar de la forma siguiente:
11
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
.
I – CASE
El I-CASE se concibe como el conjunto de cuatro herramientas que tocan las disciplinas
que van desde la estrategia de la empresa, y la concepción del sistema de información,
hasta el análisis, diseño y la generación de los mismos programas.
12
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Están formadas por un conjunto de herramientas orientadas cada una de ellas a resolver
una determinada fase del desarrollo. El ensamblaje de las mismas se efectúa 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.
13
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
En el mercado actual se pueden citar, entre otras, algunas herramientas distribuidas por
fases de desarrollo como para:
Análisis y Diseño
Programación
14
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Herramientas de programación.
Se engloban aquí los compiladores, los editores y los depuradores de los lenguajes de
programación convencionales.
Ejemplos de estas herramientas son:
• Herramientas de codificación convencionales.
• Herramientas de codificación de cuarta generación.
• Herramientas de programación orientadas a los objetos.
15
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Herramientas de mantenimiento.
16
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Herramientas de soporte.
Se engloban en esta categoría las herramientas que recogen las actividades aplicables en
todo el proceso de desarrollo, como las que se relacionan a continuación:
• Herramientas de documentación.
• Herramientas para software de sistemas.
• Herramientas de control de calidad.
• Herramientas de bases de datos.
•
Otra clasificación, diferencia las funciones CASE en cinco grupos:
Repositorio.
Re-ingeniería.
Los sistemas Case permiten establecer una relación estrecha y fuertemente formalizable
entre los productos generados a lo largo de distintas fases del ciclo devida, permitiendo
actuar en el sentido especificaciones-código (ingeniería "directa") y también en el
contrario (ingeniería "inversa").
17
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
• Planeamiento.
• Análisis y Diseño.
• Implantación (programación y pruebas).
• Mantenimiento y actualización.
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 autonomía 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 número más o menos
amplio de metodologías de desarrollo.
Soporte de proyecto.
Este tipo de funciones hace referencia al soporte de actividades que se producen durante
el desarrollo, derivadas fundamentalmente del trabajo en grupos, tales como facilidades
de comunicación, soporte a la creación, modificación e intercambio de documentación,
herramientas personales, controles de seguridad, etc.
Los sistemas Case pueden conceder a estas cuestiones una importancia variable por lo
cual el soporte de proyecto constituye un factor de diferenciación.
18
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
19
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Repositorio
20
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
21
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Herramienta de prototipado
22
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Generador de código
23
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Erwin
ERwin hace fácil el diseño de una base de datos. Los diseñadores de bases de datos sólo
apuntan y pulsan un botón para crear un gráfico del modelo E-R (Entidadrelación) de
todos sus requerimientos de datos y capturar las reglas de negocio en un modelo lógico,
mostrando todas las entidades, atributos, relaciones, y llaves importantes.
Más que una herramienta de dibujo, ERwin automatiza el proceso de diseño de una
manera inteligente. Por ejemplo, ERwin habilita la creación de un diccionario de
24
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
ERwin soporta principalmente bases de datos relacionales SQL y bases de datos que
incluyen Oracle, Microsoft SQL Server, Sybase, DB2, e Informix. El mismo
modelo puede ser usado para generar múltiples bases de datos, o convertir una
aplicación de una plataforma de base de datos a otra.
25
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
EasyCASE
Esta herramienta permite automatizar las fases de análisis y diseño dentro del desarrollo
de una aplicación, para poder crear las aplicaciones eficazmente – desde procesamiento
de transacciones a la aplicación de bases de datos de cliente/servidor, así como sistemas
de tiempo real.
EasyCASE permite capturar los detalles de diseño de un sistema y comunicar las ideas
gráficamente, para que sean fáciles de ver y entender. Para un diseño legítimo y
modelamiento de datos, procesos y eventos, permite crear y mantener diagramas de
flujo de datos, diagramas de entidad-relación, mapas de estructura y más.
26
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
27
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Oracle Designer
Oracle Designer es un juego de herramientas para guardar las definiciones que necesita
el usuario y automatizar la construcción rápida de aplicaciones cliente/servidor flexibles
y gráficas.
28
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Integrado con Oracle Developer, Oracle Designer provee una solución para desarrollar
sistemas empresariales cliente/servidor de segunda generación.
• Oracle8, Oracle7
• Personal Oracle Lite
• Rdb
• ANSI 92
• DB2/2 and MVS
• Microsoft SQL Server
• Sybase
29
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Las herramientas de Oracle Designer se agrupan en áreas que reflejan las necesidades
primarias de sus tipos diferentes de usuarios:
Diseño y Generación : Uso de las herramientas en esta área: diseño de sistemas que
reunan los requisitos comerciales de una organización; proveer un ambiente de
desarrollo para los ingenieros de sistemas y diseñadores; crear componentes del lado del
servidor y aplicaciones del lado del cliente desde definiciones grabadas en el
Repositorio de Datos.
30
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
PowerDesigner
PowerDesigner ProcessAnalyst.
PowerDesigner DataArchitect.
Provee a los diseñadores de las bases de datos una manera eficiente para la creación
inteligente, depuración e ingeniería de reversa del modelado, tanto conceptual como
físico de los datos.
31
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
PowerDesigner AppModeler.
PowerDesigner WarehouseArchitect.
PowerDesigner MetaWorks.
Permite fácilmente ver y compartir la información del modelado de datos con una
definición constante de objetos. También puede comparar y mezclar dos modelos de
datos paso a paso.
32
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
PowerDesigner Viewer.
Crea reportes de los modelos físicos, conceptuales y procesos del modelado de la base
de datos.
También permite generar reportes para Internet en HTML. Este producto cuenta
condemos directos de sitio de Sybase en Internet para su evaluación.
Los usuarios de bases de datos pueden ser recogidos de una base de datos existente y
luego almacenados en un modelo físico de datos. Ahora, es posible añadir nuevos
usuarios y también asignar usuarios como propietarios y vistas.
PowerDesigner permite seleccionar no sólo las tablas que se desean cargar, sino todo
tipo de objetos de la base de datos.
33
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
System Architect
System Architect posee un repositorio único que integra todas las herramientas, y
metodologías usadas. En la elaboración de los diagramas, el System Architect conecta
directamente al diccionario de datos, los elementos asociados, comentarios, reglas de
validaciones, normalización, etc.
System Architect es considerado un Upper Case, que puede ser integrado a la mayoría
de los generadores de código. Traduce modelos de entidades, a partir de laenciclopedia,
en esquemas para Sybase, DB2, Oracle u Oracle 7, Ingress, SQL Server, RDB, XDB,
Progress, Paradox, SQL Base, AS400, Interbase, OS/2, DBMS, Dbase 111, Informix,
entre otros. Genera también Windows DDL, definiciones de datos para lenguaje C/C++
y estructuras de datos en Cobol. En esta ultima versión del System Architect es posible
a través de ODBC, la creación de bases de datos a partir del modelo de entidades, para
los diversos manejadores de bases de datos arriba mencionados.
34
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
35
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Posee más de 130 informes estandarizados, entre los cuales: Referencias Cruzadas,
datos y expresiones, definiciones, etc. Además de tener un módulo específico para
customización de informes que emplea los recursos gráficos y facilidad de edición de
Windows.
PRODUCTO
System Architect Versión 4.0 de 1997. Numero de copias instaladas: 50.000, instaladas
a más de 3.500 Clientes. Principales clientes: AT&T, Xerox, Microsoft, Novell,
American Airlines, IBM, Pepsi, 3M, Toshiba, GE, etc. Actualmente se encuentra en
evaluación System Architect 2001.
PROVEEDOR
POPKIN Software & Systems Incorporated EUA - Fundada en 1987 y representada en
América Latina por CHOOSE TECHNOLOGIES - Sao Paulo - Brasil Rua Alexandre
Dumas, y Buenos Aires - Argentina Viamonte 759
REQUISITOS CLIENTE/SERVIDOR
• Windows IBM PC/AT 486DX-16 MB RAM; Disco rígido con al menos 50 Mb Libres
CD-ROM / VGA Color/Mouse
SNAP
36
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Modelo de Datos
37
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
El MDA es una plataforma de trabajo para ajustar, en forma individual, los programas
generados automáticamente en el Modelo de Datos. El MDA permite crear y mantener
programas nuevos.
Al igual que con el Modelo de Datos, al trabajar con MDA, el analista se sirve
estratégicamente de los elementos del Repositorio Central y lo actualiza con el resultado
de su gestión.
El MDA proporciona las herramientas necesarias para ajustar programas individuales,
con un altísimo grado de productividad y rendimiento, sin necesidad de recurrir a
lenguajes tradicionales. Estas herramientas incluyen, entre otras, un módulo de
especificación de procesos y lógica, y un formateador de informes.
Utilitarios
Entre las funciones que se ofrecen están las herramientas para definir los estándares de
la organización en SNAP, utilitario de regeneración automática de sistemas como
consecuencia de cambios en el modelo de datos, utilitarios de administración y control
de repositorio, comandos para salvar, restaurar y recrear sistemas o elementos del
repositorio central, documentación integral, y una gama de utilitarios misceláneos de
apoyo a la gestión de los analistas.
38
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Seguridad
39
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
• Desarrollo del Plan para el proceso total de adopción: Un plan y diseño para
el proceso total de posicionar estas herramientas al interior de cada componente
de la organización.
40
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
• Proyecto piloto: Los resultados de una prueba piloto controlada son prioritarios
al tomar una decisión final.
• Capacidad de la herramienta: La capacidad técnica de la herramienta, en
cuanto al entorno de hardware y software, de modo que satisfaga los objetivos
definidos en el contexto del alcance esperado.
• Cambiado moderado: Asegurar la viabilidad que la organización pueda operar
simultáneamente entre el viejo y nuevo métodos, hasta que los componentes de
la organización hayan cambiado totalmente hacia el nuevo método.
• Proceso de preparación:
El propósito de este proceso es el establecimiento de los objetivos generales de los
esfuerzos de adopción de herramientas CASE y establecer y definir los aspectos de
dirección y administración.
41
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
42
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
• Proceso de Transición:
43
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Seleccionar una Herramienta CASE no es una tarea simple. No existe una ‘mejor’
herramienta respecto de otra. Hay numerosas historias respecto al uso de CASE y las
fallas que pueden producirse. Las fallas o las respuestas satisfactorias están en relación
con las expectativas. Si el proceso de evaluación y selección de las Herramientas CASE
falla, entonces la Herramienta no cumplirá con las especificaciones o expectativas del
negocio. Esto puede ocurrir durante el proceso de implementación o ejecución del
producto.
El proceso en sí mismo:
44
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Otro requisito previo importante sería tener una metodología de desarrollo de sistemas
seleccionada. Sin una metodología, ingresará al largo camino del fracaso. Las
herramientas implementan la metodología, no la determinan.
Conocer la organización:
Cuando se está evaluando y seleccionando una herramienta CASE, es importante
conocer y entender a la organización. Tal como las personas son únicas, así también las
organizaciones son únicas a su propio modo, cada una tiene una personalidad e
infraestructura propias. Una empresa podría disciplinarse y alcanzar un nivel alto de
madurez en el proceso de diseño de software, mientras otra puede estar en las fases
tempranas. Sin tener en cuenta la disciplina y la madurez, es muy importante entender la
organización que se verá reflejada en la selección final.
45
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Consideraciones Importantes
46
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
Las principales líneas de evolución hacia las que parecen encaminarse las herramientas
CASE son:
CASE para sistemas bajo arquitectura cliente/servidor. No hay que confundir el hecho
de que una herramienta CASE funcione en un entorno de arquitectura cliente/servidor,
con que el sistema desarrollado mediante una herramienta CASE vaya a funcionar bajo
dicha arquitectura.
En la actualidad ya hay ejemplos de los dos casos, herramientas CASE que funcionan
bajo un entorno cliente/servidor, en red y con un repositorio centralizado en un servidor
y herramientas CASE que generan aplicaciones que funcionan en un entorno
cliente/servidor, en las cuales se puede indicar dónde deben residir los componentes de
la aplicación en tiempo de ejecución, liberando al programador de aspectos referidos a
los protocolos de comunicaciones, seguridad, interfases gráficas de usuario, etc.
47
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
CASE para ingeniería inversa y directa. Ya existen algunas herramientas de este tipo.
Su evolución marcará notables mejoras en la obtención de los diseños a partir del
código ya existente (ingeniería inversa) y la regeneración del mismo, una vez
optimizado el diseño (ingeniería directa).
48
INSTITUTO TECNÓLOGICO DAVID AUSUBEL INFORMATICA
como tal, necesita ser tratada cuidadosamente, tanto por las empresas u organismos,
como por los fabricantes de tecnologías que proporcionan las soluciones.
Bibliografía
El Analista de Sistemas
Grupo de Estudios AS – http://members.xoom.com/analista/portada.htm
Revista, Tecnología de Punta
Ing. Víctor Castañeda Guzmán
Herramientas para el Desarrollo de Sistemas de Información
Instituto Nacional de Estadística e Informática
Power Designer
http://www.sybase.com/products/powerdesigner
Oracle Designer
http://www.oracle.com/tools/designer/quicktour/contents.htm#features
Erwin
http://www.platinum.com/products/brochure/als/b_erwin.htm
System Architect
http://www.popkin.com/products/sa2001/product.htm
The Case Tool Home Page
http://osiris.sunderland.ac.uk/sst/case2/
Herramientas CASE
http://www.geocities.com/SiliconValley/Bit/6238/index.htm
49