Download Diapositiva 1

Document related concepts
no text concepts found
Transcript
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
Clases
Secuencia
Colaboración
Estados
Actividad
Componente
Despliegue
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
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
• 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)