Está en la página 1de 25

Tutorial

Contenido
1. El proceso
2. Los modelos
3. Los diagramas
4. Ejemplo

1. El proceso
Fases soportadas por UML

Anlisis de
requisitos de
usuario

Anlisis de requisitos de usuario


Anlisis de requisitos de software
Diseo de la plataforma
Diseo de aplicaciones
Diseo interfaz

Anlisis de
requisitos de
software

de usuario
Diseo
plataforma

Diseo del
modelo de
datos

Diseo
aplicaciones

Anlisis de requisitos de
usuario
Objetivos
Identificar los conceptos que existen en el mbito que
se desea automatizar
Identificar las relaciones entre los conceptos: herencia,
pertenencia y asociacin
Identificar las actividades y procesos (secuencias de
actividades) que realizan los actores
Resultado
Modelo del dominio

Anlisis de requisitos de
software
Objetivos
Identificar los objetos que van a estar presentes en el
software que se va a desarrollar
Identificar las operaciones que van a estar disponibles
para aplicarlas a esos objetos

Resultado
Modelo del software

Diseo de la plataforma
Objetivos
Identificar los aplicaciones que van a desarrollarse para
dar soporte a las necesidades analizadas
Especificar las posibles configuraciones de las
aplicaciones

Resultado
Arquitectura de la plataforma

Diseo de aplicaciones
Objetivos
Identificar los mdulos con los que se va a construir
cada aplicacin
Definir las relaciones entre estos mdulos

Resultado
Arquitectura de las aplicaciones

2. Los modelos
Modelo del dominio
Modelo del software
Modelo arquitectnico de la plataforma
Modelo arquitectnico de las aplicaciones

Modelo del dominio


Diagrama de clases del dominio
Para representar los conceptos que deben tener los usuarios
en el dominio en el que se desea realizar el software, y las
relaciones que existen entre estos conceptos

Diagramas de actividades
Para representar los procesos en los que un usuario o
conjunto de usuarios deben resolver conjuntamente una
situacin

Diagrama de estado
Para representar los distintos estados por los que atraviesa
un sistema en la medida en la que el estado afecte a su
comportamiento.

Modelo del software


Diagrama de clases del software
Para representar los conceptos que van a estar virtualizados
en el software. Se deben incluir en las descripciones de
clases los atributos que van a estar visibles.
En este diagrama se especifican solamente las clases que
van a existir en el software.

Diagrama de casos de uso


Para representar las situaciones en las que los usuarios
pueden necesitar el software y las operaciones que van a
tener disponibles.

Arquitectura de la
plataforma
Diagrama de emplazamiento
Para representar los componentes de una plataforma
hardware (servidores, estaciones de trabajo, terminales...) y
software (bases de datos, servicios, aplicaciones).
Es posible desarrollar varios diagramas de emplazamiento,
de manera que se establezcan posibles configuraciones
diferentes.

Diagramas de actividades
Para describir el comportamiento del software en una
situacin que afecte a muchas aplicaciones.

Diagramas de estados
Para describir los posibles estados del conjunto de la
plataforma en funcin de las operaciones que ejecuten los
usuarios.

Arquitectura de las
aplicaciones (1)
Diagrama de clases de diseo
Para representar las clases que van a componer la
arquitectura de una aplicacin.
Tambin se representan las relaciones que van a existir entre
esas clases (composicin, herencia, dependencia,
navegabilidad)

Diagramas de paquetes
Para agrupar clases en un software grande. Los paquetes
son tiles para la prueba, ya que cada paquete debe tener
una o mas unidades de prueba que compruebe el
comportamiento del paquete

Diagrama de estados
Para representar los estados en los que se puede encontrar
un objeto de una clase.

Arquitectura de las
aplicaciones (2)
Diagramas de interaccin de objetos
Para describir como grupos de objetos colaboran para
proporcionar algn comportamiento en una situacin simple
como ejecutar una operacin, atender algn evento...
Hay dos tipos de diagramas de interaccin
Diagrama de colaboracin
Son tiles en los casos de interacciones sncronas entre
objetos.
Diagrama de secuencia
Son muy tiles para representar procesos concurrentes y
respuestas asncronas.

3. Los diagramas
Diagrama de clases
Diagrama de casos de uso
Diagrama de interaccin
Diagrama de paquetes
Diagrama de estados
Diagrama de actividades
Diagrama de emplazamiento

Diagrama de clases (1)


Descripcin de una clase
Se utiliza en el anlisis para describir el contenido de una clase y las operaciones que puede
ejecutar el usuario.
Se utiliza en el diseo de la arquitectura de las aplicaciones para describir la estructura de una
clase y los servicios que ofrecen a otras clases.
Clase
[visibilidad] atributo: tipo [=valordefecto]
[visibilidad] atributo: tipo [=valordefecto]
...

[visibilidad] operacion(argumentos): retorno


[visibilidad] operacion(argumentos): retorno
...

Visibilidad de los atributos y operaciones


+
#

publico
privado
protegido

Diagrama de clases (2)


