0% encontró este documento útil (0 votos)
304 vistas78 páginas

Uml 2

The document discusses UML (Unified Modeling Language), including what it is, why it is used, its history and development, and the basic building blocks of UML models including elements, relationships, and diagrams. UML is a standard language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system.

Cargado por

mikcarh58
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descargue como PPT, PDF, TXT o lea en línea desde Scribd
Descargar como ppt, pdf o txt
0% encontró este documento útil (0 votos)
304 vistas78 páginas

Uml 2

The document discusses UML (Unified Modeling Language), including what it is, why it is used, its history and development, and the basic building blocks of UML models including elements, relationships, and diagrams. UML is a standard language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system.

Cargado por

mikcarh58
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descargue como PPT, PDF, TXT o lea en línea desde Scribd
Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1/ 78

PROGRAMACION DE SISTEMAS

UML

1 /78

MODELADO DE SOFTWARE

2 /78

Claves en Desarrollo de SI
Notacin

Herramientas

Proceso

3 /78

Abstraccin

El modelado captura las


partes esenciales del sistema
Orden
Item

envo

Proceso de Negocios
Sistema Computacional
4 /78

Notacin (Visual)
Manejar la complejidad

Interface de Usuario
(Visual Basic,
Java, ..)

Lgica del Negocio


(C++, Java, ..)

Mltiples Sistemas

Servidor de BDs
(C++ & SQL, ..)

Modelar el sistema
independientemente
del lenguaje de
implementacin

Componentes
Reutilizados

Promover la Reutilizacin
5 /78

UML

6 /78

Qu es UML?
Es un lenguaje estndar para crear planos de software
No es un lenguaje de programacin. Sin embargo permite
hacer una rpida transicin del modelo al cdigo.
Es una herramienta de la ingeniera de software.
UML = Unified Modeling Language
Un lenguaje de propsito general para el modelado orientado
a objetos. Impulsado por el Object Management Group
(OMG, www.omg.org)
Documento OMG Unified Modeling Language Specification
UML combina notaciones provenientes desde:

Modelado Orientado a Objetos


Modelado de Datos
Modelado de Componentes
Modelado de Flujos de Trabajo (Workflows)
7 /78

Por qu UML no es ingeniera de Software?


Las herramientas aportadas por UML describen muy bien al
sistema que se est modelando.
Sin embargo, escoger aquellos componentes que se
adapten mejor a cada sistema y el momento en que deben
ser utilizadas es decisin del diseador; precisamente este
tipo de decisiones solo se puede dar si se ha hecho todo un
proceso de ingeniera de software.
UML no es la nica herramienta de modelamiento.

8 /78

Por qu utilizar UML?


Porque recoge lo mejor de diferentes sistemas de
modelamiento.
Porque es adaptable a casi cualquier sistema.
Porque puede ser utilizado en la mayora de fases de un
proyecto. Qu ventajas trae esto?...

9 /78

Punto de Partida
Diversos mtodos y tcnicas OO, con muchos aspectos en
comn pero utilizando distintas notaciones
Inconvenientes
para
el
aprendizaje,
aplicacin,
construccin y uso de herramientas, etc.
Pugna entre distintos enfoques (y correspondientes gurs)

Establecer una notacin estndar

10 /78

UML en un proyecto
Dispone de herramientas que pueden ser utilizadas en la
mayora de fases de un proyecto de ingeniera de software.
Permite tener informacin consistente en cada fase. CADA
MODELO HACE REFERENCIA A OTROS MODELOS.
A partir de un diagrama de casos de uso es posible obtener
un diagrama de secuencias o un diagrama de clases.
A partir de un Diagrama de clases es posible obtener un
Diagrama de Secuencias, o viceversa.
A partir de la reunin de todos los modelos del sistema se
hace la implementacin. NO SOLO DEL DIAGRAMA DE
CLASES.
El cdigo es otro modelo de un sistema.
11 /78

