GUIA 12 DIAGRAMAS DE COMPONENTES UML Yasmín Otálora

25
UNIVERSIDAD DE CUNDINAMARCA FACULTAD DE INGENIERÍA Programa de Tecnología de Programación de Software PROGRAMACION II Fecha: 06/04/2015 Página 1 GUIA 12 DIAGRAMAS DE COMPONENTES UML Yasmín Otálora UNIVERSIDAD DE CUNDINAMARCA FACULTAD DE INGENIERÍA Programa de tecnología de Programación de Software Soacha, Cundinamarca, 06 de Abril 2015

Transcript of GUIA 12 DIAGRAMAS DE COMPONENTES UML Yasmín Otálora

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 1

GUIA 12

DIAGRAMAS DE COMPONENTES

UML

Yasmín Otálora

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de tecnología de Programación de Software

Soacha, Cundinamarca, 06 de Abril 2015

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 2

GUIA 10

DIAGRAMAS DE COMPONETES

UML

Yasmín Otálora

Presentado a:

Ernesto Garzón

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 3

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de tecnología de Programación de Software

Soacha, Cundinamarca, 06 de abril 2015

ContenidoDIGRAMAS DE COMPONENTES........................................41. INTRODUCCIÓN...............................................42. OBJETIVO:..................................................43. OBJETIVOS ESPECIFICOS:.....................................44. JUSTIFICACIÓN:.............................................55. MAPA CONCEPTUAL............................................56. QUE ES UN COMPONENTE.......................................66.1 COMPONENTES E INTERFACES..................................76.1.1. COMPONENTE.............................................76.1.2 INTERFAZ................................................86.1.3. SUSTITUCIÓN Y REUTILIZACIÓN............................96.2. TIPOS DE COMPONENTES.....................................96.3 ¿QUÉ ES DIAGRAMA DE COMPONENTES?..........................96.3.1. REPRESENTACIÓN DE UN COMPONENTE.......................106.3.2 COMO REPRESENTAR LAS INTERFACES........................117. APLICACION DE LOS DIAGRAMAS DE COMPONENTES................128. DIAGRAMAS DE COMPONENTES EN EL PANORAMA..................159. ACTIVIDAD DE CLASE.......................................1610. ACTIVIDAD EXTRACURRICULAR................................17

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 4

11. GLOSARIO DE TÉRMINOS.....................................18BIBLIOGRAFÍA..................................................18REFERENCIAS...................................................19

DIGRAMAS DE COMPONENTES

1. INTRODUCCIÓNLos componentes representan todos los tipos de elementos

software que entran en la fabricación de aplicaciones

informáticas. Pueden ser simples archivos, paquetes de Ada,

bibliotecas cargadas dinámicamente, etc. Las relaciones de

dependencia se utilizan en los diagramas de componentes para

indicar que un componente utiliza los servicios ofrecidos por

otro componente.

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 5

2. OBJETIVO:Representar lo correspondiente a un diagrama UML, que

representa a una entidad real un componente de Software.

3. OBJETIVOS ESPECIFICOS:Conceptuar que es un componente

Establecer componentes e interfaces

Analizar que es un diagrama de componentes

Estructurar los diagramas de componentes en el panorama UML

4. JUSTIFICACIÓN:Se utilizan para modelar la vista estática de un sistema.

Muestra la organización y las dependencias entre un conjunto de

componentes. No es necesario que un diagrama incluya todos los

componentes del sistema, normalmente se realizan por partes. Cada

diagrama describe un apartado del sistema.

Uno de los usos principales es que puede servir para ver que

componentes pueden compartirse entre sistemas o entre diferentes

partes de un sistema.

5. MAPA CONCEPTUAL

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 6

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 7

6. QUE ES UN COMPONENTEUn componente de software es una parte física de un sistema, y

se encuentra en la computadora.

¿Qué puede tomarse como un componente?

Una tabla, archivo de datos, ejecutable, biblioteca de vínculos

dinámicos y cosas por el estilo.

