ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABI MANUEL FELIX LÓPEZ

sábado, 9 de agosto de 2014

DIAGRAMAS DE ESTRUCTURA



MARTES 29 DE JULIO 2014.
INTRODUCCIÓN
DIAGRAMAS DE ESTRUCTURA
Como ya lo dije estos temas no los hemos visto en clase, solo los vimos de forma rápida, pero aquí esta de forma detallada. En esta parte se aprende a usar cada uno de los diagramas y cuáles eran los beneficios que se obtienen al utilizar cada uno de estos diagramas, es bueno indicar de  que cada diagrama tiene su función, son importantes para ayudar a desarrollar un proyecto de software.
Consiste en cuadros rectangulares que representan a los módulos, junto con flechas para conectarlos.
Un diagrama de estructura fomenta el diseño descendente mediante el uso de módulos.


MARCO TEÒRICO
Diagrama de Clase
Para modelar clases, incluidos sus atributos, operaciones, relaciones y asociaciones con otras clases, el UML proporciona un diagrama de clase, que aporta una visión estática o de estructura de un sistema, sin mostrar la naturaleza dinámica de las comunicaciones entre los objetos de las clases.
Los elementos principales de un diagrama de clase son cajas, que son los íconos utilizados para representar clases e interfaces. Cada caja se divide en partes horizontales. La parte superior contiene el nombre de la clase. La sección media menciona sus atributos. Un atributo es algo que un objeto de dicha clase conoce o puede proporcionar todo el tiempo. Por lo general, los atributos se implementan como campos de la clase, pero no necesitan serlo. Podrían ser valores que la clase puede calcular a partir de sus variables o valores instancia y que puede obtener de otros objetos de los cuales está compuesto. Por ejemplo, un objeto puede conocer siempre lahora actual y regresarla siempre que se le solicite. Por tanto, sería adecuado mencionar la hora actual como un atributo de dicha clase de objetos. Sin embargo, el objeto muy probablemente no tendría dicha hora almacenada en una de sus variables instancia, porque necesitaría actualizar de manera continua ese campo. En vez de ello, el objeto probablemente calcularía la hora actual (por ejemplo, a través de consulta con objetos de otras clases) en el momento en el que se le solicite la hora. La tercera sección del diagrama de clase contiene las operaciones o comportamientos de la clase. Una operación es lo que pueden hacer los objetos de la clase. Por lo general, se implementa como un método de la clase.
La figura que se muestra a continuación presenta un ejemplo simple de una clase Thoroughbred (pura sangre) que modela caballos de pura sangre. Muestra tres atributos: mother (madre), father (padre) y birthyear(año de nacimiento). El diagrama también muestra tres operaciones: getCurrentAge() (obtener edad actual), getFather() (obtener padre) y getMother() (obtener madre); puede haber otros atributos y operaciones suprimidos que no se muestren en el diagrama.
Cada atributo puede tener un nombre, un tipo y un nivel de visibilidad. El tipo y la visibilidad son opcionales. El tipo sigue al nombre y se separa de él mediante dos puntos. La visibilidad se indica mediante un –, #, ~ o + precedente, que indica, respectivamente, visibilidad privada, protegida, paquete o pública. En la figura, todos los atributos tienen visibilidad privada, como se indica mediante el signo menos que los antecede (–). También es posible especificar que un atributo es estático o de clase, subrayándolo. Cada operación puede desplegarse con un nivel de visibilidad, parámetros con nombres y tipos, y un tipo de retorno.


Una clase abstracta o un método abstracto se indica con el uso de cursivas en el nombre del diagrama de clase. Vea, por ejemplo, la clase Horse (caballo) en la figura. Una interfaz se indica con la frase “<<interface>>” (llamada estereotipo) arriba del nombre. Vea la interfaz OwnedObject(objeto posesión) en la figura. Una interfaz también puede representarse gráficamente mediante un círculo hueco.
Los diagramas de clase también pueden mostrar relaciones entre clases. Una clase que seauna subclase de otra clase se conecta con ella mediante una flecha con una línea sólida ycon una punta triangular hueca. La flecha apunta de la subclase a la superclase. En UML, tal relación se llama generalización.
Una asociación entre dos clases significa que existe una relación estructural entre ellas. Las asociaciones se representan mediante líneas sólidas. Una asociación tiene muchas partes opcionales.
Puede etiquetarse, así como cada una de sus terminaciones, para indicar el papel de cada clase en la asociación.
Una asociación con una flecha en un extremo indica navegabilidad en un sentido. La flecha significa que, desde una clase, es posible acceder con facilidad a la segunda clase asociada hacia la que apunta la asociación; sin embargo, desde la segunda clase, no necesariamente puede accederse con facilidad a la primera clase. Otra forma de pensar en esto es que la primera clase está al tanto de la segunda, pero el segundo objeto de clase no necesariamente está directamente al tanto de la primera clase. Una asociación sin flechas por lo general indica una asociación de dos vías.
Una relación de dependencia representa otra conexión entre clases y se indica mediante una línea punteada (con flechas opcionales en los extremos y con etiquetas opcionales). Una clase depende de otra si los cambios en la segunda clase pueden requerir cambios en la primera. Una asociación de una clase con otra automáticamente indica una dependencia. No se necesitan líneas punteadas entre clases si ya existe una asociación entre ellas. Sin embargo, para una relación transitoria (es decir, una clase que no mantiene alguna conexión de largo plazo con otra, sino que usa dicha clase de manera ocasional), debe dibujarse una línea punteada desde la primera clase hasta la segunda.

