Documente Academic
Documente Profesional
Documente Cultură
UML
Curso: Ingeniería del Software
Andrés Fernández
Carlos Molina
Karla Piedra
28/01/2011
2
Contenido
Contenido............................................................................................................ 2
Introducción........................................................................................................ 3
Objetivo General..............................................................................................4
Objetivos específicos.......................................................................................4
Alcances y Limitaciones...................................................................................4
Marco Conceptual............................................................................................... 5
¿Qué es UML?...................................................................................................7
Modelado Visual...............................................................................................8
Objetivos de UML.............................................................................................9
Diagramas de UML.........................................................................................11
Diagrama de Clases....................................................................................13
Diagrama de Componentes........................................................................15
Diagrama de Objetos..................................................................................16
Diagrama de Despliegue.............................................................................17
Diagrama de Paquetes................................................................................18
Diagrama de Actividades............................................................................19
Diagrama de Estados..................................................................................23
Diagrama de Secuencias............................................................................23
Conclusiones..................................................................................................... 26
Material Final.....................................................................................................26
3
Bibliografía.....................................................................................................26
Introducción
4
Objetivo General
El presente trabajo permitirá conocer de UML, sus orígenes, los objetivos de UML y los
tipos de diagramas que lo componen y como este proceso de modelado ha ido ganando
tanto adepto en lo que es en el análisis orientado a objetos.
Objetivos específicos
a. Que es UML.
Alcances y Limitaciones
Al ser UML una técnica para el modelado de procesos y que apoya el desarrollo del
análisis de un sistema, no se entrará en detalles de qué técnica para el proceso de
desarrollo es mejor, llámese Espiral, Agile, XP, entre otras. El objetivo fundamental es dar
a conocer acerca de UML y la manera en como este puede ayudar en el proceso del
desarrollo del software.
Se describirán los tipos de diagramas que existen, enfocándose en detallar con ejemplo
los diagramas más utilizados.
5
Marco Conceptual
Historia del UML
El objetivo de ambos era unificar dos métodos que habían desarrollado: el método Booch
y el OMT (Object Modelling Tool). El primer borrador apareció en octubre de 1995. En esa
misma época otro reputado investigador, Jacobson, se unió a Rational y se incluyeron
ideas suyas. Estas tres personas son conocidas como los “tres amigos”. Además, este
lenguaje se abrió a la colaboración de otras empresas para que aportaran sus ideas.
Todas estas colaboraciones condujeron a la definición de la primera versión de UML.
La notación UML se deriva y unifica las tres metodologías de análisis y diseños más
extendidas.
El desarrollo de UML comenzó a finales de 1994 cuando Grady Booch y Jim Rumbaugh
de Rational Software Corporation empezaron a unificar sus métodos. A finales de 1995,
Ivar Jacob son y su compañía Objectory se incorporaron a Rational en su unificación,
aportando el método OOSE.
De las tres metodologías de partida, las de Bco. y Rumbaugh pueden ser descritas como
centradas en objetos, ya que sus aproximaciones se enfocan hacia el modelado de los
objetos que componen el sistema, su relación y colaboración.
Por otro lado, la metodología de Jacobson es más centrada a usuario, ya que todo en su
método se deriva de los escenarios de uso. UML se ha ido fomentando y aceptando como
estándar desde el OMG, que es también el origen de CORBA, el estándar líder en la
industria para la programación de objetos distribuidos.
En 1997 UML 1.1 fue aprobada por la OMG convirtiéndose en la notación estándar de
facto para el análisis y el diseño orientado a objetos. UML es el primer método en publicar
un meta-modelo en su propia notación, incluyendo la notación para la mayoría de la
información de requisitos, análisis y diseño. Se trata pues de un meta-modelo auto-
referencial (cualquier lenguaje de modelado de propósito general debería ser capaz de
modelarse a sí mismo).
7
¿Qué es UML?
8
Modelado Visual
9
UML sirve para el modelado completo de sistemas complejos, tanto en el diseño de los
sistemas software como para la arquitectura hardware donde se ejecuten.
Otro objetivo de este modelado visual es que sea independiente del lenguaje de
implementación, de tal forma que los diseños realizados usando UML se pueda
implementar en cualquier lenguaje que soporte las posibilidades de UML (principalmente
lenguajes orientados a objetos).
UML es además un método formal de modelado. Esto aporta las siguientes ventajas:
Objetivos de UML
• UML es un lenguaje de modelado de propósito general que pueden usar todos los
modeladores. No tiene propietario y está basado en el común acuerdo de gran
parte de la comunidad informática.
• Ser tan simple como sea posible pero manteniendo la capacidad de modelar toda
la gama de sistemas que se necesita construir. UML necesita ser lo
suficientemente expresivo para manejar todos los conceptos que se originan en un
sistema moderno, tales como la concurrencia y distribución, así como también los
mecanismos de la ingeniería de software, como son la encapsulación y
componentes.
UML es ante todo un lenguaje. Un lenguaje proporciona un vocabulario y unas reglas para
permitir una comunicación. En este caso, este lenguaje se centra en la representación
gráfica de un sistema. Sus funciones son las siguientes:
• Visualizar: UML permite expresar de una forma gráfica un sistema de forma que
otro lo puede entender.
Aunque UML está pensado para modelar sistemas complejos con gran cantidad de
software, el lenguaje es los suficientemente expresivo como para modelar sistemas que
no son informáticos, como flujos de trabajo (workflow ) en una empresa, diseño de la
estructura de una organización y por supuesto, en el diseño de hardware.
Ya que nada es perfecto en la vida y como trae sus ventas, UML presenta una serie de
inconvenientes, de las cuales las dos más importantes son:
• UML es excesivamente complejo. Es tan así que solo el 80% de los problemas se
pueden modelar usando alrededor del 20% de UML.
Diagramas de UML
Dentro de la versión de UML 2.0, podemos encontrar 13 diagramas que nos permitirán
elaborar y representar toda nuestra construcción del software, desde la representación de
un proceso de pago hasta la elaboración de las diferentes vistas arquitectónicas de un
sistema. La siguiente muestra un resumen de la división de los diagramas.
12
Existen dos grandes agrupaciones que acogen los diferentes diagramas, las cuales son:
estructurales y de comportamiento.
Los diagramas estructurales presentan elementos estáticos del modelo, tales como
clases, paquetes o componentes; en tanto que los diagramas de comportamiento
muestran la conducta en tiempo de ejecución del sistema, tanto visto como un todo como
de las instancias u objetos que lo integran.
Por otra parte, en la figura se ve que hay tres tipos de diagramas señalados en un color
distinto: los diagramas de estructura compuesta, de tiempo y de resumen de interacción.
Se han resaltado dado que son nuevos dentro del UML por lo que resultan ser de los
menos conocidos.
Hay que tener en cuenta, que cada diagrama sirve para documentar un aspecto distinto
del sistema; el criterio para usarlos es el de tener algo que decir, una historia sobre
nuestro sistema que debe ser contada; el tipo de diagrama que usemos será el que nos
dé mayor poder expresivo y solo muy difícilmente, la construcción de una serie de
diagramas puede ser explícitamente ordenada por un método de desarrollo. Algunos
sistemas simples serán bien documentados con pocos diagramas, en tanto que algunos
sistemas grandes bien podrían beneficiarse de un conjunto mayor.
13
Diagrama de Clases
Al diseñar una clase se debe pensar en cómo se puede identificar un objeto real, como
una persona, un transporte, un documento o un paquete. Estos ejemplos de clases de
objetos reales, es sobre lo que un sistema se diseña. Durante el proceso del diseño de las
clases se toman las propiedades que identifican como único al objeto y otras propiedades
adicionales como datos que corresponden al objeto. Con los siguientes ejemplos se
definen tres objetos que se incluyen en un diagrama de clases:
14
Ejemplo 3: Otro objeto pueden ser "Manejo de Cuenta", dónde las operaciones bancarias
de una cuenta (como en el ejemplo 2) se manejarán realizando diferentes operaciones
que en el diagrama de clases de balurdes sólo se representan como operaciones, que
pueden ser:
• Abrir
• Cerrar
• Depósito
• Retiro
• Acreditar Intereses
Estos ejemplos constituyen diferentes clases de objetos que tienen propiedades y/u
operaciones que contienen un contexto y un dominio, los primeros dos ejemplos son
clases de datos y el tercero clase de lógica de negocio, dependiendo de quién diseñe el
sistema se pueden unir los datos con las operaciones.
El diagrama de clases incluye mucha más información como la relación entre un objeto y
otro, la herencia de propiedades de otro objeto, conjuntos de operaciones/propiedades
que son implementadas para una interfaz.
15
Diagrama de Componentes
Debido a que estos son más parecidos a los diagramas de casos de usos estos son
utilizados para modelar la vista estática y dinámica de un sistema. Muestra la
organización y las dependencias entre un conjunto de componentes. No es necesario que
un diagrama incluya todos los componentes del sistema, normalmente se realizan por
partes. Cada diagrama describe un apartado del sistema.
16
Uno de los usos principales es que puede servir para ver qué componentes pueden
compartirse entre sistemas o entre diferentes partes de un sistema.
Diagrama de Objetos
Los diagramas de objetos son utilizados durante el proceso de Análisis y Diseño de los
sistemas informáticos en la metodología UML.
17
Diagrama de Despliegue
Los elementos usados por este tipo de diagrama son nodos (representados como un
prisma), componentes (representados como una caja rectangular con dos protuberancias
del lado izquierdo) y asociaciones.
En el UML 2.0 los componentes ya no están dentro de nodos. En cambio, puede haber
artefactos u otros nodos dentro de un nodo.
Un artefacto puede ser algo como un archivo, un programa, una biblioteca, o una base de
datos construida o modificada en un proyecto. Estos artefactos implementan colecciones
de componentes. Los nodos internos indican ambientes, un concepto más amplio que el
hardware propiamente dicho, ya que un ambiente puede incluir al lenguaje de
programación, a un sistema operativo, un ordenador o un cluster de terminales.
Algunos de los usos que se les da a los diagramas de despliegue son para modelar:
S e rv i d o r W e b W in d o w s 2 0 0 3 S e rv i d o r D B W in d o w s 2 0 0 3
C lie n te
C o n n e x i ó n T C P /IP
C o n e x ió n H T T P /H T T P S
<<ASPX>>
T a b la s
L ó g i c a d e P e se n ta c i ó n
< < P á g in a s H T M L > >
P re se n t a c i ó n
<<DLL>> <<DLL>> P ro c e d i m i e n to s A l m a c e n a d o s
L ó g ic a d e A c c e so a D a to s
L ó g ic a d e N e g o c io
Diagrama de Paquetes
Diagrama de Actividades
El cliente se identifica
Posibilidad = Verdadera
[Posibilidad = Falsa]
Reservar Vehiculo
Confirmar Reservacion
El Lenguaje de Modelado Unificado define una notación gráfica para representar casos de
uso llamada modelo de casos de uso. UML no define estándares para que el formato
escrito describa los casos de uso, y así mucha gente no entiende que esta notación
gráfica define la naturaleza de un caso de uso; sin embargo una notación gráfica puede
solo dar una vista general simple de un caso de uso o un conjunto de casos de uso. Los
diagramas de casos de uso son a menudo confundidos con los casos de uso. Mientras los
dos conceptos están relacionados, los casos de uso son mucho más detallados que los
diagramas de casos de uso.
Las tres relaciones principales entre los casos de uso son soportadas por el estándar
UML, el cual describe notación gráfica para esas relaciones. Veamos una revisión de ellas
a continuación:
propósito para el que el actor puede usar el sistema. La notación es de una flecha
de punta abierta con línea discontinua desde el caso de uso que lo incluye hasta el
caso de uso incluido, con la etiqueta "«include»". Este uso se asemeja a una
expansión de una macro, donde el comportamiento del caso incluido es colocado
dentro del comportamiento del caso de uso base. No hay parámetros o valores de
retorno. Aquí también podemos decir q este va de padre a hijo.
• Extensión (Extend)
Es otra forma de interacción, un caso de uso dado, (la extensión) puede extender
a otro. Esta relación indica que el comportamiento del caso de La Extensión se
utiliza en casos de uso, un caso de uso a otro caso siempre debe tener extensión
o inclusión. La Extensión puede ser insertada en el caso de uso extendido bajo
ciertas condiciones. La notación, es una flecha de punta abierta con línea
discontinua, desde el caso de uso extensión al caso de uso extendido, con la
etiqueta «extend». Esto puede ser útil para lidiar con casos especiales, o para
acomodar nuevos requisitos durante el mantenimiento del sistema y su extensión.
• Generalización
Es la actividad de identificar elementos en común entre conceptos y definir las
relaciones de una superclase (concepto general) y subclase (concepto
especializado). Es una manera de construir clasificaciones taxonómicas entre
conceptos que entonces se representan en jerarquías de clases. Las subclases
conceptuales son conformes con las superclases conceptuales en cuanto a la
intención y extensión.
Diagrama de Estados
Es un diagrama utilizado para identificar cada una de las rutas o caminos que puede
tomar un flujo de información luego de ejecutarse cada proceso.
Permite identificar bajo qué argumentos se ejecuta cada uno de los procesos y en qué
momento podrían tener una variación.
Diagrama de Secuencias
detalles de implementación del escenario, incluyendo los objetos y clases que se usan
para implementar el escenario, y mensajes intercambiados entre los objetos.
Conclusiones
Adicional a lo anterior UML permite modelar procesos, que utilizado de forma adecuada
permite disminuir el riesgo de fracaso de un proyecto y facilita el levantamiento de
requerimientos, desarrollo, documentación, pruebas y soporte.
UML debería evolucionar para poder brindar soporte al análisis de interfaces gráficas,
con esto permitir una escenario previo de lo que tendrá el usuario.
Material Final
Bibliografía
Booch, Grady. 1996. Análisis y Diseño Orientado a Objetos. 2da edición. Ed. Addison-
Wesley / Díaz de Santos.
http://agamenon.uniandes.edu.co/~pfigueroa/soo/uml.
http://www.rational.com/uml/.
http://www2.uah.es/jcaceres/uploaded/capsulas/DiagramaSecuencia.pdf