Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Intro Case SA
Intro Case SA
Variaciones del acrnimo CASE Esencialmente, un CASE es una herramienta que ayuda al ingeniero de software a desarrollar y mantener software. A continuacin se presentan algunas definiciones dadas para el trmino CASE. En Terminology for Software Engineering and Computer-aided Software Engineering by B.Terry & D.Logee, Software Engineering Notes, Abril 1990, CASE es definido como: Herramientas individuales para ayudar al desarrollador de software o administrador de proyecto durante una o ms fases del desarrollo de software (o mantenimiento). En The CASE Experience, Carma McClure, BYTE Abril 1989 p.235 se ofrece la siguiente definicin: Una combinacin de herramientas de software y metodologas de desarrollo La pieza fundamental, y ms importante avance tecnolgico asociado a una herramienta CASE, es su repositorio integrado. En el repositorio se almacena toda la informacin de uno o varios sistemas de informacin, por ejemplo, datos acerca de: El dominio (problema) de los sistemas desarrollados o en desarrollo Modelos de solucin e implementacin Informacin de la metodologa que est siendo usada Historia de los proyectos, recursos, presupuestos, etc. Contexto organizacional: organigramas, planes estratgicos, factores crticos de xito, etc.
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
Cada tem en el repositorio es descrito en detalle. Atributos tpicos podran ser: identificacin, definicin (significado), tipo, alias, tems componentes, tems padres, reglas de uso, quin y cundo lo cre, quin y cundo lo actualiz por ltima vez, quines pueden actualizarlo y/o consultarlo, cul es su estado (por ejemplo: incompleto, completo etc.), nmero de versin, dnde est almacenado fsicamente. 1.1 Ingeniera de Software y herramientas CASE
La evolucin de las herramientas CASE est ligada a la evolucin de la Ingeniera de Software como disciplina. El trmino Ingeniera de Software fue usado por primera vez en una conferencia OTAN en 1968. En dicha conferencia se revel la existencia de la llamada Crisis del Software, causada por los problemas inherentes al desarrollo de software. El ciclo de vida del software es entendido como la secuencia de fases por las cuales atraviesa un proyecto de desarrollo de software desde su concepcin hasta el fin del uso del producto software obtenido, pasando por su construccin y mantenimiento. En el Diccionario de la Real Academia de la Lengua Espaola una metodologa se define como: Conjunto de mtodos que se siguen en una investigacin cientfica o en una exposicin doctrinal. y un mtodo como: Procedimiento que se sigue en las ciencias para hallar la verdad y ensearla. Una metodologa en Decline & Fall of the American Programmer, Edward Yourdon, Yourdon Press 1993 es definida como: Un plan de batalla paso a paso, o libro de cocina, para ejecutar algn resultado deseado. Una metodologa de software usualmente identifica las principales actividades- por ejemplo, anlisis, diseo, codificacin y pruebas- a ser realizadas e indica qu personas (usuarios, administradores, tcnicos) deben estar involucrados en cada actividad y qu papel desempean en ellas. Las metodologas a menudo describen criterios de entrada (por ejemplo condiciones para comenzar una fase), criterios de salida y puntos de revisin A veces se utiliza ciclo de vida como sinnimo de metodologa pues cada metodologa ofrece su particular visin de las fases por las cuales debe pasar un proyecto de desarrollo de software. Un mtodo es entendido como un enfoque tcnico para ser utilizado en toda o parte de una metodologa. Tanto las metodologas como los mtodos estn basados en diversas tcnicas principalmente grficas y/o textuales.
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
Las siguientes son algunas actividades tpicamente incluidas en el ciclo de vida del software: planificacin del proyecto, gestin del proyecto, anlisis, diseo, codificacin, pruebas, documentacin, mantenimiento, validacin y verificacin. Los esfuerzos iniciales por resolver la Crisis del Software se orientaron en el mbito de la codificacin, apareciendo las primeras tcnicas de programacin. A fines de los 60s y comienzos de los 70s surgieron gran cantidad de tcnicas para programar y documentar programas. Un ejemplo representativo lo constituyen la Programacin Estructurada y los Diagramas de Flujo. Sin embargo, las mejoras introducidas al proceso de desarrollo no eran suficientes. A fines de los 70s y comienzos de los 80s la atencin se centr en resolver problemas de especificacin, diseo, mtricas y gestin dentro del desarrollo de software. Es decir, el inters fue dirigido a otras actividades del desarrollo dentro del ciclo de vida del software. Actualmente la Ingeniera de Software como disciplina se ve plasmada en una gran variedad de enfoques y metodologas para el desarrollo de software. Algunos enfoques para el desarrollo de software son: Desarrollo en Cascada, Desarrollo con Prototipacin, Desarrollo Incremental, Desarrollo en Espiral. Las metodologas se basan en algn enfoque o combinacin de ellos. Actualmente existe un gran nmero de metodologas tanto comerciales como en el mbito acadmico y de investigacin. Ellas pueden ser agrupadas en dos grandes corrientes: Metodologas Estructuradas y Metodologas Orientado a Objeto. Metodologas Estructuradas Aparecieron a fines de los 60s con la Programacin Estructurada, posteriormente a mediados de los 70s extendidas con el Diseo Estructurado y a fines de los 70s con el Anlisis Estructurado. Versiones ms recientes incorporan Diagramas Entidad-Relacin y Diagramas de Transicin de Estados. Ejemplos de metodologas estructuradas impulsadas por organismos gubernamentales lo constituyen: MERISE (Francia), METRICA (Espaa), SSADM (Reino Unido). Otras metodologas estructuradas en el mbito acadmico y comercial son: Gane & Sarson, Ward & Mellor, Yourdon & DeMarco y Information Engineering. Esta ltima propuesta por James Martin pone un nfasis adicional en el modelado de datos y la incorporacin de los desarrollos informticos dentro del contexto organizacional (planificacin, objetivos, etc.). Metodologas Orientadas a Objeto Su historia va unida a la evolucin de los lenguajes de programacin orientada a objeto, los ms representativos: a fines de los 60s SIMULA, a fines de los 70s Smalltalk-80, la primera versin de C++ por Bjarne Stroustrup en 1981 y actualmente Java. Slo a fines de los 80s comenzaron a consolidarse algunas metodologas Orientadas a Objetos.
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
Algunas de las ms representativas en el mbito comercial son: OMT de Rumbaugh, OOAD de Grady Booch, OOSE de I.Jacobson, la propuesta por Peter Coad & Edward Yourdon, la propuesta por S. Shaler & S.J. Mellor y la propuesta por J.Martin y J.J.Odell. En los ltimos aos se ha realizado un esfuerzo de estandarizacin notacional materializado en UML (Unified Modeling Language), el cual aglutina caractersticas de algunas de las propuestas OO ms conocidas. En 1997 UML fue aprobado como notacin estndar por el OMG. 1.2 Evolucin de las herramientas CASE
Las primeras herramientas para apoyar el proceso de desarrollo de software fueron los editores y procesadores de texto, usados para escribir programas y su documentacin. As, tambin algunos programas de dibujo comenzaron a incorporar las notaciones grficas de tcnicas para diseo de programas. La consolidacin de metodologas de desarrollo integrando diferentes tcnicas impuls la aparicin de paquetes de propsito ms amplio. Surgi la necesidad de un diccionario de datos del sistema que almacene las definiciones usadas en las diferentes fases del desarrollo (este diccionario es lo que comnmente se denomina repositorio). Esto contribuy a implementar funciones de integracin y verificacin de consistencia entre tcnicas (asociadas a distintas actividades en el desarrollo). La automatizacin de tareas tambin ha sido un aspecto de inters. En programacin automtica esto se ha traducido en: generadores de pantallas e informes, generadores de esquemas fsicos de bases de datos y generadores de cdigo para prototipos o partes de programas. Actualmente, en Ingeniera de Software todos los desafos y los correspondientes enfoques de solucin estn normalmente concebidos y llevados a la prctica dentro del contexto de un CASE. 1.3 Expectativas del uso de un CASE
El propsito de una herramienta CASE es dar soporte automatizado para la aplicacin de todas o algunas tcnicas usadas por una o varias metodologas. Cualquier mejora orientada a resolver problemas asociados a la Crisis del Software se enmarca dentro de los siguientes niveles de solucin, desde el ms general al ms particular: 1. Enfrentar el proceso de desarrollo de software como un proyecto de Ingeniera de Software. 2. Aplicar una o varios metodos de forma integrada cubriendo todas las actividades del ciclo de vida del software 3. Usar una herramienta CASE para apoyar la aplicacin de los mtodos utilizados.
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
Si consideramos que cada nivel debe implicar al anterior, se pone de manifiesto que la sola utilizacin de una herramienta CASE no garantiza una mejora en el proceso de desarrollo de software. Por otra parte, las metodologas incluyen gran cantidad de tcnicas, y el esfuerzo de documentacin (y actualizacin de dicha documentacin) es por lo general considerable. Por lo tanto, es difcil aplicar una metodologa sin la ayuda de una herramienta CASE. As, los beneficios de utilizacin de un CASE se entremezclan con los beneficios de aplicar una metodologa con xito. El valor agregado indudable de utilizar un CASE es el aumento en la productividad en las actividades soportadas por la herramienta. Mientras los costos del hardware han ido en continuo descenso, sucede todo lo contrario con los costos del software. Las exigencias en complejidad y envergadura han sobrepasado a las mejoras en cuanto a mtodos de desarrollo. El uso de metodologas de desarrollo junto a herramientas CASE no es una panacea, pero sin lugar a dudas ofrece la mejor alternativa actual para enfrentar proyectos de desarrollo de software de complejidad y/o envergadura. El nfasis en planificacin, anlisis y diseo promovido por una herramienta CASE tiene un fuerte impacto y recompensa en la mejora de la calidad del producto obtenido y en el aumento de productividad (disminucin de tiempos, costes y esfuerzos) en las actividades de desarrollo y mantenimiento. El beneficio adicional obtenido por la utilizacin de un CASE actual (si se compara con la utilizacin de una metodologa sin el uso de un CASE) se representa en los siguientes aspectos: Facilita la verificacin y mantenimiento de la consistencia de la informacin del proyecto. Facilita el establecimiento de estndares en el procesos de desarrollo y documentacin. Facilita el mantenimiento del sistema y las actualizaciones de su documentacin. Facilita la aplicacin de las tcnicas de una metodologa. Disponibilidad de funciones automatizadas tales como: obtencin de prototipos, generacin de cdigo, generacin de pantallas e informes, generacin de diseos fsicos de bases de datos, verificadores automticos de consistencia. Facilita la aplicacin de tcnicas de reutilizacin y reingeniera. Facilita la planificacin y gestin del proyecto informtico.
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
Si se desea abrir una enciclopedia existente seleccionar File | Encyclopedia Open, en el cuadro de dilogo introducir el path de la enciclopedia. 2.2 Aspectos Generales
La primera entrada que hay que proporcionar es el Audit Id, un identificador del usuario para propsitos de auditora (control de cambios realizados sobre la enciclopedia). La pantalla al inicio de sesin se presenta como lo muestra la Figura 2.2.1 en la cual se indican las principales secciones. El Browser permite acceder a la enciclopedia, la informacin registrada est agrupada en diagramas y definiciones. El Toolbox ofrece el conjunto de smbolos que pueden ser dibujados en un diagrama y vara dependiendo del tipo de diagrama que este activo. El Toolbar contiene comandos del Menu Bar que son frecuentemente utilizados.
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
Menubar
Toolbar
Toolbox
rea de Dibujo
Bsicamente el trabajo de anlisis y diseo con la herramienta consiste en editar diagramas y definiciones. Cada elemento grfico de un diagrama tiene una definicin y a su vez las definiciones pueden utilizar otras definiciones. Algunos diagramas pueden tener una relacin padre-hijo, esto sucede cuando un smbolo del diagrama padre se detalla en un nuevo diagrama (hijo). SA provee un conjunto de informes que permiten verificar el trabajo realizado de acuerdo a las tcnicas empleadas. En mdulos adicionales se proporcionan funciones tales como: generacin de pantallas, esquemas de bases de datos y generacin de cdigo. 2.3 Uso del Help
La forma ms directa de acceder al help de SA es presionando F1. SA tiene un help bastante completo. En adelante se utilizar la notacin F1 | Bsqueda | cadena para indicar una entrada del help que describe en mayor detalle algn tema de inters. 2.4 Creando una enciclopedia
Para crear una enciclopedia seleccionar File | Encyclopedia Open, en el cuadro de dilogo introducir el nombre de la enciclopedia (directorio) que se va a crear. Crear una enciclopedia implica crear el directorio (si ste no existe) y generar en l todos los ficheros iniciales para la enciclopedia.
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
En la Figura 2.4.1 se seleccionan las tcnicas que se utilizarn. Cada tcnica tiene asociado un conjunto de diagramas. Adems se establece el sistema gestor de bases de datos y el lenguaje de programacin. Estas elecciones determinan ciertas propiedades relacionadas con la generacin automtica del diseo fsico de la base de datos y de plantillas de cdigo en el lenguaje de programacin. Con el botn Advanced se accede a un cuadro de dilogo donde es posible modificar la lista detallada de diagramas y propiedades disponibles.
2.5
Mediante el dilogo presentado despus de acceder por Tools | Preferences pueden definirse una serie de caractersticas opcionales que tienen efecto sobre los diagramas. La descripcin de cada caracterstica est en F1 | Bsqueda | Preferences Command. Es conveniente activar la opciny Delete Definition que permite la actualizacin inmediata del diccionario, conforme se borran elementos o datos.
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
3 Creando un Diagrama
Mediante la opcin del Menu Bar File | New Diagram o usando el correspondiente botn en el Toolbar, se accede a la pantalla de dilogo Figura 3.1. En ella introducir el nombre del diagrama a construir y seleccionar su tipo. Posteriormente se activar una ventana de dibujo para el diagrama y aparecer la Toolbox asociada al tipo de diagrama.
Figura 3.1 Bsicamente, un diagrama est compuesto de smbolos (los disponibles en la Toolbox). La forma de conectar smbolos puede ser modificada accediendo a Format | Symbol Style | Line. Cada smbolo puede ser descrito por una definicin. Estas definiciones constituyen parte de la enciclopedia de la herramienta y pueden ser compartidas por diferentes diagramas. SA mantiene independencia entre las propiedades de los smbolos dibujados y las definiciones asociadas. Es decir, al dibujar un smbolo no es obligatorio proporcionarle propiedades (nombre y descripcin por ejemplo) ni una definicin (una definicin de clase, si el smbolo representa a una clase). De la misma forma, el smbolo podra tener propiedades y no tener una definicin asociada.
Figura 3.2 Para efectuar alguna operacin sobre uno o ms smbolos, estos se seleccionan pinchando una vez (si son ms de uno se utiliza la tecla Shift). Posteriormente se debe escoger la operacin a realizar en el Menu Bar o presionando el botn derecho del ratn; en este caso aparece una lista de opciones similar a la que se muestra en la Figura 3.2.
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
Al mismo tiempo pueden estar varios diagramas abiertos. Para cerrar un diagrama lo ms directo es presionar el botn derecho del ratn y seleccionar la opcin Close. Para eliminar el diagrama que est activo utilizar File | Delete Diagram. Si el diagrama que se desea eliminar no est activo seleccionarlo en el Browser y con el botn derecho del ratn elegir Delete.
Figura 4.1
5 Reusando definiciones
Una de las principales contribuciones de un repositorio integrado es facilitar la verificacin de consistencia y reutilizacin de definiciones. SA permite seleccionar una definicin asociada a un smbolo desde una lista de definiciones existentes y arrastrarla sobre el diagrama activo, con lo cual automticamente se dibuja el smbolo (manteniendo su definicin).
10
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
Figura 5.1 Una oportunidad de reutilizar definiciones se presenta cuando se est definiendo algun elemento y debe introducirse un elemento subordinado ya definido, en este caso, existir un botn llamado Choices ... el cual presenta un lista de definiciones del mismo tipo ya registradas en el repositorio. Se puede seleccionar una de ellas y arrastrarla sobre el cuadro de texto activo. En la Figura 5.1 se muestra un ejemplo de lo anterior. En la definicin de los atributos de una clase, mediante el botn Choices... se presenta una lista de los atributos ya definidos.
11
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
forma de rbol. La Figura 6.1 presenta un caso de diagramas relacionados y cmo ellos son presentados en el Browser.
Figura 6.1 En el diagrama padre, un smbolo que tiene asociado un diagrama hijo tiene un indicador de expansin en la parte superior. Esta situacin se ilustra en la Figura 6.2, donde el smbolo P tiene en su parte superior el indicador de expansin por tener asociado un diagrama hijo.
Cliente
P Cajero Automtico
Cuando un smbolo tiene un diagrama hijo asociado, las opciones Child Create o Child Attach son reemplazadas por Child Detach y Child Open las cuales permiten deshacer el vnculo o acceder al diagrama hijo. En el diagrama hijo, al presionar el botn derecho sobre un rea sin smbolos, se ofrecen las opciones Parent y Top, con las cuales se accede al diagrama padre o al diagrama en el tope de la jerarqua de diagramas.
12
Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin. EUI - FI . Universidad Politcnica de Valencia.
13