La metodologia UML (lenguaje Unificado de Modelado) fue creada por tres personajes que desarrollaron notaciones de analisis muy diferentes pero que al unirlas se llegaria al lenguaje de modelado, los nombre de estos personajes son Booch el desarrollo el libro sobre analisis y diseño orientado hacia objetos, James Rumbaugh tecnica de modelacion de objetos, Jacobson ingenieria de software orientada a objetos.
UML no lo podemos comparar con un lenguaje de programacion ya que UML solo diagrama la realidad de un requerimiento, la programacion es un complemento de UML, o mejor es la manera de planear de una forma sistemica el desarrollo de un software con el fin de dar solucion a un problema.
El lenguaje de modelado de software es un lenguaje grafico para visualizar el proceso que se va a realizar, para desarrollar esta modelacion del proceso es necesario trabajar algunos de los distintos diagramas que a continuacion se enuncian, cada uno de estos diagramas aportan para el buen desarrollo del proceso final dando una vision general de los procesos y sus iteraciones, de tal forma que los programadores puedan realizar partes de el sistema utilizando los pilares de la programacion orientada a objetos como son la reutilizacion, la herencia y el polimorfismo.
Los diagramas son 13 pero en realidad estos se dividen llegando hacer solamente 6 diagramas los que se utilizan, su uso va de acuerdo a las necesidades propias de cada sistema, lo ideal es lograr una buena esplicacion del sistema graficamente expresada.
Diagramas de clase: Este diagrama nos muestra cada una de las clases, entendiendose por clase la parte funcional de un sistema, de igual forma puede generalizarse como un objeto, se puede decir que es la columna vertebral del sistema, una clase esta compuesta por un nombre que la identifica, atributos que son necesarios para su funcion y metodos que son las funciones propias que desempeña. Las clases se relacionan entre si para conformar un sistema orientado a objetos. Este diagrama se utiliza en el proceso de analisis y diseño donde se crea un diseño conceptual para ver cada uno de los componentes que se encargaran del funcionamiento.
Diagrama de interaccion: Representa la forma como el actor (usuario) y los objetos se comunican entre si a la peticion de un evento, en este tipo de diagramas se encuentran dos que se encargan de aspectos particulares, diagrama de secuencia y diagrama de colaboracion.
Diagrama de Secuencia: Este nos muestra la interaccion ordenada a traves del tiempo de cada evento, muestra los objetos participantes en cada interaccion y los mensajes que intercambian segun su secuencia. En el se puede visualizar lo que pasa con el sistema a traves del tiempo y se pueden dar las pautas que se tienen cuando es necesario designar un tiempo limite para los procesos, de igual forma se pueden ver los mensajes que viajan entre cada uno de los procesos.
Diagrama de Colaboracion: Muestra la interaccion entre cada objeto, a diferencia del diagrama de secuencia nos muestra la relacion entre cada evento y objeto, es utilizado sobre todo cuando es necesario incluir elementos externos habitualmente hardware que interactua con el sistema, de donde se toman datos o a donde se exportan datos con un fin especifico.
Diagramas de caso de uso: Muestra las relaciones entre actores y casos de uso del sistema, un caso de uso representa la una funcionalidad del sistema, la cual puede interactuar con elementos externos como actores u otros sistemas, nos da el paso a paso cada una de las funciones que va arelaizar el programas de una forma modular, de tal forma que se exprese de una forma grafica todo lo que va a hacer el sistema. Se puede decir que es base de muchos de los otros diagramas que se utilizan en UML, ya que muestra que se pretende hacer para suplir la necesidad que se va a solucionar con el sistema.
Diagramas de estado: Muestra la secuencia de estados por las que pasa un caso de uso, un obejto a lo largo de su vida en este se muestra cada evento que cambia de estado en todo el sistema (documentar)
Diagramas de actividad: Representa la serie de actividades realizadas en cada caso de uso como tambien las diferentes rutas que puede desencadenar cada evento en este diagrama utilizamos lo siguiente:
Inicio: Donde tiene inicio el diagrama de actividades representado por un circulo de color negro solido.
Actividad: Accion realizada por el sistema representado con un ovalo.
Transicion: Cuando se llava el cambio de actividad a otra se representa por una linea con una flecha en la direccion de la actividad.
Ramificacion: Cuando existe la posibilidad que ocurra mas de una transicion este es por medio de un rombo, suale asociarse a condiciones,ya que toma uno o el otro camino.
Union: Ocurre al fusionar dos o mas transiciones en una sola, por un rombo esta representada. toda ramificaciondebe terminar en una Union, es decir en este rombo se unen las ramificaciones que se presenten.
Expresiones Resguardadas: Es para indicar una descripcion explicitamente acerca de una transicion, se representa medio corchetes.
Fork: Es similar al la ramificacion con la unica diferencia que esta es una ramificacion obligada quiere decir que debe ir por dos o mas caminos la transicion, representado por una linea negra solida, se utiliza cuando pueden existir mas de un proceso que se va a realizar de forma paralela, es decir de una manera simultanea durante ese periodo de tiempo, aqui se invoca los conceptos de hilos en programacion.
Join:Se utiliza para fusionar dos o mas transiciones pero provenientes de un fork y reliza lo mismo que la union solo que esta es de un join, representada con una linea negra perpendicular.