de_DEen_USes_ESfa_IRfr_FRhi_INjapl_PLpt_PTru_RUvizh_CNzh_TW

Desde texto a modelos UML: Un estudio de caso práctico sobre la transformación de descripciones de problemas en diagramas de clases y secuencia

Introducción

En la ingeniería de software moderna, la capacidad de traducir requisitos empresariales ambiguos en modelos de sistema precisos y accionables es una habilidad crítica. El análisis textual sirve como un puente poderoso entre enunciados de problemas en lenguaje natural y diagramas formales UML (Lenguaje Unificado de Modelado). Este estudio de caso demuestra un flujo de trabajo completo y paso a paso para extraer clases candidatas a partir de una descripción de problema del mundo real, refinarlas mediante criterios sistemáticos de rechazo y evolucionarlas hacia diagramas de clases y secuencia robustos.

Utilizando el sistema de seguridad del estacionamiento Saturn International como ejemplo de trabajo, ilustramos cómo los gerentes de productos, analistas de negocios y arquitectos de software pueden aprovechar la función de Análisis textual de Visual Paradigm para acelerar el descubrimiento de requisitos, reducir la ambigüedad y producir artefactos de diseño mantenibles. Ya sea que esté modelando sistemas de control de acceso, flujos de trabajo empresariales o aplicaciones orientadas al cliente, la metodología presentada aquí proporciona un marco repetible para convertir palabras en modelos funcionales.

Transforming Problem Descriptions into Class and Sequence Diagrams


Descripción del problema

La siguiente descripción de problema se utilizará en este tutorial. Veámosla.

La gerencia de Saturn Int. desea mejorar sus medidas de seguridad, tanto para su edificio como en el sitio. Desean impedir que personas que no forman parte de la empresa utilicen su estacionamiento.

Saturn Int. ha decidido emitir tarjetas de identidad a todos los empleados. Cada tarjeta registra el nombre, departamento y número del personal de la empresa, y les otorga acceso al estacionamiento de la empresa. Se pide a los empleados que lleven estas tarjetas mientras estén en el sitio.

Hay una barrera y un lector de tarjetas colocados en la entrada del estacionamiento. Cuando un conductor conduce su vehículo al estacionamiento, inserta su tarjeta de identidad en el lector. El lector luego verifica el número de la tarjeta para ver si es conocido por el sistema. Si el número es reconocido, el lector envía una señal para activar la barrera y que se levante. El conductor puede entonces conducir su vehículo al estacionamiento.

Hay otra barrera en la salida del estacionamiento, que se levanta automáticamente cuando un vehículo desea salir del estacionamiento.

Una señal en la entrada muestra «Lleno» cuando no hay espacios disponibles en el estacionamiento. Solo se apaga cuando un vehículo sale.

Existe otro tipo de tarjeta para invitados, que también permite el acceso al estacionamiento. La tarjeta registra un número y la fecha actual. Estas tarjetas pueden enviarse con anticipación o recogerse en recepción. Todas las tarjetas de invitados deben devolverse a recepción cuando el visitante abandone Saturn Int.


Identificación de clases a partir de texto

Creación de análisis textual

  1. Cree un nuevo proyecto. SeleccioneProyecto > Nuevo desde el menú principal. En la ventanaNuevo proyecto , nombre del proyectoTutorial y haga clic enCrear proyecto en blanco para confirmar.

  2. Cree un nuevo análisis textual. SeleccioneDiagrama > Nuevo desde el menú principal.

  3. En la ventanaNuevo diagrama , seleccioneAnálisis textual y haga clic en Siguiente. Ingrese Mejora de seguridad como nombre del diagrama y haga clic en Aceptar.

    Create Textual Analysis

  4. Esto abre el editor de análisis textual. Copie la descripción del problema proporcionada anteriormente y péguela en el editor. Pegar se puede hacer presionando Ctrl-V o haciendo clic derecho en el editor y seleccionando Pegar.

    Identify candidate class

Identificación de objetos candidatos a partir del texto

Lea la descripción del problema para identificar las clases candidatas. Cuando encuentre una candidata, haga clic derecho sobre el segmento de texto y seleccione Agregar texto como clase del menú emergente.

Problem statement pasted

A continuación se obtiene una lista de clases candidatas:

Saturn Int. medidas de seguridad edificio sitio
Personas que no forman parte de la empresa Estacionamiento Tarjetas de identidad empleados
nombre departamento número Personal de la empresa
Acceso barrier Lector de tarjetas conductor
Número de tarjeta sistema señal salida
Otro tipo de tarjeta para huéspedes recepción Tarjetas de huéspedes visitante