UML Modelamiento
UML no hace ms fcil modelar. Permite hacer modelos
ms descriptivos.
El paradigma orientado a objetos permite crear modelos de
una forma ms lgica, ms sencilla.
UML se basa en el paradigma orientado a objetos.
Es difcil determinar cundo un modelo est bien hecho.
Modelar es casi un arte que exige mucha experiencia.
Un modelo podra considerarse aceptable en la medida en
que describa el sistema que se est representando.
Las mtricas permiten determinar la calidad de un
producto. Desgraciadamente son difciles de aplicar
especialmente en los sistemas Orientados a Objetos.
12 /78

Historia de UML
Comenz como el Mtodo Unificado, con la participacin
de Grady Booch y Jim Rumbaugh. Se present en el
OOPSLA95
El mismo ao se uni Ivar Jacobson. Los Tres Amigos son
socios en la compaa Rational Software. Herramienta
CASE Rational Rose

13 /78

Historia de UML
UML 2.0

2005?
2003
2000
1999
1998
Nov 97

UML 1.5
UML 1.4
UML 1.3

Revisiones
menores

UML 1.2
UML aprobado
por el OMG

14 /78

Participantes en UML 1.0


Rational Software
(Grady Booch, Jim Rumbaugh y Ivar
Jacobson)

Digital Equipment
Hewlett-Packard
i-Logix (David Harel)
IBM
ICON Computing
(Desmond DSouza)

Intellicorp and James Martin &


co. (James Odell)

MCI Systemhouse
Microsoft
ObjecTime
Oracle Corp.
Platinium Technology
Sterling Software
Taskon
Texas Instruments
Unisys

15 /78

UML aglutina enfoques OO


Rumbaugh
Booch

Jacobson

Odell

Meyer
Pre- and Post-conditions

Shlaer-Mellor
Object life cycles

UML
Harel

State Charts

Gamma et. al.


Frameworks, patterns,
notes

Embly
Singleton classes

Wirfs-Brock
Fusion

Responsabilities

Operation descriptions,
message numbering

16 /78

Aspectos Novedosos
Definicin semi-formal del Metamodelo de UML
Mecanismos de Extensin en UML:
Stereotypes
Constraints
Tagged Values
Permiten adaptar los elementos de modelado,
asignndoles una semntica particular

17 /78

Inconvenientes en UML
Definicin del proceso de desarrollo usando UML. UML no
es una metodologa.
No cubre todas las necesidades de especificacin de un
proyecto software. Por ejemplo, no define los documentos
textuales
Ejemplos aislados
Monopolio de conceptos, tcnicas y mtodos en torno a
UML y el OMG

18 /78

Perspectivas de UML
UML es el lenguaje de modelado orientado a objetos
estndar predominante ahora y en los prximos aos
Razones:
Participacin de metodlogos influyentes
Participacin de importantes empresas
Estndar del OMG
Evidencias:
Herramientas que proveen la notacin UML
Edicin de libros (ms de 300 en www.amazon.com)
Congresos, cursos, camisetas, etc.

19 /78

INTRODUCCION AL UML

20 /78

Modelos y Diagramas
Un modelo captura una vista de un sistema del mundo real.

Es una abstraccin de dicho sistema, considerando un cierto


propsito. As, el modelo describe completa-mente aquellos
aspectos del sistema que son relevantes al propsito del
modelo, y a un apropiado nivel de detalle.
Diagrama: una representacin grfica de una coleccin de

elementos de modelado, a menudo dibujada como un grafo


con vrtices conectados por arcos
OMG UML 1.4 Specification
21 /78

... Modelos y Diagramas


Un proceso de desarrollo de software debe ofrecer un conjunto de
modelos que permitan expresar el producto desde cada una de las
perspectivas de inters
El cdigo fuente del sistema es el modelo ms detallado del sistema
(y adems es ejecutable). Sin embargo, se requieren otros
modelos ...

Cada modelo es completo desde su punto de vista del sistema, sin


embargo, existen relaciones de trazabilidad entre los diferentes
modelos
22 /78

Diagramas de UML 1.5

Diagrama de Casos de Uso


Diagrama de Clases
Diagrama de Objetos
Diagramas de Comportamiento
Diagrama de Estados
Diagrama de Actividad
Diagramas de Interaccin
Diagrama de Secuencia
Diagrama de Colaboracin
Diagramas de implementacin
Diagrama de Componentes
Diagrama de Despliegue
23 /78

