herramientas case ismael rihawi aragón juan carlos arqueros vírseda rubén lambás abad

61
HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

Upload: emigdia-escobedo

Post on 11-Apr-2015

130 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

HERRAMIENTAS CASE

Ismael Rihawi Aragón

Juan Carlos Arqueros Vírseda

Rubén Lambás Abad

Page 2: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Lenguaje Unificado de Modelado (UML, Unified Modeling Language) es el lenguaje

de modelado de sistemas de software respaldado por el OMG.

• Lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de

software; Estándar para describir un modelo del sistema, incluyendo aspectos tales

como: - Procesos de negocios y funciones del sistema

- Expresiones de lenguajes de programación

- Esquemas de BD y componentes de software reutilizables.

Page 3: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Especificación de notación orientada a objetos.

• Se basa en las anteriores especificaciones BOOCH, RUMBAUGH y

JACOBSON.

• UML introduce funcionalidades (nuevos diagramas) que representan

una visión dinámica del sistema.

• Intenta solucionar el problema de propiedad de código.

Page 4: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Muestran diferentes aspectos de las entidades representadas.

• Utilizados para facilitar el entendimiento de largas cantidades de datos y la

relación entre diferentes partes de estos.

• Los diagramas pueden generalmente ser leídos más rápidamente

que los datos en bruto de los que proceden. Se utilizan en una amplia

variedad de campos.

Page 5: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

En amarillo, diagramas exclusivos para versión UML 2.0

Page 6: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• SOFTWARE LIBRE: (bajo licencias libre, libre uso, estudio y modificación)

ArgoUML, BOUML, gModeler, Papyrus, StarUML

• FREEWARE: (no permiten el estudio y modificación de los mismos)

Omondo, Oracle Jdeveloper, Visual Paradigm for UML

• DE PAGO:

Borland together, Microsoft Visio, MagicDraw UML

Page 7: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Basado en los estándares UML (Unified Modeling Language) y

MDA (Model Driven Arquitecture).

• Producto comercial => Licencia abierta GNU/GPL.

• Soporte completo al diseño UML mediante el uso de diagramas.

• Definir elementos propios fuera del estándar de UML.

Page 8: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Generar:

