cursopartei clasico

47
1   www.dsic.upv.es/~uml Desarrollo de Software Orientado a Objeto usando UML Patricio Letelier Torres [email protected] Departamento Sistemas Informáticos y Compu tación (DSIC ) Universidad Pol itécnica de Valencia (UPV) - España

Upload: 1313john1313

Post on 04-Mar-2016

23 views

Category:

Documents


0 download

DESCRIPTION

sistemas informáticos administrativos

TRANSCRIPT

Page 1: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 1/47

1 www.dsic.upv.es/~uml

Desarrollo de SoftwareOrientado a Objeto usando UML

Patricio Letelier [email protected]

Departamento Sistemas Informáticos y Computación (DSIC)

Universidad Politécnica de Valencia (UPV) - España

Page 2: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 2/47

2 www.dsic.upv.es/~uml

ContenidoI. Introducción

– Modelado de Software – UML

II. Breve Tour por UMLIII. El Paradigma Orientado a Objeto usando UML

– Fundamentos del Modelado OO – Diagrama de Casos de Uso – Diagramas de Interacciones – Diagrama de Clases – Diagrama de Estados / Diagramas de Actividad – Diagrama de Componentes – Diagrama de Despliegue

IV. Proceso de Desarrollo de SW basado en UML V. Conclusiones

Page 3: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 3/47

3 www.dsic.upv.es/~uml

Introducción

Modelado de SW

Page 4: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 4/47

4 www.dsic.upv.es/~uml

Construcción de una casa para “fido”

Puede hacerlo una sola personaRequiere:

Modelado mínimoProceso simpleHerramientas simples

I. Introducción: Modelado de SW

Page 5: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 5/47

5 www.dsic.upv.es/~uml

Construcción de una casa

Construida eficientemente y en un tiemporazonable por un equipoRequiere:

ModeladoProceso bien definidoHerramientas más sofisticadas

I. Introducción: Modelado de SWI

Page 6: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 6/47

6 www.dsic.upv.es/~uml

Construcción de un rascacielos

I. Introducción: Modelado de SI

Page 7: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 7/477

www.dsic.upv.es/~uml

Claves en Desarrollo de SI

Herramientas Proceso

Notación

I. Introducción: Modelado de SWI

Page 8: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 8/478

www.dsic.upv.es/~uml

Introducción: UML

Page 9: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 9/479

www.dsic.upv.es/~uml

¿Qué es UML?

UML = Unified Modeling Language

Un lenguaje de propósito general para elmodelado orientado a objetos

Documento “OMG Unified Modeling LanguageSpecification”

UML combina notaciones provenientes desde:

• Modelado Orientado a Objetos• Modelado de Datos• Modelado de Componentes• Modelado de Flujos de Trabajo (Workflows)

I. Introducción: UML

Page 10: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 10/47

10 www.dsic.upv.es/~uml

Situación de PartidaDiversos métodos y técnicas OO, con muchos aspectosen común pero utilizando distintas notaciones

Inconvenientes para el aprendizaje, aplicación,construcción y uso de herramientas, etc.Pugna entre distintos enfoques (y correspondientesgurús)

Establecer una notación estándar

I. Introducción: UML

Page 11: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 11/47

11 www.dsic.upv.es/~uml

Historia de UMLComenzó como el “Método Unificado”, con laparticipación de Grady Booch y Jim Rumbaugh.Se presentó en el OOPSLA’95

El mismo año se unió Ivar Jacobson. Los “Tres Amigos” son socios en la compañía RationalSoftware. Herramienta CASE Rational Rose

I. Introducción: UML

Page 12: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 12/47

12 www.dsic.upv.es/~uml

Historia de UML

Nov ‘97 UML aprobado por el OMG

1998

1999

2000

UML 1.2

UML 1.3

UML 1.42001

UML 2.0

Revisiones menores

I. Introducción: UML

Page 13: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 13/47

13 www.dsic.upv.es/~uml

Participantes en UML 1.0Rational Software(Grady Booch, Jim Rumbaugh yIvar Jacobson)

Digital EquipmentHewlett-Packardi-Logix (David Harel)

IBMICON Computing(Desmond D’Souza)Intellicorp and JamesMartin & co. (James Odell)

MCI SystemhouseMicrosoftObjecTime