... Diagramas de UML


Los diagramas expresan grficamente partes de un modelo

Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Secuencia
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Colaboracin
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Estados

Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Casos de Uso

State
State
Diagramas de
Diagrams
Diagrams
Clases

Modelos

Diagramas de
Actividad

State
State
Diagramas de
Diagrams
Diagrams
Objetos
State
State
Diagramas de
Diagrams
Diagrams
Componentes

Component
Component
Diagrams
Diagramas
Diagrams de

Distribucin

24 /78

Organizacin de Modelos
4+1 vistas de Kruchten (1995)

Vista Lgica

Vista de
Realizacin

Vista de los
Casos de Uso
Vista de
Procesos

Vista de
Distribucin

Este enfoque sigue el browser de Rational Rose

25 /78

... Organizacin de Modelos


Propuesta de Rational Unified Process (RUP)
M. de Casos de Uso del Negocio (Business Use-Case
Model)
M. de Objetos del Negocio (Business Object Model)
M. de Casos de Uso (Use-Case Model)
M. de Anlisis (Analysis Model)
M. de Diseo (Design Model)
M. de Despliegue (Deployment Model)
M. de Datos (Data Model)
M. de Implementacin (Implementation Model)
M. de Pruebas (Test Model)
26 /78

Diagrama de Casos de Uso


Ingresar_Institucion
<<include>>

AdministradorNod
o

Actualizar_Institucin

<<include>>

Validar Datos Institucion

(from Actores)

<<include>>

Buscar_Institucin

27 /78

Diagrama de Secuencias

28 /78

Diagrama de Clases

29 /78

BLOQUES DE CONSTRUCCION
DEL UML

30 /78

Bloques de Construccin de UML


Elementos
Relaciones
Diagramas
Veremos los ms comunes y que seguramente utilizaremos
en los proyectos.

31 /78

ELEMENTOS

32 /78

Elementos

Estructurales
De Comportamiento
De Agrupacin
De Anotacin

33 /78

Elementos Estructurales - Clases


En su mayora son las partes estticas de un modelo.
Clases. Agrupan objetos atributos y operaciones similares.

Persona
nombre
apellido
fechaNacimiento
hablar()
dormir()
comer()
34 /78

Elementos Estructurales - Interfaz


Interfaz. Coleccin de operaciones que especifican un
servicio de una clase o componente. En una clase no se
define la implementacin de las operaciones.

Interfaz
35 /78

Elementos Estructurales - Interfaz


Ya hemos utilizado interfaces.
En el paquete ingenieriaSoftwareInstrumentacion, Dibujable
es una interfaz.
Dibujable permite que las clases que la implementen se
puedan dibujar en un PanelInstrumentos.

36 /78

Elementos Estructurales - Interfaz


public interface Dibujable
{
public void dibujese(PanelInstrumentos panel,Graphics g);
}

37 /78

Elementos Estructurales casos de uso


Descripcin de una secuencia de acciones.
Describen la interaccin entre actores y sistema.

Caso de Uso

38 /78

Elementos

Estructurales
De Comportamiento
De Agrupacin
De Anotacin

39 /78

Elementos de Comportamiento
Partes dinmicas de los modelos.
Interacciones. Comportamiento que comprende un conjunto de
mensajes intercambiados entre un conjunto de objetos, dentro de
un contexto particular, para alcanzar un propsito especfico.

Dibujar

40 /78

Conjunto de interacciones
OBJETO

41 /78

Elementos de Comportamiento
Mquina de Estados. Especifica la secuencia de estados
por las que pasa un objeto.

Esperando
Representacin
de un estado

42 /78

Elementos

Estructurales
De Comportamiento
De Agrupacin
De Anotacin

43 /78

Elementos de Agrupacin
Partes organizativas de UML.
Paquetes. Permite organizar elementos en grupos. Todos los
elementos vistos hasta el momento pueden agruparse en paquetes.

ingenieriaSoftwareInstrumentacion

44 /78

Paquetes agrupando Casos de Uso

