Modelado de Arquitectura Software
Transcript of 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
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.
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
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
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
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
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
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
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
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
03/03/2013
11
UML
Diagrama de componentes
Diagrama de despliegue
Herramientas
Resumen
Bibliografía
Índice
Diagrama de despliegue
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
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
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
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
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
03/03/2013
17
HerramientasStarUML
HerramientasStarUML
03/03/2013
18
HerramientasUMLet
HerramientasUMLet
03/03/2013
19
HerramientasEnterprise Architect
HerramientasEnterprise Architect
03/03/2013
20
HerramientasMicrosoft Visio
UML
Diagrama de componentes
Diagrama de despliegue
Herramientas
Resumen
Bibliografía
Índice
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
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.)
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