Dependencias Entre Componentesmiparte

9
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. El Proceso de Desarrollo UML no define un proceso concreto que determine las fases de desarrollo de un sistema, las empresas pueden utilizar UML como el lenguaje para definir sus propios procesos y lo único que tendrán en común con otras organizaciones que utilicen UML serán los tipos de diagramas. UML es un método independiente del proceso. Los procesos de desarrollo deben ser definidos dentro del contexto donde se van a implementar los sistemas. Herramientas CASE Rational Rose es la herramienta CASE que comercializan los desarrolladores de UML y que soporta de forma completa la especificación del UML 1.1. Esta herramienta propone la utilización de cuatro tipos de modelo para realizar un diseño del sistema, utilizando una vista estática

description

Dependencias Entre Componentesmipart

Transcript of Dependencias Entre Componentesmiparte

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.

El Proceso de Desarrollo

UML no define un proceso concreto que determine las fases de desarrollo de un sistema, las empresas pueden utilizar UML como el lenguaje para definir sus propios procesos y lo nico que tendrn en comn con otras organizaciones que utilicen UML sern los tipos de diagramas.

UML es un mtodo independiente del proceso. Los procesos de desarrollo deben ser definidos dentro del contexto donde se van a implementar los sistemas.

Herramientas CASE

Rational Rose es la herramienta CASE que comercializan los desarrolladores de UML y que soporta de forma completa la especificacin del UML 1.1.Esta herramienta propone la utilizacin de cuatro tipos de modelo para realizar un diseo del sistema, utilizando una vista esttica y otra dinmica de los modelos del sistema, uno lgico y otro fsico. Permite crear y refinar estas vistas creando de esta forma un modelo completo que representa el dominio delproblema y el sistema de software.

Desarrollo Iterativo

Rational Rose utiliza un proceso de desarrollo iterativo controlado (controlled iterative process development), donde el desarrollo se lleva a cabo en una secuencia de iteraciones. Cada iteracin comienza con una primera aproximacin del anlisis, diseo e implementacin para identificar los riesgos del diseo, los cuales se utilizan para conducir la iteracin, primero se identifican los riesgos y despus se prueba la aplicacin para que stos se hagan mnimos.Cuando la implementacin pasa todas las pruebas que se determinan en el proceso, sta se revisa y se aaden los elementos modificados al modelo de anlisis y diseo. Una vez que la actualizacin del modelo se ha modificado, se realiza la siguiente iteracin.

Trabajo en Grupo

Rose permite que haya varias personas trabajando a la vez en el proceso iterativo controlado, para ello posibilita que cada desarrollador opere en un espacio de trabajo privado que contiene el modelo completo y tenga un control exclusivo sobre la propagacin de los cambios en ese espacio de trabajo.

Tambin es posible descomponer el modelo en unidades controladas e integrarlas con un sistema para realizar el control de proyectos que permite mantener la integridad de dichas unidades.

Generador de Cdigo

Se puede generar cdigo en distintos lenguajes de programacin a partir de un diseo en UML.

Ingeniera Inversa

Rational Rose proporciona mecanismos para realizar la denominada Ingeniera Inversa, es decir, a partir del cdigo de un programa, se puede obtener informacin sobre su diseo.

SubsistemasLos distintos componentes pueden agruparse en paquetes segn un criterio lgico y con vistas a simplificar la implementacin. Son paquetes estereotipados en Los subsistemas organizan la vista de realizacin de un sistemaCada 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 (Categorias) y clases en el nivel lgico. Paquetes (Subsistemas) y componentes en el nivel fsico.

Desarrollo del entornoEl "UML" es un lenguaje de modelizacin genrico, independiente del proceso de construccin de softwareNo pretende definir el proceso de desarrollo. Pero asume la existencia de un proceso con estas caractersticas:a) Guiado por Casos de Usob) Centrado en una Arquitecturac) Iterativod) Incremental Diagramas desplegadosLos Diagramas de Despliegue muestran las relaciones fsicas de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos. La vista de despliegue representa la disposicin de las instancias de componentes de ejecucin en instancias de nodos conectados por enlaces de comunicacin. Un nodo es un recurso de ejecucin tal como un computador, un dispositivo o memoria. Los estereotipos permiten precisar la naturaleza del equipo: 1. Dispositivos 1. Procesadores 1. Memoria Los nodos se interconectan mediante soportes bidireccionales que pueden a su vez estereotiparse. Esta vista permite determinar las consecuencias de la distribucin y la asignacin de recursos. Las instancias de los nodos pueden contener instancias de ejecucin, como instancias de componentes y objetos. El modelo puede mostrar dependencias entre las instancias y sus interfaces, y tambin modelar la migracin de entidades entre nodos u otros contenedores. Esta vista tiene una forma de descriptor y otra de instancia. La forma de instancia muestra la localizacin de las instancias de los componentes especficos en instancias especficas del nodo como parte de una configuracin del sistema. La forma de descriptor muestra qu tipo de componentes pueden subsistir en qu tipos de nodos y qu tipo de nodos se pueden conectar, de forma similar a una diagrama de clases, esta forma es menos comn que la primera.Un diagrama de despliegue es un grafo de nodos unidos por conexiones de comunicacin. Un nodo puede contener instancias de componentes software, objetos, procesos (caso particular de un objeto). En general un nodo ser una unidad de computacin de algn tipo, desde un sensor a un mainframe. Las instancias de componentes software pueden estar unidas por relaciones de dependencia, posiblemente a interfaces (ya que un componente puede tener ms de una interfaz). Dependencias.- 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 que se representa como un cubo 3D en los diagramas de implementacin.