- Código a partir de los diagramas y viceversa (c++, c# , java)

- Documentación ofimática sobre los diagramas.

• Patrones GoF (Gang of Four) , EJB (Enterprise JavaBeans)

• Plantillas de proyectos.

• Creación de plugins para el programa.

Page 9: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Intel® Pentium® 233MHz

• Windows® 2000, Windows XP™

• Microsoft® Internet Explorer 5.0

• 128 MB RAM (256MB recomendado)

• 110 MB de espacio libre en dico duro(150MB recomendado)

• SVGA (1024x768 recomendado)

Page 10: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• HERRAMIENTAS DE ANALISIS Y DISEÑO:

Permiten al desarrollador crear un modelo del sistema que se va a construir y

también la elaboración de la validez y constancia de este modelo.

• HERRAMIENTAS DE ALTO NIVEL, U-CASE (Upper CASE):

Orientadas a la automatización y soporte de las actividades desarrolladas durante

las primeras fases del desarrollo: análisis y diseño.

Page 11: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Modelo: Elemento que contiene información del software modelado.

• Vista: Expresión gráfica de la información contenida en el modelo.

• Diagrama: Colección de vistas de elementos que representan

diseños específicos de los usuarios.

Page 12: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

Casos de Uso Clases

Secuencia Colaboración

Page 13: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

Estados Actividad

Componente

Despliegue

Estructura compuesta

Page 14: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Proyecto: Unidad básica de manejo en StarUML, capaz de

gestionar uno o varios modelos de Software.

• Fichero guardado en formato “XML” y extensión “.uml”

• Contiene y/o maneja los siguientes subelementos:

SUBELEMENTO DESCRIPCIÓN

Modelo Elemento que gestiona un modelo de Software

Subsistema Elemento que manejan modelos que representan un subsistema

Paquete El elemento más general para modelar elementos

Page 15: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Modularidad

• Posibilidad de múltiples unidades.

• Estructura jerárquica: Unidades compuestas por subunidades.

• Bajo extensión “.unt” unit files

Page 16: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Modeling Software/MDA Platform:

“Motor” sobre el que se añaden módulos funcionales.

Page 17: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Módulos:

- Unidad básica independiente (bajo XML).

- Contiene elemento/s modelizables

- Funcionalidades para distintos propósitos:

· Soporte para procesos específicos

· Soporte para LP

· Integración de Herramientas específicas

· Extensiones de otras funcionalidades

Page 18: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Interfaz de comunicación entre componentes software.

OBJETIVO: Método para conseguir abstracción en la programación.

• Programación de código externo para la herramienta StarUML.• Hay 4 tipos de usos para la API:

- Proyectos- Elementos- Objetos de aplicación- Meta-objetos

Page 19: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Aproximación o configuración previa al desarrollo de software.

• Facilitan la configuración inicial del entorno de trabajo.

• Los componentes que lo conforman son:

COMPONENTES APPROACH

Estructura de proyecto

Importar Perfiles UML

Importar Frameworks

Importar fragmentos de modelo

Page 20: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Al crear un proyecto, podemos definirlo como approach.

• 5 opciones de approach a nuestra disposición:

Page 21: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

MODELO 4+1

• Finalidad: Mayor comprensión del sistema que se esté modelando.

• Consta de :

- Vista Lógica.

- Vista de desarrollo

- Vista de procesos

- Vista Física

- Vista de escenarios

Page 22: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Estructura de soporte sobre la cual un proyecto software puede ser

organizado y desarrollado.

• Representa una arquitectura de software que modela las relaciones

generales de las entidades del dominio.

• Permite uso de aplicaciones frameworks o librerias de clases:- JFC (Java Foundation Classes)- MFC ( Microsoft Foundation Classes)- VCL ( Visual Component Library)

Page 23: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

¿POR QUÉ DE SU USO?

Facilita el uso software de modelado antes que depender de librerías

de clase específicas o aplicaciones frameworks.

ESTRUCTURA:

• Fichero framework “.FRW”: Contiene información de las unidades

incluidas y los perfiles UML usados.

• Uno o más ficheros de unidad “.UNT”: Contienen información del

modelo actual para el framework.

Page 24: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Mecanismo que proporciona el propio UML para extender su sintaxis y su

semántica.

• Propósitos

- Especificar LP’s (C/C++, Java, C#, Python, etc.)

- Especificar metodologías de desarrollo (RUP, Catalysis, etc.)

- Especificar Dominios (EAI, CRM, SCM, ERP, etc.)

• Colección de: - Estereotipos - Restricciones - Definiciones de etiquetas

- Mecanismos adicionales de extensión

Page 25: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• ESTEREOTIPOS: Nos permite identificar especificaciones del lenguaje al que se refiere el diagrama UML.

Page 26: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• RESTRICCIONES: Identifica un comportamiento forzado de una clase o relación.

• DEFINICIONES DE ETIQUETAS: Elemento que define nuevas propiedades que pueden añadirse a ciertos elementos de modelado.

• MECANISMOS ADICIONALES DE EXTENSIÓN: Tipo de Diagrama, Prototipo de elemento, Prototipo de Elemento y Extensión de Paleta.

Page 27: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• La herramienta Profile Manager nos da la opción

de elegir entre 5 perfiles “por defecto”: C++, C#,

JAVA y EJB, además del perfil StarUML standard.

Page 28: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Fichero de extensión que se adhiere a los menús de StarUML

estándar para realizar nuevas acciones.

• Utilizado para hacer llamadas a funciones Add-In.

• El fichero de menú de extensión Add-In puede contener las b

siguientes definiciones:

- Inserción y distribución de nuevos items en el menú

- Edición de “Display names”, “hot keys” e iconos asociados.

- Scripts de ejecución de los items habilitados.

Page 29: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad
Page 30: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Tecnología COM• Implementado bajo entornos de programación numerosos: Delphi, C++, Visual Basic…

• Método interfaz IStarUMLAddin: Gestión de Add-In’s

Page 31: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• FICHERO DE DESCRIPCIÓN ADD-IN:

Fichero de texto XML, de extensión “.aid” asociado al Add-In, que

nos da información relativa a éste.

Page 32: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

SUBSCRIPCIÓN A EVENTOS:

• IEventSubscriber como gestor de eventos internos de la

aplicación.

• NotifyEvent como función interna de la aplicación interna para

notificar los eventos.

• IEventPublisher como herramienta de registro y borrado de

subscripción a eventos, así como de la inserción de otros

nuevos creados por el usuario.

Page 33: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• 21 eventos predefinidos sobre aplicaciones, opciones, proyectos, documentos, unidades, selecciones, diagramas, elementos, modelos y vistas.

Page 34: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Define una propia notación para cada usuario.

• Permite creación de diagramas E/R

• Mejora el mapeado de Diagramas E/R

• Soporta su propio LP basado en Scheme entendible

para Delphi o C++

Page 35: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

• Generator: Conversor de elementos de modelado UML a

documentos para la suite Microsoft Office, o como texto si es código.

Page 36: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad
Page 37: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad
Page 38: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

DISEÑO DE UN DIAGRAMA DE CASOS DE USO

• Representa la funcionalidad completa de un sistema, mostrando su

interacción entre los actores (agentes externos) y los casos de uso

(acciones).

EJEMPLO: Simularemos un sistema que represente la gestión de una

cafetería o centro hostelero.

Page 39: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

0. Creación de nuevo Proyecto

Page 40: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

1. Selección de Modelo de Caso de Uso desde Model explorer

Page 41: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

2. Creación de actores y edición de nombres de los mismos

Page 42: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

3. Creación de Sistema y Casos de Uso

Page 43: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

4. Creación de Relaciones (Generalización, Inclusión, Asociación y Asociación Directa)

Page 44: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

5. Inclusión de atributos y/o operaciones a Actores

Page 45: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

INGENIERIA INVERSA

• Generación de Diagramas de Clases a partir de LP’s orientados a

objetos (C++, C# , JAVA)

EJEMPLO: Diagrama de clases que simula el funcionamiento de

una Institución Docente (formado por las Clases “Alumno”,

“Profesor”, “Persona” y “Grupo”)

Page 46: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

0. Inclusión de Perfil JAVA

Page 47: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

1. Inclusión de Perfil JAVA (continuación)

Page 48: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

2. Vista del Código de Archivo “JAVA”

Page 49: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

3. Herramienta Java “Reverse Ingenier”

Page 50: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

4. Selección de archivos fuente JAVA

Page 51: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

5. Selección del Paquete Destino

Page 52: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

6. Resultado del Paquete (Modelo de Análisis)

Page 53: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

ADD-IN “HELLO WORLD”

• Add-In que aporta una funcionalidad básica a StarUML.

• Para ello, deberemos construir tres ficheros básicos (antes mencionados):

- Script (.”js”)

- Ficheros de Extensión de Menú (“.mnu”)

- Ficheros de Descripción Add-In (“aid”)

Page 54: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

0. Creación de Fichero Script (“.js”) y Ficherosde Extensión de Menú (“.mnu”)

Page 55: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

1. Creación de Ficheros de Descripción Add-In (“aid”)

Page 56: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

2. Registro del Add-In

Page 57: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

3. Registro del Add-In (continuación)

Page 58: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

4. Ejecución del Add-In

RESULTADO: Aparecerá por pantalla el resultado esperado

del Add-In; en este caso, “Helloworld”

Page 59: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

VENTAJAS

• Gran fuente abierta para todos los esquemas.

• Generación de java, C++ y C# y de Documentación

• Fácilmente extensible a través de módulos basada

en plugins de la arquitectura y mediante el uso de plantillas.

DESVENTAJAS

• Necesidad de conocer el estándar UML

• Dificultades de entendimiento idiomático

• No da soporte completo a UML 2.0

Page 60: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad

www.staruml.com (Manuales de Desarrollador y Usuario)

http://es.wikipedia.org(Conceptos básicos de UML)

http://staruml.tigris.org/(Información adicional sobre StarUML)

Page 61: HERRAMIENTAS CASE Ismael Rihawi Aragón Juan Carlos Arqueros Vírseda Rubén Lambás Abad