Trabajo ricardo rivadeneira, nexar mendoza .

10
Herramientas Case De acuerdo con Kendall y Kendall la ingeniería de sistemas asistida por ordenador es la aplicación de tecnología informática a las actividades, las técnicas y las metodologías propias de desarrollo, su objetivo es acelerar el proceso para el que han sido diseñadas, en el caso de CASE para automatizar o apoyar una o mas fases del ciclo de vida del desarrollo de sistemas. Cuando se hace la planificación de la base de datos, la primera etapa del ciclo de vida de las aplicaciones de bases de datos, también se puede escoger una herramienta CASE (Computer-Aided SoftwareEngineering) que permita llevar a cabo el resto de tareas del modo más eficiente y efectivo posible. Una herramienta CASE suele incluir: Un diccionario de datos para almacenar información sobre los datos de la aplicación de bases de datos. Herramientas de diseño para dar apoyo al análisis de datos. Herramientas que permitan desarrollar el modelo de datos corporativo, así como los esquemas conceptual y lógico. Herramientas para desarrollar los prototipos de las aplicaciones. El uso de las herramientas CASE puede mejorar la productividad en el desarrollo de una aplicación de bases de datos. 4. Tecnología Case La tecnología CASE supone la automatizacióndel desarrollo del software , contribuyendo a mejorar la calidad y la productividad en el desarrollo de sistemas de información y se plantean los siguientes objetivos: Permitir la aplicación práctica de metodologías estructuradas, las cuales al ser realizadas con una herramienta se consigue agilizar el trabajo. Facilitar la realización de prototipos y el desarrollo conjunto de aplicaciones. Simplificar el mantenimiento de los programas. Mejorar y estandarizar la documentación. Aumentar la portabilidad de las aplicaciones. Facilitar la reutilización de componentes software. Permitir un desarrollo y un refinamiento visual de las aplicaciones, mediante la utilización de gráficos. Automatizar: Ø El desarrollo del software Ø La documentación

description

 

Transcript of Trabajo ricardo rivadeneira, nexar mendoza .

Page 1: Trabajo  ricardo rivadeneira, nexar mendoza .

Herramientas Case

De acuerdo con Kendall y Kendall la ingeniería de sistemas asistida por ordenador es la aplicación de tecnología informática a las actividades, las técnicas y las metodologías propias de desarrollo, su objetivo es acelerar el proceso para el que han sido diseñadas, en el caso de CASE para automatizar o apoyar una o mas fases del ciclo de vida del desarrollo de sistemas.

Cuando se hace la planificación de la base de datos, la primera etapa del ciclo de vida de las aplicaciones de bases de datos, también se puede escoger una herramienta CASE (Computer-Aided SoftwareEngineering) que permita llevar a cabo el resto de tareas del modo más eficiente y efectivo posible. Una herramienta CASE suele incluir:

Un diccionario de datos para almacenar información sobre los datos de la aplicación de bases de datos.

Herramientas de diseño para dar apoyo al análisis de datos. Herramientas que permitan desarrollar el modelo de datos corporativo, así como los

esquemas conceptual y lógico. Herramientas para desarrollar los prototipos de las aplicaciones.

El uso de las herramientas CASE puede mejorar la productividad en el desarrollo de una aplicación de bases de datos.

4. Tecnología Case

La tecnología CASE supone la automatizacióndel desarrollo del software, contribuyendo a mejorar la calidad y la productividad en el desarrollo de sistemas de información y se plantean los siguientes objetivos:

Permitir la aplicación práctica de metodologías estructuradas, las cuales al ser realizadas con una herramienta se consigue agilizar el trabajo.

Facilitar la realización de prototipos y el desarrollo conjunto de aplicaciones. Simplificar el mantenimiento de los programas. Mejorar y estandarizar la documentación. Aumentar la portabilidad de las aplicaciones. Facilitar la reutilización de componentes software. Permitir un desarrollo y un refinamiento visual de las aplicaciones, mediante la

utilización de gráficos.

Automatizar:

Ø El desarrollo del software Ø La documentación

Page 2: Trabajo  ricardo rivadeneira, nexar mendoza .

Ø La generación del código Ø El chequeo de errores Ø La gestióndel proyecto