Oracle Corp.Platinium TechnologySterling SoftwareTaskonTexas InstrumentsUnisys

I. Introducción: UML

Page 14: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 14/47

14 www.dsic.upv.es/~uml

UML “aglutina ” enfoques OO

UML

Rumbaugh

Jacobson

Meyer

Harel

Wirfs-BrockFusion

Embly

Gamma et. al.

Shlaer-Mellor

Odell

Booch

Pre- and Post-conditions

State Charts

Responsabilities

Operation descriptions,

message numbering

Singleton classes

Frameworks, patterns,notes

Object life cycles

I. Introducción: UML

d ó

Page 15: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 15/47

15 www.dsic.upv.es/~uml

Aspectos NovedososDefinición semi-formal del Metamodelo de UML

Mecanismos de Extensión en UML: Stereotypes

Constraints Tagged Values

Permiten adaptar los elementos de modelado,asignándoles una semántica particular

I. Introducción: UML

I I d ió UML

Page 16: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 16/47

16 www.dsic.upv.es/~uml

Inconvenientes en UMLDefinición del proceso de desarrollo usandoUML.UML no es una metodologíaFalta integración con respecto de otras técnicastales como patrones de diseño, interfaces deusuario, documentación, etc.

Ejemplos aislados

“Monopolio de conceptos, técnicas y métodosen torno a UML”

I. Introducción: UML

I I d ió UML

Page 17: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 17/47

17 www.dsic.upv.es/~uml

Perspectivas de UMLUML será el lenguaje de modelado orientado aobjetos estándar predominante los próximosaños

Razones:• Participación de metodólogos influyentes• Participación de importantes empresas• Aceptación del OMG como notación estándar

Evidencias:• Herramientas que proveen la notación UML• “Edición” de libros• Congresos, cursos, “camisetas” , etc.

I. Introducción: UML

Page 18: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 18/47

18 www.dsic.upv.es/~uml

Breve Tour por UML

II B T UML

Page 19: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 19/47

19 www.dsic.upv.es/~uml

Modelos y DiagramasUn modelo captura una vista de un sistema del mundoreal. Es una abstracción de dicho sistema, considerandoun cierto propósito. Así, el modelo describe

completamente aquellos aspectos del sistema que sonrelevantes al propósito del modelo, y a un apropiado nivelde detalle.

Diagrama : una representación gráfica de una colecciónde elementos de modelado, a menudo dibujada como ungrafo con vértices conectados por arcos

OMG UML 1.4 Specification

II. Breve Tour por UML

II Breve Tour por UML

Page 20: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 20/47

20 www.dsic.upv.es/~uml

Un proceso de desarrollo de software debe ofrecer un conjuntode modelos que permitan expresar el producto desde cada unade las perspectivas de interés

El código fuente del sistema es el modelo más detallado delsistema (y además es ejecutable). Sin embargo, se requierenotros modelos ...

Cada modelo es completo desde su punto de vista del sistema,sin embargo, existen relaciones de trazabilidad entre losdiferentes modelos

... Modelos y Diagramas

II. Breve Tour por UML

II Breve Tour por UML

Page 21: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 21/47

21 www.dsic.upv.es/~uml

Diagramas de UML

Diagrama de Casos de UsoDiagrama de ClasesDiagrama de Objetos

Diagramas de ComportamientoDiagrama de EstadosDiagrama de Actividad

Diagramas de InteracciónDiagrama de SecuenciaDiagrama de Colaboración

Diagramas de implementaciónDiagrama de ComponentesDiagrama de Despliegue

II. Breve Tour por UML

II Breve Tour por UML

Page 22: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 22/47

22 www.dsic.upv.es/~uml

... Diagramas de UML

Use CaseDiagramsUse Case

DiagramsDiagramas de

Casos de Uso

ScenarioDiagramsScenario

DiagramsDiagramas deColaboración

StateDiagramsState

DiagramsDiagramas deComponentes

ComponentDiagramsComponent

DiagramsDiagramas deDistribución

StateDiagramsState

DiagramsDiagramas de

Objetos

ScenarioDiagramsScenario

DiagramsDiagramas deEstados

Use Case

DiagramsUse CaseDiagramsDiagramas deSecuencia

StateDiagramsState

DiagramsDiagramas deClases

Diagramas deActividad

Modelo

