ENSAYO UML PARA PROGRAMADORES JAVA Ingenieria de Software Presentado Por. Anuar Vargas Calderon Presentado a. Ing. Msc. Juan Bohorquez UNIVERSIDAD DISTRITAL FRANCISCOJOSE DE CALDAS MAESTRIA EN CIENCIAS DE LA INFORMACION Y LAS COMUNICACIONES BOGOTA D.C., ABRIL 2 DE 2009 UML, El lenguaje unificado de modelamiento se utiliza para especificar, documentar y modelar aplicaciones de cualquier tamaño, es importante reconocer los diferentes tipos de diagramas. De comportamiento o dinámicos como lo es el diagrama de colaboración y secuencia, estructura o estático como son el diagrama de clases, implementación como lo es el diagrama de despliegue y los conceptuales como los casos de uso. El UML se puede utilizar en las diferentes etapas de las metodologías de software. Cada diagrama adquiere una representación formal del conocimiento del problema de acuerdo a la etapa en la que se elabora; es decir por ejemplo que el diagrama de clases del dominio del problema es diferente su interpretación y alcance al diagrama de clases del diseño así mismo el diagrama de secuencia o colaboración del análisis muestra le flujo de ejecución de un caso de uso a un nivel general entre las diferentes clases entidades, control e interfaz. Este difiere al que se elabora en la etapa de diseño que muestra el flujo de ejecución del paso de mensajes y parámetros entre los diferentes objetos instanciados de clases obtenidas en la etapa. Estos diagramas se pueden elaboran en cualquier herramienta que contenga la representación de los diferentes objetos UML, algunas de mayor complejidad que otras y con beneficios diferentes, incluso permiten la generación de código de implementación de los mismos, entre ellas están las herramientas CASE, y otras mas pequeñas como el Visual Object, Omondo, entre otros. Los diagramas de clases contienen elementos para representar clases, relaciones, interfaces. La clase se divide en tres elementos el nombre, los atributos con su tipo y alcance y los métodos con su visibilidad. Existen clases abstractas de las cuales no se puede realizar instancias y los métodos no se implementan en ella. Las clases internas las que se implementan dentro de otras clases con especificador de acceso privado. Las relaciones de asociación que indican referencias de otros objetos dentro de la clase, la multiplicidad que es la cantidad de instancias a realizar de una clase representada por vectores; tipos de multiplicidad (uno a muchos, exacta, cero a muchos). La herencia que representa la especialización y generalización de una clase. Donde la clase generalizada hereda todos sus atributos y métodos a la clase particular o especializada. La agregación que es tipo de relación de asociación que muestra un todo/parte, al igual que la composición estas dos ultimas relaciones no son usuales en Java. Los diagramas de secuencia, contienen elementos para representar los objetos que interviene en el flujo de suceso de un proceso con su línea de vida y el paso de mensajes entre ellos. La línea de vida se presenta como un rectángulo hacia abajo dirigido desde el objeto, indica el tiempo de vida del objeto desde su creación hasta que se destruye por el recolector de objetos o finalización de la aplicación, la eliminación del mismo se representa con una X al final de la línea de vida. Los mensajes se muestran por una línea continúan entre las líneas de vida del objeto, se etiqueta con su nombre y dentro de paréntesis los parámetros, la dirección de la flecha indica el envío o retorno del mensaje. Las estructuras de control tiene su representación, para un bucle se utiliza sobre la línea del objeto se sobrepone otro rectángulo (línea de vida) hacia abajo a partir del cual se enviar los mensajes entre los diferentes objetos. El si a partir de la condición que lo activo se traza una línea hacia la derecha entre los dos objetos y se crea una línea de vida hacia abajo y a partir de esta se envían los mensajes entre los diferentes objetos, para finalizar el si se traza una línea hacia la izquierda apuntado hacia el objetote que lo inicio. Los casos de uso describen lo que debe hacer el sistema en términos del usuario final, su representación es simple y permite una comunicaron directa entre el usuario de la aplicación y el analista de la misma. Se pueden elaborar diagramas de contexto que muestran de forma general los requerimientos funcionales de la aplicación y luego representar cada requerimiento de forma detallada en otro diagrama de caso de uso. Los elementos que se utilizan son. Casos de uso representados por una elipse, relaciones, actores. Los actores son las personas y/o elementos físicos externos que consumen la aplicación. Las relaciones existentes entre cada de uso son de asociación, herencia y dependencia. Si bien no es necesario realizar todos los diagramas especificados por el UML para la construcción de una aplicación, es importante tener diagramas de alto nivel que representen el dominio del problema y por cada etapa de la metodología los necesarios para comprender los diferentes procesos que enmarcan la solución. Los diagramas UML durante el proceso de construcción de la aplicación pueden variar ya que por lo general el problema se subdivide en pequeños problemas, convirtiéndose en desarrollos incrementales e iterativos, permitiendo el refinamiento de los mismos.