You are on page 1of 12

EL LENGUAJE UNIFICADO DE MODELADO (UML) En todas las disciplinas de la Ingeniera se hace evidente la importancia de los modelos ya que describen

el aspecto y la conducta de " algo". Ese "algo" puede existir, estar en un estado de desarrollo o estar, todava, en un estado de planeacin. Es en este momento cuando los diseadores del modelo deben investigar los requerimientos del producto terminado y dichos requerimientos pueden incluir reas tales como funcionalidad, performance y confiabilidad. Adems, a menudo, el modelo es dividido en un nmero de vistas, cada una de las cuales describe un aspecto especfico del producto o sistema en construccin. El modelado sirve no solamente para los grandes sistemas, aun en aplicaciones de pequeo tamao se obtienen beneficios de modelado, sin embargo es un hecho que entre ms grande y ms complejo es el sistema, ms importante es el papel de que juega el modelado por una simple razn: "El hombre hace modelos de sistemas complejos porque no puede entenderlos en su totalidad". UML es una tcnica para la especificacin sistemas en todas sus fases. Naci en 1994 cubriendo los aspectos principales de todos los mtodos de diseo antecesores y, precisamente, los padres de UML son Grady Booch, autor del mtodo Booch; James Rumbaugh, autor del mtodo OMT e Ivar Jacobson, autor de los mtodos OOSE y Objectory. La versin 1.0 de UML fue liberada en Enero de 1997 y ha sido utilizado con xito en sistemas construidos para toda clase de industrias alrededor del mundo: hospitales, bancos, comunicaciones, aeronutica, finanzas, etc. Los principales beneficios de UML son:

Mejores tiempos totales de desarrollo (de 50 % o ms). Modelar sistemas (y no slo de software) utilizando conceptos orientados a objetos. Establecer conceptos y artefactos ejecutables. Encaminar el desarrollo del escalamiento en sistemas complejos de misin crtica. Crear un lenguaje de modelado utilizado tanto por humanos como por mquinas. Mejor soporte a la planeacin y al control de proyectos. Alta reutilizacin y minimizacin de costos.

UML, Mtodo o Lenguaje de Modelado? UML es un lenguaje para hacer modelos y es independiente de los mtodos de anlisis y diseo. Existen diferencias importantes entre un mtodo y un lenguaje de modelado. Un mtodo es una manera explcita de estructurar el pensamiento y las acciones de cada individuo. Adems, el mtodo le dice al usuario qu hacer, cmo hacerlo, cundo hacerlo y por qu hacerlo; mientras que el lenguaje de

modelado carece de estas instrucciones. Los mtodos contienen modelos y esos modelos son utilizados para describir algo y comunicar los resultados del uso del mtodo. Un modelo es expresado en un lenguaje de modelado. Un lenguaje de modelado consiste de vistas, diagramas, elementos de modelo los smbolos utilizados en los modelos y un conjunto de mecanismos generales o reglas que indican cmo utilizar los elementos. Las reglas son sintcticas, semnticas y pragmticas (figura 1).

figura 1 Vistas: Las vistas muestran diferentes aspectos del sistema modelado. Una vista no es una grfica, pero s una abstraccin que consiste en un nmero de diagramas y todos esos diagramas juntos muestran una "fotografa" completa del sistema. Las vistas tambin ligan el lenguaje de modelado a los mtodos o procesos elegidos para el desarrollo. Las diferentes vistas que UML tiene son:

Vista Use-Case: Una vista que muestra la funcionalidad del sistema como la perciben los actores externos. Vista Lgica: Muestra cmo se disea la funcionalidad dentro del sistema, en trminos de la estructura esttica y la conducta dinmica del sistema. Vista de Componentes: Muestra la organizacin de los componentes de cdigo. Vista Concurrente: Muestra la concurrencia en el sistema, direccionando los problemas con la comunicacin y sincronizacin que estn presentes en un sistema concurrente. Vista de Distribucin: muestra la distribucin del sistema en la arquitectura fsica con computadoras y dispositivos llamados nodos.

