Posteado por: Iván Garcerant en: 21-09-07
Imaginemos de momento, una reunión entre el cliente y los ingenieros responsables de una obra en construcción. Digamos un puente o un edificio alto, da igual. En esta escena, seguramente se discuten temas importantes: ¿Cuando estará terminada la obra? ¿Estará ajustada al costo? ¿Estamos atrasados? Digan de nuevo ¿como es que se va a hacer esto?
Los ingenieros civiles así como los arquitectos presentes, se apresuran a explicar al cliente el estado de la obra, presentando en todo momento lo muy bien ajustado que esta la construcción a la planificación y al plano del edificio.
Esto es, a pesar de tener algo muy concreto que mostrar (¡y ese algo es hecho de concreto!) los arquitectos intentan mantener la calma y la confianza del cliente demostrándole que la obra física esta en sincronía con un papel muy grande lleno de líneas y letras, a las que de cariño llaman el plano de la obra.
Curiosamente el cliente se muestra satisfecho, solicita unos pequeños cambios y se retira de la reunión renovando sus votos de confianza en el equipo constructor.
Ahora imaginemos una reunión entre este mismo cliente, buen hombre que esta ocupado en mil y un proyectos diferentes, y un equipo de desarrollo de software. En esta escena, seguramente también se discuten temas importantes: ¿Cuando estará terminado el sistema? ¿Estará ajustada al costo? ¿Estamos atrasados? Digan de nuevo ¿como es que se va a hacer esto?
Hay que ver que son las mismas preguntas… ¿no es razonable esperar la misma reacción de los ingenieros presentes? Ok, son ingenieros de software en esta ocasión, pero la verdad es que desde un punto de vista psicológico, nuestro cliente esta esperando lo mismo que lo tranquilizo en su primera reunión. Él quiere ver un plano.
UML notación gráfica utilizada para describir sistemas de software. En su sentido más amplio, puede ser utilizado para representar desde los requisitos iniciales, pasando por el detalle del diseño y así hasta llegar a los detalles de la instalación y uso del sistema desarrollado.
Naturalmente que tratándose de la profesión experta en hacer modelos de sistemas es obvio que el UML tenga cualidades similares a estos; es así que los elementos del lenguaje visual UML se encuentran definidos en forma tal que constituyen ellas mismas un entramado de partes y relaciones, es decir, un sistema.
Dicho sistema de definiciones, organizadas y sistematizadas, presentadas en gloriosos y detallados documentos de definición es el resultado del Grupo de Gestión de Objetos u OMG por sus siglas en inglés. Dicho grupo es el responsable no solo de la especificación de UML, sino de otras tecnologías clave en la industria como Corba.
La construcción del UML es un trabajo que solo puede ser entendida aplicando al lenguaje en si, los mismos principios que se aplican en el desarrollo de software de calidad. De acuerdo con la OMG, la organización modular de la definición garantiza el cumplimiento del principio de abierto cerrado o en otras palabras, que nuevas características, elementos de modelado e incluso nuevos lenguajes visuales completos, pueden ser definidos a partir de los elementos del UML, sin dañar el entendimiento de los elementos reutilizados y permitiendo la interoperabilidad de las herramientas así como de los conceptos integrados en los modelos.
El elemento más conocido del UML desde el punto de vista de los usuarios del mismo, es el diagrama; o presentación visual de elementos y relaciones en sintaxis UML; este elemento es equivalente a un plano individual del sistema. Existen gran variedad de diagramas dentro de UML por lo que estos a su vez, son objeto de clasificación, conociendo en forma inicial los diagramas que presentan información estructural o estática, por oposición a aquellos que presentan información dinámica o del comportamiento del sistema. Es decir, que con UML tendremos todas las vistas deseables para documentar nuestras ideas sobre el software o sistema cuyo modelo estemos construyendo.
A efectos de tener un ejemplo, he de decir que la inmensa mayoría de las ilustraciones de este blog son en realidad diagramas UML, creados en concordancia con las reglas del lenguaje con ayuda de software especial de dibujo. Así que si se ven algunos artículos tales como ejemplo de análisis de caso de uso, se tendrán un buen conjunto de ejemplos de diagramas bien construidos.
Más adelante voy a documentar cada uno de los tipos de diagramas, así como los mecanismos por medio de los cuales funcionan las definiciones de los mismos, con miras a presentar, no solo el modo en que el UML es utilizado directamente la construcción de vistas del sistema, sino también en como lo podemos extender y personalizar a fin de contar con una herramienta de modelado que sea mucho más que solo cajas y rayas.
[...] medios para documentar los aspectos técnicos del proyecto en herramientas de modelado UML[1], prefiriendo estas a los reportes tradicionales que obligan a un mayor trabajo de edición. [...]
[...] trabajamos con UML[1] nos podemos servir de los diagramas de colaboración y secuencia, entre otros, para representar [...]
[...] pueden ser manejados en forma gráfica, con ayuda de los diagramas de caso de uso del lenguaje UML[2], la información total que estos contienen va mucho más allá. Entre las propiedades de los casos [...]
[...] Primero hemos de identificar al actor. En este caso es claramente el operador o usuario del teléfono. Tendremos en cuenta siempre que cada actor admite solamente cierto tipo de comunicación, impone sus propios requisitos sobre el sistema y exige una funcionalidad bajo ciertas condiciones. Pero para facilitar las cosas podemos simplemente indicar al actor; quizás incluso recurriendo a un formalismo gráfico tomado de UML[3]. [...]
[...] todo, la claridad, la consistencia, el formato legible, el buen uso del lenguaje, el buen uso del UML, entre otras cosas son puntos que se toman en cuenta durante una Revisión de Forma y [...]
[...] Modelo de Análisis, un nombre largo que en verdad no sé a que se debe. El siguiente diagrama de UML muestra la relación de realización entre un caso de uso y su escenario de [...]
[...] Un Modelo de Dominio es un artefacto de la disciplina de análisis, construido con las reglas de UML durante la fase de concepción, en la tarea construcción del modelo de dominio, presentado como [...]
[...] la forma de un diagrama de paquetes, que muestre las trazas como dependencias estereotipadas de UML entre los modelos, aquí representados a su vez, como paquetes estereotipados. El siguiente [...]
[...] Si bien UML es un lenguaje apropiado para el modelado de sistemas de software, es indudable que estos sistemas [...]
[...] UML documenta los sistemas de software que modela desde dos puntos de vista básicos: dinámico y [...]
[...] hacen a los casos de uso es la de presentarlos en forma gráfica con ayuda del lenguaje de modelado UML. Sin embargo, es importante dejar en claro que la representación gráfica no es donde el requisito [...]