Introduccion a Uml

8,424 views

Published on

mi presentacion del curso de introduccion a UML

Published in: Technology, Education
5 Comments
21 Likes
Statistics
Notes
No Downloads
Views
Total views
8,424
On SlideShare
0
From Embeds
0
Number of Embeds
57
Actions
Shares
0
Downloads
322
Comments
5
Likes
21
Embeds 0
No embeds

No notes for slide

Introduccion a Uml

  1. 1. Uml<br />Coordinación General De Tecnologías de la información<br />Universidad de Guadalajara<br />LI José Jiménez Cabrera<br />
  2. 2. Presentación<br />Nombre  <br />Institución a la que pertenecen <br />Título, función y responsabilidad en el trabajo  <br />Tu Experiencia relacionada con el análisis y la recopilación de requerimientos  <br />Tuexperienciarelacionadas con el diseño y la arquitectura de software  <br />Experienciarelacionada con lasnotaciones de modelado, tales como la OMT y UML  <br />Razonesparainscribirse en estecurso  <br />Las expectativas para este curso <br />
  3. 3. Contenido del Curso<br />Introducción<br />Diagramas de casos de uso<br />Diagramas de clases<br />Diagramas de objetos<br />Diagramas de paquetes<br /><ul><li>Diagramas de estado
  4. 4. Diagrama de Actividades
  5. 5. Diagrama de secuencia
  6. 6. Diagrama de comunicación
  7. 7. Diagrama de componentes
  8. 8. Diagrama de despliegue</li></li></ul><li>Diagramas UML<br />
  9. 9. Introducción General<br />
  10. 10. ¿Qué es Uml?<br />UML = UnifiedModelingLanguage. <br />El Lenguaje de Modelado Unificado (UML) es un lenguaje gráfico para visualizar, especificar, construir y documentar los artefactos de un sistema de software independiente del lenguaje de programación utilizado. <br />
  11. 11. ¿Qué es Uml?<br />Uml esta hecho por notaciones y diagramas.<br />Las notaciones consisten en elementos que colaboran juntos en un diagrama. Por Ejemplo símbolos, conectores, notas, valores. Etc.<br />Los diagramas son representaciones graficas de un proceso, el sistema o una parte de el.<br />UML es extensible.<br />UML es escalable.<br />
  12. 12. Notaciones UML<br />Elementos<br />Relaciones<br />
  13. 13. ¿Por que usar UML?<br />Crisis del Software<br />
  14. 14. Creadores del UML<br />
  15. 15. Ventajas de UML<br />Es útil para comunicar concepto y sistemas.<br /> Reduce costos y riesgos al permitir la experimentación con modelos.<br /> Reduce la complejidad.<br /> Aumenta la calidad de los sistemas.<br /> Productividad y eficiencia en los desarrollos.<br /> Facilita el re-uso de artefactos.<br />
  16. 16. Ventajas de UML<br />Hemisferio Izquierdo<br /><ul><li> Análisis
  17. 17. Detalle
  18. 18. Pensamiento Lógico
  19. 19. Comunicación Verbal</li></ul>Hemisferio Derecho<br /><ul><li> Intuición
  20. 20. Creatividad
  21. 21. Pensamiento Emocional
  22. 22. Comunicación no Verbal</li></li></ul><li>Resumen<br />Uml Es un lenguaje Visual Que nos permite, diseñar, comunicar y documentar entre otras cosas.<br />Un modelo nos permite realizar una representación de la realidad.<br />Uml nos permite usar ambos hemisferios de nuestro cerebro.<br />
  23. 23. Modelado de Objetos:Un VISTAZO GENERAL<br />
  24. 24. ¿Que es un modelo?<br />feb-11<br />(c) 2010 Universidad de Guadalajara. Prohibida su reproducción.<br />“Un modelo es una simplificación de la realidad”<br />Un modelo es una abstracción de alguna entidad (como un edificio) o de un sistema (como el software)<br />Diferentes vistas muestran el modelo de diferentes perspectivas<br />
  25. 25. Un objeto es algo que existe en el contexto de un sistema.<br />Orientación de objetos<br />
  26. 26. Un objeto es algo que existe en el contexto de un sistema.<br />Un objeto es la instancia de una clase.<br />Orientación de objetos<br />
  27. 27. Clases<br />Una clase es "un conjunto de objetos que comparten una estructura común y un comportamiento común." (Booch Objeto página Soluciones 303)<br /> <br />es un molde con el que los objetos pueden ser creados.<br />es una categoría en la que los objetos pueden ser organizados.<br />Es también una plantilla en la que los objetos pueden ser creados.<br />
  28. 28. Atributos y operaciones <br />Las clases (y los objetos que perteneces a la clase) tienen:<br />Atributos: Propiedades<br />Tamaño, color, genero<br />Operaciones: Funcionalidad<br />Nadar, comer, correr, dormir<br />
  29. 29. Herencia<br />La herencia es "un mecanismo por el cual se define una clase, en referencia a los demás, sumando todas sus características a las suyas." (Página Meyer, 1197)<br /> <br /> <br /> <br />Características de la herencia:<br /> <br /><ul><li>Atributos y métodos de la superclase se incluyen en la subclase </li></ul> <br /><ul><li>Subclase métodos puede reemplazar los métodos de superclase </li></ul> <br /><ul><li>Una subclase puede heredar de múltiples superclases (llamada herencia múltiple) o una subclase puede sólo heredar de una superclase única (herencia simple) </li></li></ul><li>Relaciones entre objetos<br />Los objetos no existen aislados; existen en relación con otros objetos.<br />
  30. 30. Generalización<br />En la Generalización, la clase hijo esta basado en la clase padre. Esta relación indica que dos clases son similares pero tienen algunas diferencias.<br />
  31. 31. Asociación<br />La asociación significa que dos clases estas conectadas (o relacionadas) de alguna manera.<br />La información de una clase esta ligada a los datos de la otra clase.<br />Una clase trabaja con otra para elaborar una tarea.<br />Una clase actúa sobre otra clase.<br />
  32. 32. Agregación<br />Una Agregación indica una relación entre un todo y sus partes<br />Equipo de Futbol<br />
  33. 33. Composición<br />La composición es una forma fuerte de agregación. En este tipo de relación, cada parte puede pertenecer a un solo conjunto a la vez.<br />
  34. 34. Composición<br />La composición es una forma fuerte de agregación. En este tipo de relación, cada parte puede pertenecer a un solo conjunto a la vez.<br />La característica principal es que no se puede compartir.<br />Compartir<br />
  35. 35. Composición<br />Cuando el objeto principal es destruido, sus partes también son destruidas<br />
  36. 36. Multiplicidad<br />La multiplicidad muestra el numero de objetos que pueden participar en una relación<br />Ejemplos:<br />Una clase ocurre en un salón.<br />Un maestro enseña muchas clases.<br />Un maestro enseña a muchos estudiantes<br />Un estudiante aprende de muchos maestros.<br />
  37. 37. Polimorfismo<br />es la capacidad de tomar muchas formas diferentes<br />
  38. 38. Polimorfismo<br />es la capacidad de tomar muchas formas diferentes<br />El polimorfismo puede aplicar <br />Objetos<br />Operaciones<br />
  39. 39. Polimorfismo<br />es la capacidad de tomar muchas formas diferentes<br />
  40. 40. Polimorfismo<br />es la capacidad de tomar muchas formas diferentes<br />
  41. 41. Polimorfismo<br />es la capacidad de tomar muchas formas diferentes<br />ObjetoVolador<br />
  42. 42. Polimorfismo<br />es la capacidad de tomar muchas formas diferentes<br />ObjetoVolador<br />volar()<br />volar()<br />
  43. 43. Panorama general<br />Tipos de Diagramas<br />
  44. 44. Diagramas UML<br />
  45. 45. Modelo 4+1<br />
  46. 46. Vista lógica<br />Clase<br />Colaboración<br />
  47. 47. Vista de procesos<br />
  48. 48. Vista Física<br />
  49. 49. Vista de desarrollo<br />componentes<br />paquetes<br />
  50. 50. Vista de casos de uso<br />
  51. 51. Modelo estático vs dinámico<br />Modelos estáticos: muestra la estructura del sistema.<br />Modelos Dinámicos: Muestra las características del comportamiento del sistema.<br />Modelos de implementación: muestra los elementos necesarios para la implementación del sistema.<br />
  52. 52. Modelos Estáticos<br />
  53. 53. Modelos Estáticos<br /><ul><li>Un modelo estático de un sistema muestra la estructura del sistema.
  54. 54. Se hace hincapié en las partes que componen el sistema.
  55. 55. Los modelos estáticos se usan para definir los nombres de las clases, los atributos, asignación de los métodos y los paquetes.
  56. 56. Los diagramas que representas el modelo estático incluyen los diagramas de clases, diagramas de objetos y los diagramas de casos de uso.</li></li></ul><li>Modelos Dinámicos<br />
  57. 57. Modelos Dinámicos<br />Un modelo dinámico muestra el comportamiento del sistema, por ejemplo, cómo se comporta el sistema en respuesta a los acontecimientos externos.<br />permite identificar los objetos necesarios y cómo esos objetos trabajan juntos a través de los métodos y los mensajes<br />Util para diseñar la lógica y el comportamiento del sistema.<br />Los diagramas UML que representan los modelos dinámicos son los diagramas de secuencia, diagramas de comunicación,diagramas de estado y diagramas de actividad.<br />
  58. 58. Modelo de implementación<br />Este modelo muestra las diferentes elementos de un sistema que se requieren para su implementación.<br />Se muestra la organización física de los componentes de software y otros recursos físicos, tales como las rutas de hardware y de conexión.<br />Los diagramas que representan el modelo de implementación son los diagramas de componentes y los diagramas de despliegue.<br />
  59. 59. Estático vs Dinámico<br />Los diagramas estáticos (especialmente los diagramas de clases) dan a los desarrolladores información detallada sobre las clases, tipos de datos y parámetros.<br />Los diagramas dinámicos, tales como los diagramas de secuencia y comunicación, ayudará a definir los objetos y cómo interactúan.<br />La practica del modelado ágil recomienda el desarrollo de ambos modelos en paralelo, trabajando en modelos estáticos y dinámicos al mismo tiempo.<br />
  60. 60. Casos de uso <br />
  61. 61. Clases<br />
  62. 62. Objetos<br />
  63. 63. Paquetes<br />
  64. 64. Estados<br />
  65. 65. Diagrama de Actividades<br />
  66. 66. Diagramas de Casos de uso<br />
  67. 67. Actor<br />"Un actor es un rol que un usuario representa con relación al sistema." (Fowler, UML Gota a Gota) <br />Un actor también es "Un conjunto coherente de roles que los usuarios de los casos de uso juegan al interactuar con estos casos de uso.”<br />Agente de Viajes<br />
  68. 68. Actor<br />Este icono representa un actor humano (usuario) del sistema. También puede representar a un sistema externo.<br />Agente de Viajes<br />
  69. 69. Caso de uso<br />Un caso de uso describe lo que el sistema hace para lograr una meta desde la perspectiva del cliente. <br />CU01: Gestionar Almacén<br />
  70. 70. Unaasociación en un caso de uso representa"Laparticipacióndeunactor<br />enuncaso de uso”<br />Asociación<br />E2:Registrar Huésped<br />Recepcionista<br />•Unactordebeserasociadosconunoomás casos de uso.<br />•Uncaso de uso debeserasociadosconunoomás<br />actores.<br />•Unasociaciónesrepresentadoporunalínea solida sin<br />puntas de flecha.<br />Caso de uso: asociaciones<br />
  71. 71. La dependencia <<include>><br />El caso de uso depende de la invocación de caso de uso incluido con el fin de ser completada.<br />Siempre es llamado por el caso de uso que lo incluye.<br />Puede ser llamado por mas de un caso de uso.<br />
  72. 72. La dependencia <<extend>><br />Un caso de uso extiende a otro cuando le agrega tareas adicionales al primero.<br />Identifica escenarios que ocurren en casos alternos.<br />
  73. 73. Generalización <br />
  74. 74. Puntos de extensión<br />
  75. 75. Casos de uso<br />Para cada caso de uso ...<br />Describir los pasos involucrados en la interacción entre un actor y el sistema, empezando por el actor principal.<br />Comienza con éxito el escenario principal.<br />Puedes buscar caminos alternativos:<br />Excepciones: ¿Qué podría salir mal aquí?<br />Extensiones: ¿Qué otro objetivo podría entrar aquí?<br />
  76. 76. Diagramas de clase<br />
  77. 77. Clasificadores: Clases y Objetos <br />
  78. 78. Atributos y operaciones <br />Atributos son las propiedades que tiene un objeto de una determinada instancia<br />
  79. 79. Los estereotipos <br />
  80. 80. Asociaciones y Multiplicidad <br />Las clases tienen una relación con otras clases<br />
  81. 81. Asociaciones y Multiplicidad <br />Las clases tienen una relación con otras clases<br />Las clases pueden estar relacionada con otras múltiples veces, a eso le llamamos multiplicidad.<br />
  82. 82. Asociación de Clases <br />Un Asociación de clases permite<br />
  83. 83. Agregación y Composición <br />
  84. 84. Generalización <br />
  85. 85. Realización <br />
  86. 86. Dependencia <br />
  87. 87. Restricciones y notas<br />Las restricciones muestran las restricciones que un elemento tiene.<br />Le da condiciones y restricciones en varios aspectos.<br />Las notas permiten incluir información adicional a un elemento UML.<br />
  88. 88. Clases Abstractas e Interfaces<br />Las Clases Abstractas permite que sea heredada por sus hijos pero no se puede instanciar directamente.<br />Las interfaces especifican la implementación pero no especifican como implementarlas.<br />
  89. 89. Diagramas de objetos<br />
  90. 90. Objetos e instancias<br />
  91. 91. Diagramas de paquetes<br />
  92. 92. Paquetes <br />
  93. 93. Visibilidad <br />Los paquete puede guardar la visibilidad de los elementos que la componen <br />Al igual que los atributos y las operaciones pueden ser<br />Públicos<br />Privados<br />Protegidos<br />Paquetes<br />
  94. 94. Las relaciones entre los paquetes<br />Los paquetes al igual que las clases no trabajan aisladamente<br />
  95. 95. Paquetes de Casos de Uso <br />
  96. 96. Paquetes de Casos de Uso <br />
  97. 97. Cuándo utilizar los diagramas de paquetes <br />Cuando el proyecto es muy complejo y contiene muchas clases o casos de uso.<br />Mantener un registro de las dependencias.<br />Para organizar clases que tienen elementos comunes.<br />Para indicar dependencias entre paquetes .<br />Para crear una estructura jerárquica.<br />Para dividir los sistemas complejos en modulos.<br />
  98. 98. Diagramas de actividad<br />
  99. 99. conceptos básicos<br />
  100. 100. Caminos paralelos y alternativos<br />Bifurcación: Barra de color negra.sirve para indicar cuando se realizan actividades paralelas.<br /><ul><li>Decisión/Combinar : diamante, para indicar cuando se toman caminos diferentes </li></li></ul><li>Diagramas de Subactividades<br />Son diagramas que se encuentran dentro de una actividad mayor<br />
  101. 101. Uso de Carriles (Swimlines)<br />
  102. 102. Diagramas de secuencia<br />
  103. 103. Tipos de mensajes<br />
  104. 104.
  105. 105. Diagrama de secuencia<br />
  106. 106. Diagramas de Estado<br />
  107. 107.
  108. 108. seudoestados<br />
  109. 109. seudoestados<br />
  110. 110. Diagramas de componentes<br />
  111. 111. La introducción de componentes <br />La representación gráfica es la siguiente:<br />
  112. 112. estereotipos<br />UML define cinco estereotipos estándar que se aplican a los componentes:<br />Executable: Especifica un componente que se puede ejecutar en un nodo. <br />Library: Especifica una biblioteca de objetos estática o dinámica. <br />Table: Especifica un componente que representa una tabla de una base de datos. <br />File: Especifica un componente que representa un documento que contiene código fuente o datos. <br />Document: Especifica un componente que representa un documento. <br />
  113. 113. Diagramas de Distribución<br />
  114. 114. ¿Qué un diagrama de distribución?<br />Los Diagramas de Distribución muestran la disposición física de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos<br />
  115. 115. Nodos <br />Un nodo es un elemento físico que existe en tiempo de ejecución y representa un recurso computacional, que generalmente tiene algo de memoria y, a menudo, capacidad de procesamiento. <br />Los nodos se utilizan para modelar la topología del hardware sobre el que se ejecuta el sistema. Representa típicamente un procesador o un dispositivo sobre el que se pueden desplegar los componentes.<br />
  116. 116. Componentes<br /> Los componentes son los elementos que participan en la ejecución de un sistema. Los nodos son los elementos donde se ejecutan los componentes. <br />Los componentes representan el empaquetamiento físico de los elementos lógicos. Los nodos representan el despliegue físico de los componentes. <br />La relación entre un nodo y el componente que despliega puede mostrarse con una relación de dependencia, o listando los nodos desplegados en un <br />compartimiento adicional dentro del nodo.<br />
  117. 117. Ejemplo<br />
  118. 118. Otros Diagramas<br />
  119. 119. Diagrama de requerimientos<br />
  120. 120. Diagrama de procesos<br />
  121. 121. Diagrama de interfaces<br />
  122. 122. Diagrama de navegación<br />
  123. 123. Diagrama entidad-relacion<br />
  124. 124. Notas finales<br />
  125. 125. Grado de complejidad<br />
  126. 126. Herramientas de desarrollo<br />
  127. 127. Herramientas de desarrollo<br />
  128. 128. Herramientas de desarrollo<br />

×