{"id":11313,"date":"2026-05-19T16:00:57","date_gmt":"2026-05-19T08:00:57","guid":{"rendered":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/"},"modified":"2026-05-19T16:00:57","modified_gmt":"2026-05-19T08:00:57","slug":"from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/","title":{"rendered":"Desde texto a modelos UML: Un estudio de caso pr\u00e1ctico sobre la transformaci\u00f3n de descripciones de problemas en diagramas de clases y secuencia"},"content":{"rendered":"<h2>Introducci\u00f3n<\/h2>\n<p>En la ingenier\u00eda de software moderna, la capacidad de traducir requisitos empresariales ambiguos en modelos de sistema precisos y accionables es una habilidad cr\u00edtica. El an\u00e1lisis 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\u00f3n de problema del mundo real, refinarlas mediante criterios sistem\u00e1ticos de rechazo y evolucionarlas hacia diagramas de clases y secuencia robustos.<\/p>\n<p>Utilizando el sistema de seguridad del estacionamiento Saturn International como ejemplo de trabajo, ilustramos c\u00f3mo los gerentes de productos, analistas de negocios y arquitectos de software pueden aprovechar la funci\u00f3n de An\u00e1lisis textual de Visual Paradigm para acelerar el descubrimiento de requisitos, reducir la ambig\u00fcedad y producir artefactos de dise\u00f1o mantenibles. Ya sea que est\u00e9 modelando sistemas de control de acceso, flujos de trabajo empresariales o aplicaciones orientadas al cliente, la metodolog\u00eda presentada aqu\u00ed proporciona un marco repetible para convertir palabras en modelos funcionales.<\/p>\n<p id=\"napmyKK\"><img alt=\"Transforming Problem Descriptions into Class and Sequence Diagrams\" class=\"alignnone wp-image-18871 size-full\" decoding=\"async\" height=\"507\" loading=\"lazy\" sizes=\"auto, (max-width: 916px) 100vw, 916px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c19ab9c846.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c19ab9c846.png 916w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c19ab9c846-300x166.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c19ab9c846-768x425.png 768w\" width=\"916\"\/><\/p>\n<hr\/>\n<h2>Descripci\u00f3n del problema<\/h2>\n<p>La siguiente descripci\u00f3n de problema se utilizar\u00e1 en este tutorial. Ve\u00e1mosla.<\/p>\n<table>\n<thead>\n<tr>\n<th>\n<p style=\"text-align: left;\"><em>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.<\/em><\/p>\n<p style=\"text-align: left;\"><em>Saturn Int. ha decidido emitir tarjetas de identidad a todos los empleados. Cada tarjeta registra el nombre, departamento y n\u00famero 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\u00e9n en el sitio.<\/em><\/p>\n<p style=\"text-align: left;\">\n<em>Hay una barrera y un lector de tarjetas colocados en la entrada del estacionamiento. Cuando un conductor conduce su veh\u00edculo al estacionamiento, inserta su tarjeta de identidad en el lector. El lector luego verifica el n\u00famero de la tarjeta para ver si es conocido por el sistema. Si el n\u00famero es reconocido, el lector env\u00eda una se\u00f1al para activar la barrera y que se levante. El conductor puede entonces conducir su veh\u00edculo al estacionamiento.<\/em><\/p>\n<p style=\"text-align: left;\">\n<em>Hay otra barrera en la salida del estacionamiento, que se levanta autom\u00e1ticamente cuando un veh\u00edculo desea salir del estacionamiento.<\/em><\/p>\n<p style=\"text-align: left;\">\n<em>Una se\u00f1al en la entrada muestra \u00abLleno\u00bb cuando no hay espacios disponibles en el estacionamiento. Solo se apaga cuando un veh\u00edculo sale.<\/em><\/p>\n<p style=\"text-align: left;\">\n<em>Existe otro tipo de tarjeta para invitados, que tambi\u00e9n permite el acceso al estacionamiento. La tarjeta registra un n\u00famero y la fecha actual. Estas tarjetas pueden enviarse con anticipaci\u00f3n o recogerse en recepci\u00f3n. Todas las tarjetas de invitados deben devolverse a recepci\u00f3n cuando el visitante abandone Saturn Int.<\/em><\/p>\n<\/th>\n<\/tr>\n<\/thead>\n<\/table>\n<hr\/>\n<h2>Identificaci\u00f3n de clases a partir de texto<\/h2>\n<h3>Creaci\u00f3n de an\u00e1lisis textual<\/h3>\n<ol>\n<li>\n<p>Cree un nuevo proyecto. Seleccione<strong>Proyecto &gt; Nuevo<\/strong> desde el men\u00fa principal. En la ventana<strong>Nuevo proyecto<\/strong> , nombre del proyecto<em>Tutorial<\/em> y haga clic en<strong>Crear proyecto en blanco<\/strong> para confirmar.<\/p>\n<\/li>\n<li>\n<p>Cree un nuevo an\u00e1lisis textual. Seleccione<strong>Diagrama &gt; Nuevo<\/strong> desde el men\u00fa principal.<\/p>\n<\/li>\n<li>\n<p>En la ventana<strong>Nuevo diagrama<\/strong> , seleccione<strong>An\u00e1lisis textual<\/strong>\u00a0y haga clic en\u00a0<strong>Siguiente<\/strong>. Ingrese\u00a0<em>Mejora de seguridad<\/em>\u00a0como nombre del diagrama y haga clic en\u00a0<strong>Aceptar<\/strong>.<\/p>\n<p><img alt=\"Create Textual Analysis\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/01-create-textual-analysis.png\"\/><\/p>\n<\/li>\n<li>\n<p>Esto abre el editor de an\u00e1lisis textual. Copie la descripci\u00f3n del problema proporcionada anteriormente y p\u00e9guela en el editor. Pegar se puede hacer presionando\u00a0<strong>Ctrl-V<\/strong>\u00a0o haciendo clic derecho en el editor y seleccionando\u00a0<strong>Pegar<\/strong>.<\/p>\n<p><img alt=\"Identify candidate class\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/03-identify-candidate-class.png\"\/><\/p>\n<\/li>\n<\/ol>\n<h3>Identificaci\u00f3n de objetos candidatos a partir del texto<\/h3>\n<p>Lea la descripci\u00f3n del problema para identificar las clases candidatas. Cuando encuentre una candidata, haga clic derecho sobre el segmento de texto y seleccione\u00a0<strong>Agregar texto como clase<\/strong>\u00a0del men\u00fa emergente.<\/p>\n<p><img alt=\"Problem statement pasted\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/02-problem-statement-pasted.png\"\/><\/p>\n<p>A continuaci\u00f3n se obtiene una lista de clases candidatas:<\/p>\n<table>\n<thead>\n<tr>\n<th>Saturn Int.<\/th>\n<th>medidas de seguridad<\/th>\n<th>edificio<\/th>\n<th>sitio<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Personas que no forman parte de la empresa<\/td>\n<td>Estacionamiento<\/td>\n<td>Tarjetas de identidad<\/td>\n<td>empleados<\/td>\n<\/tr>\n<tr>\n<td>nombre<\/td>\n<td>departamento<\/td>\n<td>n\u00famero<\/td>\n<td>Personal de la empresa<\/td>\n<\/tr>\n<tr>\n<td>Acceso<\/td>\n<td>barrier<\/td>\n<td>Lector de tarjetas<\/td>\n<td>conductor<\/td>\n<\/tr>\n<tr>\n<td>N\u00famero de tarjeta<\/td>\n<td>sistema<\/td>\n<td>se\u00f1al<\/td>\n<td>salida<\/td>\n<\/tr>\n<tr>\n<td>Otro tipo de tarjeta para hu\u00e9spedes<\/td>\n<td>recepci\u00f3n<\/td>\n<td>Tarjetas de hu\u00e9spedes<\/td>\n<td>visitante<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Hasta ahora, el editor de an\u00e1lisis textual deber\u00eda lucir as\u00ed:<\/p>\n<p><img alt=\"Candidate classes identified\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/04-candidate-classes-identified.png\"\/><\/p>\n<h3>Rechazo de objetos candidatos<\/h3>\n<p>En esta secci\u00f3n, se revisar\u00e1n las clases candidatas contra una lista de reglas de rechazo. Al final de esta secci\u00f3n, se obtendr\u00e1 una lista de modelos de clases.<\/p>\n<p>Ahora, revise la lista de clases candidatas contra las reglas de rechazo siguientes:<\/p>\n<ul>\n<li>\n<p>Duplicados: si dos o m\u00e1s objetos son simplemente nombres diferentes para la misma cosa.<\/p>\n<\/li>\n<li>\n<p>Irrelevante: objetos que existen en el dominio del problema, pero que no est\u00e1n previstos.<\/p>\n<\/li>\n<li>\n<p>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 \u00fatil en el sistema.<\/p>\n<\/li>\n<li>\n<p>General: el significado es demasiado amplio.<\/p>\n<\/li>\n<li>\n<p>Atributos: como atributos de objetos.<\/p>\n<\/li>\n<li>\n<p>Asociaciones: representa realmente las relaciones entre objetos.<\/p>\n<\/li>\n<li>\n<p>Roles: a veces objetos referidos por el papel que desempe\u00f1an en una parte particular del sistema.<\/p>\n<\/li>\n<\/ul>\n<p>La siguiente tabla lista los resultados de la revisi\u00f3n:<\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Clase candidata<\/strong><\/th>\n<th><strong>Aceptar \/ Rechazar<\/strong><\/th>\n<th><strong>Raz\u00f3n de rechazo<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Gesti\u00f3n Saturn Int.<\/td>\n<td>Rechazar<\/td>\n<td>Irrelevante para el sistema<\/td>\n<\/tr>\n<tr>\n<td>Medidas de seguridad<\/td>\n<td>Rechazar<\/td>\n<td>vago<\/td>\n<\/tr>\n<tr>\n<td>Edificio<\/td>\n<td>Rechazar<\/td>\n<td>Irrelevante para el sistema<\/td>\n<\/tr>\n<tr>\n<td>Sitio<\/td>\n<td>Rechazar<\/td>\n<td>Irrelevante para el sistema<\/td>\n<\/tr>\n<tr>\n<td>Personas que no forman parte de la empresa<\/td>\n<td>Rechazar<\/td>\n<td>Irrelevante para el sistema<\/td>\n<\/tr>\n<tr>\n<td>Aparcamiento<\/td>\n<td>Aceptar<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Tarjetas de identidad<\/td>\n<td>Aceptar<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Empleados<\/td>\n<td>Rechazar<\/td>\n<td>Duplicado con &#8216;Personal de la empresa&#8217;<\/td>\n<\/tr>\n<tr>\n<td>Nombre<\/td>\n<td>Rechazar<\/td>\n<td>Atributo<\/td>\n<\/tr>\n<tr>\n<td>Departamento<\/td>\n<td>Rechazar<\/td>\n<td>Atributo<\/td>\n<\/tr>\n<tr>\n<td>N\u00famero<\/td>\n<td>Rechazar<\/td>\n<td>Atributo<\/td>\n<\/tr>\n<tr>\n<td>Personal de la empresa<\/td>\n<td>Rechazar<\/td>\n<td>Rol<\/td>\n<\/tr>\n<tr>\n<td>Acceso<\/td>\n<td>Aceptar<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Barrera<\/td>\n<td>Aceptar<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Lector de tarjetas<\/td>\n<td>Aceptar<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Conductor<\/td>\n<td>Rechazar<\/td>\n<td>Rol<\/td>\n<\/tr>\n<tr>\n<td>N\u00famero de tarjeta<\/td>\n<td>Rechazar<\/td>\n<td>Atributo<\/td>\n<\/tr>\n<tr>\n<td>Sistema<\/td>\n<td>Rechazar<\/td>\n<td>Demasiado general<\/td>\n<\/tr>\n<tr>\n<td>Se\u00f1al<\/td>\n<td>Aceptar<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Salida<\/td>\n<td>Rechazar<\/td>\n<td>Irrelevante para el sistema<\/td>\n<\/tr>\n<tr>\n<td>Otro tipo de tarjeta para invitados<\/td>\n<td>Rechazar<\/td>\n<td>Duplicados con tarjetas de invitados<\/td>\n<\/tr>\n<tr>\n<td>Recepci\u00f3n<\/td>\n<td>Rechazar<\/td>\n<td>Irrelevante para el sistema<\/td>\n<\/tr>\n<tr>\n<td>Tarjetas de invitados<\/td>\n<td>Aceptar<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>visitante<\/td>\n<td>Rechazar<\/td>\n<td>Rol<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>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.<\/p>\n<p><img alt=\"Change highlight color\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/05-change-highlight-color.png\"\/><\/p>\n<p>As\u00ed pues, la lista restante de clases candidatas se obtiene de la siguiente manera:<\/p>\n<table>\n<thead>\n<tr>\n<th>Aparcamiento<\/th>\n<th>Tarjetas de identidad<\/th>\n<th>Acceso<\/th>\n<th>Barrera<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Lector de tarjetas<\/td>\n<td>Se\u00f1al<\/td>\n<td>Tarjetas de invitados<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Reformulaci\u00f3n de las clases identificadas<\/h3>\n<p>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\u00f3n el significado del texto extra\u00eddo.<\/p>\n<p>Lea la tabla siguiente para conocer los cambios necesarios y la explicaci\u00f3n de dichos cambios.<\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Texto extra\u00eddo<\/strong><\/th>\n<th><strong>Reformular como<\/strong><\/th>\n<th><strong>Raz\u00f3n<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>aparcamiento<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>tarjetas de identidad<\/td>\n<td>tarjeta de personal<\/td>\n<td>\u201cTarjetas de identidad\u201d significa literalmente todos los tipos de tarjeta, pero seg\u00fan el pasaje, la palabra \u201ctarjeta de identidad\u201d proviene de la frase nominal \u201ctarjetas de identidad para todos los empleados\u201d, por lo que en realidad significa tarjeta de personal. La reformularemos para evitar confusiones.<\/td>\n<\/tr>\n<tr>\n<td>acceso<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>barrera<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>lector de tarjetas<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>se\u00f1al<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>salida<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>tarjetas de invitados<\/td>\n<td>tarjeta de invitado<\/td>\n<td>Cambiar para usar el sustantivo en singular y que se ajuste a las dem\u00e1s palabras<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Actualice el nombre de las clases candidatas en consecuencia:<\/p>\n<p><img alt=\"Renaming candidate\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/06-renaming-candidate.png\"\/><\/p>\n<h3>Creaci\u00f3n de elementos del modelo de clase a partir del texto<\/h3>\n<p>Ha identificado una lista de clases. Para utilizarlas en la construcci\u00f3n del modelo, debe convertirlas de palabras a elementos del modelo.<\/p>\n<ol>\n<li>\n<p>Seleccione las siete clases en la tabla. Para realizar una selecci\u00f3n m\u00faltiple, mantenga presionada la tecla\u00a0<strong>Ctrl<\/strong>\u00a0y haga clic en las filas una por una.<\/p>\n<\/li>\n<li>\n<p>Haga clic derecho sobre su selecci\u00f3n y seleccione\u00a0<strong>Crear elemento del modelo<\/strong>\u00a0del men\u00fa emergente.<\/p>\n<p><img alt=\"Create element\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/07-create-elemenet.png\"\/><\/p>\n<\/li>\n<li>\n<p>Se le solicita visualizar los elementos creados en un diagrama. Mantenga seleccionada la opci\u00f3n\u00a0<strong>Crear nuevo diagrama<\/strong>\u00a0seleccionada. Cambie el nombre del diagrama de clase a\u00a0<em>Sistema de estacionamiento<\/em>\u00a0y haga clic en\u00a0<strong>Crear<\/strong>.<\/p>\n<p><img alt=\"Visualize classes into class diagram\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/08-visualize-classes-into-class-diagram.png\"\/><br \/>\nEsto crea un diagrama de clase.<br \/>\n<img alt=\"Class diagram formed\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/09-class-diagram-formed.png\"\/><\/p>\n<\/li>\n<\/ol>\n<hr\/>\n<h2>Desarrollo del modelo de clase \u2013 Identificaci\u00f3n de relaciones estructurales<\/h2>\n<p>Ha obtenido un conjunto de clases visualizadas en un diagrama de clase. Ahora, identifique sus relaciones estructurales conect\u00e1ndolas con conectores de relaci\u00f3n como asociaci\u00f3n, generalizaci\u00f3n y dependencia. La figura de abajo muestra el resultado. Durante el proceso, pueden agregarse nuevas clases, como la adici\u00f3n de la clase \u00abtarjeta\u00bb en este ejemplo como clase superiores de las subclases tarjeta de empleado y tarjeta de invitado.<\/p>\n<p><img alt=\"Class diagram updated\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/10-class-diagram-updated.png\"\/><\/p>\n<hr\/>\n<h2>Desarrollo del modelo de interacci\u00f3n \u2013 Identificaci\u00f3n de atributos y operaciones<\/h2>\n<p>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\u00e1n 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\u00f3vil al estacionamiento.<\/p>\n<ol>\n<li>\n<p>Cree un diagrama de secuencia. Seleccione\u00a0<strong>Diagrama &gt; Nuevo<\/strong>\u00a0del men\u00fa principal.<\/p>\n<\/li>\n<li>\n<p>En la ventana\u00a0<strong>Nuevo diagrama<\/strong>\u00a0seleccione\u00a0<strong>Diagrama de secuencia<\/strong>\u00a0y haga clic en\u00a0<strong>Siguiente<\/strong>. Seleccione\u00a0<strong>En blanco<\/strong>\u00a0como plantilla y haga clic en\u00a0<strong>Siguiente<\/strong>. Ingrese\u00a0<em>Aparcamiento de coches (con tarjeta de empleado)<\/em>\u00a0como nombre del diagrama y haga clic en\u00a0<strong>Aceptar<\/strong>.<\/p>\n<p><img alt=\"Create sequence diagram\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/11-create-sequence-diagram.png\"\/><\/p>\n<\/li>\n<li>\n<p>El escenario comienza con un conductor que inserta su tarjeta de empleado en el lector de tarjetas. Creemos un actor\u00a0<em>Personal<\/em>. Para crear un actor, seleccione el\u00a0<strong>Actor<\/strong>\u00a0herramienta de la barra de herramientas del diagrama y arr\u00e1strela hasta el diagrama.<\/p>\n<p><img alt=\"Create actor\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-create-actor.png\"\/><\/p>\n<\/li>\n<li>\n<p>Debemos mostrar el lector de tarjetas como un objeto. En lugar de crear una l\u00ednea de vida, creemos una instancia de objeto a partir de la\u00a0<em>lector de tarjetas<\/em>\u00a0clase. Hay varias formas de lograr esto. Una de ellas es reutilizar la clase a trav\u00e9s del\u00a0<strong>Explorador de modelos<\/strong>. Haga clic en el\u00a0<strong>Explorador de modelos<\/strong>\u00a0pesta\u00f1a adjunta a la izquierda de la ventana de la aplicaci\u00f3n (o seleccione\u00a0<strong>Ver &gt; Paneles &gt; Explorador de modelos<\/strong>\u00a0si la pesta\u00f1a no aparece). A continuaci\u00f3n, arrastre la clase lector de tarjetas hasta el diagrama.<\/p>\n<p><img alt=\"Drag reader class onto diagram\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/13-drag-reader-class-onto-diagram.png\"\/><\/p>\n<\/li>\n<li>\n<p>Seleccione\u00a0<strong>L\u00ednea de vida<\/strong>\u00a0para crear cuando se le solicite elegir un tipo.<\/p>\n<\/li>\n<li>\n<p>La l\u00ednea de vida se nombra autom\u00e1ticamente como &#8216;lector de tarjetas&#8217;, siguiendo el nombre del clasificador. Como el nombre es opcional, elimin\u00e9moslo. Esto tambi\u00e9n hace que el diagrama sea m\u00e1s f\u00e1cil de leer.<\/p>\n<p><img alt=\"Card reader lifeline created\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/14-card-reader-lifeline-created.png\"\/><\/p>\n<\/li>\n<li>\n<p>Conecte\u00a0<em>personal<\/em>\u00a0con\u00a0<em>: lector de tarjetas<\/em>. Mueva el puntero del rat\u00f3n sobre el actor\u00a0<em>personal<\/em>. Presione en el\u00a0<strong>Cat\u00e1logo de Recursos<\/strong>\u00a0bot\u00f3n y arr\u00e1strelo hasta la l\u00ednea de vida\u00a0<em>: lector de tarjetas<\/em>.<\/p>\n<p><img alt=\"To create sequence message\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/15-to-create-seq-message.png\"\/><\/p>\n<\/li>\n<li>\n<p>Suelte el puntero del rat\u00f3n y seleccione\u00a0<strong>Mensaje<\/strong>\u00a0desde\u00a0<strong>Cat\u00e1logo de Recursos<\/strong>.<\/p>\n<p><img alt=\"Selecting sequence message to create\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/16-selecting-sequence-message-to-create.png\"\/><\/p>\n<\/li>\n<li>\n<p>Ingrese\u00a0<em>inserte la tarjeta de personal<\/em>\u00a0para ser el nombre del mensaje.<\/p>\n<p><img alt=\"Sequence message created\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/17-sequence-message-created.png\"\/><\/p>\n<\/li>\n<li>\n<p>Como dispositivo de entrada, el lector de tarjetas recibe la tarjeta y luego solicita al sistema que la verifique. Creemos una l\u00ednea de vida para el sistema. Como no tenemos una clase as\u00ed, simplemente creamos directamente la l\u00ednea de vida. Arrastre\u00a0<strong>L\u00ednea de vida<\/strong>\u00a0desde la barra de herramientas del diagrama hasta el diagrama. Nombre la l\u00ednea de vida\u00a0<em>sistema de estacionamiento de veh\u00edculos<\/em>.<\/p>\n<p><img alt=\"Create car parking system lifeline\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/18-create-car-parking-system-lifeline.png\"\/><\/p>\n<\/li>\n<li>\n<p>Cree un mensaje\u00a0<em>verificar tarjeta()<\/em>\u00a0desde\u00a0<em>: lector de tarjetas<\/em>\u00a0hasta\u00a0<em>sistema de estacionamiento de veh\u00edculos<\/em>.<\/p>\n<p><img alt=\"Verify card message created\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/19-verify-card-message-created.png\"\/><\/p>\n<\/li>\n<li>\n<p>Hay dos resultados posibles: \u00e9xito o fracaso. Modelaremos ambos casos. En un diagrama de secuencia UML, se puede utilizar un fragmento combinado alternativo para modelar m\u00faltiples flujos posibles. Cree un fragmento combinado alternativo que cubra al actor y las l\u00edneas de vida. Lo redimensionaremos para cubrir m\u00e1s l\u00edneas de vida a medida que se agreguen m\u00e1s l\u00edneas de vida.<\/p>\n<p><img alt=\"Alternative combined fragment created\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/20-alternative-combined-fragment-created.png\"\/><\/p>\n<\/li>\n<li>\n<p>Si tiene \u00e9xito, el sistema cargar\u00e1 el registro de la tarjeta de personal. Cree un mensaje auto\u00a0<em>cargar personal()<\/em>. Para hacer esto, mueva el puntero del rat\u00f3n sobre\u00a0<em>sistema de estacionamiento de veh\u00edculos<\/em>\u00a0y haga clic en\u00a0<strong>Cat\u00e1logo de Recursos<\/strong>, luego seleccione\u00a0<strong>Mensaje Aut\u00f3nomo -&gt; L\u00ednea de Vida<\/strong>\u00a0desde\u00a0<strong>Cat\u00e1logo de Recursos<\/strong>. Ingrese el nombre del mensaje aut\u00f3nomo.<\/p>\n<p><img alt=\"Create self message\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/21-create-self-message.png\"\/><\/p>\n<\/li>\n<li>\n<p>Siga el paso 4 para visualizar la clase\u00a0<em>tarjeta de personal<\/em>\u00a0como una l\u00ednea de vida. Nuevamente, elimine su nombre.<\/p>\n<p><img alt=\"Staff card class visualized\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/22-staff-card-class-visualized.png\"\/><\/p>\n<\/li>\n<li>\n<p>Digamos que la \u00faltima hora de acceso se establecer\u00e1 en el registro de la tarjeta de personal. Represente esto mediante un mensaje de establecer\u00a0<em>establecer \u00faltima hora de acceso()<\/em>.<\/p>\n<p><img alt=\"Sequence message created\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/23-sequence-message-created-300x297.png\"\/><\/p>\n<\/li>\n<li>\n<p>Se crear\u00eda un registro de acceso. Visualicemos la\u00a0<em>acceso<\/em>\u00a0clase en el diagrama como una l\u00ednea de vida, y luego con\u00e9ctela con un mensaje de crear. No olvide ampliar el fragmento combinado alternativo para cubrir la l\u00ednea de vida.<\/p>\n<p><img alt=\"Create message created\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/24-create-message-created.png\"\/><\/p>\n<\/li>\n<li>\n<p>Tambi\u00e9n se crear\u00eda una se\u00f1al para activar la barrera para levantarse. Visualicemos la\u00a0<em>se\u00f1al<\/em>\u00a0clase en el diagrama y luego con\u00e9ctela con un mensaje de crear. Hasta ahora, su diagrama de secuencia deber\u00eda verse similar a la figura de abajo.<\/p>\n<p><img alt=\"Sequence diagram updated\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/25-sequence-diagram-updated.png\"\/><\/p>\n<\/li>\n<li>\n<p>Levante la barrera. Visualice la\u00a0<em>barrera<\/em>\u00a0clase como una l\u00ednea de vida y con\u00e9ctela con un\u00a0<em>levantar()<\/em>\u00a0mensaje. Aqu\u00ed nombramos la l\u00ednea de vida\u00a0<em>entrada<\/em>\u00a0porque hay una barrera tanto en la entrada como en la salida, aunque nos estamos refiriendo a la que est\u00e1 en la entrada en este diagrama.<\/p>\n<p><img alt=\"Barrier class visualized\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/26-barrier-class-visualized.png\"\/><\/p>\n<\/li>\n<li>\n<p>Finalmente, solicite al lector de tarjetas que muestre un mensaje para indicar la verificaci\u00f3n exitosa de la tarjeta de personal. Cree un mensaje de secuencia mostrar mensaje de \u00e9xito que conecte entre\u00a0<em>sistema de estacionamiento de veh\u00edculos<\/em>\u00a0y\u00a0<em>: lector de tarjetas<\/em>.<\/p>\n<p><img alt=\"Show success message\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/27-show-success-message.png\"\/><\/p>\n<\/li>\n<li>\n<p>\u00bfQu\u00e9 ocurrir\u00e1 cuando la tarjeta no pueda verificarse? Model\u00e9moslo en la parte inferior del fragmento combinado alt. Digamos que el sistema solicitar\u00e1 al lector de tarjetas que muestre un mensaje de falla en la verificaci\u00f3n. Cree dicho mensaje en el diagrama.<\/p>\n<p><img alt=\"Show fail message\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/28-show-fail-message.png\"\/><\/p>\n<\/li>\n<li>\n<p>No importa si tiene \u00e9xito o no, la tarjeta del personal ser\u00e1 expulsada despu\u00e9s del proceso de verificaci\u00f3n. Creemos el mensaje de secuencia<em>expulsar tarjeta<\/em>\u00a0que conecta el\u00a0<em>sistema de estacionamiento de veh\u00edculos<\/em>\u00a0y el\u00a0<em>: lector de tarjetas<\/em>.<\/p>\n<p><img alt=\"Eject card message created\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/29-eject-card-message-created.png\"\/><\/p>\n<\/li>\n<li>\n<p>Finalmente, cree un mensaje de retorno que devuelva la tarjeta desde\u00a0<em>: lector de tarjetas<\/em>\u00a0al\u00a0<em>actor<\/em>\u00a0personal. Para hacer esto, cree el mensaje y luego haga clic derecho sobre \u00e9l y seleccione\u00a0<strong>Tipo (No especificado) &gt; Respuesta<\/strong>\u00a0del men\u00fa emergente.<\/p>\n<p><img alt=\"Card returned message created\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/30-card-returned-message-created.png\"\/><\/p>\n<\/li>\n<li>\n<p>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\u00a0<strong>alt<\/strong>\u00a0en la esquina superior izquierda del fragmento combinado y seleccione\u00a0<strong>Operando &gt; Administrar operandos<\/strong>\u00a0del men\u00fa emergente. En la ventana emergente, establezca la restricci\u00f3n de los dos operandos como\u00a0<em>Tarjeta aceptada<\/em>\u00a0y\u00a0<em>Tarjeta rechazada<\/em>\u00a0respectivamente.<\/p>\n<\/li>\n<\/ol>\n<p><img alt=\"Manage operand\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/31-manage-operand.png\"\/><\/p>\n<ol start=\"24\">\n<li>\n<p>Creemos operaciones a partir de los mensajes de secuencia. Primero, cree una clase a partir de la l\u00ednea de vida del sistema de estacionamiento de veh\u00edculos. Haga clic derecho sobre la l\u00ednea de vida y seleccione Seleccionar\u00a0<strong>Clase &gt; Crear clase \u201csistema de estacionamiento de veh\u00edculos\u201d<\/strong>\u00a0del men\u00fa emergente.<\/p>\n<p><img alt=\"Create class from lifeline\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/32-create-class-from-lifeline.png\"\/><\/p>\n<\/li>\n<li>\n<p>Vea la siguiente imagen. Para cada uno de los conectores resaltados, haga clic derecho sobre \u00e9l y seleccione\u00a0<strong>Escriba &gt; Llamar &gt; Crear operaci\u00f3n<\/strong>del men\u00fa emergente.<\/p>\n<p><img alt=\"Create operations\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/33-create-operations.png\"\/><\/p>\n<\/li>\n<li>\n<p>Vuelva al diagrama de clase. Las operaciones se presentan autom\u00e1ticamente en el modelo de clase.<\/p>\n<p><img alt=\"Class model updated\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/34-class-model-updated.png\"\/><\/p>\n<\/li>\n<\/ol>\n<p>Al crear diagramas de secuencia cada vez m\u00e1s para diferentes escenarios, el modelo de clase se enriquecer\u00e1 gradualmente al incluir todas las operaciones y atributos que necesita el sistema.<\/p>\n<hr\/>\n<h2>Conclusi\u00f3n<\/h2>\n<p>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\u2014comenzando con el an\u00e1lisis textual, aplicando criterios sistem\u00e1ticos de rechazo, reformulando para mayor claridad y refinando iterativamente mediante diagramas de clase y de secuencia\u2014los equipos pueden convertir declaraciones de problemas ambiguas en dise\u00f1os de sistemas robustos y ejecutables.<\/p>\n<p>El ejemplo del estacionamiento Saturn International ilustra c\u00f3mo incluso los requisitos aparentemente simples contienen capas de complejidad: m\u00faltiples tipos de actores, flujos condicionales, interacciones con hardware y gesti\u00f3n 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\u00f3digo final, asegurar la consistencia entre los diagramas y colaborar eficazmente entre actores t\u00e9cnicos y no t\u00e9cnicos.<\/p>\n<p>Conclusiones clave para los profesionales:<\/p>\n<ul>\n<li>\n<p>Comience con la extracci\u00f3n amplia de candidatos, luego refine mediante reglas expl\u00edcitas de rechazo<\/p>\n<\/li>\n<li>\n<p>Utilice convenciones de nombres singulares y consistentes para reducir la ambig\u00fcedad<\/p>\n<\/li>\n<li>\n<p>Aproveche los diagramas de secuencia para descubrir operaciones y atributos ocultos<\/p>\n<\/li>\n<li>\n<p>Trate la modelizaci\u00f3n como un proceso iterativo: cada escenario enriquece el modelo de clase<\/p>\n<\/li>\n<li>\n<p>Mantenga la trazabilidad bidireccional entre los requisitos, los modelos y la implementaci\u00f3n<\/p>\n<\/li>\n<\/ul>\n<p>Ya sea que est\u00e9 dise\u00f1ando sistemas de control de acceso, flujos empresariales o aplicaciones para clientes, la metodolog\u00eda presentada aqu\u00ed proporciona un marco repetible y escalable para convertir palabras en modelos de software funcionales.<\/p>\n<hr\/>\n<h2>Referencias<\/h2>\n<ol>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/features\/uml-tool\/\"><strong>Caracter\u00edsticas de la herramienta UML de Visual Paradigm<\/strong><\/a>: Visi\u00f3n 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\u00edsticas de modelado asistido por IA.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/overview-of-the-14-uml-diagram-types\/\"><strong>Visi\u00f3n general de los 14 tipos de diagramas UML<\/strong><\/a>: Gu\u00eda detallada que explica los diagramas UML estructurales y comportamentales y sus casos de uso adecuados en el dise\u00f1o de software.<\/li>\n<li><a href=\"https:\/\/forums.visual-paradigm.com\/uploads\/default\/original\/1X\/440a9af6f993509a4a7568f49d6d7df330edabed.pdf\"><strong>Gu\u00eda del usuario de Visual Paradigm PDF<\/strong><\/a>: Documentaci\u00f3n oficial que cubre la instalaci\u00f3n, la navegaci\u00f3n de la interfaz y los flujos de trabajo de modelado principales en Visual Paradigm.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/support\/documents\/vpuserguide\/94_umlmodeling.html\"><strong>Documentaci\u00f3n de modelado UML<\/strong><\/a>: Instrucciones paso a paso para crear, editar y gestionar diagramas UML dentro del entorno de Visual Paradigm.<\/li>\n<li><a href=\"https:\/\/www.figma.com\/resource-library\/what-is-a-uml-diagram\/\"><strong>\u00bfQu\u00e9 es un diagrama UML?<\/strong><\/a>: Introducci\u00f3n amigable para principiantes sobre los conceptos UML, los tipos de diagramas y su papel en la arquitectura de software y la comunicaci\u00f3n de dise\u00f1o.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/solution\/usecase\/capturerequirements\/\"><strong>Capture los requisitos con casos de uso<\/strong><\/a>: Gu\u00eda pr\u00e1ctica sobre el uso de diagramas de casos de uso y an\u00e1lisis textual para obtener, documentar y validar los requisitos del sistema.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/features\/ai-assisted-uml-class-diagram-generator\/\"><strong>Generador de diagramas de clase UML asistido por IA<\/strong><\/a>: Visi\u00f3n general de las funciones impulsadas por IA de Visual Paradigm que generan autom\u00e1ticamente diagramas de clase a partir de descripciones en lenguaje natural.<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=dLNpf0sa03I\"><strong>Tutorial de PlantUML a diagramas visuales<\/strong><\/a>: Tutorial en video que muestra c\u00f3mo convertir el c\u00f3digo de script PlantUML en diagramas UML interactivos y editables dentro de Visual Paradigm.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-uml\/\"><strong>\u00bfQu\u00e9 es UML?<\/strong><\/a>: Explicaci\u00f3n fundamental de los principios del Lenguaje Unificado de Modelado, su historia y su importancia en las pr\u00e1cticas modernas de ingenier\u00eda de software.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/features\/code-engineering-tools\/\"><strong>Herramientas de Ingenier\u00eda de C\u00f3digo<\/strong><\/a>: Descripci\u00f3n de las capacidades de ingenier\u00eda de ciclo completo, que apoyan la generaci\u00f3n de c\u00f3digo y la ingenier\u00eda inversa para m\u00faltiples lenguajes de programaci\u00f3n.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/support\/documents\/vpuserguide\/12\/13\/5963_visualparadi.html\"><strong>Mapeo de Base de Datos con ORM<\/strong><\/a>: Gu\u00eda para generar esquemas de base de datos y capas de persistencia a partir de diagramas de clases UML utilizando t\u00e9cnicas de mapeo objeto-relacional.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/support\/documents\/vpuserguide\/3563\/3584\/85402_benefitsofde.html\"><strong>Beneficios de la Ingenier\u00eda de Bases de Datos<\/strong><\/a>: Explicaci\u00f3n de c\u00f3mo el modelado integrado de bases de datos mejora la consistencia de los datos, reduce el tiempo de desarrollo y apoya la iteraci\u00f3n \u00e1gil.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/VPGallery\/\"><strong>Galer\u00eda de Visual Paradigm<\/strong><\/a>: Muestra de proyectos de ejemplo, plantillas de diagramas y ejemplos de modelado espec\u00edficos de industrias creados con Visual Paradigm.<\/li>\n<li><a href=\"https:\/\/circle.visual-paradigm.com\/docs\/installing-visual-paradigm\/\"><strong>Instalaci\u00f3n de Visual Paradigm<\/strong><\/a>: Gu\u00eda oficial de instalaci\u00f3n que cubre los requisitos del sistema, la activaci\u00f3n de la licencia y los pasos de configuraci\u00f3n inicial.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/solution\/uml\/eclipseuml\/\"><strong>Integraci\u00f3n de UML con Eclipse<\/strong><\/a>: Documentaci\u00f3n para integrar las herramientas de modelado de Visual Paradigm directamente dentro del entorno IDE Eclipse para flujos de trabajo de desarrollo sin interrupciones.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/solution\/freeumltool\/\"><strong>Opciones de Herramientas UML Gratuitas<\/strong><\/a>: Comparaci\u00f3n de las caracter\u00edsticas de la edici\u00f3n comunitaria de Visual Paradigm frente a sus capacidades profesionales para equipos que eval\u00faan soluciones de modelado.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/cn\/guide\/uml-unified-modeling-language\/uml-modeling-software-process-and-tool\/\"><strong>Proceso de Software de Modelado UML<\/strong><\/a>: Visi\u00f3n general de c\u00f3mo las herramientas UML se integran en procesos de desarrollo iterativos, incluyendo metodolog\u00edas \u00e1giles, de cascada y h\u00edbridas.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/features\/visual-modeling-tool\/\"><strong>Caracter\u00edsticas de la Herramienta de Modelado Visual<\/strong><\/a>: Lista detallada de caracter\u00edsticas que destacan el reuso inteligente de elementos, la validaci\u00f3n de sintaxis y las capacidades del cat\u00e1logo de recursos que distinguen a las herramientas profesionales de modelado.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/cn\/solution\/uml\/uml-tool\/\"><strong>Herramienta UML para Soluciones Empresariales<\/strong><\/a>: Descripci\u00f3n enfocada en empresas sobre la escalabilidad de Visual Paradigm, sus caracter\u00edsticas de colaboraci\u00f3n y su integraci\u00f3n con herramientas de gesti\u00f3n de requisitos y planificaci\u00f3n \u00e1gil.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/\"><strong>P\u00e1gina Principal de Visual Paradigm<\/strong><\/a>: Sitio web principal de Visual Paradigm, que ofrece descargas de productos, tutoriales, foros comunitarios y recursos de soporte para profesionales del modelado.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/tutorials\/uml-tutorial\/\"><strong>Colecci\u00f3n de Tutoriales UML<\/strong><\/a>: Biblioteca curada de tutoriales paso a paso que cubren t\u00e9cnicas de modelado UML desde principiantes hasta avanzadas, en m\u00faltiples tipos de diagramas.<\/li>\n<li><a href=\"https:\/\/www.visual-paradigm.com\/tw\/solution\/uml\/uml-tool\/\"><strong>Gu\u00eda de Herramienta UML en Chino Tradicional<\/strong><\/a>: Recurso localizado que proporciona orientaci\u00f3n para el modelado UML y informaci\u00f3n del producto para usuarios y equipos que hablan chino tradicional.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n En la ingenier\u00eda de software moderna, la capacidad de traducir requisitos empresariales ambiguos en modelos de sistema precisos y<\/p>\n","protected":false},"author":11,"featured_media":11314,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","footnotes":""},"categories":[3],"tags":[],"class_list":["post-11313","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-unified-modeling-language"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Desde texto a modelos UML: Un estudio de caso pr\u00e1ctico sobre la transformaci\u00f3n de descripciones de problemas en diagramas de clases y secuencia - Cibermedio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Desde texto a modelos UML: Un estudio de caso pr\u00e1ctico sobre la transformaci\u00f3n de descripciones de problemas en diagramas de clases y secuencia - Cibermedio\" \/>\n<meta property=\"og:description\" content=\"Introducci\u00f3n En la ingenier\u00eda de software moderna, la capacidad de traducir requisitos empresariales ambiguos en modelos de sistema precisos y\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/\" \/>\n<meta property=\"og:site_name\" content=\"Cibermedio\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-19T08:00:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c19ab9c846.png\" \/><meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c19ab9c846.png\" \/>\n\t<meta property=\"og:image:width\" content=\"916\" \/>\n\t<meta property=\"og:image:height\" content=\"507\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c19ab9c846.png\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"curtis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"headline\":\"Desde texto a modelos UML: Un estudio de caso pr\u00e1ctico sobre la transformaci\u00f3n de descripciones de problemas en diagramas de clases y secuencia\",\"datePublished\":\"2026-05-19T08:00:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/\"},\"wordCount\":3537,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/img_6a0c19ab9c846.png\",\"articleSection\":[\"Unified Modeling Language\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/\",\"url\":\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/\",\"name\":\"Desde texto a modelos UML: Un estudio de caso pr\u00e1ctico sobre la transformaci\u00f3n de descripciones de problemas en diagramas de clases y secuencia - Cibermedio\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/img_6a0c19ab9c846.png\",\"datePublished\":\"2026-05-19T08:00:57+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/img_6a0c19ab9c846.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/img_6a0c19ab9c846.png\",\"width\":916,\"height\":507},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Desde texto a modelos UML: Un estudio de caso pr\u00e1ctico sobre la transformaci\u00f3n de descripciones de problemas en diagramas de clases y secuencia\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/es\/\",\"name\":\"Cibermedio\",\"description\":\"Aprendiendo una cosa nueva todos los d\u00edas\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"caption\":\"curtis\"},\"url\":\"https:\/\/www.cybermedian.com\/es\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Desde texto a modelos UML: Un estudio de caso pr\u00e1ctico sobre la transformaci\u00f3n de descripciones de problemas en diagramas de clases y secuencia - Cibermedio","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/","og_locale":"es_ES","og_type":"article","og_title":"Desde texto a modelos UML: Un estudio de caso pr\u00e1ctico sobre la transformaci\u00f3n de descripciones de problemas en diagramas de clases y secuencia - Cibermedio","og_description":"Introducci\u00f3n En la ingenier\u00eda de software moderna, la capacidad de traducir requisitos empresariales ambiguos en modelos de sistema precisos y","og_url":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/","og_site_name":"Cibermedio","article_published_time":"2026-05-19T08:00:57+00:00","og_image":[{"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c19ab9c846.png","type":"","width":"","height":""},{"width":916,"height":507,"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c19ab9c846.png","type":"image\/png"}],"author":"curtis","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c19ab9c846.png","twitter_misc":{"Escrito por":"curtis","Tiempo de lectura":"20 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/"},"author":{"name":"curtis","@id":"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"headline":"Desde texto a modelos UML: Un estudio de caso pr\u00e1ctico sobre la transformaci\u00f3n de descripciones de problemas en diagramas de clases y secuencia","datePublished":"2026-05-19T08:00:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/"},"wordCount":3537,"image":{"@id":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/img_6a0c19ab9c846.png","articleSection":["Unified Modeling Language"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/","url":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/","name":"Desde texto a modelos UML: Un estudio de caso pr\u00e1ctico sobre la transformaci\u00f3n de descripciones de problemas en diagramas de clases y secuencia - Cibermedio","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/img_6a0c19ab9c846.png","datePublished":"2026-05-19T08:00:57+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#primaryimage","url":"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/img_6a0c19ab9c846.png","contentUrl":"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/img_6a0c19ab9c846.png","width":916,"height":507},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/es\/from-text-to-uml-models-a-practical-case-study-in-transforming-problem-descriptions-into-class-and-sequence-diagrams\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/es\/"},{"@type":"ListItem","position":2,"name":"Desde texto a modelos UML: Un estudio de caso pr\u00e1ctico sobre la transformaci\u00f3n de descripciones de problemas en diagramas de clases y secuencia"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/es\/#website","url":"https:\/\/www.cybermedian.com\/es\/","name":"Cibermedio","description":"Aprendiendo una cosa nueva todos los d\u00edas","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d","name":"curtis","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","caption":"curtis"},"url":"https:\/\/www.cybermedian.com\/es\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/posts\/11313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/comments?post=11313"}],"version-history":[{"count":0,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/posts\/11313\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/media\/11314"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/media?parent=11313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/categories?post=11313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/tags?post=11313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}