Permitir: Ø La reutilización del software Ø La portabilidad del software Ø La estandarización de la documentación

5. Componentes de una herramienta case

De una forma esquemática podemos decir que una herramienta CASE se compone de los siguientes elementos:

Repositorio (diccionario) donde 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.

Meta modelo (no siempre visible), que constituye el marco para la definición de las técnicas y metodologías soportadas por la herramienta.

Carga o descarga de datos, son facilidades que permiten cargar el repertorio de la herramienta CASE con datos provenientes de otros sistemas, o bien generar a partir de la propia herramienta esquemas de base de datos, programas, etc. que pueden, a su vez, alimentar otros sistemas. Este elemento proporciona así un medio de comunicación con otras herramientas.

Comprobación de errores, facilidades que permiten llevar a cabo un análisis de la exactitud, integridad y consistencia de los esquemas generados por la herramienta.

Interfaz de usuario, que constará de editores de texto y herramientas de diseño gráfico que permitan, mediante la utilización de un sistema de ventanas, iconos y menús, con la ayuda del ratón, definir los diagramas, matrices, etc. que incluyen las distintas metodologías.

6. Estructura general de una herramienta case

La estructura CASE se basa en la siguiente terminología:

CASE de alto nivel son aquellas herramientas que automatizan o apoyan las fases finales o superiores del ciclo de vida del desarrollo de sistemas como la planificación de sistemas, el análisis de sistemas y el diseño de sistemas.

CASE de bajo nivel son aquellas herramientas que automatizan o apoyan las fases finales o inferiores del ciclo de vida como el diseño detallado de sistemas, la implantación de sistemas y el soporte de sistemas.

CASE cruzado de ciclo de vida se aplica a aquellas herramientas que apoyan actividades que tienen lugar a lo largo de todo el ciclo de vida, se incluyen actividades como la gestión de proyectos y la estimación.

7. Estado Actual

En las últimas décadas se ha trabajado en el área de desarrollo de sistemas para encontrar técnicas que permitan incrementar la productividad y el control de calidad en cualquier proceso de elaboración de software, y hoy en día la tecnología CASE

Page 3: Trabajo  ricardo rivadeneira, nexar mendoza .

(Computer Aided Software Engineering) reemplaza al papel y al lápiz por el ordenador para transformar la actividad de desarrollar software en un proceso automatizado.

La tecnología CASE supone la –informatización de la informática—es decir –la automatización del desarrollo del software--, contribuyendo así a elevar la productividad y la calidad de en el desarrollo de los sistemas de información de forma análoga a lo que suponen las técnicas CAD/CAM en el área de fabricación. En este nuevo enfoque que persigue mejorar la calidad del software e incrementar la productividad en el proceso de desarrollo del mismo, se plantean los siguientes objetivos: <<> Permitir la aplicación práctica de metodologías, lo que resulta muy difícil sin emplear herramientas. <<> Facilitar la realización de prototipos y el desarrollo conjunto de aplicaciones. <<> Simplificar el mantenimiento del software.

Mejorar y estandarizar la documentación. Aumentar la portabilidad de las aplicaciones. Facilitar la reutilización de componentes de software Permitir un desarrollo y un refinamiento (visual) de las aplicaciones, mediante la

utilización de controles gráficos (piezas de código reutilizables).

8. Integración de las herramientas case en el futuro

Las herramientas CASE evolucionan hacia tres tipos de integración:

1. La integración de datos permite disponer de herramientas CASE con diferentes estructuras de diccionarios locales para el intercambio de datos.

2. 3. La integración de presentación confiere a todas las herramientas CASE el mismo

aspecto. 4. La integración de herramientas permite disponer de herramientas CASE capaces

de invocar a otras CASE de forma automática.

9. Clasificación de las herramientas case

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. CASE es una combinación de herramientas software (aplicaciones) y de metodologías de desarrollo : 1. Las herramientas permiten automatizar el proceso de desarrollo del software. 2. Las metodologías definen los procesos automatizar. Una primera clasificación del 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

Page 4: Trabajo  ricardo rivadeneira, nexar mendoza .

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. 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 de Planes Corporativos. MIDDLE CASE: Análisis y Diseño. LOWER CASE: Generación de código, test e implantación

10. Características Deseables De Una Case

