Modelado de Arquitectura Software

03/03/2013 Departamento de Lenguajes y Sistemas Informáticos BLOQUE I: Arquitectura del Software Modelado de Arquitectura Software Tema 4 Arquitec...
0 downloads 0 Views 1MB Size
03/03/2013

Departamento de Lenguajes y Sistemas Informáticos

BLOQUE I: Arquitectura del Software

Modelado de Arquitectura Software Tema 4

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

«component» Account Management

TransactionLogger

IdentityVerifier

«component» CreditCardServ ices

«component» Logger

Diagrama de componentes Elementos

 Componentes  Dependencias  Interfaces  Requerida (required)  Ofrecida (provided)

cmp

«component» Account Management

TransactionLogger

«component» Logger

IdentityVerifier

«component» CreditCardServ ices

5

03/03/2013

Diagrama de componentes Componentes cmp

«component» Account Management

TransactionLogger

IdentityVerifier

«component» CreditCardServ ices

«component» Logger

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

«component» Account Management IdentityVerifier Account

OrderHistory

AccountServices

Order

AccountServ icesImpl

TransactionLogger

Diagrama de componentes Realización composite structure Internal Structures

«component» Account Management IdentityVerifier Account

OrderHistory

AccountServices

AccountServ icesImpl

Order TransactionLogger

9

03/03/2013

Diagrama de componentes Puertos y conectores composite structure Internal Structures

«component» Account Management IdentityVerifier Account

OrderHistory

AccountServices

Order

AccountServ icesImpl

TransactionLogger

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.

23