diagramas uml: componentes y despliegue

12
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 1 MODULO 2: Tema 12: Modelo de Implementación: Diagramas de Componentes y Despliegue Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 2 Diagrama de Componentes

Upload: joshell

Post on 13-Jun-2015

51.045 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

1

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 1

MODULO 2:

Tema 12: Modelo de Implementación:

Diagramas de Componentes y Despliegue

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 2

Diagrama de Componentes

Page 2: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

2

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 3

Diagrama de Componentes

§ Los diagramas de componentes describen los elementos físicos del sistema y sus relaciones

§ Muestran las opciones de realización incluyendo código fuente, binario y ejecutable

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 4

Diagramas de Componentes

§ Los componentes representan todos los tipos de elementos software que entran en la fabricación de aplicaciones informáticas

§ Pueden ser simples archivos, paquetes, bibliotecas cargadas dinámicamente, etc.

Page 3: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

3

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 5

§ La representación gráfica es la siguiente:

Diagramas de Componentes

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 6

§ Ejemplo:

… Diagramas de Componentes

Page 4: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

4

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 7

§ UML define cinco estereotipos estándar que se aplican a los componentes:§ Executable: Especifica un componente que se puede ejecutar

en un nodo. § Library: Especifica una biblioteca de objetos estática o

dinámica. § Table: Especifica un componente que representa una tabla de

una base de datos. § File: Especifica un componente que representa un documento

que contiene código fuente o datos. § Document: Especifica un componente que representa un

documento.

… Diagramas de Componentes

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 8

Dependencias entre Componentes

§ Las relaciones de dependencia se utilizan en los diagramas de componentes para indicar que un componente se refiere a los servicios ofrecidos por otro componente

Dependencia entre dos componentes

NewPackageSpec NewPackageSpec2

Page 5: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

5

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 9

Diagrama de Componentes

§ Ejemplo: Modelado de ejecutables y bibliotecas

Animator.exe

{version=4.1}

<<executable>><<library>>

<<library>><<library>>

<<library>>

dlog.dll

wrfrme.dllrender.dll

raytrce.dll

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 10

Subsistemas

§ Los distintos componentes pueden agruparse en paquetes según un criterio lógico y con vistas a simplificar la implementación

§ Son paquetes estereotipados en <<subsistemas>>

NewPackage4<<subs is tema>>

Page 6: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

6

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 11

§ Los subsistemas organizan la vista de realización de un sistema

§ Cada subsistema puede contener componentes y otros subsistemas

§ La descomposición en subsistemas no es necesariamente una descomposición funcional

§ La relación entre paquetes y clases en el nivel lógico es el queexiste entre subsistemas y componentes en el nivel físico

§ Paquetes (Categorias) y clases en el nivel lógico. Paquetes (Subsistemas) y componentes en el nivel físico

… Subsistemas

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 12

Diagramas de Despliegue/Distribución

Page 7: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

7

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 13

Diagramas de Distribución

§ Los Diagramas de Distribución muestran la disposición física de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos

Nodo

§ Un nodo es un elemento físico que existe en tiempo de ejecución y representa un recurso computacional, que generalmente tiene algode memoria y, a menudo, capacidad de procesamiento.

§ Los nodos se utilizan para modelar la topología del hardwaresobre el que se ejecuta el sistema. Representa típicamente un procesador o un dispositivo sobre el que se pueden desplegar loscomponentes.

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 14

Diagramas de Distribución§ Los componentes son los elementos que participan en la ejecución de un

sistema. Los nodos son los elementos donde se ejecutan los componentes.

§ Los componentes representan el empaquetamiento físico de los elementos lógicos. Los nodos representan el despliegue físico de los componentes.

§ La relación entre un nodo y el componente que despliega puede mostrarse con una relación de dependencia, o listando los nodos desplegados en un compartimiento adicional dentro del nodo.

Nodo

Ventas.exe clientes.exe

Page 8: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

8

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 15

§ Los estereotipos permiten precisar la naturaleza del equipo:• Procesadores: Nodo con capacidad de procesamiento. Puede

ejecutar un componente.• Dispositivos: Nodo sin capacidad de procesamiento. Representa

cualquier otro dispositivo hardware.

§ Los nodos se relacionan mediante conexiones bidireccionales (en principio) que pueden a su vez estereotiparse.

§ Las conexiones se modelan como asociaciones, con todas las características que implica.

… Diagramas de Distribución

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 16

§ Ejemplo de conexión entre nodos:

Terminal Puntode Venta

<<Cliente>>

Base de Datos

<<Servidor>>

Control

<<TCP/IP>>

<<RDSI>>

Podemos distinguir tipos de nodos y conexiones por estereotipado

… Diagrama de Distribución

<<RDSI>>

Page 9: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

9

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 17

§ Ejemplo de conexión entre nodos:

DespliegaUser.exe

: terminal

<<RS-232>>

… Diagrama de Distribución

<<10-T Ethernet>>

Despliegaadmin.execonfig.exe

: consola

Despliegadbadmin.exetdtmstr.exe

: servidorvelocidadDelProcesador= 300 Mhzmemoria = 128 Mb

: unidad RAID

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 18

Conclusiones

Page 10: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

10

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 19

Claves en el Desarrollo de SI

Herramientasp.e. Rational Rose

Procesop.e. Proceso Unificado

NotaciónUML

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 20

Contexto de Desarrollo: Grado de Complejidad

Page 11: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

11

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 21

Modelado de SI: Algunas Reflexiones

§ Modelar para la concebir el sistema y/o para la documentarlo

§ Pragmatismo, los modelos deben ser útiles

§ Sencillez y Elegancia

§ Distintos nivel de abstracción, diferentes modelos

§ Seguimiento de transformaciones durante el proceso (Traceability)

§ Sincronización de modelos

§ Dificultades para la introducción de técnicas y herramientas de modelado

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 22

... Finalmente

§ Apostar por enfoque Orientado a Objetos usando notación UML

§ Problemas actuales en implementación, al usar entornos de programación visual y/o bases de datos relacionales

§ Posibles mejoras a medio plazo• Evolución: Uso de BDOO y/o mejoras en los LPOO • Revolución: Generación Automática de Código a

partir de Modelos OO (Compilación de Modelos)

Page 12: Diagramas UML: Componentes y despliegue

Ingeniería del Software3º I.T.I.S y I.T.I.G

12

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 23

Bibliografía Recomendada

UML• www.omg.org/uml/• Meta-links www.celigent.com/uml/ y www.cetus-links.org/oo_uml.html• Pierre-Alain Muller “Instant UML”• Martin Fowler, “UML Destilled” (“UML Gota a Gota”)• Terry Quatrani, “Visual Modeling ...”, un caso de estudio

Herramientas CASE• Herramientas basadas en UML

www.objectsbydesign.com/tools/umltools_byPrice.html• International Council in SE (INCOSE) www.incose.org/tools/• Herramientas basadas en UML

www.objectsbydesign.com/tools/umltools_byPrice.html

Otras• Revista IEEE Software, Conferencias: OOPSLA, ECOOP• Patrones www.enteract.com/∼bradapp/docs/patterns-intro.html, • Tutoriales en inglés www.celigent.com/omg/umlrtf/tutorials.htm