¿Cuál es la relación entre un componente y una clase?

Imagine a un componente como la personificación en software de

una clase. La clase es la abstracción de un conjunto de atributos

y operaciones.

Un componente puede ser la implementación de más de una clase.

Se debe modelar componentes y sus relaciones para que:

1. los clientes puedan ver la estructura del sistema

finalizado.

2. los desarrolladores cuenten con una estructura con la cual

trabajar en adelante.

3. quienes escriban las notas técnicas y la documentación

puedan entender de qué escribirán.

Uno de los aspectos más importantes de los componentes es el

potencial que tienen de volver a ser utilizados.

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 8

6.1 COMPONENTES E INTERFACES • Una interfaz contiene una colección de operaciones y se

utiliza para especificar los servicios de una clase o de un

componente.

• Una interfaz se conecta al componente que la implementa a

través de una relación de realización, y al componente que

utiliza sus servicios con una dependencia.

Interfaz de exportación: interfaz realizada por un componente,

servicio que ofrece a otros componentes.

Interfaz de Importación: interfaz usada por un componente.

La ventaja de usar interfaces es que se rompe la dependencia

directa entre componentes.

Un componente que usa una interfaz puede funcionar

adecuadamente independientemente del componente que la realiza.

6.1.1. COMPONENTELos componentes de Software son todo aquel recurso desarrollado

para un fin concreto y que puede formar solo o junto con otros,

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 9

un entorno funcional requerido por cualquier proceso predefinido.

Son independientes entre ellos, y tienen su propia estructura e

implementación. Si fueran propensos a la degradación debieran

diseñarse con métodos internos propios de refresco y

actualización. Son partes intangibles (que no se pueden tocar) de

una computadora el cual lee los datos del hardware

introduciéndolos en la PC.

Es una parte física reemplazable de un sistema que empaqueta su

implementación y es conforme a un conjunto de interfaces a las

que proporciona su realización.

Algunos componentes tienen identidad y pueden poseer entidades

físicas, que incluyen objetos en tiempo de ejecución, documentos,

bases de datos, etc. Los componentes existentes en el dominio de

la implementación son unidades físicas en los computadores que se

pueden conectar con otros componentes, sustituir, trasladar,

archivar, etc.

Los componentes tienen dos características: Empaquetan el

código que implementa la funcionalidad de un sistema, y algunas

de sus propias instancias de objetos que constituyen el estado

del sistema. Los llamados últimos componentes de la identidad,

porque sus instancias poseen identidad y estado.

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 10

6.1.2 INTERFAZ

Una interfaz es una especificación de comportamiento

que los implementadores acordaron. Es un contrato. Implementando

una interfaz las clases garantizan soportar un comportamiento

requerido, lo cual permite al sistema tratar elementos no

relacionados de la misma manera, a través de una interfaz común.

Las interfaces se pueden dibujar de un modo similar a una

clase, con las operaciones especificadas, como se muestra abajo.

Ellas también se pueden dibujar como un círculo sin los detalles

de las operaciones. Use el botón derecho y en el menú contextual

elija la opción Configuraciones Avanzadas y usar notación de

Círculo para cambiar entre ambos estilos. Cuando dibuje como

círculo, la realización se dibuja sin la flecha al destino.

6.1.3. SUSTITUCIÓN Y REUTILIZACIÓN Las interfaces se destacan de forma importante en los conceptos

primordiales de sustitución y reutilización de componente. Puede

sustituir un componente con otro si el nuevo contiene las mismas

interfaces que el anterior. Se podara reutilizar un componente en

otro sistema si este puede acceder al componente reutilizado

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 11

mediante sus interfaces. Puede simplificar la vida de un

desarrollador que intente sustituir o realizar un componente si

la información de su interfaz se encuentra disponible como un

modelo.

6.2. TIPOS DE COMPONENTES Existen básicamente tres tipos de componentes: Componentes de distribución: componentes necesarios para