Diagramas: Los diagramas son las grficas que describen el contenido de una vista. UML tiene nueve tipos de diagramas que son utilizados en combinacin para

proveer todas las vistas de un sistema: diagramas de caso de uso, de clases, de objetos, de estados, de secuencia, de colaboracin, de actividad, de componentes y de distribucin. Smbolos o Elementos de modelo: Los conceptos utilizados en los diagramas son los elementos de modelo que representan conceptos comunes orientados a objetos, tales como clases, objetos y mensajes, y las relaciones entre estos conceptos incluyendo la asociacin, dependencia y generalizacin. Un elemento de modelo es utilizado en varios diagramas diferentes, pero siempre tiene el mismo significado y simbologa. Reglas o Mecanismos generales: Proveen comentarios extras, informacin o semntica acerca del elemento de modelo; adems proveen mecanismos de extensin para adaptar o extender UML a un mtodo o proceso especfico, organizacin o usuario. FASES DEL DESARROLLO DE UN SISTEMA Las fases del desarrollo de sistemas que soporta UML son: Anlisis de requerimientos, Anlisis, Diseo, Programacin y Pruebas. Anlisis de Requerimientos UML tiene casos de uso (use-cases) para capturar los requerimientos del cliente. A travs del modelado de casos de uso, los actores externos que tienen inters en el sistema son modelados con la funcionalidad que ellos requieren del sistema (los casos de uso). Los actores y los casos de uso son modelados con relaciones y tienen asociaciones entre ellos o stas son divididas en jerarquas. Los actores y casos de uso son descritos en un diagrama use-case. Cada use-case es descrito en texto y especifica los requerimientos del cliente: lo que l (o ella) espera del sistema sin considerar la funcionalidad que se implementar. Un anlisis de requerimientos puede ser realizado tambin para procesos de negocios, no solamente para sistemas de software. Anlisis La fase de anlisis abarca las abstracciones primarias (clases y objetos) y mecanismos que estn presentes en el dominio del problema. Las clases que se modelan son identificadas, con sus relaciones y descritas en un diagrama de clases. Las colaboraciones entre las clases para ejecutar los casos de uso tambin se consideran en esta fase a travs de los modelos dinmicos en UML. Es importante notar que slo se consideran clases que estn en el dominio del problema (conceptos del mundo real) y todava no se consideran clases que definen detalles y soluciones en el sistema de software, tales como clases para interfaces de usuario, bases de datos, comunicaciones, concurrencia, etc.

Diseo En la fase de diseo, el resultado del anlisis es expandido a una solucin tcnica. Se agregan nuevas clases que proveen de la infraestructura tcnica: interfaces de usuario, manejo de bases de datos para almacenar objetos en una base de datos, comunicaciones con otros sistemas, etc. Las clases de dominio del problema del anlisis son agregadas en esta fase. El diseo resulta en especificaciones detalladas para la fase de programacin. Programacin En esta fase las clases del diseo son convertidas a cdigo en un lenguaje de programacin orientado a objetos. Cuando se crean los modelos de anlisis y diseo en UML, lo ms aconsejable es trasladar mentalmente esos modelos a cdigo. Pruebas Normalmente, un sistema es tratado en pruebas de unidades, pruebas de integracin, pruebas de sistema, pruebas de aceptacin, etc. Las pruebas de unidades se realizan a clases individuales o a un grupo de clases y son tpicamente ejecutadas por el programador. Las pruebas de integracin integran componentes y clases en orden para verificar que se ejecutan como se especific. Las pruebas de sistema ven al sistema como una "caja negra" y validan que el sistema tenga la funcionalidad final que le usuario final espera. Las pruebas de aceptacin conducidas por el cliente verifican que el sistema satisface los requerimientos y son similares a las pruebas de sistema.
http://profesores.fi-b.unam.mx/carlos/aydoo/uml.html

UML (Unified Modeling Language)


