Introducción a UML
Contenidos <ul><li>UML: qué es </li></ul><ul><li>UML Parte Estática </li></ul><ul><li>Taller </li></ul>
Unified Modeling Language <ul><li>Lenguaje de Modelado Visual de Propósito general </li></ul><ul><li>Usos: </li></ul><ul><...
UML: “Unificado” <ul><li>Cruza los métodos y notaciones anteriores </li></ul><ul><li>Cruza los ciclos de desarrollo </li><...
UML: Componentes <ul><li>Vista Estática </li></ul><ul><li>Vista de Casos de Uso </li></ul><ul><li>Vista de Interacción </l...
UML Estático Vista Diagramas Conceptos Principales Vista Estática Diagrama de Clases Clase, Asociación, Generalización Dep...
Diagrama de Clases
Diagrama de Casos de Uso
Diagrama de Componentes
Diagrama de Despliegue
UML Dinámico Vista Diagramas Conceptos Principales Vista de Máquina de Estados Diagrama de Estados (statechart) Estado, Ev...
Diagrama de Estados
Diagrama de Actividades
Diagrama de Secuencia
Diagrama de Colaboración
UML Gestión del Modelo Extensibilidad Vista Diagramas Conceptos Principales Vista de la gestión del  modelo Diagrama de Cl...
Vista de la Gestión del Modelo
Extensibilidad
2. UML Parte Estática <ul><li>Diagrama de Casos de Uso </li></ul><ul><li>Diagrama de Clases </li></ul>
Diagrama de Casos de Uso <ul><li>Modela la funcionalidad de un sistema percibido desde el usuario externo (actor). </li></...
Diagrama de Casos de Uso: Elementos <ul><li>Actor: </li></ul><ul><li>rol que  juega  un usuario con respecto al sistema.  ...
Diagrama de Casos de Uso:  Relaciones <ul><li>Asociación: </li></ul><ul><li>Es el tipo de relación más básica que indica l...
Diagrama de casos de Uso: Relaciones de Generalización <ul><li>Este tipo de relación esta orientado exclusivamente para ca...
Diagrama de Casos de Uso: Ejemplo Máquina Recicladora  <ul><li>El sistema debe :  </li></ul><ul><li>Registrar el número de...
Máquina Recicladora: Identificación de Actores
Máquina Recicladora: Diagrama Completo
Diagrama de Clases <ul><li>Modela los conceptos del dominio de la aplicación. </li></ul><ul><li>Permite  visualizar las re...
Diagrama de Clases: Elementos Clase <ul><li>Es la unidad básica que encapsula toda la información de un  Tipo de  Objeto (...
Diagrama de Clases: Elementos Atributo <ul><li>Los atributos describen a una clase. Pueden ser Públicos, Privados o Proteg...
Diagrama de Clases: Elementos Operaciones (métodos) <ul><li>Las operaciones o métodos de una clase  describen la forma en ...
Diagrama de Clases: Elementos Relaciones entre Clases <ul><li>Las clases interrelacionadas modelan un sistema en su dimens...
Relaciones entre Clases: Dependencia (instanciación o uso) <ul><li>Un cambio en la clase independiente (Aplicación) puede ...
Relaciones entre Clases: Generalización <ul><li>Relaciona una abstracción general (superclase) con una más concreta del mi...
Relaciones entre Clases: Generalización - Polimorfismo <ul><li>Una generalización da a lugar al polimorfismo entre clases ...
Relaciones entre Clases: Generalización
Relaciones entre clases: Asociación <ul><li>Relación estructural entre las clases. </li></ul><ul><li>En general es simétri...
Relaciones entre clases: Asociación
Relaciones entre Clases Agregación y Composición <ul><li>Composición </li></ul><ul><li>R elación estática, en donde el tie...
Relaciones entre Clases: Agregación y Composición Agregación (Por referencia) Composición (Por valor)
Diagrama de Clases: Elementos Responsabilidades <ul><li>La  distribución de responsabilidades en un sistema,  se realiza  ...
Diagrama de Clases
3. Caso <ul><li>Para el caso descrito, desarrolle: </li></ul><ul><li>Diagrama de Casos de Uso </li></ul><ul><li>Diagrama d...
Bibliografía y Referencias:  Fundamental <ul><li>James Rumbaugh, Ivar Jacobson, Grady Booch, “The Unified Modeling Languag...
Bibliografía y Referencias Complementaria <ul><li>Rational www.rational.com </li></ul><ul><li>Robert Muller, “Database Des...
Upcoming SlideShare
Loading in …5
×

Introduccion a UML

3,298 views
3,158 views

Published on

Introducción UML

1 Comment
7 Likes
Statistics
Notes
No Downloads
Views
Total views
3,298
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
214
Comments
1
Likes
7
Embeds 0
No embeds

No notes for slide
  • En el año 1994 había más de 50 notaciones, se toma lo mejor de cada una y se tiende a un estándar. Las notaciones se mantienen (en principio) a través del ciclo del desarrollo (aunque debe variar el nivel de abstracción) Se persigue poder cubrir todos los dominios de aplicación incluidos aquellos sistemas grandes, complejos, tiempo real, distribuidos, intensivos en datos o computación, entre otros. Puede haber areas especializadas con lenguajes más adecuados, pero Uml pretende cubrir un rango muy amplio. UML es un lenguaje, no una metodología de desarrollo. Se definen las interrelaciones entre los constructores de UML. Esto conlleva a un mejor entendimiento de los conceptos y una mejor aplicabilidad de los mismos.
  • Introduccion a UML

    1. 1. Introducción a UML
    2. 2. Contenidos <ul><li>UML: qué es </li></ul><ul><li>UML Parte Estática </li></ul><ul><li>Taller </li></ul>
    3. 3. Unified Modeling Language <ul><li>Lenguaje de Modelado Visual de Propósito general </li></ul><ul><li>Usos: </li></ul><ul><ul><li>Especificar, visualizar, construir y documentar artefactos de un sistema software. </li></ul></ul><ul><li>Se diseñó de manera de independizarlo del método de desarrollo, y se intenta que sea aplicable a todas las etapas del ciclo de vida del software </li></ul>
    4. 4. UML: “Unificado” <ul><li>Cruza los métodos y notaciones anteriores </li></ul><ul><li>Cruza los ciclos de desarrollo </li></ul><ul><li>Cruza los dominios de aplicación </li></ul><ul><li>Cruza las plataformas y lenguajes de implantación </li></ul><ul><li>Cruza los procesos de desarrollo </li></ul><ul><li>Cruza los conceptos internos </li></ul>
    5. 5. UML: Componentes <ul><li>Vista Estática </li></ul><ul><li>Vista de Casos de Uso </li></ul><ul><li>Vista de Interacción </li></ul><ul><li>Diagrama de Secuencia </li></ul><ul><li>Diagrama de Colaboración </li></ul><ul><li>Vista de la Máquina de Estados </li></ul><ul><li>Vista de Actividades </li></ul><ul><li>Vista Física </li></ul><ul><li>Vista de la Gestión del Modelo </li></ul><ul><li>Constructores de Extensibilidad </li></ul>
    6. 6. UML Estático Vista Diagramas Conceptos Principales Vista Estática Diagrama de Clases Clase, Asociación, Generalización Dependencia, Realización, Interfase Vista de Casos de Uso Diagrama de Casos de Uso Caso de uso, Actor, Asociación, Extensión, Inclusión, Generalización de caso de uso Vista de Implementación Vista del despliegue (deployment) Diagrama de Componentes Componente, Interfaz, Dependencia, Realización Diagrama de Despliegue Nodo, Componente, Dependencia, Locación
    7. 7. Diagrama de Clases
    8. 8. Diagrama de Casos de Uso
    9. 9. Diagrama de Componentes
    10. 10. Diagrama de Despliegue
    11. 11. UML Dinámico Vista Diagramas Conceptos Principales Vista de Máquina de Estados Diagrama de Estados (statechart) Estado, Evento, Transición, Acción Vista de actividades Diagrama de Actividades Estado, Actividad, Transición de compleción, Juntura (join), Bifurcación (fork)   Vista de Interacción Diagrama de Secuencia Interacción, Objeto, Mensaje, Activación Diagrama de Colaboración Colaboración, Interacción, Rol de colaboración, Mensaje
    12. 12. Diagrama de Estados
    13. 13. Diagrama de Actividades
    14. 14. Diagrama de Secuencia
    15. 15. Diagrama de Colaboración
    16. 16. UML Gestión del Modelo Extensibilidad Vista Diagramas Conceptos Principales Vista de la gestión del modelo Diagrama de Clases Paquete, Subsistema, Modelo Vista Diagramas Conceptos Principales Todas Todos Restricción, Estereotipo, Valores tagged (etiquetados)
    17. 17. Vista de la Gestión del Modelo
    18. 18. Extensibilidad
    19. 19. 2. UML Parte Estática <ul><li>Diagrama de Casos de Uso </li></ul><ul><li>Diagrama de Clases </li></ul>
    20. 20. Diagrama de Casos de Uso <ul><li>Modela la funcionalidad de un sistema percibido desde el usuario externo (actor). </li></ul><ul><li>Un caso de uso es una unidad de funcionalidad coherente expresado como una transacción entre actores y el sistema. </li></ul><ul><li>Pueden describirse en varios niveles de detalle. </li></ul><ul><li>Un caso de uso se implementa como una colaboración en la vista de interacción. </li></ul>
    21. 21. Diagrama de Casos de Uso: Elementos <ul><li>Actor: </li></ul><ul><li>rol que juega un usuario con respecto al sistema. </li></ul><ul><li>un Actor no necesariamente representa a una persona en particular, sino más bien la labor que realiza frente al sistema. </li></ul><ul><li>Caso de Uso: </li></ul><ul><li>Operación o tarea específica que se realiza tras una orden de algún agente externo, originada por una petición de un actor o bien desde la invocación desde otro caso de uso </li></ul>
    22. 22. Diagrama de Casos de Uso: Relaciones <ul><li>Asociación: </li></ul><ul><li>Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a otra operación (caso de uso). </li></ul><ul><li>Dependencia o Instanciación: </li></ul><ul><li>Es una forma muy particular de relación entre clases, en la cual una clase depende de otra, es decir, se instancia (se crea). </li></ul>
    23. 23. Diagrama de casos de Uso: Relaciones de Generalización <ul><li>Este tipo de relación esta orientado exclusivamente para casos de uso (y no para actores). </li></ul><ul><li>Se diferencian por el estereotipo <<uses>> (uso) o (<<extends>>) (herencia) . </li></ul><ul><li>extends: Se recomienda utilizar cuando un caso de uso es similar a otro ( en sus características). </li></ul><ul><li>uses: Se recomienda utilizar cuando se tiene un conjunto de características que son similares en más de un caso de uso y no se desea mantener copiada la descripción de la característica. </li></ul>
    24. 24. Diagrama de Casos de Uso: Ejemplo Máquina Recicladora <ul><li>El sistema debe : </li></ul><ul><li>Registrar el número de ítemes ingresados. </li></ul><ul><li>Imprimir un recibo cuando el usuario lo solicita , que incluye (a) una descripción de lo depositado, (b) e l valor de cada item y (c) el t otal </li></ul><ul><li>El usuario/cliente presiona el botón de comienzo </li></ul><ul><li>Existe un operador que desea saber lo siguiente: (a) Cu á ntos ítemes han sido retornados en el día y (b) a l final de cada día , un resumen de todo lo depositado. </li></ul><ul><li>El operador debe además poder cambiar i nformación asociada a ítemes y da r una alarma en el caso de que (a) un item se atore o (b) no hay más papel. </li></ul>
    25. 25. Máquina Recicladora: Identificación de Actores
    26. 26. Máquina Recicladora: Diagrama Completo
    27. 27. Diagrama de Clases <ul><li>Modela los conceptos del dominio de la aplicación. </li></ul><ul><li>Permite visualizar las relaciones entre las clases que involucran el sistema </li></ul><ul><li>Un diagrama de clases est á compuesto por los siguientes elementos: </li></ul><ul><ul><li>Clases: atributos, operaciones y visibilidad. </li></ul></ul><ul><ul><li>Relaciones : Herencia, Composición, Agregación, Asociación y Uso. </li></ul></ul><ul><ul><li>Responsabilidades </li></ul></ul>
    28. 28. Diagrama de Clases: Elementos Clase <ul><li>Es la unidad básica que encapsula toda la información de un Tipo de Objeto (un objeto es una instancia de una clase). </li></ul>
    29. 29. Diagrama de Clases: Elementos Atributo <ul><li>Los atributos describen a una clase. Pueden ser Públicos, Privados o Protegidos. </li></ul><ul><li>public (+, ): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. </li></ul><ul><li>private (-, ): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden acceder). </li></ul><ul><li>protected (#, ): Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de las subclases que se deriven (herencia) </li></ul>
    30. 30. Diagrama de Clases: Elementos Operaciones (métodos) <ul><li>Las operaciones o métodos de una clase describen la forma en la cual ésta interactúa con su entorno. Pueden ser Públicas, Privadas o Protegidas. </li></ul><ul><li>public (+, ): Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. </li></ul><ul><li>private (-, ): Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la misma clase lo pueden acceder). </li></ul><ul><li>protected (#, ): Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de las subclases que se deriven (herencia) </li></ul>
    31. 31. Diagrama de Clases: Elementos Relaciones entre Clases <ul><li>Las clases interrelacionadas modelan un sistema en su dimensión estática. </li></ul><ul><li>Existen tres tipos de relaciones básicas: </li></ul><ul><ul><li>Dependencia </li></ul></ul><ul><ul><li>Generalización </li></ul></ul><ul><ul><li>Asociación </li></ul></ul>
    32. 32. Relaciones entre Clases: Dependencia (instanciación o uso) <ul><li>Un cambio en la clase independiente (Aplicación) puede afectar a la clase dependiente (Ventana) </li></ul><ul><li>La interpretación más frecuente es la de uso: una clase usa a otra como argumento de una operación. </li></ul><ul><li>El objeto creado no se almacena en el objeto que lo crea. </li></ul>
    33. 33. Relaciones entre Clases: Generalización <ul><li>Relaciona una abstracción general (superclase) con una más concreta del mismo tipo (subclase) </li></ul><ul><li>Una clase puede tener cero, una (herencia simple) o más superclases (herencia múltiple) </li></ul><ul><li>Una clase sin superclases es una clase raíz </li></ul><ul><li>Una clase sin subclases es una clase hoja </li></ul>
    34. 34. Relaciones entre Clases: Generalización - Polimorfismo <ul><li>Una generalización da a lugar al polimorfismo entre clases de una jerarquía de generalizaciones. </li></ul><ul><ul><li>Un objeto de una subclase puede sustituir a un objeto de la superclase en cualquier contexto. Lo inverso no es cierto </li></ul></ul><ul><ul><li>Una operación de la subclase con igual signatura que una operación de la superclase la anula y sustituye. </li></ul></ul><ul><li>El polimorfismo es muy útil en la programación. </li></ul>
    35. 35. Relaciones entre Clases: Generalización
    36. 36. Relaciones entre clases: Asociación <ul><li>Relación estructural entre las clases. </li></ul><ul><li>En general es simétrica </li></ul><ul><li>Tiene un nombre, que la describe (verbo, con dirección de lectura) </li></ul><ul><li>Puede tener un rol que describe el papel específico que una clase juega en una asociación. </li></ul><ul><li>Tiene multiplicidad, que especifica por cada clase el número de objetos de la clase opuesta que se relacionan con un solo objeto de dicha clase a través de la asociación: </li></ul><ul><ul><li>1 : uno </li></ul></ul><ul><ul><li>0..1 : cero o uno </li></ul></ul><ul><ul><li>3 : tres </li></ul></ul><ul><ul><li>*: muchos </li></ul></ul><ul><ul><li>1..*: al menos uno </li></ul></ul><ul><ul><li>2,6,7: dos, seis o siete </li></ul></ul><ul><ul><li>2-4, 10-12 : de dos a cuatro y de diez a doce </li></ul></ul>
    37. 37. Relaciones entre clases: Asociación
    38. 38. Relaciones entre Clases Agregación y Composición <ul><li>Composición </li></ul><ul><li>R elación estática, en donde el tiempo de vida del objeto incluido est á condicionado por el tiempo de vida del que lo incluye. </li></ul><ul><li>E l Objeto base se contruye a partir del objeto incluido, es decir, es &quot;parte/todo“ , como un parámetro pasado “por valor”. </li></ul><ul><li>Agregación </li></ul><ul><li>R elación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. </li></ul><ul><li>E l objeto base utiliza al incluido para su funcionamiento , como un parámetro pasado “por referencia”. </li></ul>Permite modelar objetos complejos, en base a relaciones todo –parte.
    39. 39. Relaciones entre Clases: Agregación y Composición Agregación (Por referencia) Composición (Por valor)
    40. 40. Diagrama de Clases: Elementos Responsabilidades <ul><li>La distribución de responsabilidades en un sistema, se realiza identifica ndo un conjunto de clases que colabor a n entre sí para llevar a cabo algún comportamiento. Luego hay que identificar el conjunto de responsabilidades para cada clase </li></ul>
    41. 41. Diagrama de Clases
    42. 42. 3. Caso <ul><li>Para el caso descrito, desarrolle: </li></ul><ul><li>Diagrama de Casos de Uso </li></ul><ul><li>Diagrama de Clases </li></ul>
    43. 43. Bibliografía y Referencias: Fundamental <ul><li>James Rumbaugh, Ivar Jacobson, Grady Booch, “The Unified Modeling Language Reference Manual”, Addison Wesley, 1999 </li></ul><ul><li>Craig Larman, “UML y Patrones”, Prentice Hall, 1999 </li></ul><ul><li>OMG www.omg.org </li></ul>
    44. 44. Bibliografía y Referencias Complementaria <ul><li>Rational www.rational.com </li></ul><ul><li>Robert Muller, “Database Design For Smarties: Using UML for Data Modeling”, Morgan Kaufmann, 1999 </li></ul><ul><li>Luis Guerrero, “Taller de UML”, DCC, Universidad de Chile, 2002, www.dcc.uchile.cl/~luguerre/cc61j </li></ul><ul><li>Patricio Salinas, “Tutorial de UML”, DCC, Universidad de Chile, 2000, www.dcc.uchile.cl/~psalinas/uml </li></ul>

    ×