Este documento describe los diagramas de componentes y despliegue para el modelo de implementación. Los diagramas de componentes muestran los elementos físicos del sistema y sus relaciones, incluidos código fuente, binarios y ejecutables. Los diagramas de despliegue muestran cómo se distribuyen los componentes en los nodos físicos del sistema.
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 1
Diagrama de Componentes
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 2
2. 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 3
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 Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 4
3. Diagramas de Componentes
§ La representación gráfica es la siguiente:
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 5
… Diagramas de Componentes
§ Ejemplo:
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 6
4. … Diagramas de Componentes
§ 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.
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 7
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
NewPackageSpec NewPackageSpec2
Dependencia entre
dos componentes
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 8
5. Diagrama de Componentes
§ Ejemplo: Modelado de ejecutables y bibliotecas
<<executable>>
<<library>>
Animator.exe
dlog.dll
{version=4.1}
<<library>>
<<library>>
render.dll
wrfrme.dll
<<library>>
raytrce.dll
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 9
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>>
<<s u b s i s tem a > >
NewPackage4
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 10
6. … Subsistemas
§ 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 que
existe 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
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 11
Diagramas de Despliegue/Distribución
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 12
7. 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 algo
de memoria y, a menudo, capacidad de procesamiento.
§ Los nodos se utilizan para modelar la topología del hardware
sobre el que se ejecuta el sistema. Representa típicamente un
procesador o un dispositivo sobre el que se pueden desplegar los
componentes.
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 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 Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 14
8. … Diagramas de Distribución
§ 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.
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 15
… Diagrama de Distribución
§ Ejemplo de conexión entre nodos:
<<Cliente>> <<Servidor>>
Terminal Punto <<TCP/IP>>
Base de
de Venta Datos
<<RDSI>>
<<RDSI>>
Podemos distinguir tipos Control
de nodos y conexiones
por estereotipado
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 16
9. … Diagrama de Distribución
§ Ejemplo de conexión entre nodos:
<<10-T Ethernet>>
: terminal
Despliega
User.exe : servidor
velocidadDelProcesador= 300 Mhz : unidad RAID
memoria = 128 Mb
Despliega
dbadmin.exe
tdtmstr.exe
: consola
Despliega <<RS-232>>
admin.exe
config.exe
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 17
Conclusiones
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 18
10. Claves en el Desarrollo de SI
Notación
UML
Herramientas Proceso
p.e. Rational Rose p.e. Proceso Unificado
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 19
Contexto de Desarrollo: Grado de Complejidad
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 20
11. 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 21
... 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 Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 22
12. 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
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 12: Modelo de Implementación 23