El Lenguaje Unificado de Modelado (UML) es una tcnica para la especificacin de sistemas en todas sus fases. Este ha sido desarrollado por los ms importantes autores en materia de Anlisis y Diseo de Sistemas y ha sido usada con xito en sistemas hechos para toda clase de industrias alrededor del mundo: Salud, Bancos, Comunicaciones, Aeronutica, Finanzas, etc. Sin lugar a dudas OOAD (Object Oriented Analysis and Design), implementado con UML (Unified Modeling Language), es la metodologa ms avanzada en la actualidad. Esta metodologa introduce los Casos de

Uso, una poderosa herramienta para reducir los riesgos en la definicin de requerimientos de sistemas nuevos. Los Casos de Uso sirven como columna vertebral del proceso dedesarrollo de aplicaciones y tienen como objetivo garantizar que los resultados se ajusten completamente a las expectativas de los usuarios finales. El Lenguaje Unificado de Modelado (UML). Analiza los diagramas que componen UML y ofrece acercamientos a casos de uso guiados sobre cmo estos diagramas se usan para modelar sistemas. Tambin trata los mecanismos de extensibilidad de UML, los cuales permiten ampliar su notacin y su semntica. UML: Es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estndar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programacin, esquemas de bases de datos y componentes de software reutilizables. El punto importante para notar aqu es que UML es un "lenguaje" para especificar y no un mtodo o un proceso. UML se usa para definir un sistema de software; para detallar los artefactos en el sistema; para documentar y construir -es el lenguaje en el que est descrito el modelo. UML se puede usar en una gran variedad de formas para soportar una metodologa de desarrollo de software (tal como el Proceso Unificado de Rational) -pero no especifica en s mismo qu metodologa o proceso usar. PARA QU SIRVE UML? UML sirve para hacer modelos que permitan: Visualizar como es un sistema o como queremos que sea. Especificar la estructura y/o comportamiento de un sistema. Hacer una plantilla que gue la construccin de los sistemas Documentar las decisiones que hemos tomado.

El modelado sirve no solamente para los grandes sistemas; an en aplicaciones de pequeo tamao se obtienen beneficios de modelar, sin embargo, es un hecho que entre ms grande y ms complejo es el sistema, el modelado juega un papel msimportante. Esto se debe a una razn simple: Hacemos modelos de sistemas complejos porque no podemos entenderlos en su totalidad Hay lmites para el entendimiento de la complejidad. A travs del modelado reducimos el mbito del problema de estudio al enfocar solo un aspecto a la vez. UML puede ser usado extensivamente en: Recopilacin de requerimientos, Anlisis de aplicaciones, Diseo de sistemas, en pruebas, en implementacin, en reingeniera y prcticamente en cualquier actividad de desarrollo que sea susceptible de ser modelada. Cabe aclarar que aunque UML es orientado a objetos preferentemente, es til en cualquier modelo tecnolgico ya que es independiente de lenguajes de programacin o tecnologa determinada. PORQUE ES IMPORTANTE UML? Esta consolidado como el lenguaje estndar en el anlisis y diseo de sistemas de computo. Mediante UML es posible establecer la serie de requerimientos y estructuras necesarias para plasmar un sistema de software previo al proceso intensivo de escribir cdigo. En otros trminos, as como en la construccin de un edificio se realizan planos previo a su construccin, en Software se deben realizar diseos en UML previa codificacin de un sistema, ahora bien, aunque UML es un lenguaje, ste posee ms caractersticas visuales que programticas, mismas que facilitan a integrantes de un equipo multidisciplinario participar e intercomunicarse fcilmente, estos integrantes siendo los analistas, diseadores, especialistas de rea y desde luego los programadores. BENEFICIOS DE ESTA TECNOLOGA.