Hasta ahora, el editor de análisis textual debería lucir así:

Candidate classes identified

Rechazo de objetos candidatos

En esta sección, se revisarán las clases candidatas contra una lista de reglas de rechazo. Al final de esta sección, se obtendrá una lista de modelos de clases.

Ahora, revise la lista de clases candidatas contra las reglas de rechazo siguientes:

  • Duplicados: si dos o más objetos son simplemente nombres diferentes para la misma cosa.

  • Irrelevante: objetos que existen en el dominio del problema, pero que no están previstos.

  • Vago: cuando se consideran cuidadosamente las palabras, a veces queda claro que no tienen un significado preciso y no pueden ser la base de algo útil en el sistema.

  • General: el significado es demasiado amplio.

  • Atributos: como atributos de objetos.

  • Asociaciones: representa realmente las relaciones entre objetos.

  • Roles: a veces objetos referidos por el papel que desempeñan en una parte particular del sistema.

La siguiente tabla lista los resultados de la revisión:

Clase candidata Aceptar / Rechazar Razón de rechazo
Gestión Saturn Int. Rechazar Irrelevante para el sistema
Medidas de seguridad Rechazar vago
Edificio Rechazar Irrelevante para el sistema
Sitio Rechazar Irrelevante para el sistema
Personas que no forman parte de la empresa Rechazar Irrelevante para el sistema
Aparcamiento Aceptar
Tarjetas de identidad Aceptar
Empleados Rechazar Duplicado con ‘Personal de la empresa’
Nombre Rechazar Atributo
Departamento Rechazar Atributo
Número Rechazar Atributo
Personal de la empresa Rechazar Rol
Acceso Aceptar
Barrera Aceptar
Lector de tarjetas Aceptar
Conductor Rechazar Rol
Número de tarjeta Rechazar Atributo
Sistema Rechazar Demasiado general
Señal Aceptar
Salida Rechazar Irrelevante para el sistema
Otro tipo de tarjeta para invitados Rechazar Duplicados con tarjetas de invitados
Recepción Rechazar Irrelevante para el sistema
Tarjetas de invitados Aceptar
visitante Rechazar Rol

Para diferenciar las clases candidatas aceptadas y rechazadas, cambiemos el color de resaltado a verde para las aceptadas. Para hacer esto, haga clic en la celda con resaltado amarillo y seleccione el verde desde el selector de colores.

Change highlight color

Así pues, la lista restante de clases candidatas se obtiene de la siguiente manera:

Aparcamiento Tarjetas de identidad Acceso Barrera
Lector de tarjetas Señal Tarjetas de invitados

Reformulación de las clases identificadas

Reformulemos los candidatos aceptados de la siguiente manera: (1) unificar la forma del sustantivo entre el uso singular y plural y (2) reflejar con precisión el significado del texto extraído.

Lea la tabla siguiente para conocer los cambios necesarios y la explicación de dichos cambios.

Texto extraído Reformular como Razón
aparcamiento
tarjetas de identidad tarjeta de personal “Tarjetas de identidad” significa literalmente todos los tipos de tarjeta, pero según el pasaje, la palabra “tarjeta de identidad” proviene de la frase nominal “tarjetas de identidad para todos los empleados”, por lo que en realidad significa tarjeta de personal. La reformularemos para evitar confusiones.
acceso
barrera
lector de tarjetas
señal
salida
tarjetas de invitados tarjeta de invitado Cambiar para usar el sustantivo en singular y que se ajuste a las demás palabras

Actualice el nombre de las clases candidatas en consecuencia:

Renaming candidate

Creación de elementos del modelo de clase a partir del texto

Ha identificado una lista de clases. Para utilizarlas en la construcción del modelo, debe convertirlas de palabras a elementos del modelo.

  1. Seleccione las siete clases en la tabla. Para realizar una selección múltiple, mantenga presionada la tecla Ctrl y haga clic en las filas una por una.

  2. Haga clic derecho sobre su selección y seleccione Crear elemento del modelo del menú emergente.

    Create element

  3. Se le solicita visualizar los elementos creados en un diagrama. Mantenga seleccionada la opción Crear nuevo diagrama seleccionada. Cambie el nombre del diagrama de clase a Sistema de estacionamiento y haga clic en Crear.

    Visualize classes into class diagram
    Esto crea un diagrama de clase.
    Class diagram formed


Desarrollo del modelo de clase – Identificación de relaciones estructurales

