Está en la página 1de 43

Grupo de Ingeniera de Software / CIMAT

Presentacin
Cmo Aprender UML?
Grupo de Ingeniera de Software
Centro de Investigacin en Matemticas
Guanajuato, Mxico 2007
Desarrollada por: Efran Salomn Flores
Correo electrnico: esalomon@cimat.mx

2007 by ESF

Pres. Cmo Aprender UML? / 1

Grupo de Ingeniera de Software / CIMAT

Objetivos de la Presentacin
Describir las semejanzas entre el UML y el Lenguaje
Escrito.
Mostrar la representacin de los conceptos de la
orientacin a objetos en UML.
Presentar un subconjunto de los diagramas de UML
aplicados a un caso de estudio.

2007 by ESF

Pres. Cmo Aprender UML? / 2

Grupo de Ingeniera de Software / CIMAT

Puntos a Tratar
1.
2.
3.
4.
5.
6.
7.

Introduccin
Caso de Estudio
Alfabeto, Palabras y Sentencias
Modelado Orientado a Objetos
Prrafos
Secciones
Documentos

2007 by ESF

Pres. Cmo Aprender UML? / 3

Grupo de Ingeniera de Software / CIMAT

1. Introduccin
1.1 Qu es UML?
1.2 UML vs Lenguaje Escrito
1.3 Los Tres Aspectos de UML
1.4 Historia
1.5 UML y los Procesos

2007 by ESF

Pres. Cmo Aprender UML? / 4

Grupo de Ingeniera de Software / CIMAT

1.1 Qu es UML?
Definicin:
UML es un lenguaje para modelar y comunicar informacin
sobre sistemas, para lo cual se usan diagramas y texto.
Administrador
Nombre
IniciarProyecto()
TerminarProyecto()

Dirige

Equipo
Descripcin

2007 by ESF

Administra
Proyecto
Nombre
FechaDeInicio
FechaDeFin
Pres. Cmo Aprender UML? / 5

Grupo de Ingeniera de Software / CIMAT

1.2 UML vs Lenguaje Escrito


Un administrador dirige un equipo
que trabaja en un proyecto.

Administrador
Nombre
Telefono
Administra

IniciarProyecto()
TerminarProyecto()
Dirige
Equipo
Descripcion

2007 by ESF

Ejecuta

Proyecto
Nombre
FerchaDeInicio
FichaDeFin

Cada administrador tiene un nombre


y un nmero de telfono, adems
puede iniciar o terminar un proyecto.
Cada proyecto tiene un nombre, una
fecha de inicio y una fecha de fin.
Cada equipo tiene una descripcin,
y eso es todo lo que nos interesa
con respecto al equipo.

Pres. Cmo Aprender UML? / 6

Grupo de Ingeniera de Software / CIMAT

1.3 Los Tres Aspectos de UML


Lenguaje
Nos permite la comunicacin sobre un tema o concepto
determinado.

Modelo
Es una representacin de un tema.

Unificado
Habla de los diferentes esfuerzos para tener un lenguaje
comn.
2007 by ESF

Pres. Cmo Aprender UML? / 7

Grupo de Ingeniera de Software / CIMAT