Los beneficios son claros al ocupar este lenguaje de modelamiento: Mejores tiempos totales de desarrollo (de 50% o ms). En la mayora de organizaciones hoy en da el tiempo que pasa desde que un proyecto arranca hasta que se estabiliza es ms del doble de lo planeado originalmente. Con el uso de UML las fases de anlisis y diseo consumirn mayor tiempo, pero el tiempo de construccin, implantacin y estabilizacin se reducen drsticamente debido a que no hay correcciones mayores en las fases de mayor impacto de un proyecto. Mejor calidad. El uso de UML hace indispensable la participacin del usuario en la definicin de requerimientos y por lo tanto mejora considerablemente el apego del sistema a las necesidades de sus usuarios. El mantenimiento correctivo se reduce drsticamente (hasta un 80% con respecto a un sistema hecho sin metodologa). Algo similar ocurre en los proyectos de reingeniera. Mejor soporte a la planeacin y al control de proyectos. Al existir entregables definidos y estandarizados en las distintas fases de un proyecto y al ser stos revisables y certificables por gente distinta del autor, tenemos que los planes de trabajo pueden ser fcilmente creados y corroborados en avance. Lo que permite tomar decisiones a tiempo. Mayor independencia del personal de desarrollo. Al tener documentadas las aplicaciones en un lenguaje estndar, podemos mover al personal de una aplicacin a otra sin correr altos riesgos y sin depender del conocimiento personal de las aplicaciones. Mayor soporte al cambio organizacional, comercial y tecnolgico. Un modelo permite cuantificar el impacto de un cambio antes de hacerlo y permite ensayar distintos enfoques de solucin. Con UML un cambio se puede hacer primero en papel. Alto reuso. Los productos de un desarrollo pueden ser usados en otro. Se pueden crear componentes reusables que con la difusin y administracin adecuadas minimizarn costos y errores.

Minimizacin de costos. Los puntos antes mencionados tienen un impacto econmico que generalmente tiende a ser proporcional al tamao de la organizacin. SERVICIOS NECESARIOS PARA IMPLANTAR ESTA TECNOLOGA. Aunque vara un poco de organizacin a organizacin los servicios de apoyo necesarios para la implantacin de esta tecnologa, podemos mencionar los siguientes: Consultora para la Planeacin. Cuando las reas involucradas son muchas, el impacto de la introduccin de esta tecnologa requerir una planeacin adecuada, este proceso debe ser hecho por la organizacin y apoyado por un equipo con experiencia en la administracin de este cambio. Capacitacin. Las tcnicas involucradas pueden ser aprendidas directamente de los libros y manuales de UML, sin embargo el tiempo necesario puede ser prohibitivo. Un servicio de capacitacin de alta calidad generar la cultura bsica para el ptimo aprovechamiento de la tecnologa. Capacitacin en UML, Anlisis y Diseo de aplicaciones es sugerida. Mentoring. El desarrollo de proyectos pilotos de Desarrollo, Documentacin o Reingeniera deben ser apoyados por uno o ms expertos en el uso de UML que aseguren que el equipo adquiere el conocimiento prctico del uso de UML y agilicen su uso. Control de Calidad. Una vez que un equipo ya ha aprendido el uso de UML es sano contar con un staff de control de calidad externo (y experto) que certifique la calidad de los productos y genere gente con ste perfil hacia el interior de la organizacin. Este servicio tambin puede ser til para controlar la calidad de los desarrollos efectuados por empresas externas ELEMENTOS DE UML

Diagrama de casos de uso Los diagramas de casos de uso describen las relaciones y las dependencias entre un grupo de casos de uso y los actores participantes en el proceso. Es importante resaltar que los diagramas de casos de uso no estn pensados para representar el diseo y no puede describir los elementos internos de un sistema. Los diagramas de casos de uso sirven para facilitar la comunicacin con los futuros usuarios del sistema, y con el cliente, y resultan especialmente tiles para determinar las caractersticas necesarias que tendr el sistema. En otras palabras, los diagramas de casos de uso describen qu es lo que debe hacer el sistema, pero no cmo. Diagrama de clases Los diagramas de clases muestran las diferentes clases que componen un sistema y cmo se relacionan unas con otras. Se dice que los diagramas de clases son diagramas estticos porque muestran las clases, junto con sus mtodos y atributos, as como las relaciones estticas entre ellas: qu clases conocen a qu otras clases o qu clases son parte de otras clases, pero no muestran los mtodos mediante los que se invocan entre ellas. Diagramas de secuencia Los diagramas de secuencia muestran el intercambio de mensajes (es decir la forma en que se invocan) en un momento dado. Los diagramas de secuencia ponen especial nfasis en el orden y el momento en que se envan los mensajes a los objetos. En los diagramas de secuencia, los objetos estn representados por lneas intermitentes verticales, con el nombre del objeto en la parte ms alta. El eje de tiempo tambin es vertical, incrementndose hacia abajo, de forma que los mensajes son enviados de un objeto a otro en forma de flechas con los nombres de la operacin y los parmetros. Diagramas de colaboracin Los diagramas de colaboracin muestran las interacciones que ocurren entre los objetos que participan en una situacin determinada. Esta es ms o menos la misma informacin que la mostrada por los diagramas de