Ha obtenido un conjunto de clases visualizadas en un diagrama de clase. Ahora, identifique sus relaciones estructurales conectándolas con conectores de relación como asociación, generalización y dependencia. La figura de abajo muestra el resultado. Durante el proceso, pueden agregarse nuevas clases, como la adición de la clase «tarjeta» en este ejemplo como clase superiores de las subclases tarjeta de empleado y tarjeta de invitado.

Class diagram updated


Desarrollo del modelo de interacción – Identificación de atributos y operaciones

Se crean diagramas de secuencia para visualizar las interacciones entre los objetos, es decir, las instancias de esas clases identificadas anteriormente. Durante este proceso se identificarán atributos y operaciones, lo que a su vez completa el modelo de clase. Creemos un diagrama de secuencia para visualizar el caso en que un empleado de la empresa conduce su automóvil al estacionamiento.

  1. Cree un diagrama de secuencia. Seleccione Diagrama > Nuevo del menú principal.

  2. En la ventana Nuevo diagrama seleccione Diagrama de secuencia y haga clic en Siguiente. Seleccione En blanco como plantilla y haga clic en Siguiente. Ingrese Aparcamiento de coches (con tarjeta de empleado) como nombre del diagrama y haga clic en Aceptar.

    Create sequence diagram

  3. El escenario comienza con un conductor que inserta su tarjeta de empleado en el lector de tarjetas. Creemos un actor Personal. Para crear un actor, seleccione el Actor herramienta de la barra de herramientas del diagrama y arrástrela hasta el diagrama.

    Create actor

  4. Debemos mostrar el lector de tarjetas como un objeto. En lugar de crear una línea de vida, creemos una instancia de objeto a partir de la lector de tarjetas clase. Hay varias formas de lograr esto. Una de ellas es reutilizar la clase a través del Explorador de modelos. Haga clic en el Explorador de modelos pestaña adjunta a la izquierda de la ventana de la aplicación (o seleccione Ver > Paneles > Explorador de modelos si la pestaña no aparece). A continuación, arrastre la clase lector de tarjetas hasta el diagrama.

    Drag reader class onto diagram

  5. Seleccione Línea de vida para crear cuando se le solicite elegir un tipo.

  6. La línea de vida se nombra automáticamente como ‘lector de tarjetas’, siguiendo el nombre del clasificador. Como el nombre es opcional, eliminémoslo. Esto también hace que el diagrama sea más fácil de leer.

    Card reader lifeline created

  7. Conecte personal con : lector de tarjetas. Mueva el puntero del ratón sobre el actor personal. Presione en el Catálogo de Recursos botón y arrástrelo hasta la línea de vida : lector de tarjetas.

    To create sequence message

  8. Suelte el puntero del ratón y seleccione Mensaje desde Catálogo de Recursos.

    Selecting sequence message to create

  9. Ingrese inserte la tarjeta de personal para ser el nombre del mensaje.

    Sequence message created

  10. Como dispositivo de entrada, el lector de tarjetas recibe la tarjeta y luego solicita al sistema que la verifique. Creemos una línea de vida para el sistema. Como no tenemos una clase así, simplemente creamos directamente la línea de vida. Arrastre Línea de vida desde la barra de herramientas del diagrama hasta el diagrama. Nombre la línea de vida sistema de estacionamiento de vehículos.

    Create car parking system lifeline

  11. Cree un mensaje verificar tarjeta() desde : lector de tarjetas hasta sistema de estacionamiento de vehículos.

    Verify card message created

  12. Hay dos resultados posibles: éxito o fracaso. Modelaremos ambos casos. En un diagrama de secuencia UML, se puede utilizar un fragmento combinado alternativo para modelar múltiples flujos posibles. Cree un fragmento combinado alternativo que cubra al actor y las líneas de vida. Lo redimensionaremos para cubrir más líneas de vida a medida que se agreguen más líneas de vida.

    Alternative combined fragment created

  13. Si tiene éxito, el sistema cargará el registro de la tarjeta de personal. Cree un mensaje auto cargar personal(). Para hacer esto, mueva el puntero del ratón sobre sistema de estacionamiento de vehículos y haga clic en Catálogo de Recursos, luego seleccione Mensaje Autónomo -> Línea de Vida desde Catálogo de Recursos. Ingrese el nombre del mensaje autónomo.

    Create self message

  14. Siga el paso 4 para visualizar la clase tarjeta de personal como una línea de vida. Nuevamente, elimine su nombre.

    Staff card class visualized

  15. Digamos que la última hora de acceso se establecerá en el registro de la tarjeta de personal. Represente esto mediante un mensaje de establecer establecer última hora de acceso().

    Sequence message created

  16. Se crearía un registro de acceso. Visualicemos la acceso clase en el diagrama como una línea de vida, y luego conéctela con un mensaje de crear. No olvide ampliar el fragmento combinado alternativo para cubrir la línea de vida.

    Create message created

  17. También se crearía una señal para activar la barrera para levantarse. Visualicemos la señal clase en el diagrama y luego conéctela con un mensaje de crear. Hasta ahora, su diagrama de secuencia debería verse similar a la figura de abajo.

    Sequence diagram updated

  18. Levante la barrera. Visualice la barrera clase como una línea de vida y conéctela con un levantar() mensaje. Aquí nombramos la línea de vida entrada porque hay una barrera tanto en la entrada como en la salida, aunque nos estamos refiriendo a la que está en la entrada en este diagrama.

    Barrier class visualized

  19. Finalmente, solicite al lector de tarjetas que muestre un mensaje para indicar la verificación exitosa de la tarjeta de personal. Cree un mensaje de secuencia mostrar mensaje de éxito que conecte entre sistema de estacionamiento de vehículos y : lector de tarjetas.

    Show success message

  20. ¿Qué ocurrirá cuando la tarjeta no pueda verificarse? Modelémoslo en la parte inferior del fragmento combinado alt. Digamos que el sistema solicitará al lector de tarjetas que muestre un mensaje de falla en la verificación. Cree dicho mensaje en el diagrama.

    Show fail message

  21. No importa si tiene éxito o no, la tarjeta del personal será expulsada después del proceso de verificación. Creemos el mensaje de secuenciaexpulsar tarjeta que conecta el sistema de estacionamiento de vehículos y el : lector de tarjetas.

    Eject card message created

  22. Finalmente, cree un mensaje de retorno que devuelva la tarjeta desde : lector de tarjetas al actor personal. Para hacer esto, cree el mensaje y luego haga clic derecho sobre él y seleccione Tipo (No especificado) > Respuesta del menú emergente.

    Card returned message created

  23. Las dos secciones del fragmento combinado alt. se conocen como operandos. Ingrese las condiciones de los operandos como restricciones. Haga clic derecho en la etiqueta alt en la esquina superior izquierda del fragmento combinado y seleccione Operando > Administrar operandos del menú emergente. En la ventana emergente, establezca la restricción de los dos operandos como Tarjeta aceptada y Tarjeta rechazada respectivamente.

