Arquitectura e Integración del Software Curso 2012/2013
Índice
UML Diagrama de componentes Diagrama de despliegue Herramientas Resumen Bibliografía
1
03/03/2013
Índice
UML Diagrama de componentes Diagrama de despliegue Herramientas Resumen Bibliografía
Unified Modeling Language (UML) UML (Unified Modeling Language): lenguaje gráfico de modelado de sistemas software.
2
03/03/2013
Unified Modeling Language (UML) Diagramas UML Estructurales: describen el sistema como composición de componentes. Diagrama de clases. Diagrama de objetos. Diagrama de paquetes. Diagrama de componentes. Diagrama de despliegue. De comportamiento: describen la comunicación entre los componentes del sistema.
Índice
UML Diagrama de componentes Diagrama de despliegue Herramientas Resumen Bibliografía
3
03/03/2013
Diagrama de componentes
cmp
«component» Account Management
TransactionLogger
IdentityVerifier
«component» CreditCardServ ices
«component» Logger
Diagrama de componentes Componente Un componente software es una unidad modular con interfaces bien definidas, que es reemplazable dentro del contexto (ver def. Tema 2). Ejemplos Una biblioteca java para operaciones matemáticas. Un servicio web para consultar el tiempo. Un módulo para acceder a la BD.
4
03/03/2013
Diagrama de componentes Se utilizan para representar la arquitectura lógica de un sistema.
Muestran las interfaces por las que los componentes se relacionan. cmp
Diagrama de componentes Dependencias cmp Connections dependencies
«component» Account Management
«component» Logger
«component» CreditCardServ ices
6
03/03/2013
Diagrama de componentes Interfaces cmp Components
«component» Account Management
TransactionLogger
IdentityVerifier
IdentityVerifier
TransactionLogger
«component» CreditCardServ ices
«component» Logger
Diagrama de componentes Conectando interfaces cmp
«component» Account Management
TransactionLogger
«component» Logger
IdentityVerifier
«component» CreditCardServ ices
7
03/03/2013
Diagrama de componentes Caja negra vs caja blanca Vista de caja negra Los detalles de implementación quedan ocultos. Vista de caja blanca Se muestran detalles de implementación de los componentes. Realización (diagrama de clases). Puertos y conectores.
Diagrama de componentes Vista de caja negra cmp
«component» Account Management
TransactionLogger
«component» Logger
IdentityVerifier
«component» CreditCardServ ices
8
03/03/2013
Diagrama de componentes Vista de caja blanca composite structure Internal Structures
Diagrama de componentes Uso habitual Componentes conectados mediante interfaces. No suelen usarse las dependencias. En general, vista de caja negra cmp
«component» Account Management
TransactionLogger
«component» Logger
IdentityVerifier
«component» CreditCardServ ices
10
03/03/2013
Índice
UML Diagrama de componentes Diagrama de despliegue Herramientas Resumen Bibliografía
Diagrama de despliegue
11
03/03/2013
Diagrama de despliegue Se utiliza para representar la arquitectura física sobre la que un sistema software es desplegado.
Por tanto, describe tanto dispositivos físicos como elementos software.
Diagrama de despliegue Elementos Nodo Dispositivo Entorno de ejecución Artefacto Despliegue
12
03/03/2013
Diagrama de despliegue Nodos Entidades físicas (o software) capaces de ejecutar artefactos dispositivo deployment Nodes
«device» Red Hat Serv er «device» Window s NT Serv er
«executionEnvironment» Tomcat J2EE serv er
camino
«executionEnvironment» Oracle 9i Serv er
entorno de ejecución
Diagrama de despliegue Artefacto Pieza de información relacionada con el proceso de desarrollo software.
Ejecutable Manual de usuario Script de BD DLL …
13
03/03/2013
Diagrama de despliegue Despliegue Relación entre uno o mas artefactos y el (o los) nodo/s donde estos se ejecutan
Diagrama de despliegue Entorno de ejecución vs artefacto Un mismo elemento, dependiendo del punto de vista, puede ser considerado como un entorno de ejecución o un artefacto. Ejemplo: JDownloader Artefacto desde el punto de vista del desarrollador de la aplicación. Entorno de ejecución desde el punto de vista del desarrollador de uno de sus plugins.
14
03/03/2013
Diagrama de despliegue Artefacto vs componente Los diagramas de componente y despliegue están relacionados entre sí mediante componentes y artefactos.
Un artefacto manifiesta (o implementa) un componente.
Diagrama de despliegue Ejemplos
Elemento
Ejemplo
Artefacto
Fichero jar
Dispositivo
PC
Entorno de ejecución
Java Runtime Environment (JRE)
Camino
Conexión wifi/ethernet entre dos dispositivos
Despliegue
Fichero jar ejecutándose en el JRE de un PC
15
03/03/2013
Índice
UML Diagrama de componentes Diagrama de despliegue Herramientas Resumen Bibliografía
Herramientas
Herramienta Versión UML
Calidad
Extensiones
Licencia
StarUML
1.x
Buena
No
Open source
UMLet
2.x
Buena
Si
Open source
Enterprise Architect
2.x
Muy buena
Si
De pago
Microsoft Visio
1.x
Baja
No
De pago
16
03/03/2013
Herramientas StarUML
Herramientas StarUML
17
03/03/2013
Herramientas UMLet
Herramientas UMLet
18
03/03/2013
Herramientas Enterprise Architect
Herramientas Enterprise Architect
19
03/03/2013
Herramientas Microsoft Visio
Índice
UML Diagrama de componentes Diagrama de despliegue Herramientas Resumen Bibliografía
20
03/03/2013
Resumen ¿Qué hemos aprendido? UML no sólo está compuesto por diagramas de clases. Para qué se utilizan los diagramas de componentes y los diagramas de despliegue. Qué son componentes software y cómo se comunican entre sí. Cómo modelar utilizando diagramas de componente y diagramas de despliegue. Relaciones entre ambos diagramas y sus elementos.
Índice
UML Diagrama de componentes Diagrama de despliegue Herramientas Resumen Bibliografía
21
03/03/2013
Enlaces de interés Diagramas de componentes UML http://www.uml-diagrams.org/component-diagrams.html Diagramas de despliegue UML http://www.uml-diagrams.org/deployment-diagrams.html
Bibliografía UML 2.0 in a nutshell, Dan Pilone. O’Reilly, 2005. (Capítulos 1,5,6 y 12)
UML Components. A Simple Process for Specifying Component-Based Software. John Cheesman & John Daniels. Addison-Wesley, 2001.
Ingeniería del Software. Un enfoque práctico, Roger S. Pressman. Mc Graw Hill (6ª ed.)
22
03/03/2013
Disclaimer and Terms of Use All material displayed on this presentation is for teaching and personal use only.
Many of the images that have been used in the presentation are Royalty Free images taken from http://www.everystockphoto.com/. Other images have been sourced directly from the Public domain, from where in most cases it is unclear whether copyright has been explicitly claimed. Our intention is not to infringe any artist’s copyright, whether written or visual. We do not claim ownership of any image that has been freely obtained from the public domain. In the event that we have freely obtained an image or quotation that has been placed in the public domain and in doing so have inadvertently used a copyrighted image without the copyright holder’s express permission we ask that the copyright holder writes to us directly, upon which we will contact the copyright holder to request full written permission to use the quote or images.