formar un sistema ejecutable (por ejemplo: DLL. Ejecutables, controles ActiveX y Java Beans).

Componentes producto del trabajo: productos que quedan al final del proceso de desarrollo ( archivos de bases de datos y de código)

Componentes de ejecución: se crean como consecuencia de un sistema en ejecución

6.3 ¿QUÉ ES DIAGRAMA DE COMPONENTES?Un diagrama de componentes representa las dependencias entre

componentes software, incluyendo componentes de código fuente,

componentes del código binario, y componentes ejecutables. Un

módulo de software se puede representar como componente. Algunos

componentes existen en tiempo de compilación, algunos en tiempo

de enlace y algunos en tiempo de ejecución, otros en varias de

éstas.

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 12

Un componente de sólo compilación es aquel que es significativo

únicamente en tiempo de compilación. Un componente ejecutable es

un programa ejecutable.

Un diagrama de componentes tiene sólo una versión con

descriptores, no tiene versión con instancias. Para mostrar las

instancias de los componentes se debe usar un diagrama de

despliegue.

Un diagrama de componentes muestra clasificadores de

componentes, las clases definidas en ellos, y las relaciones

entre ellas. Los clasificadores de componentes también se pueden

anidar dentro de otros clasificadores de componentes para mostrar

relaciones de definición.

Un diagrama que contiene clasificadores de componentes y de

nodo se puede utilizar para mostrar las dependencias del

compilador, que se representa como flechas con líneas

discontinuas (dependencias) de un componente cliente a un

componente proveedor del que depende. Los tipos de dependencias

son específicos del lenguaje y se pueden representar como

estereotipos de las dependencias.

El diagrama también puede usarse para mostrar interfaces y las

dependencias de llamada entre componentes, usando flechas con

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 13

líneas discontinuas desde los componentes a las interfaces de

otros componentes.

6.3.1. REPRESENTACIÓN DE UN COMPONENTEEL símbolo principal de un diagrama de componentes en un

rectángulo que tiene dos sobrepuestos en su lado izquierdo. El

nombre del componente dentro del símbolo. El nombre es una

cadena.

Adición de

información al

símbolo del

Símbolo que

representa un

componente

Símbolos de las relaciones entre un componente y

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 14

6.3.2 COMO REPRESENTAR LAS INTERFACESExisten dos formas para representan a un componente y sus

interfaces: la primera muestra la interfaz como un rectángulo que

contiene la información que se relaciona, se conecta al

componente por la línea discontinua y una punta de flecha

representada por un triángulo sin rellenar que visualiza la

realización

Representar una

interfaz con un pequeño

círculo, conectado al

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 15

7. APLICACION DE LOS DIAGRAMAS DE COMPONENTESa) Modelado de Código Fuente

Los diagramas de componentes se pueden utilizar para modelar la

gestión de la configuración de los archivos de código fuente,

tomando como productos de trabajo precisamente estos ficheros.

Esto resulta bastante útil por ejemplo cuando se han implementado

unas partes con Java otras con C, etc. El resultado de esta

implementación pueden ser multitud de ficheros ejecutables con

características particulares, de manera que la mejor forma de

controlarlos es estableciendo gestión de configuración.

Para poder llevar a cabo esta gestión con éxito será necesario

definir los estereotipos de ficheros que se quieren tener bajo

control así como las relaciones entre dichos tipos de ficheros.

Para modelar el código fuente de un sistema:

Una interfaz que

realiza un componente

y otra de la que

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 16

• Hay que identificar el conjunto de archivos de código fuente

de interés y modelarlos como componentes estereotipados como

archivos.

• Si el sistema es muy grande es necesario utilizar los

paquetes para agrupar los archivos de código fuente.

• Es necesario identificar la versión del componente.

b) Modelado de una versión ejecutable y bibliotecas.

La utilización de los componentes para modelar versiones

ejecutables se centra en la definición de todos los elementos que

componen lo que se conoce como versión ejecutable, es decir la

documentación, los ficheros que se entregan etc.

