Está en la página 1de 31

Ingeniera de Software.

Proceso de Desarrollo de Software Pgina 0


Ingeniera de Software.
Unified Modeling Language
UML.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 1
The Unified Modeling Language (UML) is a graphical
language for visualizing, specifying, constructing, and
documenting the artifacts of a software system.
Utilizando el UML, se generan modelos compuestos de:
Elementos: cosas (things) y relaciones (relationships).
Diagramas (construidos a partir de los elementos).
Vistas (diagramas que muestran diferentes perspectivas
del modelo).
Qu es el UML?
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 2
Historia del UML
US D. O. D.
Bell Labs
XEROX PARC
Etc. Etc...
Programacin OO Programacin OO
Ada
Eiffel
Smalltalk
Simula
C++
Booch
Wirfs-Brock
Jacobson:OOSE
Shlaer/Mellor
Coad/Yourdon
UML
Rumbaugh: OMT
Martin/Odell
Mtodos estructurados
Modelado de Entidades
Modelado de Eventos
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 3
Principales Contribuidores
(Los Tres Amigos)
Diseo y Modelado Orientado
a Objetos (1991)
Diseo y Modelado Orientado
a Objetos (1991)
Ingeniera de Software Orientada a
Objetos:
Un acercamiento conducido en un Caso de
Uso (1992)
Ingeniera de Software Orientada a
Objetos:
Un acercamiento conducido en un Caso de
Uso (1992)
IVAR
JACOBSON
JAMES
RUMBAUGH
Aplicaciones con Diseo
Orientado a Objetos (1993)
Aplicaciones con Diseo
Orientado a Objetos (1993)
GRADY
BOOCH
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 4
Evolucin del UML
Mtodo Booch OMT Rumbaugh
UML 0.9 1995
UML 1.1 1997 (entregado a OMG)
UML 1.3, 1.4, 1.5 1998-2004
UML 2.0 2005
UML 2.2 2009
UML 2.3 mayo 2010
Unified Method 0.8
Otros mtodos OOSE Jacobson
UML 0.9
UML 1.1
UML 2.3
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 5
Por qu es importante el UML?
Convergencia de Ideas
Fin a la Guerra de los Mtodos
Estandarizacin del Modelado en la Industria
Semntica
Definicin
Notacin
UML El lenguaje de modelado Standard de la
Industria
UML El lenguaje de modelado Standard de la
Industria
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 6
UML nos da...
Elementos a Modelar
Elementos y conceptos fundamentales del
modelado
Notacin
Entrega visual de los elementos del modelo en
diagramas grficos.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 7
Elementos del UML 1.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 8
Diagramas de UML 1.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 9
Vistas de UML 1.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 10
Dentro de la vista estructural:
- Composite structure.
- muestra la estructura interna de una clase y las
colaboraciones entre sus elementos.
- Profile
- muestra estereotipos como clases con el
estereotipo<<stereotype>> stereotype y paquetes con el
estereotipo <<profile>>.
Dentro de la vista dinmica:
- Timing.
- forma horizontal de un diagrama de secuencia.
- Interaction Overview.
- tipo de diagrama de actividades en donde los nodos
pueden ser diagramas de colaboracin, de secuencia o de
timing.
Nota. Al diagrama de colaboracin se le llama de comunicacin en UML 2.
Nuevos Diagramas del UML 2
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 11
Vistas en UML 2
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 12
Diagrama de Casos de Uso
Describe la funcionalidad proporcionada por un sistema en trminos
de actores, sus objetivos representados como casos de uso y
las dependencias entre los casos de uso.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 13
Diagrama de Clases
Describe la estructura de un sistema mostrando las clases del
sistema, sus atributos y operaciones y las relaciones entre las
clases.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 14
Diagrama de Objetos.
Muestra una vista parcial o completa de la estructura de un caso
particular de un sistema en un tiempo especfico.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 15
Diagrama de Componentes
Describe como se divide un sistema de software en sus
componentes y las dependencias entre esos componentes.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 16
Diagrama de Deployment
Describe el hardware utilizado en la implementacin del sistema asi
como los ambientes de ejecucin y los componentes de software
instalados en el hardware.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 17
Diagrama de Paquetes
Describe como se divide un sistema en grupos lgicos, mostrando
las dependencias entre los grupos.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 18
Diagrama de Colaboracin.
Muestra las interacciones entre objetos o partes de objetos en
trminos de mensajes numerados. En UML 2 se llama diagrama de
comunicacin. Es equivalente al diagrama de secuencia.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 19
Diagrama de Secuencia.
Muestra como se comunican los objetos entre s en trminos de una
secuencia de mensajes. Tambin indica los intervalos de vida de los
objetos relativos a los mensajes. Es equivalente al diagrama de
colaboracin.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 20
Diagrama de Actividades
Describe los
flujos de las
operaciones de
un sistema paso
a paso.
Muestra el flujo
de control
general de un
caso de uso.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 21
Diagrama de Estado
Describe los estados y las transiciones entre los estados de
bjetos particularmente complejos en un sistema.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 22
Diagrama de estructura compuesta
(composite structure)
Describe la estructura interna de una clase y las colaboraciones
que esta estructura hace posibles. UML 2.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 23
Diagrama de profile.
Opera a nivel de
metamodelo para
mostrar estereotipos
como clases con el
estereotipo
<<stereotype>> y
perfiles como paquetes
con el estereotipo
<<profile>>. La relacin
de extensin indica que
elemento de del
metamodelo est
extendiendo el
estereotipo. UML 2.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 24
Diagrama de timing.
Es un tipo especfico de diagrama de interaccin con el foco en
restricciones de tiempo. Es muy semejante al diagrama de secuencia.
UML 2.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 25
Diagrama de interaction overview.
Proporciona
una vista
general del
sistema en la
cual los nodos
del diagrama
representan
diagramas de
comunicacin.
UML 2.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 26
Estereotipos
- Extensin del vocabulario de UML, que permite crear
nuevos elementos UML desde unos ya existentes
pero especficos a un problema concreto
- Grficamente es representado con un nombre entre
(<<>>) y colocado arriba del nombre del elemento
del modelo
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 27
Ejemplo de Estereotipos
Clase <<business>>
- Abstraccin derivada del
concepto del negocio
Clase <<interface>>
- Abstraccin representando un
slo punto de entrada a una
componente o dispositivo,
ofreciendo una coleccin de
servicios
business
Cliente
Nombre
Direccin
Localidad
interface
Calendario
Agenda Tarea
Agrega Evento
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 28
Qu es y qu NO es UML?
UML NO ES: PERO ES:
Un lenguaje de programacin. Un lenguaje visual de modelado.
Tiene caractersticas que permiten
representar las construcciones de los
lenguajes de programacin
Una metodologa. Un lenguaje que se puede usar para
representar las actividades de una
metodologa.
Utilizado para crear un modelo
ejecutable.
Un lenguaje que se puede usar para
generar esqueletos de cdigo real de
programacin.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 29
Herramientas de UML.
UML en s no es una herramienta. Los diagramas de UML se
pueden hacer en papel, sin embargo, hay herramientas de
software para:
Dibujar los diagramas UML.
Validar la semntica de los diagramas.
Dar soporte a una metodologa especfica.
Generar esqueletos de cdigo a partir de los diagramas UML.
Organizar todos los diagramas de un proyecto.
Generar automticamente elementos de modelado de patrones de
diseo, componentes de una arquitectura especfica como Java EE o
Microsoft .net.
Ingeniera de Software. Proceso de Desarrollo de Software Pgina 30
Ejercicio: Tipos de diagramas UML.
Diagrama Descripcin
1 Use Cases. A Fotografa de objetos de software y sus relaciones.
2 Clases. B Flujo de tareas que lleva a cabo un actor o sistema.
3 Objetos. C Coleccin de componentes y su distribucin a travs de elementos de
hardware.
4 Colaboracin. D Conjunto de conductas de alto nivel que lleva a cabo el sistema para un
actor en particular.
5 Secuencia. E Coleccin de objetos que trabajan juntos para soportar alguna conducta del
sistema.
6 Actividades. F Coleccin de clases de software y sus relaciones
7 Estado. G Coleccin de otros elementos y diagramas.
8 Componentes. H Coleccin de componentes de software y sus relaciones.
9 Deployment. I Conjunto de estados que puede tener un objeto y las transciones de un
estado a otro.
10 Paquetes. J Perspectiva en el tiempo de las acciones de un objeto.
A qu diagrama corresponden las descripciones?

También podría gustarte