Ingresar_Institucion
<<include>>

Instituciones
AdministradorNod
o

Actualizar_Institucin

<<include>>

Validar Datos Institucion

(from Actores)

<<include>>

Buscar_Institucin

45 /78

Paquetes en UML
Los paquetes ofrecen un mecanismo general para la
organizacin de los modelos/subsistemas agrupando
elementos de modelado
Se representan grficamente como:

Nombre de
paquete

46 /78

Paquetes en UML
Cada paquete corresponde a un submodelo (subsistema)
del modelo (sistema)
Un paquete puede contener otros paquetes, sin lmite de
anidamiento pero cada elemento pertenece a (est definido
en) slo un paquete
Una clase de un paquete puede aparecer en otro paquete
por la importacin a travs de una relacin de dependencia
entre paquetes

47 /78

Paquetes en UML
Todos los elementos no son necesariamente visibles desde el exterior
del paquete, es decir, un paquete encapsula a la vez que agrupa
El operador :: permite designar una clase definida en un contexto
distinto del actual

48 /78

...Paquetes en Rational Rose


Customers

Otra Clase

Customers

CheckingAccount

<<access>>

Banking

(f rom Banking)

Banking

CheckingAccount

49 /78

Paquetes en UML

50 /78

Elementos

Estructurales
De Comportamiento
De Agrupacin
De Anotacin

51 /78

Elementos de Anotacin
Notas. Permiten explicar el modelo.

NOTA

52 /78

Elementos de Anotacin

<<screen>>
FormularioUsuarios
(from GUI)

addInstitution()
$display_VistaInformacionU()

<<screen>>
FormularioInstituciones
(from GUI)

Cuando se ingresa una


institucin debe
agregarse su nombre a
la informacin del
Formulario de Usuarios

Con esta pantalla


interacta el usuario al
ingresar la institucin.

<<create>> FormularioInstituciones()
$display_VistaInformacionI()
$addNameInst_FormUsers()
$display_InsertAdmNodo_msg()

53 /78

RELACIONES

54 /78

Bloques de Construccin de UML


Elementos
Relaciones
Diagramas

55 /78

Relaciones

Dependencia
Asociacin
Generalizacin
Realizacin

56 /78

Relaciones
Dependencia: Un cambio en B puede afectar a A.
ClaseA

ClaseB

Asociacin: Dos objetos estn conectados.


ClaseA

ClaseB

57 /78

Relaciones
Generalizacin: A es hijo de B.
ClaseA

ClaseB

Realizacin: B especifica un contrato que A garantiza que


cumplir.
ClaseA

Interfaz

58 /78

DIAGRAMAS

59 /78

Bloques de Construccin de UML


Elementos
Relaciones
Diagramas

60 /78

Diagramas
Renen lo visto hasta el momento.
Diagrama de clases.
Diagrama de objetos.
Diagrama de casos de uso.
Diagramas de Secuencia.
Diagramas de Colaboracin.
Diagrama de Estados.
Diagrama de Actividades.
Diagrama de Componentes.
Diagrama de Despliegue.

61 /78

Diagrama de Casos de Uso


Casos de Uso es una tcnica para capturar informacin
respecto de los servicios que un sistema proporciona a su
entorno
No pertenece estrictamente al enfoque orientado a objeto,
es una tcnica para captura y especificacin de requisitos

62 /78

Ejemplos
Ejemplo:
Retirar dinero

Cliente

Consultar Extracto

Realizar transferencia

63 /78

Diagrama de Secuencia

: Encargado

:WInPrstamos

:Socio

:Video

:Prstamo

prestar(video, socio)
verificar situacin socio
verificar situacin video
registrar prstamo
entregar recibo

64 /78

Diagrama de Colaboracin
:Socio

:Video
2: verificar situacin socio

1: prestar(video, socio)

3: verificar situacin video


:WInPrstamos

5: entregar recibo
: Encargado

4: registrar prstamo

:Prstamo

65 /78

