Diagramas Estructurales

Translator
Translator
Translator

Qué es el lenguaje unificado de modelado (UML)? | Lucidchart                                                                          

Translator
Diagramas Estructurales: Los diagramas estructurales son representaciones gráficas que muestran la organización y la estructura estática de un sistema en el contexto del Lenguaje Unificado de Modelado (UML). A través de estos diagramas, se pueden visualizar los componentes individuales del sistema, como clases, objetos, componentes, y sus interrelaciones, así como las propiedades y características que los definen. Los diagramas estructurales ayudan a los desarrolladores y diseñadores a entender cómo se agrupan y conectan las diferentes partes del sistema, facilitando así la planificación, diseño y comunicación en el proceso de desarrollo de software. Algunos de los diagramas estructurales más comunes incluyen el diagrama de clases, el diagrama de componentes, el diagrama de despliegue, el diagrama de objetos, el diagrama de paquetes, el diagrama de perfiles y el diagrama de estructura compuesta.

1. Diagrama de Clases

El diagrama de clases es uno de los diagramas más utilizados en UML y modela la estructura estática de un sistema orientado a objetos. Se utiliza para describir las clases del sistema, los atributos y métodos de las clases, y las relaciones entre ellas.

Notacion:

  • Clases: Representan los elementos principales del diagrama. Cada clase se representa mediante un rectángulo dividido en tres partes: el nombre de la clase (parte superior), los atributos (parte central), y los métodos o funciones (parte inferior).
  • Atributos: Son las propiedades o variables de la clase. Se colocan en la sección central del rectángulo.
  • Métodos: Son las funciones o comportamientos de la clase. Se listan en la parte inferior del rectángulo.
  • Relaciones: Entre las clases puede haber diferentes tipos de relaciones:
    1. Asociación: Relación más simple, representada por una línea entre dos clases.
    2. Generalización/Herencia: Se utiliza para mostrar que una clase hereda de otra. Se representa con una línea sólida y una flecha en forma de triángulo.
    3. Agregación: Relación en la que una clase forma parte de otra, pero puede existir por separado. Se representa con una línea y un rombo vacío.
    4. Composición: Es una relación más fuerte que la agregación, donde una clase forma parte de otra y no puede existir por separado. Se representa con un rombo relleno.

Ejemplo: Supongamos que estamos modelando un sistema de gestión de biblioteca.

  • Clases:

    • Libro
      • Atributos: titulo, autor, ISBN, disponibilidad
      • Operaciones: prestar(), devolver()
    • Usuario
      • Atributos: nombre, numeroDeIdentificacion
      • Operaciones: registrar(), consultarPrestamos()
  • Relaciones:

    • Asociación: Un Usuario puede tener varios Libros prestados (1).
    • Herencia: Si hay una clase UsuarioEstudiante que hereda de Usuario.

Diagrama:



+-----------------+
|      Libro      |
+-----------------+
| - titulo        |
| - autor         |
| - ISBN          |
| - disponibilidad |
+-----------------+
| + prestar()     |
| + devolver()    |
+-----------------+

         1
         |
         |
         N
+-----------------+
|     Usuario     |
+-----------------+
| - nombre        |
| - numeroDeID    |
+-----------------+
| + registrar()   |
| + consultar()   |
+-----------------+
Les dejo un video para mas aprendizaje 








                                









     




2. Diagrama de Componentes


El diagrama de componentes en UML describe cómo los distintos componentes de un sistema están organizados y cómo se relacionan entre sí. Estos componentes pueden ser módulos de software, bibliotecas, archivos, etc., que interactúan entre sí para formar un sistema funcional.

Notacion:

  • Componente: Representado por un rectángulo con una pequeña caja doblada en la esquina superior derecha. Los componentes pueden ser archivos de código, bases de datos, bibliotecas de software, etc.
  • Interfaces: Un componente interactúa con otros mediante interfaces, que se representan por un pequeño círculo conectado al componente.
  • Dependencia: Se utiliza una línea discontinua con una flecha para indicar que un componente depende de otro para funcionar.

Ejemplo: Un sistema de compras en línea.

  • Componentes:

    • Interfaz de Usuario
    • Servidor de Aplicaciones
    • Base de Datos
  • Relaciones:

    • La Interfaz de Usuario se conecta al Servidor de Aplicaciones.
    • El Servidor de Aplicaciones se conecta a la Base de Datos.

Diagrama:

+------------------------+
|   Interfaz de Usuario  |
+------------------------+
          |
          |
+------------------------+
|  Servidor de Aplicaciones |
+------------------------+
          |
          |
+------------------------+
|      Base de Datos     |
+------------------------+
 

Les dejo un video para mas informacion: 


 


3. Diagrama de Despliegue

El diagrama de despliegue (Deployment Diagram) modela la distribución física del sistema, mostrando cómo los componentes de software se despliegan en nodos de hardware. Es ideal para representar la arquitectura de red, los servidores y las conexiones físicas entre ellos.


Notacion:

  • Nodos: Representan los dispositivos físicos (como servidores, máquinas virtuales, dispositivos móviles). Se dibujan como un cubo 3D.
  • Artefactos: Representan piezas de software que se despliegan en los nodos. Se dibujan como un rectángulo.
  • Conexiones: Se representan con líneas entre los nodos, indicando la comunicación o interacción entre ellos.