Una herramienta CASE cliente / servidor provee modelo de datos, generación de código, registrodel ciclo de vida de los proyectos, comunicación entre distintos ingenieros. Las principales herramientas son KnowledgeWare’s Application Development Workbench, TI’s, Information Engineering Facility (IEF), y Andersen Consulting’s Foundation for Cooperative Processing. Deberes de una herramienta CASE Cliente / servidor: Ø Proporcionar topologíasde aplicación flexibles. La herramienta debe proporcionar facilidades de construcción que permita separar la aplicación (en muchos puntos diferentes) entre el cliente, el servidor y más importante, entre servidores. Ø Proporcionar aplicaciones portátiles. La herramienta debe generar código para Windows, OS/ 2, Macintosh, Unix y todas las plataformas de servidores conocidas. Debe ser capaz, a tiempo de corrida, desplegar la versión correcta del código en la máquina apropiada. Ø Control de Versión. La herramienta debe reconocer las versiones de códigos que se ejecutan en los clientes y servidores, y asegurarse que sean consistentes. También, la herramienta debe ser capaz de controlar un gran número de tipos de objetos incluyendo texto, gráficos, mapas de bits, documentos complejos y objetos únicos, tales como definiciones de pantallas y de informes, archivos de objetos y datos de prueba y resultados. Debe mantener versiones de objetos con niveles arbitrarios de granularidad; por ejemplo, una única definición de datos o una agrupación de módulos. Ø Crear código compilado en el servidor. La herramienta debe ser capaz de compilar automáticamente código 4GL en el servidor para obtener el máximo performance. Ø Trabajar con una variedad de administradores de recurso. La herramienta debe adaptarse ella misma a los administradores de recurso que existen en varios servidores de la red; su interacción con los administradores de recurso debería ser negociable a tiempo de ejecución. Ø Trabajar con una variedad de software intermedios. La herramienta debe adaptar sus comunicaciones cliente / servidor al software intermedio existente. Como mínimo la herramienta debería ajustar los temporizadores basándose en, si el tráfico se está moviendo en una LAN o WAN. Ø Soporte multiusuarios. La herramienta debe permitir que varios diseñadores trabajen en una aplicación simultáneamente. Debe gestionarse los accesos concurrentes a la base de datos por diferentes usuarios, mediante el arbitrio y bloqueos de accesos a nivel de archivo o de registro. Ø Seguridad. La herramienta debe proporcionar mecanismos para controlar el acceso y las modificaciones a los que contiene. La herramienta debe, al menos, mantener

Page 5: Trabajo  ricardo rivadeneira, nexar mendoza .

contraseñas y permisos de acceso en distintos niveles para cada usuario. También debe facilitar la realización automática de copias de seguridad y recuperaciones de las mismas, así como el almacenamiento de grupos de información determinados, por ejemplo, por proyecto o aplicaciones. Ø Desarrollo en equipo, repositorio de librerías compartidas. Debe permitir que grupos de programadores trabajen en un proyecto común; debe proveer facilidades de check-in/ check-out registrar formas, widgets, controles, campos, objetos de negocio, DLL, etc.; debe proporcionar un mecanismo para compartir las librerías entre distintos realizadores y múltiples herramientas; Gestiona y controla el acceso multiusuario a los datos y bloquea los objetos para evitar que se pierdan modificaciones inadvertidamente cuando se realizan simultáneamente.

11. Factores asociados a la implantación de las herramientas case

La difusión de las innovaciones en esta área ha comenzado a estudiarse a partir de los años 1940. Por ello, existen estudios teóricos al respecto, realizándose evaluaciones, adopción e implementación tecnológica.

Existe un amplio cuerpo de investigaciones disponibles sobre la adopción de innovaciones. Muchos de los estudios sobre innovación se han analizado bajo dos perspectivas: adopción y difusión (Kimberly, 1981). Mientras unos estudios usan la perspectiva de la adopción para evaluar la receptividad y los cambios de la organización o sociedad por la innovación, otros usan la perspectiva de la difusión para intentar entender por qué y cómo se difunde y qué características generales o principales de la innovación son aceptadas.

6. Ejemplos de Herramientas Case más utilizadas. ERwin: PLATINUM ERwin es una herramienta para el diseño de base de datos, que

