Educación a distancia
Fundamentos de Ingeniería de Software
Ingeniería en Sistemas Computacionales Fundamentos de Ingeniería de Software Semana 7. Unidad 3. Modelo de Análisis. 3.3. Clases 3.4. Diagramas de secuencias.
Antología realizada por: M.C. Gricelda Rodríguez Robledo
Semana 7
Educación a distancia
Fundamentos de Ingeniería de Software
CONTENIDO 3.5.
Diccionario de clases según Módulos ....................................................................................... 4
3.6.
Herramientas CASE para el análisis .......................................................................................... 5
3.6.1 Listado de herramientas ......................................................................................................... 5 Enterprise Architect ...................................................................................................................... 5 Rational Rose ................................................................................................................................ 6 Borland Together .......................................................................................................................... 7 BOUML .......................................................................................................................................... 8 ARGOUML ..................................................................................................................................... 9 JUDE .............................................................................................................................................. 9 Referencias ......................................................................................................................................... 10
Semana 7
Educación a distancia
Fundamentos de Ingeniería de Software
Competencia específica a desarrollar Actividades de Aprendizaje Identificar a través de un modelo de requisitos Investigar los diferentes modelos orientado a la arquitectura de clases que participarán en el objetos como base para la identificación de diseño del producto. clases. • Desarrollar casos de uso y modelos CRC que permitan tener una comprensión de la manera en que el sistema se utilizará. • Aplicar el modelo objeto-relacióncomportamiento que indique como responderá el sistema OO a eventos. • Aplicar al menos una herramienta CASE para el análisis. • Parte 1 del proyecto: A. Identificación y delimitación del problema B. Propuesta de solución
Semana 7
Fundamentos de Ingeniería de Software
Educación a distancia
3.5. DICCIONARIO DE CLASES SEGÚN MÓDULOS Diccionario de Clases El diccionario de clases o diccionario de datos describe textualmente las clases identificadas durante el modelo del dominio del problema. Este diccionario sirve como un glosario de términos. Un diccionario de datos es un conjunto de metadatos que contiene las características lógicas y puntuales de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripción, alias, contenido y organización. Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la información, se desarrolla durante el análisis de flujo de datos y auxilia a los analistas que participan en la determinación de los requerimientos del sistema, su contenido también se emplea durante el diseño. En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos de todo el sistema. Los elementos más importantes son flujos de datos, almacenes de datos y procesos. El diccionario de datos guarda los detalles y descripción de todos estos elementos. El diccionario de clases es un documento que muestra una descripción de los elementos que componen cada clase. •
La descripción de cada clase está formada por los elementos siguientes: –Nombre de la clase. –Tipo. –Descripción. –Para cada atributo se especifica:
•
Visibilidad, nombre, tipo de dato y valor inicial.
Semana 7
Educación a distancia
Fundamentos de Ingeniería de Software
3.6. HERRAMIENTAS CASE PARA EL ANÁLISIS Permiten al desarrollador crear un modelo del sistema que se va a construir y también la evaluación de la validez y consistencia de este modelo. Proporcionan un grado de confianza en la representación del análisis y ayudan a eliminar errores con anticipación. Entre ellas podemos encontrar: • • •
Herramientas de análisis y diseño (Modelado). Herramientas de creación de prototipos y de simulación. Herramientas para el diseño y desarrollo de interfaces.
Muchos de los beneficios que brindan son: • • • • • • • •
Fomenta la reutilización y extensión del código. Permite crear sistemas más complejos. Relacionar el sistema al mundo real. Facilita la creación de programas visuales. Construcción de prototipos Agiliza el desarrollo de software Facilita el trabajo en equipo Facilita el mantenimiento del software
3.6.1 LISTADO DE
HERRAMIENTAS
ENTERPRISE ARCHITECT Se trata de una herramienta comercial desarrollada por la marca Sparx Systems y es una de las herramientas más completas de esta rama. Ofrece una gran compatibilidad con la herramienta RaQuest elegida para realizar la gestión y el análisis de los requisitos en la parte anterior a esta. Combina la capacidad de la versión 2.1 de UML (Lenguaje Unificado de Modelado) con un interfaz intuitivo, lo que le permite ser eficaz tanto para trabajo
Semana 7
Educación a distancia
Fundamentos de Ingeniería de Software
en un ordenador de sobremesa como para ser usada dentro de un equipo de desarrollo. Algunas de las características más importantes de esta aplicación son las que se incluyen a continuación: • Herramienta capaz de cubrir todo el ciclo de vida de un sistema: desde el análisis de los requisitos hasta el mantenimiento del mismo pasando por el diseño de los modelos, las pruebas del sistema y las etapas de análisis. • La utilización de UML permite a la herramienta crear modelos de sistema consistentes y trazables a través de la utilización de un entorno de trabajo flexible y fácil de utilizar. • Al cubrir todo el ciclo de vida de un sistema, la trazabilidad de los elementos definidos es total. Por lo tanto, se pueden trazar todas las características del sistema (desde los requisitos hasta la implementación y la implantación del sistema). • Como la herramienta se apoya en el lenguaje UML, se pueden generar a través de ella los 13 tipos de diagramas soportados por dicho lenguaje y que se encuentran divididos en las siguientes áreas: diagramas de estructura, diagramas de comportamiento y diagramas extendidos. • La herramienta también ofrece soporte para la creación de la documentación del sistema en varios formatos. De esta manera se pueden generar informes completos de manera sencilla y rápida.
RATIONAL ROSE Esta es la herramienta comercial de modelado desarrollada por la marca IBM y que pe rtenece a la familia de software Rational, una de las 5 familias de software que la empresa posee. Según datos extraídos de la página Web de la compañía se trata de una de las aplicaciones que ayudó a convertir UML en un lenguaje estándar para el modelado de los sistemas. Aún así, se trata de una herramienta un poco más desfasada que la anterior ya que solamente da soporte hasta la versión 1.4 de UML (si se busca soporte para versiones posteriores a esta, la
Semana 7
Educación a distancia
Fundamentos de Ingeniería de Software
marca ofrece otra serie de herramientas que son compatibles). Dentro de esta herramienta existen una serie de ediciones que ofrecen al usuario características diferentes. A continuación se incluyen algunas de las diferentes ediciones existentes de esta herramienta: • Rose Data Modeler: Se trata de una herramienta de modelado orientada al desarrollo de una aplicación de base de datos. Solamente ofrece soporte hasta la versión 1.4 de UML pero es compatible con los sistemas operativos más utilizados del mercado (HP Unix, Linux, Sun Solaris y Windows). • Rose Enterprise: Herramienta que permite empezar el desarrollo de algunas aplicaciones de manera rápida a través de la generación automática de código (válido para algunos lenguajes de programación como C+ +, Java, J2EE y Visual Basic). Soporta el lenguaje UML y crea archivos DTD para que puedan ser usados por la aplicación. • Rose Modeler: Otra herramienta compatible con la versión 1.4 de UML. Como característica más destacada se encuentra el hecho de que es capaz de integrarse con un sistema de control de versiones que cumpla SCC. • Rose Developer: Existen varias ediciones de esta herramienta, dependiendo del lenguaje de programación o del sistema soportado por las mismas (Java, VisualBasic 6 y Unix). Todas ellas soportan versiones de UML de la familia 1.x. • Rose Technical Developer: Herramienta para aplicar el desarrollo dirigido por modelos que soporta los siguientes lenguajes de programación: C, C+ +, Java y J2EE. Genera código automático a partir de los diagramas. Aún existiendo una gran cantidad de herramientas dentro de esta familia, el hecho de que no sean compatibles con la versión más reciente de UML supone un paso atrás en la calidad de las herramientas, ya que no se pueden aprovechar todas las ventajas y características incluidas en ella.
BORLAND TOGETHER Herramienta comercial de la casa Borland que es una de las más completas en la actualidad. Se trata de una aplicación que permite realizar el análisis, el diseño y la implement ación de sistemas fáciles de mantener; dichos sistemas son fácilmente modificables a medida que cambian los requisitos del mismo.
Semana 7
Educación a distancia
Fundamentos de Ingeniería de Software
Esta aplicación soporta los diferentes tipos de puestos de trabajos que aparecen a la hora de desarrollar un sistema informático (arquitectos, analistas, programadores y analistas de negocio). También permite crear modelos independientes de la plataforma, de tal manera que estos puedan ser exportados a diferentes entornos de trabajo sin ningún problema. Otro de los puntos fuertes de esta herramienta desarrollada por Borland es soporte que ofrece a la hora de trabajar con ficheros estándares para obtener conformidad con la tecnología MDA. Algunos de los formatos soportados por la herramienta son: UML, XMI, QVT y OCL. Al igual que sus competidoras del mercado de herramientas comerciales, Together ofrece la posibilidad de crear documentación en formato HTML con un estilo parecido al ofrecido por Javadoc, incluyendo diagramas a través de hipervínculos. Es necesario señalar que los diagramas realizados con esta herramienta pueden ser guardados en diferentes formatos.
BOUML
Se trata de una herramienta libre que utiliza la versión 2 de UML y que permite especificar y generar código en los siguientes lenguajes de programación: C+ +, Java, Idl, PHP y Python. Esta herramienta es funcional bajo un buen número de sistemas operativos entre los que destacan MacOS X, Windows y Linux. Como puntos a favor de esta aplicación están su rapidez y su mínimo consumo de memoria, incluso cuando se trabaja con un volumen aceptable de clases. También es necesario resaltar que es una herramienta extensible, pudiendo escribirse herramientas externas (a las que se denomina plug-outs) en C+ + y en Java.
Semana 7
Educación a distancia
Fundamentos de Ingeniería de Software
ARGOUML Al igual que la herramienta anterior, esta también es una aplicación libre para el desarrollo de diagramas con el lenguaje UML, aunque en este caso solamente es compatible con la versión 1.4 del mismo. Si bien no se especifica los diferentes sistemas operativos sobre los que puede operar, si se hace referencia al hecho de que puede instalarse en cualquier sistema que soporte Java. Esta herramienta dispone de un interfaz gráfica intuitiva dividida en cuatro paneles que le proporciona al usuario comodidad a la hora de realizar el trabajo. Los diagramas UML que soporta esta aplicación son los siguientes: clase, estado, casos de uso, actividad, colaboración, despliegue y secuencia.
JUDE JUDE es una plataforma que desarrolla dos aplicaciones para el modelado utilizando el lenguaje UML. La primera de ellas es JUDE Professional, una herramienta de pago con la que se pueden realizar los siguientes tipos de diagramas: UML, EntidadRelacion, DFD, Flowchart y CRUD. En segundo lugar está la aplicación JUDE Community, herramienta libre para el modelado a través del uso de lenguaje UMLy cuya última vers ión soporta parcialmente la especificación 2.0 de dicho lenguaje. Me centraré en esta última, ya que la reseña que se nos hacía en la asignatura era sobre la herramienta libre. Además de soportar parcialmente la versión 2.0 de UML, esta herramienta también acepta diagramas petenecientes a la versión 1.4 del mismo. Además, permite al usuario importar y exportar ficheros escritos en el lenguaje Java y ofrece soporte para la creación automática de diagramas de clases. Permite exportar el trabajo realizado en documentos HTML y también ofrece la posibilidad de exportar los diagramas realizados a ficheros del tipo PNG y JPEG.
Semana 7
Educación a distancia
Fundamentos de Ingeniería de Software
REFERENCIAS •
Virgilio García García- Herramientas de desarrollo http://petra.euitio.uniovi.es/~i1656157/doc/disenyo/Estudio_herramientas_disenyo.pdf
•
Ingenieria de Software Orientada a Objetos Con Uml, Java E Internet
Semana 7