Modelado de Arquitectura Software

23
03/03/2013 1 Arquitectura e Integración del Software Departamento de Lenguajes y Sistemas Informáticos Modelado de Arquitectura Software Curso 2012/2013 BLOQUE I: Arquitectura del Software Tema 4 UML Diagrama de componentes Diagrama de despliegue Herramientas Resumen Bibliografía Índice

Transcript of Modelado de Arquitectura Software

Page 1: Modelado de Arquitectura Software

03/03/2013

1

Arquitectura e Integración del Software

Departamento de Lenguajes y Sistemas Informáticos

Modelado de Arquitectura Software

Curso 2012/2013

BLOQUE I: Arquitectura del Software

Tema 4

UML

Diagrama de componentes

Diagrama de despliegue

Herramientas

Resumen

Bibliografía

Índice

Page 2: Modelado de Arquitectura Software

03/03/2013

2

UML

Diagrama de componentes

Diagrama de despliegue

Herramientas

Resumen

Bibliografía

Índice

Unified Modeling Language (UML)

UML (Unified Modeling Language): lenguaje gráfico de modelado de sistemas software.

Page 3: Modelado de Arquitectura Software

03/03/2013

3

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.

Unified Modeling Language (UML)Diagramas UML

UML

Diagrama de componentes

Diagrama de despliegue

Herramientas

Resumen

Bibliografía

Índice

Page 4: Modelado de Arquitectura Software

03/03/2013

4

Diagrama de componentes

cmp

«component»

Account Management

«component»

CreditCardServ ices«component»

Logger

TransactionLogger IdentityVerifier

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.

Diagrama de componentesComponente

Page 5: Modelado de Arquitectura Software

03/03/2013

5

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

«component»

CreditCardServ ices«component»

Logger

TransactionLogger IdentityVerifier

cmp

«component»

Account Management

«component»

CreditCardServ ices«component»

Logger

TransactionLogger IdentityVerifier

Componentes

Dependencias

Interfaces

Requerida (required)

Ofrecida (provided)

Diagrama de componentesElementos

Page 6: Modelado de Arquitectura Software

03/03/2013

6

cmp

«component»

Account Management

«component»

CreditCardServ ices«component»

Logger

TransactionLogger IdentityVerifier

Diagrama de componentesComponentes

cmp Connections dependencies

«component»

Account Management

«component»

CreditCardServ ices

«component»

Logger

Diagrama de componentesDependencias

Page 7: Modelado de Arquitectura Software

03/03/2013

7

cmp Components

IdentityVerifierTransactionLogger

«component»

Account Management

IdentityVerifierTransactionLogger

«component»

CreditCardServ ices

IdentityVerifier

«component»

Logger

TransactionLogger

Diagrama de componentesInterfaces

cmp

«component»

Account Management

«component»

CreditCardServ ices«component»

Logger

TransactionLogger IdentityVerifier

Diagrama de componentesConectando interfaces

Page 8: Modelado de Arquitectura Software

03/03/2013

8

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 componentesCaja negra vs caja blanca

cmp

«component»

Account Management

«component»

CreditCardServ ices«component»

Logger

TransactionLogger IdentityVerifier

Diagrama de componentesVista de caja negra

Page 9: Modelado de Arquitectura Software

03/03/2013

9

composite structure Internal Structures

«component»

Account Management

Account OrderHistory

OrderAccountServ icesImpl

AccountServices

IdentityVerifierIdentityVerifier

TransactionLoggerTransactionLogger

Diagrama de componentesVista de caja blanca

composite structure Internal Structures

«component»

Account Management

Account OrderHistory

OrderAccountServ icesImpl

AccountServices

IdentityVerifierIdentityVerifier

TransactionLoggerTransactionLogger

Diagrama de componentesRealización

Page 10: Modelado de Arquitectura Software

03/03/2013

10

composite structure Internal Structures

«component»

Account Management

Account OrderHistory

OrderAccountServ icesImpl

AccountServices

IdentityVerifierIdentityVerifier

TransactionLoggerTransactionLogger

Diagrama de componentesPuertos y conectores

cmp

«component»

Account Management

«component»

CreditCardServ ices«component»

Logger

TransactionLogger IdentityVerifier

Componentes conectados mediante interfaces.

No suelen usarse las dependencias.

En general, vista de caja negra

Diagrama de componentesUso habitual

Page 11: Modelado de Arquitectura Software

03/03/2013

11

UML

Diagrama de componentes

Diagrama de despliegue

Herramientas

Resumen

Bibliografía

Índice

Diagrama de despliegue

Page 12: Modelado de Arquitectura Software

03/03/2013

12

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.

Nodo

Dispositivo

Entorno de ejecución

Artefacto

Despliegue

Diagrama de despliegueElementos

Page 13: Modelado de Arquitectura Software

03/03/2013

13

deployment Nodes

«device»

Red Hat Serv er

«device»

Windows NT Serv er

«executionEnvironment»

Oracle 9i Serv er

«executionEnvironment»

Tomcat J2EE serv er

dispositivo

entorno de ejecución

camino

Entidades físicas (o software) capaces de ejecutar artefactos

Diagrama de despliegueNodos

Pieza de información relacionada con el proceso de desarrollo software. Ejecutable

Manual de usuario

Script de BD

DLL

Diagrama de despliegueArtefacto

Page 14: Modelado de Arquitectura Software

03/03/2013

14

Relación entre uno o mas artefactos y el (o los) nodo/s donde estos se ejecutan

Diagrama de despliegueDespliegue

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.

Diagrama de despliegueEntorno de ejecución vs artefacto

Page 15: Modelado de Arquitectura Software

03/03/2013

15

Los diagramas de componente y despliegue están relacionados entre sí mediante componentes y artefactos.

Un artefacto manifiesta (o implementa) un componente.

Diagrama de despliegueArtefacto vs componente

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

Diagrama de despliegueEjemplos

Page 16: Modelado de Arquitectura Software

03/03/2013

16

UML

Diagrama de componentes

Diagrama de despliegue

Herramientas

Resumen

Bibliografía

Índice

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

Page 17: Modelado de Arquitectura Software

03/03/2013

17

HerramientasStarUML

HerramientasStarUML

Page 18: Modelado de Arquitectura Software

03/03/2013

18

HerramientasUMLet

HerramientasUMLet

Page 19: Modelado de Arquitectura Software

03/03/2013

19

HerramientasEnterprise Architect

HerramientasEnterprise Architect

Page 20: Modelado de Arquitectura Software

03/03/2013

20

HerramientasMicrosoft Visio

UML

Diagrama de componentes

Diagrama de despliegue

Herramientas

Resumen

Bibliografía

Índice

Page 21: Modelado de Arquitectura Software

03/03/2013

21

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.

UML

Diagrama de componentes

Diagrama de despliegue

Herramientas

Resumen

Bibliografía

Índice

Page 22: Modelado de Arquitectura Software

03/03/2013

22

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 SpecifyingComponent-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.)

Page 23: Modelado de Arquitectura Software

03/03/2013

23

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 Freeimages taken from http://www.everystockphoto.com/. Other images have beensourced directly from the Public domain, from where in most cases it is unclearwhether copyright has been explicitly claimed. Our intention is not to infringeany artist’s copyright, whether written or visual. We do not claim ownership ofany image that has been freely obtained from the public domain. In the eventthat we have freely obtained an image or quotation that has been placed in thepublic domain and in doing so have inadvertently used a copyrighted imagewithout the copyright holder’s express permission we ask that the copyrightholder writes to us directly, upon which we will contact the copyright holder torequest full written permission to use the quote or images.

Disclaimer and Terms of Use