Brinda productividaden su diseño, generación, y mantenimiento de aplicaciones. Desde un modelo lógico de los requerimientos de información, hasta el modelo físico perfeccionado para las características específicas de la base de datos diseñada, además ERwin permite visualizar la estructura, los elementos importantes, y optimizar el diseño de la base de datos. Genera automáticamente las tablas y miles de líneas de stored procedure y triggers para los principales tipos de base de datos.

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 (Entidad _ relació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.

La migraciónautomática garantiza la integridad referencial de la base de datos. ERwin establece una conexión entre una base de datos diseñada y una base de datos, permitiendo transferencia entre ambas y la aplicación de ingeniería reversa. Usando esta conexión, ERwin genera automáticamente tablas, vistas, índices, reglas de integridad referencial (llaves primarias, llaves foráneas), valores por defecto y restricciones de campos y dominios.

ERwin soporta principalmente bases de datos relacionales SQL y bases de datos que incluyen Oracle, Microsoft SQL Server, Sybase. El mismo modelo puede ser

Page 6: Trabajo  ricardo rivadeneira, nexar mendoza .

usado para generar múltiples bases de datos, o convertir una aplicación de una plataforma de base de datos a otra.

Software para Aplicaciones Compatibles: * NetDynamics * PowerBuilder * PROGRESS * Visual Basic Bases de Datos Compatibles: * CA-Clipper * CA-OpenIngres * DB2 for MVS * DB2 for OS/390, * DB2 UDB * dBASE * FoxPro * HiRDB, * Informix * InterBase, * Microsoft Access * Microsoft SQL Server, * Oracle * Paradox, * Rdb * red Brick Warehouse, * SAS * SQL Anywhere, * SQLBase * Sybase, * Teradata Sistemas Operativos Compatibles: * Windows NT * Windows 95 * Windows 98 Requerimientos Técnicos: Mínimo 10 MB de espacio de disco duro, 16 MB RAM (32 MB RAM

recomendado para modelos largos.) EasyCASE EasyCASE Profesional - el centro de productos para procesos, modelamiento de

datos y eventos, e Ingeniería de Base de Datos- es un producto para la generación de esquemas de base de datos e ingeniería reversa - trabaja para proveer una solución comprensible para el diseño, consistencia y documentación del sistema en conjunto.

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 el procesamiento de transacciones a la aplicación de bases de datos de cliente/servidor, así como sistemas de tiempo real.

EasyCASE Profesional, una herramienta multi-usuario, es ideal para aquellos que necesitan compartir datos y trabajar en un proyectocon otros departamentos. El equipo completo puede acceder proyectos localizados en el servidor de la red concurrentemente. Para asegurar la seguridad de los datos, existe el diagrama y diccionario de los datos que bloquean por niveles al registro, al archivoy al proyecto, y niveles de control de acceso.

Base de datos que soporta: * Oracle * Paradox * Progress * SQLBase * SQL Server * Sybase * Watcom SQL * Access

Page 7: Trabajo  ricardo rivadeneira, nexar mendoza .

* ANSI SQL * Clipper * dBASE III, IV, V * DB2 * FoxPro * Informix Requerimientos del sistema: EasyCASE Professional 4.2 o superior requiere: EasyCASE Database Engineer; PC’s 386/486/Pentium y compatibles; Microsoft

Windows 3.1 o superior, 8 MB RAM, 8 MB de espacio en disco duro; VGA o mejor color.

Oracle Designer: Oracle Designer es un conjunto de herramientas para guardar las definiciones

que necesita el usuario y automatizar la construcción rápida de aplicaciones cliente/servidor gráficas. Integrado con Oracle Developer, Oracle Designer, que provee una solución para desarrollar sistemas empresariales de segunda generación.

Todos los datos ingresados por cualquier herramienta de Oracle Designer, en

cualquier fase de desarrollo, se guardan en un repositorio central, habilitando el trabajo fácil del equipo y la dirección del proyecto.

En el lado del Servidor, Oracle Designer soporta la definición, generación y captura de diseño de los siguientes tipos de bases de datos, por conexión de Oracle:

Oracle8, Oracle7

Personal Oracle Lite

Rdb

ANSI 92

DB2/2 and MVS

Microsoft SQL Server

Sybase System Architect Esta herramienta 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.

Posee control automático de diagramas y datos, normalizaciones y balanceamiento entre diagramas "Padre e Hijo", además de balanceamiento horizontal, que trabaja integrado con el diccionario de datos, asegurando la compatibilidad entre el Modelo de Datos y el Modelo Funcional.

El System Architect Traduce modelos de entidades en esquemas para: * Sybase * DB2 * Oracle u Oracle 7 * Ingress * SQL Server * RDB * XDB * Progress * Paradox

Page 8: Trabajo  ricardo rivadeneira, nexar mendoza .

* SQL Base * AS400 * Interbase * OS/2 * DBMS * Dbase 111 * Informix Esta herramienta también Genera en 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, además Posee esquemas de seguridad e integridad a través de contraseñas que posibilitan el acceso al sistema en diversos niveles, pudiéndose integrar a la seguridad de la red.

EL LENGUAJE UNIFICADO DE MODELADO (UML)

En todas las disciplinas de la Ingeniería se hace evidente la importancia de los modelos ya que describen el aspecto y la conducta de "algo". Ese "algo" puede existir, estar en un estado de desarrollo o estar, todavía, en un estado de planeación. Es en este momento cuando los diseñadores del modelo deben investigar los requerimientos del producto terminado y dichos requerimientos pueden incluir áreas tales como funcionalidad, performance y confiabilidad. Además, a menudo, el modelo es dividido en un número de vistas, cada una de las cuales describe un aspecto específico del producto o sistema en construcción.

El modelado sirve no solamente para los grandes sistemas, aun en aplicaciones de pequeño tamaño se obtienen beneficios de modelado, sin embargo es un hecho que entre más grande y más complejo es el sistema, más importante es el papel de que juega el modelado por una simple razón: "El hombre hace modelos de sistemas complejos porque no puede entenderlos en su totalidad".

UML es una técnica para la especificación sistemas en todas sus fases. Nació en 1994 cubriendo los aspectos principales de todos los métodos de diseño antecesores y, precisamente, los padres de UML son Grady Booch, autor del método Booch; James Rumbaugh, autor del método OMT e Ivar Jacobson, autor de los métodos OOSE y Objectory. La versión 1.0 de UML fue liberada en Enero de 1997 y ha sido utilizado con éxito en sistemas construidos para toda clase de industrias alrededor del mundo: hospitales, bancos, comunicaciones, aeronáutica, finanzas, etc.

Page 9: Trabajo  ricardo rivadeneira, nexar mendoza .

Los principales beneficios de UML son:

Mejores tiempos totales de desarrollo (de 50 % o más). Modelar sistemas (y no sólo de software) utilizando conceptos orientados a

objetos. Establecer conceptos y artefactos ejecutables. Encaminar el desarrollo del escalamiento en sistemas complejos de misión

crítica. Crear un lenguaje de modelado utilizado tanto por humanos como por

máquinas. Mejor soporte a la planeación y al control de proyectos. Alta reutilización y minimización de costos.

SISTEMAS

"Sistema es una colección organizada de hombres, máquinas y métodos necesaria para cumplir un objetivo específico".

Resumiendo, de las definiciones se pueden extraer unos aspectos fundamentales:

La existencia de elementos diversos e interconectados El carácter de unidad global del conjunto La existencia de objetivos asociados al mismo La integración del conjunto en un entorno

Todos estos aspectos forman parte intrínseca del concepto sistema.

elementos organizadas y relacionadas que interactúan entre sí para lograr un objetivo.

Los sistemas reciben (entrada) datos, energía o materia del ambiente y proveen

(salida) información, energía o materia.

Un sistema puede ser físico o concreto (una computadora, un televisor, un humano) o

puede ser abstracto o conceptual (un software)

Cada sistema existe dentro de otro más grande, por lo tanto un sistema puede estar

Page 10: Trabajo  ricardo rivadeneira, nexar mendoza .

formado por subsistemas y partes, y a la vez puede ser parte de un supersistema.

Los sistemas tienen límites o fronteras, que los diferencian del ambiente. Ese límite

puede ser físico (el gabinete de una computadora) o conceptual. Si hay algún

intercambio entre el sistema y el ambiente a través de ese límite, el sistema es abierto,

de lo contrario, el sistema es cerrado.