24
1 III. UML MODULO IV 4.9 Diagramas de Componentes 1 Análisis y Diseño de Sistemas de Información INF-162 Facilitador: Miguel Cotaña 30 de Noviembre 2009

Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

1

III. UML

MODULO IV

4.9 Diagramas de Componentes

1

Análisis y Diseño de Sistemas de Información

INF-162

Facilitador: Miguel Cotaña 30 de Noviembre 2009

Page 2: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

22

Pertenecen al mundo físico, es decir,representan un bloque deconstrucción al modelar aspectosfísicos de un sistema. Unacaracterística básica es que:

“debe definir una abstracción precisa con una interfaz bien definida, y

permitiendo reemplazar fácilmente los componentes más viejos con

otros más nuevos y compatibles.”

Componentes

Page 3: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

33

Cada componente debe tener un nombre

que lo distinga de los demás. Al igual que

las clases los componentes pueden

enriquecerse con compartimentos

adicionales que muestran sus detalles. La

representación extendida:

Expresión.dll

Calcula expresión lógica

Calcula expresión aritmética

Page 4: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

4

agente.java

agentefraudes.dll

RealizaAgenteFraudesPoliticaFraudesBuscarPatrones

system::dialog.dll{version = 2.0.1}

Page 5: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

5

Parecidos y diferencias con las clases

Parecidos: ambos tienen nombres,pueden realizar interfaces, participanen relacionamientos, puedenanidarse, tener instancias, participaren interacciones;

Diferencias: Las clases representanabstracciones lógicas y loscomponentes representan elementosfísicos. Las clases tienen atributos yoperaciones, mientras loscomponentes sólo tienen operaciones

Page 6: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

6

Interfaces

Tanto los servicios propio de una clasecomo los de un componente, seespecifican a través de una Interfaz.Por ejemplo, todas las facilidades másconocidas de los sistemas operativos,basados en componentes (COM+,CORBA y los Enterprise Java Beans),utilizan las interfaces como lazo deunión entre unos componentes yotros.

Page 7: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

7

La relación entre un componente ysus interfaces se puede representarde dos maneras diferentes, de formaicónica y expandida:

Imagen.java Componente.java

ObservadorDeImagen

Page 8: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

8

Tipos de componentes

De despliegue: componentesnecesarios y suficientes para formar unsistema ejecutable, como pueden ser lasbibliotecas dinámicas (DLLs) yejecutables (EXEs).Componentes producto del trabajo:son básicamente productos que quedanal final del proceso de desarrollo.Consisten en cosas como archivos decódigo fuente y de datos a partir de loscuales se crean los componentes dedespliegue.

Page 9: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

9

Componentes de ejecución: soncomponentes que se crean comoconsecuencia de un sistema enejecución. Es el caso de un objetoCOM+ que se instancia a partir deuna DLL.

Page 10: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

10

Organización de componentes

Los componentes se pueden agruparen paquetes de la misma forma quese organizan las clases.Además se pueden especificar entreellos relaciones de dependencia,generalización, asociación (incluyendoagregación), y realización.

Page 11: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

11

Estereotipos de componentes

Executable: Componente que sepuede ejecutar en un nodo;Library: Especifica una biblioteca deobjetos estática o dinámica;Table: Componentes que representauna tabla de una base de datos;File: Componente que representa undocumento que contiene códigofuente o datos;Document: Componente querepresenta un documento.

Page 12: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

12

Diagramas de componentes

Un diagrama de componentesmuestra la organización y lasdependencias entre un conjunto decomponentes.Para todo sistema OO se han deconstruir una serie de diagramas quemodelan tanto la parte estática(diagrama de clases), como dinámica(diagramas de secuencia,colaboración, estados y actividades).

Page 13: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

13

Pero llegado el momento todoesto se debe materializar en unsistema implementado queutilizará partes ya implementadasde otros sistemas, todo esto es loque pretendemos modelar con losdiagramas de componentes.

Page 14: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

14

Algunos conceptos

Muestra un conjunto de componentesy sus relaciones de manera gráfica através del uso de nodos y arcos.Estos diagramas contienen:

Componentes;Interfaces;Relaciones de dependencia,generalización, asociaciones yrealización;Paquetes o subsistemas;Instancias de algunas clases.

Page 15: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

15

Usos más comunes

Los diagramas de componentes seutilizan para modelar la vista deimplementación estática de unsistema.Esta vista se ocupa principalmente dela gestión de configuraciones de laspartes de un sistema, formada porcomponentes que puedenensamblarse de varias formas paraproducir un sistema ejecutable.

Page 16: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

16

Cuando se modela la vista deimplementación estática de unsistema, normalmente se utilizaránlos diagramas de componentes de unade las 4 maneras siguientes:

Código fuente;Versiones ejecutables;Bases de datos físicas;Sistemas adaptables.

Page 17: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

17

Modelado de código fuente

Los diagramas de componentes sepueden utilizar para modelar lagestión de la configuración de losarchivos de código fuente, tomandocomo productos de trabajoprecisamente estos ficheros.Esto resulta bastante útil por ejemplocuando se han implementado unaspartes con Java otras con C++, etc.

Page 18: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

18

El resultado de esta implementaciónpueden ser multitud de ficherosejecutables con característicasparticulares, de manera que la mejorforma de controlarlos es estableciendogestión de configuración.será necesario definir los estereotiposde ficheros que se quieren tener bajocontrol así como las relaciones entredichos tipos de ficheros.

Page 19: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

19

Para modelar el código fuente de unsistema:

Hay que identificar el conjunto dearchivos de código fuente de interésy modelarlos como componentesestereotipados como archivos;Si el sistema es grande es necesarioutilizar los paquetes para agrupar losarchivos de código fuente;Es necesario identificar la versión delcomponente.

Page 20: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

20

Modelado de una versión ejecutable

La utilización de los componentespara modelar versionesejecutables se centra en ladefinición de todos los elementosque componen lo que se conocecomo versión ejecutable, es decirla documentación, los ficheros quese entregan etc.

Page 21: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

21

Para modelar una versión es preciso:Identificar el conjunto de componentesque se pretende modelar;Identificar el estereotipo de cadacomponente del conjunto seleccionado;Para cada componente de esteconjunto hay que considerar lasrelaciones con los vecinos. Esto implicadefinir las interfaces importadas porciertos componentes y las exportadaspor otros.

Page 22: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

22

Modelado de una base de datos física

Puede ser vista como la realizaciónconcreta de un esquema, y quepertenece al mundo de los bits.Los esquemas ofrecen una API parala información persistente; el modelode una BD física representa elalmacenamiento de esa informaciónen las tablas de una BD relacional olas páginas de una BDOO.

Page 23: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

23

Para modelar una BD física:Identificar las clases del modelo querepresentan el esquema lógico de BD;Seleccionar una estrategia para hacercorresponder las clases con tablas. Asícomo la distribución física de BD;Para la correspondencia es necesariocrear un diagrama de componentes quetenga componentes estereotipados comotablas;Utilizar herramientas que ayuden atransformar diseño lógico en físico.

Page 24: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/diagramas de componentes.pdf · conocidas de los sistemas operativos, basados en componentes

24

Modelado de sistemas adaptables

Algunos sistemas son estáticos; suscomponentes entran en escena,participan en la ejecución ydesaparecen.Otros sistemas son más dinámicos, eimplican agentes móviles ocomponentes que migran con elpropósito de equilibrar la carga o larecuperación de fallos.