Diagrama de Clases
El Diagrama de Clases es el diagrama principal para el
anlisis y diseo del sistema
Un diagrama de clases presenta las clases del sistema con
sus relaciones estructurales y de herencia
La definicin de clase incluye definiciones para atributos y
operaciones
El modelo de casos de uso debera aportar informacin
para establecer las clases, objetos, atributos y operaciones

66 /78

Ejemplos (Clase y Visibilidad)

Alumno
DNI : char[10]
nmero_exp : int
nombre : char[50]
alta()
poner_nota(asignatura : char *, ao : int, nota : float)
matricular(cursos : asignatura, ao : int)
listar_expediente()

67 /78

Ejemplos (Asociacin)

Departamento

dirige
0..1

director

Profesor
1

68 /78

Ejemplos (Clase Asociacin)

Empresa

empleador

trabajadores

Empleado

1..*

Cargo
nombre
sueldo

superior
0..1

subordinado 1..*

69 /78

Ejemplos (Generalizacin)

Trabajador

{ disjunta, completa }

Directivo

Administrativo

Obrero

70 /78

Ejemplos
Motor
1..4

1
Avin

Vendedor de billetes

Piloto

1..2

Vuelo

Reserva

{ disjunta, completa }

1
Avin militar

Avin comercial

Lnea area

{ disjunta, completa }

Avin de carga

Avin de pasajeros

71 /78

Diagrama de Estados

alta

baja

sin prstamos

nmero_prstamos = 0

Socio
nmero : int
nombre : char[50]
nmero_prestamos : int = 0

prestar

devolver[ nmero_prstamos = 1 ]

alta()
baja()
prestar(cdigo_libro : int, fecha : date)
devolver(cdigo_libro : int, fecha : date)

nmero_prstamos > 0
con prstamos
prestar

devolver[ nmero_prstamos > 1 ]

72 /78

Diagrama de Actividad
Buscar Bebida

[ no hay caf ]

[ no zumo ]

[ hay caf ]
[ hay zumo ]
Poner caf
en filtro

Aadir agua
al depsito

Coger taza
Coger
zumo

Poner filtro
en mquina

Encender
mquina
/ cafetera.On
Caf en
preparacin
indicador de fin
Servir caf

Beber

73 /78

Diagrama Componentes
Interfaz de Terminal

Gestin de Cuentas

Rutinas de conexin

Control y Anlisis

Acceso a BD

74 /78

Diagrama de Despliegue
Servidor Central

Control y Anlisis
Comment

Acceso a BD
Comment
Rutinas de Coneccion
Comment

Terminal de Consulta
Rutinas de Coneccion
Comment
Punto de Venta

Interfaz de Terminal
Comment

Rutinas de Coneccion
Comment

Gestin de Cuentas

Interfaz de Terminal

Comment

Comment

75 /78

Diagrama de Despliegue en Rational


Control y Anlisis
Acceso a BD

Servidor Central
Component Diagram:
Components / Servidor
Central

Rutinas de conexin

Servidor Central

Punto de Venta

Punto de Venta

Terminal de
Consulta

Gestin de Cuentas

Terminal de Consulta

Component Diagram:
Components / Punto de
Venta

Component Diagram:
Components / Terminal
de Consulta

Rutinas de conexin

Rutinas de conexin

Interfaz de Terminal

Interfaz de Terminal

76 /78

Resumen
UML define una notacin que se expresa como diagramas
sirven para representar modelos/subsistemas o partes de
ellos
El 80 por ciento de la mayora de los problemas pueden
modelarse usando alrededor del 20 por ciento de UML-Grady Booch

77 /78

Bibliografa Adicional
UML
www.omg.org/uml/
Meta-links www.cetus-links.org/oo_uml.html
Martin Fowler, autor de UML Destilled (UML Gota a Gota)
http://www.martinfowler.com/
Herramientas CASE
Herramientas basadas en UML
www.objectsbydesign.com/tools/umltools_byPrice.html
International Council in SE (INCOSE) www.incose.org/tools/
Otras
Revista IEEE Software, Conferencias: OOPSLA, ECOOP
Patrones http://www.cmcrossroads.com/bradapp/docs/patternsintro.html,
Foro UML en yahoo: http://groups.yahoo.com/group/uml-forum/
78 /78

También podría gustarte