1.4 Historia
El Perodo de Fragmentacin, entre la mitad de 1970 y la mitad
de 1990.
El Mtodo Booch `93.
La Tcnica de Modelado de Objetos de James Rumbaugh.
El mtodo de Ingeniera de Software Orientado a Objetos de
Ivar Jacobson.
El Perodo de Unificacin, entre la mitad de 1990 y la mitad de
1997.
James Rumbaugh y posteriormente Ivar Jacobson, se unieron
a Grady Booch para unificar sus mtodos.
Inicios 1997 UML 1.0.

2007 by ESF

Pres. Cmo Aprender UML? / 8

Grupo de Ingeniera de Software / CIMAT

1.4 Historia
El Perodo de Estandarizacin:
La OMG adopto UML y asumi la responsabilidad de su
desarrollo.
Hacia finales 1997 se libero la versin 1.1 de UML.
El Perodo de Revisin:
Varios vendedores empezaron a dar soporte y promocin.
Surgieron varias versiones de UML.
Octubre 2004 y Noviembre 2005 UML 2.0
El Perodo de Industrializacin.
La OMG esta proponiendo que UML se convierta en un
estndar internacional a travs de la ISO.

2007 by ESF

Pres. Cmo Aprender UML? / 9

Grupo de Ingeniera de Software / CIMAT

1.5 UML y los Procesos


UML es independiente de los procesos.
Sus creadores promueven un proceso que es:
Dirigido por casos de uso (use-case driven).
Iterativo
Incremental

Sin embargo UML puede ser utilizado en cualquier


proceso.
2007 by ESF

Pres. Cmo Aprender UML? / 10

Grupo de Ingeniera de Software / CIMAT

2.1 Caso de Estudio


Un sistema de administracin de proyectos provee
funcionalidad para manejar proyectos, recursos y
administrar el sistema.
El administrador del proyecto:
Utiliza el sistema para administrar proyectos.
Dirige al equipo para que lleve a cabo el proyecto dentro de
las fechas de inicio y fin.
Una vez que el proyecto es creado el administrador puede
iniciarlo, y posteriormente terminarlo.

2007 by ESF

Pres. Cmo Aprender UML? / 11

Grupo de Ingeniera de Software / CIMAT

3.1 Alfabeto
Define las partes ms simples de un lenguaje:
Letras, caracteres, signos y etiquetas.

El lenguaje escrito esta conformado por 27 Letras.


El lenguaje UML esta conformado por fragmentos de
smbolos (rectngulos, lneas y otros elementos
grficos) y cadenas de caracteres.

2007 by ESF

Pres. Cmo Aprender UML? / 12

Grupo de Ingeniera de Software / CIMAT

3.2 Palabras
Son una agrupacin de elementos del alfabeto del
lenguaje que definen una unidad con significado.
Las palabras en UML son los conceptos y las
relaciones.
ProductoDeTrabajo
Requerimiento

Sistema
Proyecto

Equipo

2007 by ESF

Administrador

Pres. Cmo Aprender UML? / 13

Grupo de Ingeniera de Software / CIMAT

3.3 Sentencias
Son una agrupacin de palabras que definen una unidad
gramatical que contiene significado y una expresin sobre
un tema.
Las sentencias en UML son fragmentos de diagramas o
diagramas muy simples.
Equipo

Ejecuta
Proyecto

2007 by ESF

Pres. Cmo Aprender UML? / 14

Grupo de Ingeniera de Software / CIMAT

3.3 Sentencias
La gramtica de un lenguaje especifica las reglas para
poder combinar las palabras y formar sentencias.
Administrador
Dirige

Administra

Equipo

Equipo

2007 by ESF

Dirige

Proyecto

Administrador

Administra

Proyecto

Pres. Cmo Aprender UML? / 15

Grupo de Ingeniera de Software / CIMAT

4. Modelado Orientado a Objetos


4.1 Conceptos Generales y Especficos
4.2 Clases, Asociaciones, Objetos y Ligas
4.3 Atributos y Valores
4.4 Operaciones y Mtodos
4.5 Mensajes y Estmulos
4.6 Generalizacin
4.7 Polimorfismo

2007 by ESF

Pres. Cmo Aprender UML? / 16

Grupo de Ingeniera de Software / CIMAT

4.1 Conceptos Generales y Especficos


Conceptos Generales:

Conceptos Especficos:

Clases.

Objetos.

Asociaciones.

Ligas.

Atributos.

Valores.

Operaciones.

Mtodos.

Mensajes.

Estmulos.

2007 by ESF

Pres. Cmo Aprender UML? / 17

Grupo de Ingeniera de Software / CIMAT

4.2 Clases, Asociaciones, Objetos y Ligas


Administrador
Dirige
Equipo

Administra
Proyecto

Juan : Administrador

Dirige
: Equipo
2007 by ESF

Administra
guila : Proyecto
Pres. Cmo Aprender UML? / 18

Grupo de Ingeniera de Software / CIMAT

4.3 Atributos y Valores


Administrador
Nombre

Dirige

Administra

Equipo
Descripcin

Proyecto
Nombre
FechaDeInicio
FechaDeFin

Juan : Administrador
- Nombre = "Juan Castillo Salmon"

Dirige

: Equipo
- Descripcin = "Equipo que incluye anlistas, usuarios
finales, arquitectos, diseadores,
desarrolladores y examinadores"
2007 by ESF

Administra

guila : Proyecto
- FechaDeFin = Enero 1, 2003
- FechaDeInicio = Enero 1, 2002
- Nombre = "Eagle"
Pres. Cmo Aprender UML? / 19

Grupo de Ingeniera de Software / CIMAT

4.4 Operaciones y Mtodos


class Administrador {
String Nombre;
void IniciarProyecto (){
...
}
Administrador
Nombre

void IniciarProyecto (Date fecha){


...
}

IniciarProyecto()
TerminarProyecto()

void TerminarProyecto (){


...
}
}

Dirige

Equipo
Descripcin

2007 by ESF

Administra
Proyecto
Nombre
FechaDeInicio
FechaDeFin

Pres. Cmo Aprender UML? / 20

Grupo de Ingeniera de Software / CIMAT

4.5 Mensajes y Estmulos


Administrador

2: asignarActividades

1: obtenerRequerimientos

3: asignarTareas

Proyecto

Equipo

Juan : Administrador

2: asignarActividades

1: obtenerRequerimientos

3: asignarTareas

: Equipo
2007 by ESF

guila : Proyecto
Pres. Cmo Aprender UML? / 21

Grupo de Ingeniera de Software / CIMAT

4.6 Generalizacin
Indica que una clase especfica recibe los atributos,
relaciones, operaciones y mtodos de una clase general.
ProductoDeTrabajo
PorcentajeCompletado
Descripcin
Validar()

2007 by ESF

Requerimiento
PorcentajeCompletado
Descripcin
Media

Sistema
PorcentajeCompletado
Descripcin
Plataforma

Validar()
Publicar()

Validar()
Deploy()
Pres. Cmo Aprender UML? / 22

Grupo de Ingeniera de Software / CIMAT

4.7 Polimorfismo
Es la habilidad de tener varios mtodos para una sola
operacin.
ProductoDeTrabajo
PorcentajeCompletado
Descripcin
Validar()

2007 by ESF

Requerimiento
PorcentajeCompletado
Descripcin
Media

Sistema
PorcentajeCompletado
Descripcin
Plataforma

Validar()
Publicar()

Validar()
Deploy()

Pres. Cmo Aprender UML? / 23

Grupo de Ingeniera de Software / CIMAT

5. Prrafos
5.1 Diagramas de Clases
5.2 Diagramas de Objetos
5.3 Diagramas de Casos de Uso
5.4 Diagramas de Secuencia
5.5 Diagramas de Colaboracin

2007 by ESF

Pres. Cmo Aprender UML? / 24

Grupo de Ingeniera de Software / CIMAT

5. Prrafos
Un prrafo es un grupo de sentencias con un tema en
comn.
Los prrafos en UML son los diagramas:
Modelado de Estructura:
Diagramas de Clases, de Objetos, de Casos de Uso, de
Componentes, de Deployment, de Paquetes y
Subsistemas.
Modelado de Comportamiento:
Diagramas de Secuencia, de Colaboracin, de Estado, y
de Actividad.

2007 by ESF

Pres. Cmo Aprender UML? / 25

Grupo de Ingeniera de Software / CIMAT

5.1 Diagramas de Clases


ProductoDeTrabajo
PorcentajeCompletado
Descripcin
Validar()

Sistema
PorcentajeCompletado
Descripcin
Plataforma

Requerimiento
PorcentajeCompletado
Descripcin
Media

Validar()
Deploy()

Salida
Entrada

Validar()
Publicar()

Proyecto
Nombre
FechaDeInicio
FechaDeFin

Administrar

Administrador
Nombre
Telefono

2007 by ESF

IniciarProyecto()
TerminarProyecto()

Dirige

Entrada
Salida

Ejecuta

Equipo
Descripcin

Pres. Cmo Aprender UML? / 26

Grupo de Ingeniera de Software / CIMAT

5.1 Diagramas de Clases


El administrador del proyecto utiliza el sistema de administracin
de proyectos para manejar un proyecto. El administrador del
proyecto dirige al equipo para que lleve a cabo el proyecto dentro
de las fechas de inicio y fin de dicho proyecto, una vez que el
proyecto es creado en el sistema de administracin de proyectos,
el administrador puede iniciarlo, y posteriormente terminarlo, una
vez que se haya completado o por cualquier otra razn.
Como entrada un proyecto recibe requerimientos, y como salida,
un proyecto produce un sistema. Tanto los requerimientos como
el sistema son productos de trabajo, es decir productos que son
creados, usados, optimizados y elaborados durante el proyecto.
Cada uno de estos productos tienen una descripcin, un
porcentaje de completado (que se mide a travs de un esfuerzo) y
pueden ser validados. Sin embargo la validacin depende del tipo
de producto de trabajo. Por ejemplo los requerimientos son
validados por los usuarios en juntas de trabajo y el sistema es
validado a travs de pruebas que comparan el sistema versus los
requerimientos. Adicionalmente, los requerimientos pueden ser
publicados utilizando diferentes tipos de medios, por ejemplo a
travs de una intranet o en papel; los sistemas pueden ser
colocados en plataformas especficas.
2007 by ESF

Pres. Cmo Aprender UML? / 27

Grupo de Ingeniera de Software / CIMAT

5.2 Diagramas de Objetos


Req-Cliente :
Requerimiento

Entrada

Salida
Condor : Proyecto

Administra

Entrada

Ejecuta

Dirige

: Equipo

Dirige

: Equipo

Halcn : Proyecto

Dirige
Juan : Administrador

Requerimientos Comunes :
Requerimiento

Entrada

Ejecuta
Administra

Solucin en .Net :
Sistema

Salida

Solucin en Java :
Sistema

: Equipo
Descripcin = "Este es el equipo del Proyecto guila"

Nombre = "Juan Prez"

Ejecuta
Administra
Entrada
: Requerimiento
Porcentaje Completado = 50%
Descripcin = "Este es el requerimiento
para el Sistema de Administracin
de Proyectos"
2007 by ESF

guila : Proyecto
Nombre = "guila"
Fecha de Inicio = Enero 1, 2002
Fecha de Fin = Enero 1, 2003

Salida
: Sistema
Porcentaje Completado = 50%
Descripcin = "Este es el Sistema de
Administracin de Proyectos"
Pres. Cmo Aprender UML? / 28

Grupo de Ingeniera de Software / CIMAT

5.2 Diagramas de Objetos


El sistema de administracin de proyectos debe manejar el
siguiente escenario:
Juan quien es un administrador de proyectos, maneja tres proyectos,
que se llaman, guila, Halcn, y Cndor.
Todos los proyectos involucran equipos annimos o sin nombre.
El proyecto guila esta desarrollando un sistema de administracin
de proyectos, similar al que se esta utilizando de ejemplo.
El proyecto Halcn esta utilizando la plataforma Java para producir
otro tipo de sistema, que esta dirigido hacia un amplio mercado.
El proyecto Cndor esta utilizando la plataforma Microsoft .Net para
producir un sistema similar al del proyecto Halcn, pero este tiene
requerimientos especficos de organizacin adicionales. Por
consiguiente los proyectos Halcn y Cndor comparten
requerimientos comunes.
2007 by ESF

Pres. Cmo Aprender UML? / 29

Grupo de Ingeniera de Software / CIMAT

5.3 Diagramas de Casos de Uso

AdministradorDel
Proyecto

2007 by ESF

AdministrarProyecto
AdministrarPro

Descripcin General.

Actores.

Precondiciones.

Flujo Principal de Eventos.

Flujo Alternativo (Excepciones).

Poscondiciones.

Escenarios.

Pres. Cmo Aprender UML? / 30

Grupo de Ingeniera de Software / CIMAT

5.3 Diagramas de Casos de Uso

Administrador de Proyecto

Administracion del proyecto y


Actividad del Registro

Administrador de Sistema

Administrador del Sistema y


Actividad del Registro
<<Actor>>
Sistema de Respaldo
Adminstrador de recursos

2007 by ESF

Administracion de Recursos y
Actividad del Registro

Pres. Cmo Aprender UML? / 31

Grupo de Ingeniera de Software / CIMAT

5.3 Diagramas de Casos de Uso


Administracion de Proyecto
Administrador de Projecto
Administrador de Sistemas
<<include>>

<<include>>

Actividad de Registro

Administrador de Sistemas

<<include>>

<<Actor>>
Sistema de
Respaldo

Administracion de Recursos
Administrador de Recursos

2007 by ESF

Pres. Cmo Aprender UML? / 32

Grupo de Ingeniera de Software / CIMAT

5.3 Diagramas de Casos de Uso


Administracion del Proyecto
por si mismo

Administrador de Proyecto

Administracion del Proyecto


por Actividad

Administrar Proyecto
por Tarea

<<extender>>

Mantener Proyecto

<<extender>>
<<extender>>
Administacion de Proyecto

Mantener Actividad

Administrador de Proyecto

Mantener Tarea
2007 by ESF

Pres. Cmo Aprender UML? / 33

Grupo de Ingeniera de Software / CIMAT

5.3 Diagramas de Casos de Uso

Actores del sistema de administracin de proyecto son:


Administrador de proyecto
Responsable de asegurarse de que un proyecto entregue un
producto de calidad dentro de un tiempo y costo especificado, y
adentrado a una limitacin de recursos especficos.
Administrador de recursos
Responsable de asegurar que se entrene y especialice a los
recursos humanos para que estos estn disponibles para los
proyectos
Recursos humanos
Responsable de asegurarse de que las habilidades del trabajador
estn mantenidas, y de que el trabajo de la calidad sea
completado para un proyecto
Administrador de sistema
Responsable de asegurarse que un proyecto de sistema de
administracin este disponible para un proyecto
Sistema de reserva
Responsable de la cubierta de datos de reserva para el proyecto
de sistema administrativo

2007 by ESF

Pres. Cmo Aprender UML? / 34

Grupo de Ingeniera de Software / CIMAT

5.3 Diagramas de Casos de Uso


Un administrador del proyecto utiliza el sistema de administracin
de proyectos para administrar un proyecto.
Los requisitos funcionales para el proyecto de sistema
administrativo incluyen: funcionalidad de la seguridad (tal como
permitir que los usuarios abran una sesin y fuera del sistema),
entrada de datos, proceso de datos, generacin de informes.
La actividad del registro de casos de uso es comn al manejo del
proyecto, se maneja el recurso, y se administran los casos de uso
del sistema.
Los proyectos se conforman de actividades, y las actividades se
conforman de tareas, as que un administrador de proyecto puede
manejar los proyectos, sus actividades, o sus tareas.

2007 by ESF

Pres. Cmo Aprender UML? / 35

Grupo de Ingeniera de Software / CIMAT

5.4 Diagramas de Secuencia

Manejo de Roles:

2007 by ESF

Boundary
Control
Entity

Pres. Cmo Aprender UML? / 36

Grupo de Ingeniera de Software / CIMAT

5.5 Diagramas de Colaboracin


InterfazDe
Usuario
Administrador
DelProyecto

1: IngresarNombre
2: IngresarTelefono
3: IngresarNomAdministrador
4: IngresarFechaInicio
5: IngresarFechaFin
6: IngresaDscReq
7: IngresarDscSistema
8: IngresarDscEquipo
9: Enviar

10: PeticinDel
Proceso

2007 by ESF

17: asignar
DscSistema

Sistema

13: asinar
NomProyecto

11: asignarNom
Administrador

Administrador

18: asignar
DscEquipo

19: Confirmar
ParaTerminar
Manejador
AdministradorDelProyecto

12: asignar
Telefono

Equipo

16: asignar
DscReq

14: asignar
FechaInicio
15: asignar
FechaFin
Proyecto

Requerimiento

Pres. Cmo Aprender UML? / 37

Grupo de Ingeniera de Software / CIMAT

5.5 Diagramas de Colaboracin


Cuando se crea un proyecto, el administrador de proyectos utiliza
un interfaz de usuario para ingresar:
Sus datos para poder ser contactado (como mnimo su nombre y tu
nmero de telfono),
El nombre del proyecto, la fecha de inicio y de fin,
Y una descripcin de los requerimientos y del sistema, as como una
descripcin del equipo.

Una vez que la informacin requerida es ingresada, el sistema


procesa adecuadamente la solicitud guardando la informacin y
confirmando la operacin.

2007 by ESF

Pres. Cmo Aprender UML? / 38

Grupo de Ingeniera de Software / CIMAT

6. Secciones
Una seccin es un grupo de prrafos con un tema en
comn.
Las secciones de UML son las vistas arquitectnicas
que agrupan un conjunto especfico de conceptos.
Vocabulary
Functionability

System assembly
Configuration management

Design View
Behavior

Use Case
View
Process View

Performance
Scalability
Throughput
2007 by ESF

Implementation
View

Deployment View

System topology
Distribution
Delivery
Installation
Pres. Cmo Aprender UML? / 39

Grupo de Ingeniera de Software / CIMAT

7. Documentos
Un documento es un grupo de secciones sobre un
tema comn.
Los documentos de UML son los modelos.

2007 by ESF

Pres. Cmo Aprender UML? / 40

Grupo de Ingeniera de Software / CIMAT

Resumen
Recordar que UML es un Lenguaje que sirve para Modelar, y se
pretende sea ampliamente utilizado.
Al aprender UML es importante concentrarse en lo esencial y
entender cmo aplicarlo de manera efectiva.
Trabajar en los elementos bsicos de los siguientes diagramas:

Diagramas de Clases
Diagramas de Objetos
Diagramas de Casos de Uso
Diagramas de Secuencia
Diagramas de Colaboracin

Al trabajar con UML se necesita diferenciar los Conceptos


Generales de los Conceptos Especficos.
2007 by ESF

Pres. Cmo Aprender UML? / 41

Grupo de Ingeniera de Software / CIMAT

Bibliografa:
Learning UML

Sinan Si Alhir
0-596-00344-7
2003
O'Reilly

2007 by ESF

Pres. Cmo Aprender UML? / 42

Grupo de Ingeniera de Software / CIMAT

Preguntas?

Fin

2007 by ESF

Pres. Cmo Aprender UML? / 43

También podría gustarte