Curso Uml 2.5 Diagramas De ImplementacióN

43,291 views
42,690 views

Published on

Capítulo 2.5 Diagramas de Implementación (D. Componentes y D. de Despligue) del workshop de 20 horas UML y Proceso Unificado

Published in: Technology
6 Comments
40 Likes
Statistics
Notes
No Downloads
Views
Total views
43,291
On SlideShare
0
From Embeds
0
Number of Embeds
1,143
Actions
Shares
0
Downloads
0
Comments
6
Likes
40
Embeds 0
No embeds

No notes for slide

Curso Uml 2.5 Diagramas De ImplementacióN

  1. 1. Curso UML Emilio Avilés Ávila http://www.techmi.es
  2. 2. Workshop (20 horas) Workshop UML y Proceso Unificad para empresas y profesionales
  3. 3. Temario <ul><li>Introducción </li></ul><ul><li>Diagramas </li></ul><ul><ul><li>Casos de Uso </li></ul></ul><ul><ul><li>Diagramas de Clases </li></ul></ul><ul><ul><li>Diagramas de Interacción </li></ul></ul><ul><ul><li>Diagramas de Comportamiento </li></ul></ul><ul><ul><li>Diagramas de implementación </li></ul></ul><ul><ul><li>Otros diagramas </li></ul></ul><ul><li>Proceso Unificado </li></ul>
  4. 4. Tema 2 Diagramas
  5. 5. Objetivos <ul><li>Introducción </li></ul><ul><li>Diagramas </li></ul><ul><ul><li>Casos de Uso </li></ul></ul><ul><ul><li>Diagramas de Clases </li></ul></ul><ul><ul><li>Diagramas de Interacción </li></ul></ul><ul><ul><li>Diagramas de Comportamiento </li></ul></ul><ul><ul><li>Diagramas de implementación </li></ul></ul><ul><ul><li>Otros diagramas </li></ul></ul><ul><li>Proceso Unificado </li></ul><ul><li>Identificar el uso adecuado de los diagramas de implementación </li></ul><ul><li>Elementos UML de los diagramas de Componentes </li></ul><ul><li>Diferencia entre componente y despliegue </li></ul><ul><li>Elementos UML de un diagrama de despliegue </li></ul><ul><li>Ejemplos. </li></ul>
  6. 6. Tema 2.5 Diagramas de implementación
  7. 7. 2.5 – Diagramas de Implementación <ul><li>Introducción </li></ul><ul><ul><li>Un diagrama de implementación muestra: </li></ul></ul><ul><ul><ul><li>Las dependencias entre las partes de código del sistema (diagrama de componentes) </li></ul></ul></ul><ul><ul><ul><li>La estructura del sistema en ejecución (diagrama de despliegue): </li></ul></ul></ul><ul><ul><li>Los diagramas de componentes se utilizan para modelar la vista de implementación estática de un sistema. </li></ul></ul><ul><ul><li>Los diagramas de despliegue se utilizan para modelar la vista de despliegue estática. </li></ul></ul>
  8. 8. Tema 2.5.a Otros Diagramas Diagrama de componentes
  9. 9. 2.5 – Diagramas de Implementación: Componentes <ul><li>Términos y Conceptos </li></ul><ul><ul><li>Componente. </li></ul></ul><ul><ul><ul><li>Def. Unidad autónoma que forma parte del sistema y proporciona la implementaron de un conjunto de interfaces. </li></ul></ul></ul><ul><ul><li>Componentes y clases </li></ul></ul><ul><ul><ul><li>Las clases representan abstracciones lógicas y las componentes abstracciones físicas . </li></ul></ul></ul><ul><ul><ul><li>Los componentes puede vivir en nodos y las clases NO. </li></ul></ul></ul><ul><ul><ul><li>Las clases contienen atributos y operaciones. Los componentes sólo contienen operaciones alcanzables por sus interfaces. </li></ul></ul></ul><ul><ul><li>Componentes e interfaces </li></ul></ul><ul><ul><ul><li>El uso de interfaces para unir componentes es muy común. </li></ul></ul></ul><ul><ul><ul><li>Un componente puede exportar o importar interfaces. </li></ul></ul></ul>
  10. 10. 2.5 – Diagramas de Implementación: Componentes <ul><li>Términos y Conceptos (II) </li></ul><ul><ul><li>Un componente es fácilmente reemplazable. </li></ul></ul><ul><ul><ul><li>Es físico </li></ul></ul></ul><ul><ul><ul><li>reemplazable </li></ul></ul></ul><ul><ul><ul><li>parte del sistema </li></ul></ul></ul><ul><ul><ul><li>proporciona un conjunto de interfaces </li></ul></ul></ul><ul><ul><li>Tipos de componentes </li></ul></ul><ul><ul><ul><li>Componentes de despliegue : Necesarios para formar un sistema ejecutable. (DLLs,EXEs) </li></ul></ul></ul><ul><ul><ul><li>Componentes de productos de trabajo : Generados del proceso de desarrollo. </li></ul></ul></ul><ul><ul><ul><li>Componentes de ejecución : Consecuencia de la ejecución del sistema. </li></ul></ul></ul>
  11. 11. 2.5 – Diagramas de Implementación: Componentes <ul><li>Términos y Conceptos (III) </li></ul><ul><ul><li>Los componentes se pueden agrupar en paquetes </li></ul></ul><ul><ul><li>Estereotipos </li></ul></ul><ul><ul><ul><li>executable </li></ul></ul></ul><ul><ul><ul><li>library </li></ul></ul></ul><ul><ul><ul><li>table </li></ul></ul></ul><ul><ul><ul><li>file </li></ul></ul></ul><ul><ul><ul><li>document </li></ul></ul></ul>
  12. 12. 2.5 – Diagramas de Implementación: Componentes <ul><li>Notación </li></ul><ul><ul><li>Los componentes se representan gráficamente como a continuación: </li></ul></ul>
  13. 13. 2.5 – Diagramas de Implementación: Componentes <ul><li>Componentes: Elementos </li></ul><ul><ul><li>Requisitos </li></ul></ul><ul><ul><ul><li>Indicar sus obligaciones contractuales (servicios proveen en el modelo) </li></ul></ul></ul><ul><ul><ul><li>Ayudan a documentar el comportamiento funcional de los elementos de software. </li></ul></ul></ul><ul><ul><li>Restricciones </li></ul></ul><ul><ul><ul><li>Indican el entorno en el que operan. </li></ul></ul></ul><ul><ul><li>Escenarios </li></ul></ul><ul><ul><ul><li>Descripciones textuales y procedimentales de las acciones de un objeto a lo largo del tiempo y describen la forma en la que un componente trabaja. Se pueden crear múltiples escenarios para describir tanto el camino básico (una ejecución perfecta) como las excepciones, errores y otras condiciones. </li></ul></ul></ul><ul><ul><li>Trazabilidad </li></ul></ul><ul><ul><ul><li>Componente puede implementar otro elemento del modelo (por ejemplo un caso de uso) </li></ul></ul></ul><ul><ul><ul><li>Un componente puede ser implementado por otro elemento (por ejemplo un paquete de clases). </li></ul></ul></ul>
  14. 14. 2.5 – Diagramas de Implementación: Componentes <ul><li>Diagrama de Componentes </li></ul><ul><ul><li>Se utilizan para modelar la vista (lógica) de implementación estática de un sistema: </li></ul></ul><ul><ul><ul><li>para modelar código fuente </li></ul></ul></ul><ul><ul><ul><li>para modelar versiones ejecutables </li></ul></ul></ul><ul><ul><ul><li>para modelar bases de datos físicas </li></ul></ul></ul><ul><ul><ul><li>para modelar sistemas adaptables </li></ul></ul></ul><ul><ul><li>Es un tipo especial de diagrama de clases que se centra en los componentes de un sistema. </li></ul></ul><ul><ul><li>Formado por: </li></ul></ul><ul><ul><ul><li>Componentes. </li></ul></ul></ul><ul><ul><ul><li>Dependencia de Interfaces. </li></ul></ul></ul><ul><ul><ul><li>Comunicaciones. </li></ul></ul></ul><ul><ul><ul><li>relaciones de dependencia, generalización, asociación y realización. </li></ul></ul></ul>
  15. 15. 2.5 – Diagramas de Implementación: Componentes <ul><li>Diagrama de Componentes </li></ul><ul><ul><li>Interfaces: Pueden exponer interfaces </li></ul></ul><ul><ul><ul><li>Son puntos visibles de entrada o los servicios que un componente ofrece </li></ul></ul></ul>
  16. 16. 2.5 – Diagramas de Implementación: Componentes <ul><li>Ejemplo Diagrama Componentes </li></ul>
  17. 17. 2.5 – Diagramas de Implementación: Componentes <ul><li>Estereotipos en Componentes </li></ul><ul><ul><li>Executable : Especifica un componente que se puede ejecutar en un nodo. </li></ul></ul><ul><ul><li>Library : Especifica una biblioteca de objetos estática o dinámica. </li></ul></ul><ul><ul><li>Table : Especifica un componente que representa una tabla de una base de datos. </li></ul></ul><ul><ul><li>File : Especifica un componente que representa un documento que contiene código fuente o datos. </li></ul></ul><ul><ul><li>Document : Especifica un componente que representa un documento. </li></ul></ul>
  18. 18. 2.5 – Diagramas de Implementación: Componentes <ul><li>Consideraciones y usos </li></ul><ul><ul><li>Muestran la organización y dependencias lógica entre componentes. </li></ul></ul><ul><ul><li>Se deben tener en consideración requisitos: </li></ul></ul><ul><ul><ul><li>Facilidad de desarrollo. </li></ul></ul></ul><ul><ul><ul><li>Gestión del Software. </li></ul></ul></ul><ul><ul><ul><li>Reutilización. </li></ul></ul></ul><ul><ul><ul><li>Restricciones impuestas por los lenguajes de programación. </li></ul></ul></ul><ul><ul><ul><li>Herramientas usadas para el desarrollo. </li></ul></ul></ul>
  19. 19. 2.5 – Diagramas de Implementación: Componentes <ul><li>Componentes en Despliegue </li></ul><ul><ul><li>En los diagramas de despliegue pueden mostrarse las asociaciones existentes entre los nodos y los componentes . </li></ul></ul>
  20. 20. 2.5 – Diagramas de Implementación: Componentes <ul><li>Componentes y Nodos </li></ul><ul><ul><li>Un diagrama de despliegue muestra el despliegue físico del sistema en un ambiente de producción (o de prueba). </li></ul></ul><ul><ul><li>Muestra dónde se ubican los componentes, en qué servidores, máquinas o hardware. Puede representar los enlaces de redes, el ancho de banda de la LAN, </li></ul></ul>
  21. 21. 2.5 - Diagramas de Implementación: Componentes <ul><li>Ejercicio práctico </li></ul><ul><ul><li>Modelar el diagrama de componentes para proveer una vista conceptual/lógica de la construcción de un sistema: </li></ul></ul><ul><ul><ul><li>Servidor </li></ul></ul></ul><ul><ul><ul><li>Seguridad de tienda de libros online </li></ul></ul></ul><ul><ul><ul><li>Servidor Web </li></ul></ul></ul><ul><ul><ul><li>Firewall </li></ul></ul></ul><ul><ul><ul><li>Paginas ASP </li></ul></ul></ul><ul><ul><ul><li>…. Suerte!!! </li></ul></ul></ul>
  22. 22. 2.5 – Diagramas de Implementación: Componentes <ul><li>Solución </li></ul>
  23. 23. 2.5 - Diagramas de Implementación: Componentes <ul><li>Ejercicio práctico </li></ul><ul><ul><li>Modelar el diagrama de componentes para un software de seguridad con los siguientes elementos: </li></ul></ul><ul><ul><ul><li>Autoridad certificadora (Certificate Authority) </li></ul></ul></ul><ul><ul><ul><li>Navegador (Browser) </li></ul></ul></ul><ul><ul><ul><li>Servidor Web </li></ul></ul></ul><ul><ul><ul><li>Otros elementos (Firewall, etc..) </li></ul></ul></ul><ul><ul><ul><li>… . Suerte!!! </li></ul></ul></ul>
  24. 24. 2.5 – Diagramas de Implementación: Componentes <ul><li>Solución </li></ul>
  25. 25. Tema 2.5.b Diagramas de implementación Diagrama de DESPLIEGUE
  26. 26. 2.5 – Diagramas de Implementación: Despliegue <ul><li>Introducción </li></ul><ul><ul><li>Representa la arquitectura de ejecución de los sistemas . </li></ul></ul><ul><ul><li>Muestra artefactos del sistema como nodos , los cuales son conectados mediante caminos de comunicación para crear redes de complejidad arbitraria. </li></ul></ul><ul><ul><li>Los nodos son definidos de forma anidada, representando tanto dispositivos hardware como entornos de ejecución software . </li></ul></ul><ul><ul><li>También conocido como modelo físico. </li></ul></ul>
  27. 27. 2.5 – Diagramas de Implementación: Despliegue <ul><li>Nodos </li></ul><ul><ul><li>Un nodo representa un tipo de recurso computacional sobre el que se pueden desplegar artefactos para su ejecución. </li></ul></ul><ul><ul><li>Dos posibles estereotipos: </li></ul></ul><ul><ul><ul><li>Dispositivos hardware : como un ordenador, un procesador, un teléfono móvil, etc. </li></ul></ul></ul><ul><ul><ul><li>Entornos de ejecución : sistemas software que albergan o contienen el software desarrollado, como sistemas operativos, servidores y clientes Web, etc. </li></ul></ul></ul><ul><ul><li>Un nodo puede, a su vez, albergar otros nodos, en una estructura anidada. </li></ul></ul>
  28. 28. 2.5 – Diagramas de Implementación: Despliegue <ul><li>Nodos: Notación </li></ul>
  29. 29. 2.5 – Diagramas de Implementación: Despliegue <ul><li>Relaciones entre nodos </li></ul><ul><ul><li>Las asociaciones entre nodos permiten modelar: </li></ul></ul><ul><ul><ul><li>Un canal de comunicación existente entre nodos y el tipo. </li></ul></ul></ul><ul><ul><ul><li>La cardinalidad de la relación. </li></ul></ul></ul>
  30. 30. 2.5 – Diagramas de Implementación: Despliegue <ul><li>Artefactos </li></ul><ul><ul><li>Representan la especificación de un elemento de implementación concreto y real: </li></ul></ul><ul><ul><ul><li>generalmente archivos (ejecutables, de datos, de configuración, HTML, documentos, resultados del proceso de desarrollo, …). </li></ul></ul></ul><ul><ul><ul><li>tablas de la base de datos. </li></ul></ul></ul><ul><ul><li>Los artefactos se ‘despliegan’ en los nodos, indicando que recurso computacional los va a albergar y, en su caso, ejecutar. </li></ul></ul>
  31. 31. 2.5 – Diagramas de Implementación: Despliegue <ul><li>Diagramas de despliegue </li></ul><ul><ul><li>Muestra las relaciones físicas entre los componentes hardware y software en el sistema final así como su configuración. </li></ul></ul><ul><ul><li>Formados por instancias de componentes software que representan manifestaciones de código en tiempo de ejecución . </li></ul></ul><ul><ul><li>Representación : grafo de nodos unidos por conexiones de comunicación </li></ul></ul><ul><ul><li>‘ Diagramas de clases que se ocupan de modelar los nodos del sistema’ </li></ul></ul>
  32. 32. 2.5 – Diagramas de Implementación: Despliegue <ul><li>Diagrama de despliegue: Usos </li></ul><ul><ul><li>Aunque UML no es un lenguaje para especificar hardware, permite modelar muchos de estos aspectos. </li></ul></ul><ul><ul><li>Suficiente para que: </li></ul></ul><ul><ul><ul><li>Un ingeniero software especifique la plataforma de ejecución del software </li></ul></ul></ul><ul><ul><ul><li>Un ingeniero sistemas maneje la frontera entre el software y hardware. </li></ul></ul></ul>
  33. 33. 2.5 – Diagramas de Implementación: Despliegue <ul><li>Diagrama de despliegue: Usos </li></ul><ul><ul><li>Sistemas empotrados : </li></ul></ul><ul><ul><ul><li>Colección de hardware con gran cantidad de software que controla los dispositivos. </li></ul></ul></ul><ul><ul><li>Sistemas cliente-servidor: </li></ul></ul><ul><ul><ul><li>Conectividad de red de los clientes sobre los servidores y distribución física de nodos </li></ul></ul></ul><ul><ul><li>Sistemas distribuidos: </li></ul></ul><ul><ul><ul><li>Incluyen varios niveles de servidores. Cambio continuo de topología. </li></ul></ul></ul>
  34. 34. 2.5 - Diagramas de Implementación: Componentes <ul><li>Ejercicio práctico </li></ul><ul><ul><li>Modelar el diagrama de despliegue de un servidor en producción en cluster que corre bajo el servidor de Aplicaciones Win2003 con conexión a una base de datos con Data WareHouse: </li></ul></ul><ul><ul><ul><li>… . Suerte!!! </li></ul></ul></ul>
  35. 35. 2.5 – Diagramas de Implementación: Despliegue <ul><li>Solución </li></ul>
  36. 36. 2.5 - Diagramas de Implementación: Componentes <ul><li>Ejercicio práctico </li></ul><ul><ul><li>Diagrama de despliegue de una Aplicación Web Cliente-Servidor: </li></ul></ul><ul><ul><ul><li>Cliente: Browser convencional </li></ul></ul></ul><ul><ul><ul><li>Servidor: </li></ul></ul></ul><ul><ul><ul><ul><li>Web tier: Web Server </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Business tier: JavaBeans + Controles ActiveX </li></ul></ul></ul></ul><ul><ul><ul><li>Comunicación: tcp/ip </li></ul></ul></ul><ul><ul><ul><li>… . Suerte!!! </li></ul></ul></ul>
  37. 37. 2.5 – Diagramas de Implementación: Despliegue <ul><li>Solución </li></ul>
  38. 38. Conclusiones <ul><li>Identificar el uso adecuado de los diagramas de implementación </li></ul><ul><li>Elementos UML de los diagramas de Componentes </li></ul><ul><li>Diferencia entre componente y despliegue </li></ul><ul><li>Elementos UML de un diagrama de despliegue </li></ul><ul><li>Ejemplos. </li></ul><ul><li>Introducción </li></ul><ul><li>Diagramas </li></ul><ul><ul><li>Casos de Uso </li></ul></ul><ul><ul><li>Diagramas de Clases </li></ul></ul><ul><ul><li>Diagramas de Interacción </li></ul></ul><ul><ul><li>Diagramas de Comportamiento </li></ul></ul><ul><ul><li>Diagramas de implementación </li></ul></ul><ul><ul><li>Otros diagramas </li></ul></ul><ul><li>Proceso Unificado </li></ul>
  39. 39. Referencias <ul><li>Guia Básica.pdf </li></ul><ul><li>Tutorial Sparx – Ampliación </li></ul><ul><ul><li>http://www.sparxsystems.com.ar/resources/tutorial/physical_models.html </li></ul></ul><ul><li>Tutorial Ingeniería del software: </li></ul><ul><ul><li>http://www.monografias.com/trabajos34/ingenieria-software/ingenieria-software.shtml#clases </li></ul></ul>

×