Las instancias de componentes de software muestran unidades de software en tiempo de ejecucin y generalmente ayudan a identificar sus dependencias y su localizacin en nodos. Pueden mostrar tambin qu interfaces implementan y qu objetos contienen. Su representacin es un rectngulo atravesado por una elipse y dos rectngulos ms pequenos.

Aqu tenemos dos nodos, el cliente y el servidor, cada uno de ellos contiene componentes. El componente del cliente utiliza una interfase de uno de los componentes del servidor. Se muestra la relacin existente entre los dos Nodos. Estar Times New Romanelacin podramos asociarle un estereotipo para indicar que tipo de conexin disponemos entre el cliente y el servidor, as como modificar su cardinalidad, para indicar que soportamos diversos clientes.Como los componentes pueden residir en mas de un nodo podemos situar el componente de forma independiente, sin que pertenezca a ningn nodo, y relacionarlo con los nodos en los que se sita.

Instancia de NodoUna instancia de nodo se puede mostrar en un diagrama. Una instancia se puede distinguir desde un nodo por el hecho de que su nombre esta subrayado y tiene dos puntos antes del tipo de nodo base. Una instancia puede o no tener un nombre antes de los dos puntos. El siguiente diagrama muestra una instancia nombrada de una computadora.

Estereotipo de NodoUn nmero de estereotipos estndar se proveen para los nodos, nombrados cdrom, cdrom, computer, disk array, pc, pc client, pc server, secure, server, storage, unix server, user pc. Estos mostrarn un icono apropiado en la esquina derecha arriba del smbolo nodo.

Artefacto Un artefacto es un producto del proceso de desarrollo de software, que puede incluir los modelos del proceso (e.g. modelos de Casos de Uso, modelos de Diseo, etc.), archivos fuente, ejecutables, documentos de diseo, reportes de prueba, prototipos, manuales de usuario y ms. Un artefacto se denota por un rectngulo mostrando el nombre del artefacto, el estereotipo artifact y un icono de documento, como a continuacin.

Asociacin En el contexto del diagrama de despliegue, una asociacin representa una ruta de comunicacin entre los nodos. El siguiente diagrama muestra un diagrama de despliegue para una red, mostrando los protocolos de red como estereotipos y tambin mostrando multiplicidades en los extremos de la asociacin.

Nodo como contenedor Un nodo puede contener otros elementos, como componentes o artefactos. El siguiente diagrama muestra un diagrama de despliegue para una parte del sistema embebido y muestra un artefacto ejecutable como contenido por el nodo madre (motherboard).

Notacin.-Esta vista cubre principalmente la distribucin, entrega e instalacin de las partes que configuran un sistema fsico. Los diagramas de despliegue se suelen utilizar para modelar: 1. Sistemas empotrados: Un sistema empotrado es un coleccin de hardware con una gran cantidad de software que interactXa con el mundo fsico. Los sistemas empotrados involucran software que controla dispositivo (motores,actuadores) que a su ves estn controlados por estmulos externos como sensores. 1. Sistemas cliente-servidor: Los sistemas cliente-servidor son un extremos del espectro de los sistemas distribuidos y requieren tomar decisiones sobre la conectividad de red de los clientes a los servidores y sobre la distribucin fsica de los componentes software del sistemas a a travs de nodos. 1. Sistemas completamente distribuidos: En el otro extremo encontramos aquellos sistemas que son ampliamente o totalmente distribuidos y que normalmente incluyen varios niveles de servidores Tales sistemas contienen a menudo varias versiones de componentes software, alguno de los cuales pueden incluso migrar de un nodo a otro. El diseno de tales sistemas requiere tomar decisiones que permitan un cambio continuo de la topologa del sistema. Pasos que se siguen en la construccin del artefacto Los diagramas de despliegue muestran la configuracin en funcionamiento del sistema, incluyendo su hardware y su software. Para cada componente de un diagrama de despliegue se deben documentar las caractersticas tcnicas requeridas, el trfico de red esperado, el tiempo de respuesta requerido, etc. La mayora de las veces el modelado de la vista de despliegue esttica implica modelar la topologa del hardware sobre el que se ejecuta el sistema. Los diagramas de despliegue son fundamentalmente diagramas de clases que se ocupan de modelar los nodos de un sistema. Aunque UML no es un lenguaje de especificacin hardware de propsito general, se ha diseado para modelar muchos de los aspectos hardware de un sistema a un nivel suficiente para que un ingeniero software pueda especificarla plataforma sobre la que se ejecuta el software del sistema y para que un ingeniero de sistemas pueda manejar la frontera entre el hardware y el software cuando se trata de la relacin entre hardware y software se utilizan los diagramas de despliegue para razonar sobre la topologa de procesadores y dispositivos sobre los que se ejecuta el software.