Para modelar una versión ejecutable es preciso:

• Identificar el conjunto de componentes que se pretende

modelar.

• Identificar el estereotipo de cada componente del conjunto

seleccionado.

• Para cada componente de este conjunto hay que considerar las

relaciones con los vecinos. Esto implica definir las interfaces

importadas por ciertos componentes y las exportadas por otros.

c) Modelado de una base de datos física

Para modelar una base de datos física es necesario:

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 17

• Identificar las clases del modelo que representan el esquema

lógico de la base de datos.

• Seleccionar una estrategia para hacer corresponder las clases

con tablas. Así como la distribución física de la/s base/s de

datos.

• Para poder visualizar, especificar, construir y documentar

dicha correspondencia es necesario crear un diagrama de

componentes que tenga componentes estereotipados como tablas.

• Donde sea posible es aconsejable utilizar herramientas que

ayuden a transformar diseño lógico en físico.

Diagrama para el

juego de dados basado

en la Web de Rogers

Cadenhead.

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 18

El

diagrama de

componentes

para una

página Web

Modelado de

TweakUl en el

paquete Paquete

PowerToys.

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 19

8. DIAGRAMAS DE COMPONENTES EN EL PANORAMAElementos estructurales

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 20

9. ACTIVIDAD DE CLASECuestionario

1. ¿Cuáles son los tres tipos de componentes?

Servidor, estaciones de trabajo y cableado.

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 21

2. ¿Cómo llamaría a la relación entre un componente y su

interfaz?

Se llama realización

3¿Cuáles son las dos formas de representar a esta relación?

La representación de un componente es un rectángulo con otros

dos rectángulos pequeños sobre puestos en su lado izquierdo.

Puede representar una interfaz de dos formas: la primera es un

rectángulo que contiene información de la interfaz y se conecta

con el componente mediante una línea discontinua con una punta de

flecha representada por un triángulo sin relleno. La otra es un

pequeño círculo conectado al componente con una línea continua.

Ambos tipos de conexión pretenden mostrar una relación de

realización.

4. ¿Qué es una interfaz de exportación?

La exportación de una interfaz se puede representar de dos

formas. Si se utiliza la forma expandida de la interfaz para

hacer explícitas sus operaciones, la exportación se representa

como una relación de realización.

5¿Qué es interfaz de importación?

Es una Interfaz flexible que permite importar datos de data

loggers de diferentes fabricantes, pudiéndose monitorizar tanto a

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 22

través del portal sefer’Sun como del VCOM (Centro de Control

Virtual)

10. ACTIVIDAD EXTRACURRICULAREjercicios

1 . Diagrama de componentes de la pagina web de Pearson

Educación.

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 23

11. Glosario de términosClasificador: Un elemento del modelo que describe

características de comportamiento y estructurales. Los tipos de

clasificador incluyen a actores, asociaciones, comportamientos,

clases, colaboraciones, componentes, tipos de datos, interfaces,

nodos, señales, subsistemas (como estereotipos), casos de uso.

Invocación: Petición de ejecución de un elemento de

comportamiento parametrizado designado o de una característica de

comportamiento.

Invariante: Restricción que debe ser verdadera en todo

momento(o al menos en todo momento en que ninguna operación este

incompleta), o al menos en todo momento durante intervalo de

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 24

tiempo especificado o cuando las condiciones específicas son

verdaderas

BIBLIOGRAFÍA

Joseph Schmuller, Aprender UML en 24 horas, Prentice Hall.

Raúl Alarcón, Diseño orientado a objetos Eidos.

Booch Jacobson Runbauhg, el lenguaje unificado de modelado

manual de referencia, Pearson Addisson Wesley.

REFERENCIAS

http://es.slideshare.net/BorisSalleg/modelamiento-con-uml-

definiciones

UNIVERSIDAD DE CUNDINAMARCA

FACULTAD DE INGENIERÍA

Programa de Tecnología de Programación de

Software

PROGRAMACION II

Fecha:

06/04/2015

Página 25