secuencia, pero destacando la forma en que las operaciones se producen en el tiempo, mientras que los diagramas de colaboracin fijan el inters en las relaciones entre los objetos y su topologa. En los diagramas de colaboracin los mensajes enviados de un objeto a otro se representan mediante flechas, mostrando el nombre del mensaje, los parmetros y la secuencia del mensaje. Los diagramas de colaboracin estn indicados para mostrar una situacin o flujo programa especficos y son unos de los mejores tipos de diagramas para demostrar o explicar rpidamente un proceso dentro de la lgica del programa. Diagrama de estado Los diagramas de estado muestran los diferentes estados de un objeto durante su vida, y los estmulos que provocan los cambios de estado en un objeto. Los diagramas de estado ven a los objetos como mquinas de estado o autmatas finitos que pueden estar en un conjunto de estados finitos y que pueden cambiar su estado a travs de un estmulo perteneciente a un conjunto finito. Por ejemplo, un objeto de tipo NetServer puede tener durante su vida uno de los siguientes estados: Listo Escuchando Trabajando Detenido

y los eventos que pueden producir que el objeto cambie de estado son Se crea el objeto El objeto recibe un mensaje de escucha Un cliente solicita una conexin a travs de la red Un cliente finaliza una solicitud La solicitud se ejecuta y ser termina El objeto recibe un mensaje de detencin Etc.

Diagrama de actividad Los diagramas de actividad describen la secuencia de las actividades en un sistema. Los diagramas de actividad son una forma especial de los

diagramas de actividades.

estado, que nicamente (o mayormente) contienen

http://www.oocities.org/es/avrrinf/tabd/Foro/Foro_UML.htm

Tipos de Diagramas que forman la base de UML


Diagrama de clases: muestra las clases, interfaces, colaboraciones y sus relaciones. Son los ms comunes y dan una vista esttica del proyecto. Diagrama de objetos: Es un diagrama de instancias de las clases mostradas en el diagrama de clases. Muestra las instancias y como se relacionan entre ellas. Se da una visin de casos reales. diagramas estticos Diagrama de componentes: Muestran la organizacin de los componentes del sistema. Un componente se corresponde con una o varias clases, interfaces o colaboraciones. Diagrama de despliegue: Muestra los nodos y sus relaciones. Un nodo es un conjunto de componentes. Se utiliza para reducir la complejidad de los diagramas de clases y componentes de un gran sistema. Sirve como resumen e ndice. Diagrama de casos de uso: Muestran los casos de uso, actores y sus relaciones. Muestra quien puede hacer que y relaciones existen entre acciones (casos de uso). Son muy importantes para modelar y organizar el comportamiento del sistema. Diagrama de secuencia, Diagrama de colaboracin: Muestran a los diferentes objetos y las relaciones que pueden tener entre ellos, los mensajes que se envan entre ellos. Son dos diagramas diferentes, que se puede pasar de uno a otro sin perdida de informacin, pero que nos dan puntos de vista diferentes del sistema. En resumen, cualquiera de los dos es un Diagrama de Interaccin. Diagrama de estados: muestra los estados, eventos, transiciones y actividades de los diferentes objetos. Son tiles en sistemas que reaccionen a eventos. Tipos de Diagramas que forman la base de UML diagramas dinmicos Diagrama de actividades: Es un caso especial del diagrama de estados. Muestra el flujo entre los objetos. Se utilizan para modelar el funcionamiento del sistema y el flujo de control entre objetos. http://www.buenastareas.com/ensayos/Tipos-De-Diagramas-Que-Forman-La/3657420.html?_p=2

You might also like