II. Breve Tour por UML

Los diagramas expresan gráficamente partes de un modelo

II Breve Tour por UML

Page 23: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 23/47

23 www.dsic.upv.es/~uml

4+1 vistas de Kruchten (1995)

Vista Lógica

Vista deProcesos

Vista deDistribución

Vista deRealización Vista de losCasos de Uso

Organización de Modelos

Este enfoque sigue el browser de Rational Rose

II. Breve Tour por UML

II Breve Tour por UML

Page 24: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 24/47

24 www.dsic.upv.es/~uml

... Organización 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 Análisis (Analysis Model)M. de Diseño (Design Model)M. de Despliegue (Deployment Model)

M. de Datos (Data Model)M. de Implementación (Implementation Model)M. de Pruebas (Test Model)

II. Breve Tour por UML

II Breve Tour por UML

Page 25: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 25/47

25 www.dsic.upv.es/~uml

Paquetes en UMLLos paquetes ofrecen un mecanismo general parala organización de los modelos/subsistemasagrupando elementos de modelado

Se representan gráficamente como:

Nombre depaquete

II. Breve Tour por UML

II Breve Tour por UML

Page 26: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 26/47

26 www.dsic.upv.es/~uml

… Paquetes en UML

Cada paquete corresponde a un submodelo(subsistema) del modelo (sistema)

Un paquete puede contener otros paquetes, sinlímite de anidamiento pero cada elementopertenece a (está definido en) sólo un paquete

Una clase de un paquete puede aparecer enotro paquete por la importación a través de unarelación de dependencia entre paquetes

II. Breve Tour por UML

II Breve Tour por UML

Page 27: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 27/47

27 www.dsic.upv.es/~uml

… Paquetes en UML

Todas las clases no sonnecesariamente visibles desde elexterior del paquete, es decir,un paquete encapsula a la vezque agrupa

El operador “::” permitedesignar una clase definida en

un contexto distinto del actual

II. Breve Tour por UML

Práctica 1

II. Breve Tour por UML

Page 28: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 28/47

28 www.dsic.upv.es/~uml

… Paquetes en UML

II. Breve Tour por UML

Práctica 1

II. Breve Tour por UML

Page 29: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 29/47

29 www.dsic.upv.es/~uml

Diagrama de Casos de Uso

Casos de Uso es una técnica para capturarinformación sobre lo que el cliente quiere quése haga. Responde a la pregunta ¿qué debehacer el sistema a construir?

No pertenece estrictamente al enfoque

orientado a objeto, es una técnica para capturade requerimientos funcionales

II. Breve Tour por UML

II. Breve Tour por UML

Page 30: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 30/47

30 www.dsic.upv.es/~uml

Ejemplos

. eve ou po U

Supervisor Verificar Situación del Cliente

Administrativo Preparar Catálogo SistemaInventario

Tipos de Venta

II. Breve Tour por UML

Page 31: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 31/47

31 www.dsic.upv.es/~uml

… EjemplosEn el paquete tipos de venta:

p

Venta Normal

Venta en Rebajas

Venta en Ofertas

Vendedor

II. Breve Tour por UML

Page 32: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 32/47

32 www.dsic.upv.es/~uml

… Ejemplos

p

Solicitar Nueva Tarjeta

ClienteSolicitar Préstamo

<<extend>>

[Tarjeta Caducada]

II. Breve Tour por UML

Page 33: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 33/47

33 www.dsic.upv.es/~uml

… Ejemplos

p

Verificar Operación

Reintegro Cuenta Corriente

Cliente

Reintegro Cuenta de Crédito

<<include>>

<<include>>

Práctica 2

II. Breve Tour por UML

Page 34: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 34/47

34 www.dsic.upv.es/~uml

Diagrama de Secuenciap

: Encargado :WInPréstamos :Socio :Video :Préstamo

prestar(video, socio)

verificar situación socio

verificar situación video

registrar préstamo

entregar recibo

II. Breve Tour por UML

Page 35: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 35/47

35 www.dsic.upv.es/~uml

Diagrama de Colaboración

Práctica 3

: Encargado

:WInPréstamos

:Socio

:Video

:Préstamo

1: prestar(video, socio)

2: verificar situación socio

3: verificar situación video

4: registrar préstamo5: entregar recibo

II. Breve Tour por UML