Manage operand

  1. Creemos operaciones a partir de los mensajes de secuencia. Primero, cree una clase a partir de la línea de vida del sistema de estacionamiento de vehículos. Haga clic derecho sobre la línea de vida y seleccione Seleccionar Clase > Crear clase “sistema de estacionamiento de vehículos” del menú emergente.

    Create class from lifeline

  2. Vea la siguiente imagen. Para cada uno de los conectores resaltados, haga clic derecho sobre él y seleccione Escriba > Llamar > Crear operacióndel menú emergente.

    Create operations

  3. Vuelva al diagrama de clase. Las operaciones se presentan automáticamente en el modelo de clase.

    Class model updated

Al crear diagramas de secuencia cada vez más para diferentes escenarios, el modelo de clase se enriquecerá gradualmente al incluir todas las operaciones y atributos que necesita el sistema.


Conclusión

Transformar los requisitos en lenguaje natural en modelos UML precisos es tanto un arte como una ciencia. Este estudio de caso demuestra que con un enfoque disciplinado—comenzando con el análisis textual, aplicando criterios sistemáticos de rechazo, reformulando para mayor claridad y refinando iterativamente mediante diagramas de clase y de secuencia—los equipos pueden convertir declaraciones de problemas ambiguas en diseños de sistemas robustos y ejecutables.

El ejemplo del estacionamiento Saturn International ilustra cómo incluso los requisitos aparentemente simples contienen capas de complejidad: múltiples tipos de actores, flujos condicionales, interacciones con hardware y gestión de estados. Al aprovechar el entorno integrado de modelado de Visual Paradigm, los profesionales pueden mantener la trazabilidad desde el texto inicial hasta el código final, asegurar la consistencia entre los diagramas y colaborar eficazmente entre actores técnicos y no técnicos.

Conclusiones clave para los profesionales:

  • Comience con la extracción amplia de candidatos, luego refine mediante reglas explícitas de rechazo

  • Utilice convenciones de nombres singulares y consistentes para reducir la ambigüedad

  • Aproveche los diagramas de secuencia para descubrir operaciones y atributos ocultos

  • Trate la modelización como un proceso iterativo: cada escenario enriquece el modelo de clase

  • Mantenga la trazabilidad bidireccional entre los requisitos, los modelos y la implementación

