miércoles, 18 de marzo de 2009

UML

UML
El "Unified Modelling Languaje" (UML) o en español "Lenguaje Unificado de Modelado" provee a los analistas y arquitectos de sistemas que trabajan en el diseño y análisis de objetos, un lenguaje consistente para especificar, visualizar, construir y documentar los artefactos de un sistema de software, y también es útil para hacer modelos de negocios.
HISTORIA
El desarrollo del UML empezó en octubre de 1994 cuando Grady Booch y Jim Rumbaugh de Rational Software Corporation iniciaron su trabajo para unificar los métodos de Booch y OMT. Debido a que los métodos Booch y OMT ya habían madurado independientemente y eran reconocidos como métodos líderes en el desarrollo orientado a objetos, Booch y Rumbaugh unieron fuerzas para forjar una unificación completa de los dos métodos. Una versión preliminar 0.8 del "método unificado" fue dada a conocer en octubre de 1995. Poco después, Ivar Jacobson y su compañía "Objectory" se unieron a Rational y a su trabajo de unificación, fusionando el método OOSE (Object Oriented Software Engineering). El nombre de Objectory es ahora dado mayormente para describir el proceso que acompaña al UML en el "Rational Unified Process, RUP"
Los objetivos de la unificación fueron:

* Mantenerlo simple.

* Quitar elementos de los lenguajes de Booch, OMT y OOSE que no funcionaran en la práctica.

* Añadir elementos de otros métodos que fueran más efectivos.

* Inventar nuevas construcciones solamente cuando la solución existente no estuviera disponible.
Aunque el UML define un lenguaje preciso, no es una barrera para el desarrollo futuro en los conceptos de modelaje. Se han incorporado muchas técnicas líderes, pero se espera que técnicas adicionales influyan las versiones futuras del UML. Muchas técnicas avanzadas, también, pueden ser definidas usando el UML como base y el UML, a su vez, puede ser extendido sin redefinir su núcleo.
El UML es un proceso independiente, lo que significa que no requiere un ciclo de vida particular dentro del desarrollo de software.
Para obtener los mejores beneficios de UML se debe considerar un proceso con las siguientes características:

1. Manejado por casos de uso
2. Centrado en la arquitectura
3. Iterativo e incremental
Manejado por caso de uso significa que los casos de uso son usados principalmente como una herramienta para:

* Establecer el funcionamiento deseado del sistema.

* Verificar y validar la arquitectura del sistema.

* Hacer pruebas y establecer comunicación entre las personas del proyecto.

Centrado en la arquitectura:
La arquitectura de software no sólo contempla la estructura y desempeño, sino también sus usos, funcionalidad, elasticidad, reuso, claridad, contratos económicos y tecnológicos, y todo lo que concierne a la estética.
Un proceso iterativo es aquel que involucra el manejo de un flujo de liberaciones ejecutables. Un proceso incremental es aquel que involucra la integración continua de la arquitectura del sistema, para producir esos releases. Con cada nuevo release se incluyen mejoras incrementales sobre el otro.

*
La conceptualización es la primera fase del proceso. Sólo cuando la idea para el desarrollo se tiene lo suficientemente bien fundamentada se puede garantizar por completo la fase de elaboración.

*
Durante la fase de elaboración se definen la visión y la arquitectura del producto. En este punto los requerimientos del sistema son articulados, priorizados y referenciados.

* La construcción es la fase en la que se lleva a cabo la arquitectura ejecutable, la cual, una vez esté lista, podrá ser transportada al ambiente del usuario. Aquí también los requerimientos del sistema y su evaluación son examinados constantemente.

* La transición es la fase donde el software es turnado a las manos del usuario. Durante esta fase el sistema es continuamente mejorado.

No hay comentarios:

Publicar un comentario