Está en la página 1de 29

Prof.

Hooberth Chvez Bedoya

Un diagrama de componentes es un diagrama de clases a gran escala. Cada componente en el diagrama debe ser documentado con un diagrama de componentes ms detallado, un diagrama de clases, o un diagrama de casos de uso. Los diagramas de componentes describen los elementos fsicos del sistema y sus relaciones Muestran las opciones de realizacin incluyendo cdigo fuente, binario y ejecutable Los componentes representan todos los tipos de elementos software que entran en la fabricacin de aplicaciones informticas Un mdulo de software se puede representar como componente.

Se utilizan para modelar la vista esttica de un sistema. Muestra la organizacin 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.

Los artefactos de los que depende su construccin son: Los artefactos que se generan a partir del diagrama de complementos son:
Diagrama de ejecucin Diagrama de despliegue Diagrama de objetos Diagrama de clases

Es una parte fsica reemplazable de un sistema que empaqueta su implementacin y es conforme a un conjunto de interfaces a las que proporciona su realizacin. Los componentes tienen dos caractersticas: Empaquetan el cdigo 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.

Transacciones

componente

Relacin de uso

Cliente: PC

Nodo fsico

Un mdulo de software se puede representar como componente. Algunos componentes existen en tiempo de compilacin, algunos en tiempo de enlace y algunos en tiempo de ejecucin, otros en varias de stas. Un diagrama de componentes muestra clasificadores de componentes, las clases definidas en ellos, y las relaciones entre ellas. Los clasificadores de componentes tambin se pueden anidar dentro de otros clasificadores de componentes para mostrar relaciones de definicin.

Normalmente los diagramas de componentes se utilizan para modelar cdigo fuente, versiones ejecutables, bases de datos fsicas, entre otros. Un diagrama de componentes se representa como un grafo de componentes software unidos por medio de relaciones de dependencia. Puede mostrar tambin que un componente software contiene una interfaz, es decir, la soporta.

Un estereotipo es la forma de clasificar las clases de alto nivel. Los estereotipos se muestran con doble ngulo. Ej: <<control>> UML define cinco estereotipos estndar que se aplican a los componentes: Executable: Especifica un componente que se puede

ejecutar en un nodo. Library: Especifica una biblioteca de objetos esttica o dinmica. Table: Especifica un componente que representa una tabla de una base de datos. File: Especifica un componente que representa un documento que contiene cdigo fuente o datos. Document: Especifica un componente que representa un documento.

Se utilizan en los diagramas de componentes para indicar que un componente se refiere a los servicios ofrecidos por otro componente S un componente es la realizacin de una interfaz, se representa con un crculo unido al smbolo del componente por un segmento de lnea.

As si tenemos en cuenta las dependencias asociadas al proceso de compilacin un componente podra ser: Cdigo fuente que depende de otros componentes (no necesariamente cdigo fuente) que deben estar disponibles durante la compilacin del componente. Cdigo objeto binario, como por ejemplo una librera Cdigo ejecutable que puede depender de otros programas ejecutables con los que interacciones en tiempo de ejecucin.

Los distintos componentes pueden agruparse en paquetes segn un criterio lgico y con vistas a simplificar la implementacin Son paquetes estereotipados en <<subsistemas>>

Los subsistemas organizan la vista de realizacin de un sistema Cada subsistema puede contener componentes y otros subsistemas La descomposicin en subsistemas no es necesariamente una descomposicin funcional La relacin entre paquetes y clases en el nivel lgico es el que existe entre subsistemas y componentes en el nivel fsico Paquetes (Categoras) y clases en el nivel lgico. Paquetes (Subsistemas) y componentes en el nivel fsico

Son los puntos visibles de entrada o los servicios que un componente est ofreciendo y dejando disponibles a otros componentes y clases. Tpicamente, un componente est compuesto por numerosas clases y paquetes de clases internos. Tambin se puede crear a partir de una coleccin de componentes ms pequeos. La estructura esttica, ejecutable de una implementacin de un sistema se puede representar como un conjunto interconectado de componentes.

Las dependencias entre componentes significan que los elementos de la implementacin en un componente requieren los servicios de los elementos de implementacin en otros componentes. Tal uso requiere que dichos elementos sean de visibilidad pblica.

Un componente de identidad tiene identidad y estado. Posee los objetos fsicos que estn situados en l. Puede tener atributos, relaciones de composicin con los objetos posedos, y asociaciones con otros componentes. Desde este punto de vista es una clase. Sin embargo la totalidad de su estado debe hacer referencia a las instancias que contiene.

Un componente ofrece un conjunto de elementos de implementacin, esto significa que el componente proporciona el cdigo para los elementos. Un componente de identidad es un contenedor fsico para las entidades fsicas como bases de datos. Para proporcionar manejadores para sus elementos contenidos, puede tener atributos y asociaciones salientes, que deben ser implementadas por sus elementos de implementacin.

En un diagrama de componentes representa una divisin fsica del sistema. Los paquetes se organizan en una jerarqua de capas donde cada capa tiene una interfaz bien definida. Un ejemplo tpico de una jerarqua en capas de este tipo es: Interfaz de usuario; Paquetes especficos de la aplicacin

Un nodo es un objeto fsico en tiempo de ejecucin que representa un recurso computacional, generalmente con memoria y capacidad de procesamiento. Pueden representarse instancias o tipos de nodos. Se representa como un cubo 3D en los diagramas de implementacin.

Los componentes pueden tener requisitos adjuntos para indicar sus obligaciones contractuales; esto es, qu servicios proveen en el modelo. Los requisitos ayudan a documentar el comportamiento funcional de los elementos de software.

Los componentes pueden tener restricciones asignadas que indican el entorno en el que operan. Las pre-condiciones especifican lo que debe ser verdadero antes de que un componente pueda realizar alguna funcin; las post-condiciones indican lo que debe ser verdadero despus de que un componente haya realizado algn trabajo y los invariantes especifican lo que debe permanecer verdadero durante la vida del componente.

El diagrama puede usarse para mostrar interfaces y las dependencias de llamada entre componentes, usando flechas con lneas discontinuas desde los componentes a las interfaces de otros componentes. El diagrama de componente hace parte de la vista fsica de un sistema, la cual modela la estructura de implementacin de la aplicacin por s misma, su organizacin en componentes y su despliegue nodos de ejecucin. Esta vista proporciona la oportunidad de establecer correspondencias entre las clases y los componentes de implementacin y nodos. La vista de implementacin se representa con los diagramas de componentes.