Relacin de asociacin
Representa cualquier tipo de relacin entre clases. No obstante en caso de relaciones
estndares se aconseja utilizar la notacin disponible. Fundamentalmente se utilizan en el
anlisis
Clase A

Papel de B.
Cardinalidad

Papel de A.
Cardinalidad

{ Restriccin }

Clase A

Clase A

Clase B

Papel de clase representa el tipo de asociacin entre las clases


Cardinalidad [ n | n,m | n..m | * | +]

Clase B

Restriccin. Son reglas escritas en lenguaje natural que


establecen en que casos es vlida la relacin

Clase B

Clases asociadas. Son clases cuyo contenido es derivado de una


relacin

Clase
asociacin

Clase A

Cualificador

Clase B

Cualificador. Son relaciones en las que existe un cualificador sirve


como elemento de bsqueda o seleccin en una relacin con
muchos elementos

Diagrama de clases (3)


Relacin de generalizacin

Relacin de agregacin

La generalizacin se asocia a las relaciones


es-un en el anlisis y herencia en el diseo,
es decir, el subtipo tiene todas las
caractersticas que tiene el supertipo.

Representa la composicin de un objeto. Se


utiliza para representar las relaciones
es-parte-de en el anlisis
Clase

Clase I

Clase A
Criterio discriminante

Clase Ax

Clase Ay

Criterio discriminante define la jerarqua


representada

Relacin de composicin
Tambin representa la composicin de un
objeto, pero la existencia de los componentes
es dependiente de la existencia de la clase
que lo contiene. Se utiliza par representar la
composicin de una clase en el diseo
C

Clase

Clase
C

Clase I

Clase I

Diagrama de clases (4)


Relacin de navegabilidad

Relacin de dependencia

Se utilizan en diseo para indicar que una


clase accede al contenido de otra clase.

Se utilizan en el diseo para indicar que una


clase accede a los servicios de otra clase.

Fuente

Destino

Clase

Clase

Clase parametrizada

Interfaces

Se utilizan en el diseo para representar


plantillas (templates). Son muy tiles para
definir colecciones

Se utilizan en el diseo para representar

Plantilla

Clase

Diagramas de casos de
uso
Hay que distinguir entre las intenciones del usuario y las interacciones con
el sistema.
Un caso de uso representa una intencin de un usuario y las interacciones
que va a realizar dicho usuario.
En un diagrama de casos de uso se representan varios casos de uso para
cumplir con las intenciones de un usuario. Tambin se utilizan para
representar las operaciones que ejecuta un actor virtual.
usa

Caso de uso

Actor

extiende

Diagrama de actividades
Este diagrama se puede utilizar en
el anlisis de requisitos de usuario
para representar las actividades de
un proceso y las condiciones de
ejecucin del mismo.
Tambin se puede utilizar en el
diseo de la arquitectura de la
plataforma para describir el
comportamiento del software en una
situacin que afecte a muchas
aplicaciones.

Actividad
condicin transicin
*
para n elementos

Actividad

Actividad
Actividad

condicin
sincronizacin

condicin transicin

Actividad

Diagrama de secuencia
Este diagrama se utiliza en el
diseo de la arquitectura de
las aplicaciones para
representar una traza de un
proceso, aunque tambin es
muy til para representar las
interacciones entre
aplicaciones cliente-servidor
o aplicaciones multihilo con
varios procesos.
El diagrama permite
representar durante el tiempo
de vida de un objeto su
comportamiento.

objeto: clase

create

objeto: clase

mensaje
autodelegacin

retorno

destroy

Diagrama de colaboracin
El significado de un diagrama de colaboracin es bastante similar al
diagrama de secuencia. Fudamentalmente se utiliza en el diseo de
la arquitectura de las aplicaciones para describir la traza de un
proceso.
objeto: clase
1: mensaje(..)

: clase

objeto
1.1*: mensaje(..)
1.2:[condicion] mensaje(..)

Diagrama de paquetes
Este diagrama se utiliza para representar los detalles del diseo de
la arquitectura de las aplicaciones.
Se representan las unidades de cdigo que se hayan desarrollado
as como la visibilidad entre ellas.
Para cada unidad se identifican los mdulos que contienen.
paquete B
paquete A
Clase A

Clase B

Clase C

Diagrama de estados
Este diagrama se puede utilizar
tanto el anlisis de requisitos de
usuario como en el diseo de la
arquitectura de las aplicaciones. Un
diagrama de estados se emplea
cuando el estado de un sistema u
objeto pueda afectar a su
comportamiento.
En el anlisis representa los
estados de un sistema, mientras
que el diseo representa los
estados de un objeto.

comienzo

Estado
Estado
var: tipo=valor
entry / accin
exit / accin
evento / accin
do / actividad

Estado

evento[condicin] / accin

Estado

Estado

Estado

fin

Diagrama de
emplazamiento
Para representar los componentes
de una plataforma hardware
(servidores, estaciones de trabajo,
terminales...) y software (bases de
datos, servicios, aplicaciones).
Es posible desarrollar varios
diagramas de emplazamiento, de
manera que se establezcan
posibles configuraciones diferentes.

nodo
componente

componente

También podría gustarte