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