Ya sea que esté diseñando sistemas de control de acceso, flujos empresariales o aplicaciones para clientes, la metodología presentada aquí proporciona un marco repetible y escalable para convertir palabras en modelos de software funcionales.


Referencias

  1. Características de la herramienta UML de Visual Paradigm: Visión general completa de las capacidades de modelado UML de Visual Paradigm, incluyendo soporte para todos los 14 tipos de diagramas UML 2.x y características de modelado asistido por IA.
  2. Visión general de los 14 tipos de diagramas UML: Guía detallada que explica los diagramas UML estructurales y comportamentales y sus casos de uso adecuados en el diseño de software.
  3. Guía del usuario de Visual Paradigm PDF: Documentación oficial que cubre la instalación, la navegación de la interfaz y los flujos de trabajo de modelado principales en Visual Paradigm.
  4. Documentación de modelado UML: Instrucciones paso a paso para crear, editar y gestionar diagramas UML dentro del entorno de Visual Paradigm.
  5. ¿Qué es un diagrama UML?: Introducción amigable para principiantes sobre los conceptos UML, los tipos de diagramas y su papel en la arquitectura de software y la comunicación de diseño.
  6. Capture los requisitos con casos de uso: Guía práctica sobre el uso de diagramas de casos de uso y análisis textual para obtener, documentar y validar los requisitos del sistema.
  7. Generador de diagramas de clase UML asistido por IA: Visión general de las funciones impulsadas por IA de Visual Paradigm que generan automáticamente diagramas de clase a partir de descripciones en lenguaje natural.
  8. Tutorial de PlantUML a diagramas visuales: Tutorial en video que muestra cómo convertir el código de script PlantUML en diagramas UML interactivos y editables dentro de Visual Paradigm.
  9. ¿Qué es UML?: Explicación fundamental de los principios del Lenguaje Unificado de Modelado, su historia y su importancia en las prácticas modernas de ingeniería de software.
  10. Herramientas de Ingeniería de Código: Descripción de las capacidades de ingeniería de ciclo completo, que apoyan la generación de código y la ingeniería inversa para múltiples lenguajes de programación.
  11. Mapeo de Base de Datos con ORM: Guía para generar esquemas de base de datos y capas de persistencia a partir de diagramas de clases UML utilizando técnicas de mapeo objeto-relacional.
  12. Beneficios de la Ingeniería de Bases de Datos: Explicación de cómo el modelado integrado de bases de datos mejora la consistencia de los datos, reduce el tiempo de desarrollo y apoya la iteración ágil.
  13. Galería de Visual Paradigm: Muestra de proyectos de ejemplo, plantillas de diagramas y ejemplos de modelado específicos de industrias creados con Visual Paradigm.
  14. Instalación de Visual Paradigm: Guía oficial de instalación que cubre los requisitos del sistema, la activación de la licencia y los pasos de configuración inicial.
  15. Integración de UML con Eclipse: Documentación para integrar las herramientas de modelado de Visual Paradigm directamente dentro del entorno IDE Eclipse para flujos de trabajo de desarrollo sin interrupciones.
  16. Opciones de Herramientas UML Gratuitas: Comparación de las características de la edición comunitaria de Visual Paradigm frente a sus capacidades profesionales para equipos que evalúan soluciones de modelado.
  17. Proceso de Software de Modelado UML: Visión general de cómo las herramientas UML se integran en procesos de desarrollo iterativos, incluyendo metodologías ágiles, de cascada y híbridas.
  18. Características de la Herramienta de Modelado Visual: Lista detallada de características que destacan el reuso inteligente de elementos, la validación de sintaxis y las capacidades del catálogo de recursos que distinguen a las herramientas profesionales de modelado.
  19. Herramienta UML para Soluciones Empresariales: Descripción enfocada en empresas sobre la escalabilidad de Visual Paradigm, sus características de colaboración y su integración con herramientas de gestión de requisitos y planificación ágil.
  20. Página Principal de Visual Paradigm: Sitio web principal de Visual Paradigm, que ofrece descargas de productos, tutoriales, foros comunitarios y recursos de soporte para profesionales del modelado.
  21. Colección de Tutoriales UML: Biblioteca curada de tutoriales paso a paso que cubren técnicas de modelado UML desde principiantes hasta avanzadas, en múltiples tipos de diagramas.
  22. Guía de Herramienta UML en Chino Tradicional: Recurso localizado que proporciona orientación para el modelado UML y información del producto para usuarios y equipos que hablan chino tradicional.