Herramientas CASE Y UML

Embed Size (px)

Citation preview

  • 7/25/2019 Herramientas CASE Y UML

    1/7

    1. Herramientas Case De acuerdo con Kendall y Kendall la

    ingeniera de sistemas asistida por ordenador 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 el caso de CASE para automatizar o apoyar una o mas fases

    del ciclo de vida del desarrollo de sistemas. Cuando se hace la planificacin

    de la base de datos, la primera etapa del ciclo de vida de las aplicaciones de

    bases de datos, tambin se puede escoger una herramienta CASE

    (Computer-Aided SoftwareEngineering) que permita llevar a cabo el resto de

    tareas del modo ms eficiente y efectivo posible. Una herramienta CASE

    suele incluir: Un diccionario de datos para almacenar informacin sobre los

    datos de la aplicacin de bases de datos. Herramientas de diseo para dar

    apoyo al anlisis de datos. Herramientas que permitan desarrollar el modelo

    de datos corporativo, as como los esquemas conceptual y lgico.

    Herramientas para desarrollar los prototipos de las aplicaciones. El uso de

    las herramientas CASE puede mejorar la productividad en el desarrollo de

    una aplicacin de bases de datos. 4. Tecnologa Case La tecnologa CASE

    supone la automatizacindel desarrollo del software, contribuyendo a

    mejorar la calidad y la productividad en el desarrollo de sistemas de

    informacin y se plantean los siguientes objetivos: Permitir la aplicacin

    prctica de metodologas estructuradas, las cuales al ser realizadas con una

    herramienta se consigue agilizar el trabajo. Facilitar la realizacin de

    prototipos y el desarrollo conjunto de aplicaciones. Simplificar el

    mantenimiento de los programas. Mejorar y estandarizar la documentacin.

    Aumentar la portabilidad de las aplicaciones. Facilitar la reutilizacin de

    componentes software. Permitir un desarrollo y un refinamiento visual de las

    aplicaciones, mediante la utilizacin de grficos. Automatizar: El desarrollo

    del software La documentacin

    2. La generacin del cdigo El chequeo de errores La

    gestindel proyecto Permitir: La reutilizacin del software La

    portabilidad del software La estandarizacin de la documentacin 5.

    Componentes de una herramienta case De una forma esquemtica

    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 gestin se realiza mediante el

    apoyo de un Sistema de Gestin de Base de Datos (SGBD) o de un sistema

    de gestin de ficheros. Meta modelo (no siempre visible), que constituye el

    marco para la definicin de las tcnicas y metodologas 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 comunicacin con

    otras herramientas. Comprobacin de errores, facilidades que permiten

    llevar a cabo un anlisis 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 diseo grfico que permitan,

  • 7/25/2019 Herramientas CASE Y UML

    2/7

    mediante la utilizacin de un sistema de ventanas, iconos y mens, con la

    ayuda del ratn, definir los diagramas, matrices, etc. que incluyen las

    distintas metodologas. 6. Estructura general de una herramienta case La

    estructura CASE se basa en la siguiente terminologa: 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 planificacin

    de sistemas, el anlisis de sistemas y el diseo de sistemas. CASE de bajo

    nivel son aquellas herramientas que automatizan o apoyan las fases finales

    o inferiores del ciclo de vida como el diseo detallado de sistemas, la

    implantacin 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

    gestin de proyectos y la estimacin. 7. Estado Actual En las ltimas

    dcadas se ha trabajado en el rea de desarrollo de sistemas para encontrar

    tcnicas que permitan incrementar la productividad y el control de calidad en

    cualquier proceso de elaboracin de software, y hoy en da la tecnologa

    CASE

    3. (Computer Aided Software Engineering) reemplaza al papel y al

    lpiz por el ordenador para transformar la actividad de desarrollar software

    en un proceso automatizado. La tecnologa CASE supone la

    informatizacin de la informticaes decir la automatizacin del desarrollo

    del software--, contribuyendo as a elevar la productividad y la calidad de en

    el desarrollo de los sistemas de informacin de forma anloga a lo que

    suponen las tcnicas CAD/CAM en el rea de fabricacin. 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:

  • 7/25/2019 Herramientas CASE Y UML

    3/7

    permiten automatizar el proceso de desarrollo del software. 2. Las

    metodologas definen los procesos automatizar. Una primera clasificacin

    del CASE es considerando su amplitud : TOOLKIT: es una coleccin de

    herramientas integradas que permiten automatizar un conjunto de tareas de

    algunas de las fases del ciclo de vida del sistema informtico: Planificacin

    estratgica, Anlisis, Diseo, Generacin de programas. WORKBENCH:

    Son conjuntos integrados de herramientas que dan soporte a la

    4. automatizacin del proceso completo de desarrollo del sistema

    informtico. Permiten cubrir el ciclo de vida completo. El producto final

    aportado por ellas es un sistema en cdigo ejecutable y su documentacin.

    Una segunda clasificacin es teniendo en cuenta las fases (y/o tareas) del

    ciclo de vida que automatizan: UPPER CASE: Planificacin estratgica,

    Requerimientos de Desarrollo Funcional de Planes Corporativos. MIDDLE

    CASE: Anlisis y Diseo. LOWER CASE: Generacin de cdigo, test e

    implantacin 10. Caractersticas Deseables De Una Case Una herramienta

    CASE cliente / servidor provee modelo de datos, generacin de cdigo,

    registrodel ciclo de vida de los proyectos, comunicacin entre distintosingenieros. Las principales herramientas son KnowledgeWares Application

    Development Workbench, TIs, Information Engineering Facility (IEF), y

    Andersen Consultings Foundation for Cooperative Processing. Deberes de

    una herramienta CASE Cliente / servidor: Proporcionar topologasde

    aplicacin flexibles. La herramienta debe proporcionar facilidades de

    construccin que permita separar la aplicacin (en muchos puntos

    diferentes) entre el cliente, el servidor y ms importante, entre servidores.

    Proporcionar aplicaciones porttiles. La herramienta debe generar cdigo

    para Windows, OS/ 2, Macintosh, Unix y todas las plataformas de servidores

    conocidas. Debe ser capaz, a tiempo de corrida, desplegar la versin

    correcta del cdigo en la mquina apropiada. Control de Versin. Laherramienta debe reconocer las versiones de cdigos que se ejecutan en los

    clientes y servidores, y asegurarse que sean consistentes. Tambin, la

    herramienta debe ser capaz de controlar un gran nmero de tipos de objetos

    incluyendo texto, grficos, 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 definicin de

    datos o una agrupacin de mdulos. Crear cdigo compilado en el

    servidor. La herramienta debe ser capaz de compilar automticamente

    cdigo 4GL en el servidor para obtener el mximo 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 interaccin con los administradores de recurso

    debera ser negociable a tiempo de ejecucin. Trabajar con una variedad

    de software intermedios. La herramienta debe adaptar sus comunicaciones

    cliente / servidor al software intermedio existente. Como mnimo la

    herramienta debera ajustar los temporizadores basndose en, si el trfico

    se est moviendo en una LAN o WAN. Soporte multiusuarios. La

    herramienta debe permitir que varios diseadores trabajen en una aplicacin

  • 7/25/2019 Herramientas CASE Y UML

    4/7

    simultneamente. 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

    5. contraseas y permisos de acceso en distintos niveles para cada

    usuario. Tambin debe facilitar la realizacin automtica de copias de

    seguridad y recuperaciones de las mismas, as como el almacenamiento de

    grupos de informacin determinados, por ejemplo, por proyecto o

    aplicaciones. Desarrollo en equipo, repositorio de libreras compartidas.

    Debe permitir que grupos de programadores trabajen en un proyecto comn;

    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 libreras entre distintos realizadores y

    mltiples herramientas; Gestiona y controla el acceso multiusuario a los

    datos y bloquea los objetos para evitar que se pierdan modificaciones

    inadvertidamente cuando se realizan simultneamente. 11. Factoresasociados a la implantacin de las herramientas case La difusin de las

    innovaciones en esta rea ha comenzado a estudiarse a partir de los aos

    1940. Por ello, existen estudios tericos al respecto, realizndose

    evaluaciones, adopcin e implementacin tecnolgica. Existe un amplio

    cuerpo de investigaciones disponibles sobre la adopcin de innovaciones.

    Muchos de los estudios sobre innovacin se han analizado bajo dos

    perspectivas: adopcin y difusin (Kimberly, 1981). Mientras unos estudios

    usan la perspectiva de la adopcin para evaluar la receptividad y los

    cambios de la organizacin o sociedad por la innovacin, otros usan la

    perspectiva de la difusin para intentar entender por qu y cmo se difunde

    y qu caractersticas generales o principales de la innovacin sonaceptadas. 6. Ejemplos de Herramientas Case ms utilizadas. ERwin:

    PLATINUM ERwin es una herramienta para el diseo de base de datos, que

    Brinda productividaden su diseo, generacin, y mantenimiento de

    aplicaciones. Desde un modelo lgico de los requerimientos de informacin,

    hasta el modelo fsico perfeccionado para las caractersticas especficas de

    la base de datos diseada, adems ERwin permite visualizar la estructura,

    los elementos importantes, y optimizar el diseo de la base de datos.

    Genera automticamente las tablas y miles de lneas de stored procedure y

    triggers para los principales tipos de base de datos. ERwin hace fcil el

    diseo de una base de datos. Los diseadores de bases de datos slo

    apuntan y pulsan un botn para crear un grfico del modelo E-R (Entidad _

    relacin) de todos sus requerimientos de datos y capturar las reglas de

    negocio en un modelo lgico, mostrando todas las entidades, atributos,

    relaciones, y llaves importantes. La migracinautomtica garantiza la

    integridad referencial de la base de datos. ERwin establece una conexin

    entre una base de datos diseada y una base de datos, permitiendo

    transferencia entre ambas y la aplicacin de ingeniera reversa. Usando esta

    conexin, ERwin genera automticamente tablas, vistas, ndices, reglas de

    integridad referencial (llaves primarias, llaves forneas), valores por defecto

  • 7/25/2019 Herramientas CASE Y UML

    5/7

    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

    6. usado para generar mltiples bases de datos, o convertir una

    aplicacin 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 Tcnicos: Mnimo 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 Ingeniera de Base de

    Datos- es un producto para la generacin de esquemas de base de datos e

    ingeniera reversa - trabaja para proveer una solucin comprensible para eldiseo, consistencia y documentacin del sistema en conjunto. Esta

    herramienta permite automatizar las fases de anlisis y diseo dentro del

    desarrollo de una aplicacin, para poder crear las aplicaciones eficazmente

    desde el procesamiento de transacciones a la aplicacin 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 quesoporta: * Oracle * Paradox * Progress * SQLBase * SQL Server * Sybase *

    Watcom SQL * Access

    7. * ANSI SQL * Clipper * dBASE III, IV, V * DB2 * FoxPro * Informix

    Requerimientos del sistema: EasyCASE Professional 4.2 o superior

    requiere: EasyCASE Database Engineer; PCs 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 construccin rpida de aplicaciones cliente/servidor

    grficas. Integrado con Oracle Developer, Oracle Designer, que provee una

    solucin para desarrollar sistemas empresariales de segunda generacin.

    Todos los datos ingresados por cualquier herramienta de Oracle Designer,

    en cualquier fase de desarrollo, se guardan en un repositorio central,

    habilitando el trabajo fcil del equipo y la direccin del proyecto. En el lado

    del Servidor, Oracle Designer soporta la definicin, generacin y captura de

    diseo de los siguientes tipos de bases de datos, por conexin de Oracle:

    Oracle8, Oracle7 Personal Oracle Lite Rdb ANSI 92 DB2/2 and MVS

    Microsoft SQL Server Sybase System Architect Esta herramienta posee un

  • 7/25/2019 Herramientas CASE Y UML

    6/7

    repositorio nico que integra todas las herramientas, y metodologas usadas.

    En la elaboracin de los diagramas, el System Architect conecta

    directamente al diccionario de datos, los elementos asociados, comentarios,

    reglas de validaciones, normalizacin, etc. Posee control automtico de

    diagramas y datos, normalizaciones y balanceamiento entre diagramas

    "Padre e Hijo", adems 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

    8. * SQL Base * AS400 * Interbase * OS/2 * DBMS * Dbase 111 *

    Informix Esta herramienta tambin Genera en Windows DDL, definiciones de

    datos para lenguaje C/C++ y estructuras de datos en Cobol. En esta ultima

    versin del System Architect es posible a travs de ODBC, la creacin de

    bases de datos a partir del modelo de entidades, adems Posee esquemas

    de seguridad e integridad a travs de contraseas que posibilitan el acceso

    al sistema en diversos niveles, pudindose integrar a la seguridad de la red.EL LENGUAJE UNIFI CADO DE MODELADO (UML) En todas las

    disciplinas de la Ingeniera 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, todava, en un estado de

    planeacin. Es en este momento cuando los diseadores del modelo deben

    investigar los requerimientos del producto terminado y dichos requerimientos

    pueden incluir reas tales como funcionalidad, performance y confiabilidad.

    Adems, a menudo, el modelo es dividido en un nmero de vistas, cada una

    de las cuales describe un aspecto especfico del producto o sistema en

    construccin. El modelado sirve no solamente para los grandes sistemas,

    aun en aplicaciones de pequeo tamao se obtienen beneficios demodelado, sin embargo es un hecho que entre ms grande y ms complejo

    es el sistema, ms importante es el papel de que juega el modelado por una

    simple razn: "El hombre hace modelos de sistemas complejos porque no

    puede entenderlos en su totalidad". UML es una tcnica para la

    especificacin sistemas en todas sus fases. Naci en 1994 cubriendo los

    aspectos principales de todos los mtodos de diseo antecesores y,

    precisamente, los padres de UML son Grady Booch, autor del mtodo

    Booch; James Rumbaugh, autor del mtodo OMT e Ivar Jacobson, autor de

    los mtodos OOSE y Objectory. La versin 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, aeronutica, finanzas, etc.

    9. Los principales beneficios de UML son: Mejores tiempos totales

    de desarrollo (de 50 % o ms). Modelar sistemas (y no slo de software)

    utilizando conceptos orientados a objetos. Establecer conceptos y artefactos

    ejecutables. Encaminar el desarrollo del escalamiento en sistemas

    complejos de misin crtica. Crear un lenguaje de modelado utilizado tanto

    por humanos como por mquinas. Mejor soporte a la planeacin y al control

  • 7/25/2019 Herramientas CASE Y UML

    7/7

    de proyectos. Alta reutilizacin y minimizacin de costos. SISTEMAS

    "Sistema es una coleccin organizada de hombres, mquinas y mtodos

    necesaria para cumplir un objetivo especfico". Resumiendo, de las

    definiciones se pueden extraer unos aspectos fundamentales: La existencia

    de elementos diversos e interconectados El carcter de unidad global del

    conjunto La existencia de objetivos asociados al mismo La integracin del

    conjunto en un entorno Todos estos aspectos forman parte intrnseca del

    concepto sistema. elementos organizadas y relacionadas que interactan

    entre s para lograr un objetivo. Los sistemas reciben (entrada) datos,

    energa o materia del ambiente y proveen (salida) informacin, energa o

    materia. Un sistema puede ser fsico o concreto (una computadora, un

    televisor, un humano) o puede ser abstracto o conceptual (un software)

    Cada sistema existe dentro de otro ms grande, por lo tanto un sistema

    puede estar

    10. formado por subsistemas y partes, y a la vez puede ser parte

    de un supersistema. Los sistemas tienen lmites o fronteras, que los

    diferencian del ambiente. Ese lmite puede ser fsico (el gabinete de unacomputadora) o conceptual. Si hay algn intercambio entre el sistema y el

    ambiente a travs de ese lmite, el sistema es abierto, de lo contrario, el

    sistema es cerrado.