jueves, 5 de diciembre de 2013

Historia UML

UML
Que es UML ? 


Es un lenguaje para especificar, construir, visualizar y documentar los artefactos de un sistema de software orientado a objetos (OO). Un artefacto es una información que es utilizada o producida mediante un proceso de desarrollo de software.

UML se quiere convertir en un lenguaje estándar con el que sea posible modelar todos los componentes del proceso de desarrollo de aplicaciones. Sin embargo, hay que tener en cuenta un aspecto importante del modelo : no pretende definir un modelo estándar de desarrollo, sino únicamente un lenguaje de modelado. Otros metodos de modelaje como OMT  o Booch sí definenprocess concretos. En UML los procesos de desarrollo son diferentes según los distintos dominios de trabajo; no puede ser el mismo el proceso para crear una aplicación en tiempo  real, que el proceso de desarrollo de una aplicación orientada a gestión , por poner un ejemplo.

Las diferencias son muy marcadas y afectan a todas las faces del proceso. El método del UML recomienda utilizar los procesos que otras metodologías tienen definidos.


Los inicios de UML 


A partir  del año 1994, Grady Booch (precursor de Booch '93) y Jim Rumbaugh (creador de OMT) se unen en una empresa  común, Rational Software Corporation, y comienzan a unificar sus dos métodos. Un año más tarde, en octubre de 1995, aparece UML (Unified Modeling Language) 0.8, la que se considera como la primera versión del UML. A finales de ese mismo año, Ivan Jacobson, creador de OOSE (Object Oriented Software Engineer) se añade al grupo.



Como  objetivos  principales de la consecución de un nuevo método que aunara los mejores aspectos de sus predecesores, sus protagonistas se propusieron lo siguiente:
  • El método debía ser capaz de modelar no sólo sistemas de software sino otro tipo de sistemas reales de la empresas, siempre utilizando los conceptos de la orientación a objetos .
  • Crear un lenguaje para modelado utilizable a la vez por maquinas y por personas.
  • Establecer un acoplamiento explícito de los conceptos y los artefactos ejecutables.
  • Manejar los problemas típicos de los sistemas complejos de misión critica .
Lo que se intenta es lograr con esto que los lenguajes que se aplican siguiendo los métodos más utilizados sigan evolucionando en conjunto y no por separado.

 Modelado de objetos


En la especificación del UML podemos comprobar que una de las partes que lo componen es un metamodelo formal. Un metamodelo es un modelo que define el lenguaje para expresar otros modelos . Un modelo en OO es una abstracción cerrada semánticamente de un sistema y un sistema es una colección de unidades conectadas que son organizadas para realizar un propósito específico.El UML es una técnica de modelado de objetos y como tal supone una abstracción de un sistema para llegar a construirlo en términos concretos. El modelado no es más que la construcción  de un modelo a partir de una especificación.



Los modelos además, al no ser una representación que incluya todos los detalles de los originales, permiten probar más fácilmente los sistemas que modelan y determinar los errores. Según se indica en la metodologia OMT (Rumbaugh), los modelos permiten una mejor comunicación con el cliente por distintas razones:
  • Es posible enseñar al cliente una posible aproximación de lo que será el producto final.
  • Proporcionan una primera aproximación al problema que permite visualizar cómo quedará el resultado.
  • Reducen la complejidad del original en subconjuntos que son fácilmente tratables por separado.


Artefactos para el Desarrollo de Proyectos

Un artefacto es una información que es utilizada o producida mediante un proceso de desarrollo de software. Pueden ser artefactos un modelo, una descrpcion o un software. Los artefactos de UML se especifican en forma de diagramas, éstos, junto con la documentación sobre el sistema constituyen los artefactos principales que el modelador puede observar.




Se necesita más de un punto de vista para llegar a representar un sistema. UML utiliza los diagramas gráficos para obtener estos distintos puntos de vista de un sistema:



  • Diagramas de implementacion.
  • Diagramas de comportamiento o interacción.
  • Diagramas de Casos de uso.
  • Diagramas de Clases.










No hay comentarios:

Publicar un comentario