Your SlideShare is downloading. ×
0
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
UML, un resumen ágil
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

UML, un resumen ágil

2,807

Published on

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,807
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Core message -- second bullet
    UML can be used to communicate system and software design throughout the life cycle
  • Transcript

    • 1. UML, un resumen ágil Javier Garzás Noviembre 2003 www.javiergarzas.com
    • 2. La esencia “Si no se puede explicar lo que se hace, el trabajo carece de valor” Erwin Schrödinger Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 3. ¿Qué es UML?  UML o el Unified Modeling Language  Sucesor de las notaciones de finales de los ‘80 principios de los ‘90.  Estándar OMG  LENGUAJE de propósito general, ni método, ni metodología, el método incluye al lenguaje y al proceso:  Lenguaje de Modelado ⇒ Notación (generalmente gráfica) que utiliza el método para expresarse  Proceso ⇒ recomendación sobre que pasos tomar para diseñar  Método ⇒ Lenguaje de Modelado + Proceso Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 4. Situación de Partida  Cada metodólogo que se preciase necesitaba sacar su propia metodología y, por ende, su propia notación.  Tenemos notaciones distintas de:  Booch, Jacobson, Coleman, Rumbaught, Meyer, Coad, Henderson-Sellers, más y más etcs.  Esto produce problemas para: integrar, crear y usar CASEs, aprender, aplicar, construir, etc. Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 5. A finales de los 90 Se toma conciencia de que existe la necesidad de una notación estándar para el modelado Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 6. Historia de UML  Unified Method (Booch y Rumbaugh). Se presentó en el OOPSLA’95.  Unión (¿compra?) de Jacobson.  Los “Tres Amigos” son socios en la compañía Rational Software.  UML unifica los métodos de sus autores principalmente Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 7. Historia de UML Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 8. Partners en UML 1.0  Rational Software (Grady Booch, Jim Rumbaugh y Ivar Jacobson)  MCI Systemhouse  Microsoft  Digital Equipment  ObjecTime  Hewlett-Packard  i-Logix (David Harel)  Oracle  IBM  Platinium Technology  ICON Computing  Sterling Software (Desmond D’Souza)  Taskon  Intellicorp and James Martin & co. (James Odell)  Texas Instruments  Unisys Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 9. UML, síntesis de los anteriores Rumbaugh Booch Jacobson Odell Meyer Pre- and Post-conditions Shlaer-Mellor Object life cycles UML Harel State Charts Gamma et. al. Frameworks, patterns, notes Embly Singleton classes Wirfs-Brock Fusion Responsabilities y estereotipos Operation descriptions, message numbering Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 10. Algunas características novedosas  Incluye “stereotypes” como mecanismo de extensibilidad.  Aporta un lenguaje para expresar restricciones mediante fórmulas bien formadas: - OCL (Object Constraint Language) desarrollado por IBM  Puede describir cualquier tipo de sistema en términos de diagramas orientados a objetos: - Sistemas de Información, de Tiempo Real, Embebidos, Distribuidos, Sistemas, Web, etc. Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 11. Define una Notación y un Meta-Modelo  La notación es el material gráfico que se observa en los modelos, la sintaxis del lenguaje.  El meta-modelo es un diagrama, usualmente de clases, que define una notación. Es necesario para dar rigor a la notación, en UML… semi-formal Relación Generalización Asociación 1 roles de la asociación 2..* RolAsociación Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 12. Aspectos peyorativos  La integración con respecto de otras técnicas (patrones de diseño, interfaces de usuario, documentación, etc.)  ¿Cercano al usuario? ¿fácil de usar sin un CASE que comprar a algún partner? ¿fácil de aprender?  “Monopolio de conceptos, técnicas y métodos en torno a UML”  Muy orientado a ser guiado por casos de uso Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 13. Aspectos peyorativos "... Mi larga búsqueda no ha sido en vano. Ella me ha conducido a una apreciación completa de UML, esta admirable máquina auto-alimentada, dedicada desde la A a la Z a la creación de un nuevo mercado; libre de las dificultades asociadas con el molesto negocio el desarrollo de software: ¡Libros de UML! ¡Cursos de UML! ¡Cursos sobre los libros! ¡Libros sobre los cursos! ¡Libros sobre los libros! ¡Cursos Introductorios para preparar para los cursos avanzados! ¡Cursos para aquellos que enseñan los cursos! ¡Revisiones! ¡Revistas de UML! ¡Conferencias! ¡Workshops! ¡Tutoriales! ¡Estándares! ¡Comités! ¡Camisetas! ...". Bertrand Meyer, 1997 Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 14. Perspectivas de UML  UML es y será el lenguaje de modelado OO estándar durante los próximos años.  Los móviles: - Las figuras influyentes involucradas. - Importantes partners - Aceptación del OMG como notación estándar (que es lo mismo que dice el punto anterior)  Las pruebas: - Herramientas CASE-UML, Publicaciones, Congresos, Cursos, Vosotros, Yo, etc. Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 15. Los Diagramas más destacados de UML
    • 16. Modelo de vistas 4+1 Descripción del modelo desde 5 vistas Vista de Vista de Diseño Implementación Vista de Procesos Vista de Casos de Uso Vista de Despliegue Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 17. Paquetes  Mecanismo general para dividir modelos y agrupar elementos  Representación: Nombre de paquete Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 18. Paquetes  Subconjuntos del modelo:  Pueden contener: clases, objetos, relaciones,componentes y diagramas asociados  Definen la arquitectura del sistema  Los estereotipos aplicables:  <<Categoría>> y <<Subsistema>> permiten distinguir los paquetes de la vista lógica y los de realización, respectivamente Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 19. Paquetes  Uno puede contener a otros, sin límite de anidamiento  Un nivel dado puede contener paquetes y además otros elementos de modelado (por ejemplo Diagramas de Clases y de Interacción)  Cada elemento pertenece a un sólo paquete  Una clase de un paquete puede aparecer en otro paquete por la importación a través de una relación de dependencia entre paquetes Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 20. Paquetes  Las importaciones entre paquetes se representan por medio de una relación de dependencia, orientada del cliente al proveedor  Esto implica que al menos una clase del paquete cliente usa los servicios ofrecidos por al menos una clase del paquete proveedor.  Una clase depende de otra si accede a un valor del proveedor, invoca a una operación o referencia al proveedor como argumento en alguna operación Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 21. Paquetes  Todas las clases no son necesariamente visibles desde el exterior del paquete  El operador “::” permite designar una clase definida en un contexto distinto del actual  Por ejemplo, la expresión Ventas::Producto designa la clase Producto definida en el paquete Ventas  Un paquete encapsula a la vez que agrupa Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 22. Paquetes  Los paquetes también poseen una interfaz y una implementación  Cada elemento de un paquete se incluye como visible o no desde el exterior del paquete  Sólo las clases públicas aparecen en la interfaz del paquete  No debe haber relaciones cíclicas entre paquetes Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 23. Ejemplo: Presentación Lógica de la aplicación Servicios Dominio Almacen físico de datos Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 24. Casos de Uso  Captura información de cómo un sistema o negocio trabaja.  No pertenece realmente al enfoque orientado a objetos. Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 25. Diagramas de Casos de Uso  Cada Caso de Uso puede estar definido por: • • • • texto que lo describe secuencia de pasos ejecutados dentro del escenario condiciones pre-post para que el escenario comience o termine mezclando las anteriores  Representados por una elipse  Un actor es un agente, alguien o algo que solicita un servicio al sistema o actúa como catalizador para que ocurra algo Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 26. Ejemplos Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 27. Diagramas de Interacción  Diagramas de Secuencia y de Colaboración: usados para realizar un escenario del sistema, determinando los objetos y mensajes involucrados  Un Diagrama de Secuencia muestra los objetos de un escenario mediante líneas verticales y los mensajes entre objetos como flechas conectando objetos  El Diagrama de Colaboración muestra como los objetos están conectados y los mensajes enviados acompañados de una flecha que indica su dirección Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 28. Ejemplo : Perro : Gato : Ratón 1. Ladrar 2.1. Correr 2.2. Sacar uñas 1. Ladrar 2. Asustar 2. As ustar : Perro 2.1. Correr : Gato 2.2. Sacar uñas 3. Comer 3.1. Destroy 3.1. Destroy 3. Com er : Ratón Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 29. Diagramas e Clases  Principal Diagrama en cualquier método de Análisis o Diseño Orientado a Objetos  Muestra las relaciones estructurales y estáticas entre las clases  Se irán refinando durante todo el proceso de desarrollo, para detallarlos se usan muchos de los otros diagramas Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 30. Ejemplo Animales Tiene Casa 1 0..* + hacerRuido() + orinar() Perro Collar Gato Ratón Eslabones Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 31. Diagramas de Estados  Modela comportamiento, aspectos dinámicos  Se elabora un diagrama de Estados para cada clase que tenga un comportamiento dinámico importante Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 32. Ejemplo Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 33. Diagramas de actividad  Caso especial de Diagrama de Estados donde: Todos (o la mayoría de) los estados son estados de acción Todas (la mayoría de) las transiciones son “disparadas” como consecuencia de la finalización de la la acción.  El Diagrama puede estar asociado a: Una clase La implementación de una operación Un Caso de uso Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 34. Ejemplos (Fowler, 1997) Buscar Bebida [no hay café] [hay café Poner café en filtro [no zumo] [hay zumo] Añadir agua al depósito Coger taza Coger zumo Poner filtro en máquina Encender máquina ^cafetera.On Café en preparación indicador de fin Servir café Beber Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 35. Diagramas de Componentes  Permite modelar la estructura física del software  Un componente representa un modulo de código físico. Pueden corresponder con código fuente, binario o ejecutable  Una relación de dependencia indica que un componente utiliza otro, por lo cual depende de él. Existe visibilidad entre componentes  Por lo general, un componente equivale a un paquete Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 36. Ejemplo Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 37. Diagramas de Despliege  El Diagrama de Despliege modela la distribución en tiempo de ejecución de los elementos de procesamiento y componentes de software, junto a los procesos y objetos asociados  En el Diagrama de Distribución se modelan los nodos y la comunicación entre ellos  Cada nodo puede contener instancias de componentes Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 38. Ejemplo Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML
    • 39. Relación entre Diagramas Casos de Uso Diagramas de Secuencia Diagramas de Colaboración Diagrama de Clases y Objetos Diagramas de Estados Diagramas de Distribución Diagramas de Componentes C Ó D I G O Diagramas de Actividad Javier Garzás, Proceso de desarrollo OO con UML – Presentación de UML

    ×