Page 36: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 36/47

36 www.dsic.upv.es/~uml

Diagrama de Clases

El Diagrama de Clases es el diagrama principal para elanálisis y diseño

Un diagrama de clases presenta las clases del sistema

con sus relaciones estructurales y de herenciaLa definición de clase incluye definiciones paraatributos y operacionesEl modelo de casos de uso aporta información paraestablecer las clases, objetos, atributos y operaciones

II. Breve Tour por UML

Page 37: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 37/47

37 www.dsic.upv.es/~uml

Ejemplos (Clase y Visibilidad)

II. Breve Tour por UML

Page 38: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 38/47

38 www.dsic.upv.es/~uml

… Ejemplos (Asociación)

Profesor Departamento10..1

director

1

dirige

0..1

II. Breve Tour por UML

Page 39: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 39/47

39 www.dsic.upv.es/~uml

… Ejemplos (Clase Asociación)

Empresa Empleado

1..** 1..**

trabajadoresempleador

Cargonombresueldo 0..1

1..*

superior

subordinado 1..*

0..1

II. Breve Tour por UML

Page 40: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 40/47

40 www.dsic.upv.es/~uml

… Ejemplos (Generalización)

Trabajador

Directivo Administrativo Obrero

{ disjunta, completa }

II. Breve Tour por UML

Page 41: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 41/47

41 www.dsic.upv.es/~uml

… Ejemplos

Prácticas 4-8

Avión militar Avión comercial

Avión de carga Avión de pasajeros

Motor Vendedor de billetes

Avión

1..4

1

1..4

1

Piloto

Reservan

1

n

1

Línea aérea

Vuelon1 n1

1..2

n

1..2

nn1 n1

1

n

1

n{ disjunta, completa }

{ disjunta, completa }

II. Breve Tour por UML

Page 42: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 42/47

42 www.dsic.upv.es/~uml

Diagrama de Estados

con préstamos

sin préstamos

alta baja

prestar devolver[ número_préstamos = 1 ]

prestar

devolver[ número_préstamos > 1 ]

número_préstamos = 0

número_préstamos > 0

Socio

número : intnombre : char[50]número_prestamos : int = 0

alta()baja()prestar(código_libro : int, fecha : date)devolver(código_libro : int, fecha : date)

II. Breve Tour por UML

Page 43: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 43/47

43 www.dsic.upv.es/~uml

Diagrama de ActividadBuscar Bebida

Poner café en filtro Añadir agua al depósito Coger taza

Poner filtro en máquina

Encender máquina

Café en preparación

Servir café

Coger zumo

Beber

[no hay café]

[hay café

[no zumo]

[hay zumo]

/ cafetera.On

indicador de fin

II. Breve Tour por UML

Page 44: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 44/47

44 www.dsic.upv.es/~uml

Emitir billete

Pasajero Vendedor Airline

…Otro Ejemplo (con swim lines )

Solicitar pago Reservar plazas

Confirmar plaza reservadaPagar pasaje

Informar alternativasy precios

Verificarexistencia vuelo

Dar detalles vuelo

Solicitar pasaje

Seleccionar vuelo

Práctica 9

II. Breve Tour por UML

Page 45: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 45/47

45 www.dsic.upv.es/~uml

Diagrama Componentes

Control y Análisis

Comm

Acceso a BD

Comm

Rutinas de Coneccion

Comm

Interfaz de Terminal

Comm

Gestión de Cuentas

Comm

II. Breve Tour por UML

Page 46: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 46/47

46 www.dsic.upv.es/~uml

Diagrama de Despliegue

Punto de Venta

Serv idor Central

Terminal de C onsulta

Gestión de Cuentas

Interf az de TerminalRutinas de Coneccion

Rutinas de Coneccion

Interf az de Terminal

Rutinas de Coneccion

Ac ce so a B D

C

Control y Análisis

Práctica 10

II. Breve Tour por UML

Page 47: CursoParteI Clasico

7/21/2019 CursoParteI Clasico

http://slidepdf.com/reader/full/cursopartei-clasico 47/47

Resumen

UML define una notación que se expresacomo diagramas sirven para representar

modelos/subsistemas o partes de ellos

El 80 por ciento de la mayoría de los problemas pueden modelarse usando

alrededor del 20 por ciento de UML -- GradyBooch