Diagrama de Componentes
El diagrama de componentes muestra los componentes del sistema, como un archivode clase, un paquete, las bibliotecas compartidas, una base de datos, etcétera, y la forma en que se relacionan entre sí. Los componentes individuales en un diagrama de componentes se consideran con más detalle dentro de otros diagramas de UML, como los diagramas de clases y los diagramas de casos de uso.


En los diagramas de componentes se muestran los elementos de diseño de un sistema de software. Un diagrama de componentes permite visualizar con más facilidad la estructura general del sistema y el comportamiento del servicio que estos componentes proporcionan y utilizan a través de las interfaces. Para crear un diagrama de componentes UML, en el menú Arquitectura, haga clic en Nuevo diagrama.
Puede usar un diagrama de componentes para describir un diseño que se implemente en cualquier lenguaje o estilo. Solo es necesario identificar los elementos del diseño que interactúan con otros elementos del diseño a través de un conjunto restringido de entradas y salidas. Los componentes pueden tener cualquier escala y pueden estar interconectados de cualquier manera. 

Diagrama de Despliegue
El diagrama de despliegue ilustra la implementación física del sistema, incluyendo el hardware, las relaciones entre el hardware y el sistema en el que se va a desplegar. El diagrama de despliegue puede mostrar los servidores, estaciones de trabajo, impresoras, etcétera.

El Diagrama de despliegue es un diagrama estructurado que muestra la arquitectura del sistema desde el punto de vista del despliegue (distribución) de los los artefactos del software en los destinos de despliegue.


Usos
Sistemas empotrados: Un sistema empotrado es una colección de hardware con una gran cantidad de software que interactúa con el mundo físico.
·         Sistemas cliente-servidor: Los sistemas Cliente-Servidor son un extremo del espectro de los sistemas distribuidos y requieren tomar decisiones sobre la conectividad de red de los clientes a los servidores y sobre la distribución física de los componentes software del sistema a través de nodos.
·         Sistemas completamente distribuidos: En el otro extremo se encuentra aquellos sistemas que son ampliamente o totalmente distribuidos y que normalmente incluyen varios niveles de servidores.
Ventajas
·         Muestra un conjunto de nodos y sus relaciones.
·         Se utilizan para describir la vista de despliegue estática de un sistema.
·         Se relacionan con los diagramas de componentes, ya que un nodo normalmente incluye uno o más componentes.
Desventajas
·         La posible falla en la modelación de un hardware.
·         Tales sistemas contienen a menudo varias versiones de componentes software, alguno de los cuales pueden incluso migrar de un nodo a otro.El diseño de tales sistemas requiere tomar decisiones que permitan un cambio continuo de la topología del sistema.
Componentes
Nodo
Un nodo es un objeto físico en tiempo de ejecución que representa un recurso computacional, generalmente con memoria y capacidad de procesamiento.Un Nodo es un elemento de hardware o software.


CONCLUSIÓN
Los diagramas de clases muestran las características estáticas del sistema y no representan ningún procesamiento en especial. Un diagrama de clases también muestra la naturaleza de las relaciones entre las clases.
Los diagramas de componentes describen los elementos físicos del sistema y sus relaciones.

Un diagrama de despliegue muestra la configuración de nodosque participan en la ejecución y de los componentes que residenen ellos.

BIBLIOGRAFÍA
Kendall, K.2011.ANÁLISIS Y DISEÑO DE SISTEMAS. Octava Edición.
Pressman, R. 2010. INGENIERÍA DEL SOFTWARE. Un enfoque práctico. Séptima edición.

Rubiano,M. 2012.DIAGRAMA DE DESPLIEGUE.(En Lìnea).Disponible en: http://es.scribd.com/doc/19808824/diagramas-de-despliegue-2222

No hay comentarios:

Publicar un comentario