Upload
1313john1313
View
16
Download
0
Embed Size (px)
DESCRIPTION
sistemas informáticos administrativos
Citation preview
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
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
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
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
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
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
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
7/21/2019 CursoParteI Clasico
http://slidepdf.com/reader/full/cursopartei-clasico 8/478
www.dsic.upv.es/~uml
Introducción: UML
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
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
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
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
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
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 ó
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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