miércoles, 23 de septiembre de 2020

7.- DISEÑO A NIVEL DE COMPONENTES

El diseño en el nivel de componentes tiene lugar una vez terminado el diseño de la arquitectura. En esta etapa se ha establecido la estructura general de los datos y del programa del software. El objetivo es traducir el modelo del diseño a software operativo.

El diseño de datos a nivel de componentes se centra en la representación de estructuras de datos a las que se accede directamente a través de uno o más componentes del software.

El diseño en el nivel de componente transforma los elementos estructurales de la arquitectura del software en una descripción de sus componentes en cuanto a procedimiento. La información obtenida a partir de los modelos basados en clase, flujo y comportamiento sirve como la base para diseñar los componentes.

Un componente es un bloque de construcción de software de cómputo. Desde la visión orientada a objetos, un componente contiene un conjunto de clases que colaboran. Cada clase dentro de un componente se elabora por completo para que incluya todos los atributos y operaciones relevantes para su implantación.

En el contexto de la ingeniería de software tradicional, un componente es un elemento funcional de un programa que incorpora la lógica del procesamiento, las estructuras de datos internas que se requieren para implantar la lógica del procesamiento y una interfaz que permite la invocación del componente y el paso de los datos. Dentro de la arquitectura del software se encuentra un componente tradicional, también llamado módulo, que tiene tres funciones importantes: 1) como componente de control que coordina la invocación de todos los demás componentes del dominio del problema, 2) como componente del dominio del problema que implanta una función completa o parcial que requiere el cliente y 3) como componente de infraestructura que es responsable de las funciones que dan apoyo al procesamiento requerido en el dominio del problema.

Los componentes son entidades desplegables. Es decir, no son compilados en un programa de aplicación, sino que se instalan directamente sobre una plataforma de ejecución. Los métodos y atributos definidos en sus interfaces pueden ser accedidos por otros componentes. 

 

 

Ejemplo: Un modelo de componente de recopilación de datos.

Los pasos siguientes representan un conjunto de tareas comunes para el diseño en el nivel de componentes cuando se aplica a un sistema orientado a objetos:

Paso 1. Identificar todas las clases de diseño que correspondan al dominio del problema. Con el uso del modelo de requerimientos y arquitectónico, se elabora cada clase de análisis y componente de la arquitectura.

Paso 2. Identificar todas las clases de diseño que correspondan al domino de la infraestructura. Estas clases no están descritas en el modelo de los requerimientos y con frecuencia se pierden a partir del modelo arquitectónico; sin embargo, deben describirse en este punto.

Paso 3Elaborar todas las clases de diseño que no sean componentes reutilizables. La elaboración requiere que se describan en detalle todas las interfaces, atributos y operaciones necesarios para implantar la clase. Mientras se realiza esta tarea, deben considerarse los heurísticos del diseño.

Paso 4. Describir las fuentes persistentes de datos (bases de datos y archivos) e identificar las clases requeridas para administrarlos.

Paso 5. Desarrollar y elaborar representaciones del comportamiento para una clase o componente. Los diagramas de estado UML fueron utilizados como parte del modelo de los requerimientos para representar el comportamiento observable desde el exterior del sistema y el más localizado de las clases de análisis individuales.

Paso 6. Elaborar diagramas de despliegue para dar más detalles de la implementación. Los diagramas de despliegue se utilizan como parte del diseño de la arquitectura y se representan en forma de descriptor. Durante el diseño en el nivel de componentes pueden elaborarse diagramas de despliegue que representen la ubicación de paquetes de componentes clave.

Paso 7. Rediseñar cada representación del diseño en el nivel de componentes y siempre considerar alternativas.

 

 VIDEO COMPLEMENTARIO:




7.1.- DIAGRAMA DE DESPLIEGUE O DISTRIBUCIÓN

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


NODO

Es un objeto físico en tiempo de ejecución que representa  un recurso computacional generalmente tiene memoria y capacidad de procesamiento. Los nodos pueden contener objetos, instancias del componente.

Un nodo representa típicamente un procesador o un dispositivo sobre el que se pueden desplegar los componentes.

 

 

EJEMPLOS:

 

EJEMPLO 1. Diagrama de despliegue o Distribución de un usuario conectándose a Internet, el cual está compuesto por lo siguiente:

 

  • El usuario hace la petición por medio del teclado y a través del monitor que quiere conectarse a Internet.
  • En la estación de trabajo se tiene instalado un navegador web que es el que recibe la petición del usuario.
  • El navegador Web envía un mensaje de petición de conexión mediante un protocolo HTTP o HTTPS al servidor Web.
  • El servidor Web recibe el mensaje en la interfaz Web de la capa de aplicación y manda la petición a la interfaz de la base de datos que se quiere consultar. La Interfaz manda un mensaje al servidor de la base de datos y al archivo log donde quedaría almacenada ese proceso.
  • Y por último la petición del usuario llega hasta la base de datos creada en el gestor de base de datos MySQL y alojada en el servidor de base de datos. Dicho enlace se da ya sea por medio del protocolo TCP/IP o por medio de una conexión local o socket.


Aquí tenemos dos nodos, el cliente y el servidor, cada uno de ellos contiene componentes. El componente del cliente utiliza una interface de uno de los componentes del servidor. Se muestra la relación existente entre los nodos. A esta relación podríamos asociarle un estereotipo para indicar qué tipo de conexión disponemos entre el cliente y el servidor, así como modificar su cardinalidad para indicar que soportamos diversos clientes. Como los componentes pueden residir en más de un nodo, podemos situar el componente de forma independiente, sin que pertenezca a ningún nodo y relacionarlo con los nodos en los que se sitúa.


VIDEO COMPLEMENTARIO:



 

 

No hay comentarios:

Publicar un comentario