Diapositiva 1

Download Report

Transcript Diapositiva 1

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.

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

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

En amarillo, diagramas exclusivos para versión UML 2.0

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

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

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

• 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)

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.

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.

Casos de Uso Colaboración Clases Secuencia

Estados Despliegue Actividad Componente Estructura compuesta

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

Modelo Subsistema Paquete

DESCRIPCIÓN

Elemento que gestiona un modelo de Software Elemento que manejan modelos que representan un subsistema El elemento más general para modelar elementos

• Modularidad • Posibilidad de múltiples unidades.

• Estructura jerárquica: Unidades compuestas por subunidades.

• Bajo extensión “.unt” unit files

Modeling Software/MDA Platform:

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

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

• 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

• 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

• Al crear un proyecto, podemos definirlo como approach.

• 5 opciones de approach a nuestra disposición:

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

• 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)

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

• 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

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

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

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

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

• Tecnología COM • Implementado bajo entornos de programación numerosos: Delphi, C++, Visual Basic… • Método interfaz IStarUMLAddin: Gestión de Add-In’s

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

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.

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

• 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++

Generator: Conversor de elementos de modelado UML a documentos para la suite Microsoft Office, o como texto si es código.

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.

0. Creación de nuevo Proyecto

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

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

3. Creación de Sistema y Casos de Uso

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

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

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”)

0. Inclusión de Perfil JAVA

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

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

3. Herramienta Java “Reverse Ingenier”

4. Selección de archivos fuente JAVA

5. Selección del Paquete Destino

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

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”)

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

1. Creación de

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

2. Registro del Add-In

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

4. Ejecución del Add-In RESULTADO: Aparecerá por pantalla el resultado esperado del Add-In; en este caso, “Helloworld”

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

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)