Ejemplo: Un sistema de gestión de recursos en una empresa.

  • Nodos:

    • Servidor Web
    • Servidor de Base de Datos
  • Artefactos:

    • Aplicación Web
    • Base de Datos
  • Conexiones:

    • Conexiones de red entre nodos.

Diagrama de Despliegue Ejemplo:

+-------------------------+
|      Servidor Web      |
| +---------------------+ |
| |  Aplicación Web     | |
| +---------------------+ |
+-------------------------+

          |
          |
+-------------------------+
|  Servidor de Base de Datos |
| +---------------------+   |
| |   Base de Datos     |   |
| +---------------------+   |
+-------------------------+



4. Diagrama de Objetos


 

Este diagrama es muy similar al diagrama de clases, pero en lugar de mostrar clases genéricas, muestra instancias específicas (objetos) de esas clases y sus relaciones en un momento dado. Es útil para visualizar el estado del sistema en un instante específico.

Notacion:

  • Objeto: Un rectángulo subrayado que representa una instancia específica de una clase.
  • Atributos: Valores concretos de los atributos del objeto.
  • Relaciones: Al igual que en el diagrama de clases, se usan líneas para mostrar las relaciones entre objetos.

Ejemplo: Un sistema de reservas de hotel.

  • Objetos:

    • reserva1: Reserva
    • cliente1: Cliente
  • Relaciones:

    • reserva1 está asociada a cliente1.
    Diagrama: 
+-------------------+
| reserva1: Reserva |
+-------------------+
| - fecha           |
| - habitaciones    |
+-------------------+

         |
         |
+------------------+
| cliente1: Cliente|
+------------------+
| - nombre         |
| - dni            |
+------------------+
 


 

5. Diagrama de Paquetes


Este diagrama organiza y agrupa los elementos de un sistema en paquetes, ayudando a modularizar y gestionar la complejidad. Un paquete puede contener clases, otros diagramas o incluso subpaquetes.

Notacion:

  • Paquete: Un rectángulo con una pequeña pestaña en la esquina superior izquierda que contiene clases o diagramas relacionados.
  • Relaciones entre Paquetes: Se representan con líneas discontinua con flechas para mostrar dependencias o relaciones entre paquetes.

Ejemplo: Sistema de Gestión de Proyectos

  • Paquetes:
    • Paquete de Gestión de Proyectos
    • Paquete de Recursos Humanos
    • Paquete de Finanzas
  • Relaciones:
    • Dependencias entre paquetes (por ejemplo, el Paquete de Gestión de Proyectos depende del Paquete de Recursos Humanos).
     
Diagrama:  
+------------------------+
|  Gestión de Proyectos  |
+------------------------+
          |
          |
+------------------------+
|    Gestión de Recursos  |
+------------------------+

          |
          |
+------------------------+
|   Gestión de Clientes   |
+------------------------+




 

6. Diagrama de Perfiles

El diagrama de perfiles permite extender UML para modelar sistemas o dominios específicos. Los perfiles incluyen estereotipos que definen cómo se especializan los elementos UML para adaptarse a un contexto particular.

Notacion:

  • Estereotipos: Palabras clave entre << >> que se colocan sobre un elemento UML, indicando que ese elemento tiene una especialización.
  • Metaclases: Clases que se extienden mediante perfiles para adaptarse a necesidades concretas.

Ejemplo:

Un perfil especializado para un sistema de seguridad podría incluir el estereotipo <<SistemaDeSeguridad>> aplicado a clases relacionadas con usuarios o autenticación.

Diagrama:

+-----------------+
|    <<modelo>>   |
|      Usuario    |
+-----------------+

         |
         |
+-----------------+
|   <<controlador>>|
|  ControladorUsuario |
+-----------------+
 

 


 


7. Diagrama de Estructura Compuesta


Este diagrama describe la estructura interna de una clase o componente, mostrando cómo las partes de ese elemento colaboran para realizar una función. Es útil para modelar sistemas complejos con partes bien definidas.

Notacion:

  • Parte (Part): Subcomponentes de una clase o componente. Se representan con rectángulos dentro de una clase.
  • Conectores: Líneas que conectan las partes, indicando cómo interactúan entre sí.
  • Puertos: Representan los puntos de interacción con otros elementos fuera de la clase.

Ejemplo: Un sistema de facturación.

  • Clases y Componentes:
    • Factura
      • Componentes internos: LineaFactura, Cliente, MetodoPago
  • Conexiones:
    • Factura se conecta a Cliente y MetodoPago.
    +-------------------+
    |      Factura      |
    +-------------------+
    | - fecha           |
    | - total           |
    +-------------------+
    |                   |
    | +-----------------+
    | |  LineaFactura   |
    | +-----------------+
    |                   |
    +-------------------+

              |
              |
    +-------------------+
    |      Cliente      |
    +-------------------+

              |
              |
    +-------------------+
    |    MetodoPago     |
    +-------------------+
Les dejo un video para mejor aprendizaje: 

 


Comentarios