Capacitacion UML
Capacitacion UML
Noviembre 2007
Agenda
Introduccin conceptos y elementos del paradigma orientado a objetos. UML Modelo Conceptual. Proceso Unificado de Desarrollo Modelado de Requerimientos con UML Diagramas de clases Diagramas de caso de uso Especificacin de Casos de Uso Prototipado Patrones de Casos de Uso Modelado de Anlisis con UML Diagramas de Interaccin Diagrama de Clases de Anlisis Modelado de Diseo con UML Diagramas de Interaccin Clases de Diseo Patrones de Diseo Herramientas de modelado Rational
2
Orientacin a Objetos...
La Orientacin a Objetos como medio para la generacin de Programas, tiene varias ventajas: Fomenta una metodologa basada en componentes para el desarrollo del SW, de manera que: Se genera un sistema mediante un conjunto de objetos... Luego, se puede ampliar el sistema: Agregndole funcionalidad a los componentes que ya haba generado. Agregndole componentes nuevos. Finalmente, podr volver a utilizar los objetos que gener para el sistema cuando cree uno nuevo... Con lo cual reducir sustancialmente el TIEMPO de desarrollo de un sistema.
3
Qu es un Objeto?
Cualquier entidad real o conceptual con un rol bien definido en el dominio del Problema. Un Objeto es una Instancia de una Clase... Clase
ELECTRODOMESTICOS
Objeto LAVARROPAS
Objeto MICROONDAS
Lavarropas Marca Model o Numero de Serie Capacidad AgregarRopa() AgregarJabon EnPolvo() SacarR opa()
Lavarropas Marca Modelo NumeroSerie Capacidad VolumenTambor CronometroInterno Motor VelocidadMotor AgregarRopa() AgregarJabonEnPolvo() SacarRopa() AgregarBlanqueador() CronometrarRemojo() CronometrarLavado() CronometrarEnjuague() CronometrarCentrifugado()
Abstraccin
La abstraccin centra su atencin en las caractersticas esenciales de un objeto en relacin a la perspectiva del observador. (Manejo de la Complejidad)
7
Encapsulamiento
El Encapsulamiento oculta detalles de implementacin de un objeto (Separamos el Qu del Cmo Ej. Interfaz de la Implementacin)
Modularidad
Pedidos
DetallePedido
Artculos
Articulo
Rubro
Origen
Artculos
PedidoHis t
Pedido
Pedidos
Clientes
Contabilidad
Ventas
La herencia es una herramienta que permite definir nuevas clases en base a otras clases existentes.
11
Tipificacin
Es la definicin precisa de un objeto de tal forma que objetos de diferentes tipos no puedan ser intercambiados o, cuando mucho, puedan intercambiarse de manera muy restringida.
Concurrencia
Es la propiedad que distingue un objeto que est activo de uno que no lo est. Permite a dos objetos actuar al mismo tiempo.
Persistencia
Es la propiedad de un objeto, por la cual su existencia trasciende el tiempo y/o el espacio.
12
Qu es un Modelo?
Un modelo es una simplificacin de la realidad
Es una representacin a bajo costo de la realidad.
Construimos modelos para poder comprender mejor el sistema que estamos desarrollando...
13
El Modelado visual
Haba una vez un Proyecto...
lo que se presupuest
lo que se dise
UML
Unified Modeling Language Lenguaje de Modelado Unificado
16
Por qu UML?
UML es un lenguaje estndar para escribir planos de software.
UML es un Lenguaje independiente del proceso de desarrollo aunque para que sea utilizado ptimamente se debe utilizar un proceso que sea dirigido por casos de uso, centrado en la arquitectura, iterativo e incremental.
Qu NO es UML?
Un lenguaje de programacin visual. La especificacin de una herramienta o un repositorio. UNA METODOLOGA, MTODO O PROCESO.
18
19
22
Elementos: Estructurales
Clase Interfaz Colaboracin Caso de Uso
Registrar Pedido
Cli ente
ICuenta Corriente
Cadena de Responsabilida d
form.java
Se rvidor
Elementos: de Comportamiento
Interaccin Mquina de Estados
mostrarDescripcin()
Pendiente
Cancelado
Fabricado
Entregado
24
Ventas
De Comportamiento
Notas
De Agrupacin De Anotacin
texto simple
URL embebida
link a un documento
25
26
28
Mecanismos Comunes
Especificaciones UML es ms que un lenguaje grfico. Detrs de cada elemento de notacin grfica hay una especificacin que proporciona una explicacin textual de la sintaxis y semntica de ese bloque de construccin Adornos
Adornos Persona
Nombre Domicilio Telfono Situacin IVA CUIT
La letra en cursiva es un adorno que se usa para indicar que es una clase abstracta.
Divisiones Comunes Al modelar sistemas orientados a objetos las cosas pueden dividirse al menos en un par de formas
Reglas de UML M. Comunes
Vista de implementacin
31
DIAGRAMAS
Use Case Use Case Diagrams Secuencia Diagrams Scenario Scenario Diagrams Comunicacin Diagrams Scenario Scenario Mquina de Diagrams Estados Diagrams
(DTE)
Comportamiento Estructural nico Esttico que modela Comportamiento Interaccin
MODELOS
Actividad
32
Mquina de Estados
( DTE )
Colaboraci n
Component es
Timing
Despliegue
Estructura Compuesta
33
Proceso dirigido por casos de uso Proceso centrado en arquitectura Proceso iterativo e incremental
34
Inicio
Elaboracin
Construccin
--- ---
Versiones
Cada ciclo produce una nueva versin del sistema que es un producto preparado para su entrega. Consta de cdigo fuente incluido en componentes que puede compilarse y ejecutarse, manuales y otros productos asociados.
35
Modelo de Anlisis
Realizado por
Distribudo por
Modelo de Diseo
Implementado por
Modelo de Despliegue
Verificado por
Modelo de Implementacin
X OK X OK
Modelo de Prueba
X OK
36
Fases de PUD
Fase de Inicio: Principalmente esta fase responde a las preguntas sobre cules son las principales funciones del sistema para sus usuarios ms importantes, cmo podra ser la arquitectura del sistema y cul es el plan del proyecto, adems de cunto costar desarrollar el sistema. Se realiza un modelo de casos de uso simplificado, con los ms crticos; la arquitectura es un esbozo que muestra los principales subsistemas, se identifican y priorizan los riesgos, se planifica en detalle la fase de elaboracin y se estima el proyecto. Fase de elaboracin: Se especifican en detalle la mayora de los casos de uso del producto y se disea la arquitectura del sistema. La arquitectura se expresa en forma de vistas de todos los modelos del sistema (decimos vista de los modelos porque no son los modelos completos, ya que faltan incorporar casos de uso). Se crea una lnea base de la arquitectura. Fase de construccin: Aqu la lnea base de la arquitectura crece hasta convertirse en el sistema completo, obteniendo as un producto preparado para ser entregado a los usuarios. Fase de transicin: En esta fase el producto se convierte en versin una beta. Un nmero reducido de usuarios, con experiencia, prueba el sistema e informa defectos y deficiencias. Los desarrolladores corrigen los problemas e incorporan las mejoras sugeridas. Esta fase incluye adems las tareas de formacin del cliente, ayuda en lnea y asistencia.
37
39
Anlisis
Diseo
Implementacin
Prueba Iteracin Iteracin - - #1 # 2 ... --- --- --Iteraciones - - - Iteracin Iteracin #n # n-1
40
41
Diagrama de Clases
CLASIFICACION: de Estructura, Esttico, Lgico. USO: Explorar conceptos del dominio. Analizar Requerimientos. Mostrar el diseo detallado del SW Orientado a Objetos. Muestra: un conjunto de clases, interfaces, colaboraciones y sus relaciones. Contiene comnmente: Clases Interfaces (tipo especial de clases) Relaciones
42
Artculo cdigoArtculo descripcin cantidadExistente cantidadMnima precioCompra precioVenta crear() mostrar() actualizarStock()
Operaciones de la Clase
43
Diagrama de Clases
Para identificar clases se debe considerar identificar en el dominio de anlisis, aquello que se necesita que el sistema administre y que pueden ser: cosas tangibles (producto, herramienta, automvil) lugares (Barrio, Provincia, Pas, Zona) transacciones o operaciones (Venta, Pago, Pedido) hechos o eventos (Reserva, Vuelo, Accidente, Incidente) roles de personas (Proveedor, Cliente, Empleado) contenedores de otras cosas (Almacn) catlogos (catalogo de productos) otras organizaciones u reas (Ministerio, Juzgado, dpto. de ventas)
44
Gasto
Tipo de Gasto
navegabilidad
Asociacin
45
Factura
1..*
DetalleFactura
Agregacin
Agregacin
El elemento destino es parte del elemento de origen, tipo especial de asociacin representa una relacin conceptual entre un todo y sus partes
46
Profesor
Alumno
Herencia Simple
Caja de Dilogo
Ayudante
Herencia Mltiple
Generalizacin El elemento origen es una especializacin del elemnto destino, ms generico y puede ser sustitudo por l.
47
Dependencia El elemento origen depende del elemento destino y puede verse afectado por los cambios en l.
48
Ca te g o ri a 1
1 Ca l i fi ca ci o n 1 Ru b ro
49
Diagrama de Objetos
CLASIFICACION: de Estructura, Esttico, Lgico. USO: Representar el estado de un sistema en un momento de tiempo. Muestra: un conjunto de objetos y sus relaciones. Contiene comnmente: Objetos Conexiones (Links)
51
: A lq u il er
P 1 : P e lic u la
52
55
Actor
Un actor es el rol que juega un usuario en relacin al sistema. Normalmente, un actor representa un rol que es jugado por una persona, un dispositivo de hardware o incluso otro sistema al interactuar con nuestro sistema. El diagrama de casos de uso describe lo que hace el sistema para cada tipo de usuario. Cada usuario puede representarse por uno o ms actores. Los Actores pueden ser: Actor Primario: Tiene un objetivo claro que debe ser tenido en cuenta y concretado con la ayuda del sistema de informacin. Actor Secundario: Es de quin el sistema necesita ayuda para cumplir con el objetivo del actor primario.
56
Casos de Uso
Un caso uso representa cada forma en que los actores usan el sistema. Los casos de uso son fragmentos de funcionalidad que el sistema ofrece para aportar un resultado de valor para sus actores. Un caso de uso es una especificacin. Especifica el comportamiento de cosasdinmicas, en este caso instancias de casos de uso. Una instancia de un caso de uso es la realizacin (o ejecucin) de un caso de uso del sistema de informacin. Los Casos de Uso pueden ser
Esenciales: describen la funcional principal o esencial con la que tiene que cumplir el sistema. Comprenden los principales procesos que debe ejecutar el sistema de informacin. De Soporte: comprenden la funcionalidad que surge a partir de analizar aquello que se necesita para que pueden funcionar los casos de uso esenciales.
57
Caso de Uso
59
60
63
64
66
69
70
Diagrama de Clases
71
Nombre del Caso de Uso: Detectar Fraude Objetivo del Caso de Uso:
Identificar las llamadas que resultan sospechosas de fraude y gestionar la registracin de casos de fraude, los cuales son luego resueltos por el departamento de fraude.
Actor Secundario:
No Aplica
Post- Condiciones:
Fracaso:
El caso de uso se cancela cuando: no existen llamadas a validar de CDMA, no existen llamadas a validar de GSM.
72
Alternativas
3. El sistema busca las llamadas correspondientes a GSM, y existen. 4. El sistema para validar cada llamada de GSM llama al Caso de Uso Validar Llamadas. 5. El sistema verifica si para cada llamada el caso de uso se ejecut con xito, y si se ejecut con xito. 6. Fin del caso de uso.
5.A. El sistema verifica si para cada llamada el caso de uso se ejecut con xito, y no se ejecut con xito. 5.A.1.El sistema registra lo ocurrido.
73
Actor Principal:
Timer
Actor Secundario:
No Aplica
Precondiciones:
No Aplica
Curso Normal
1.El Caso de Uso comienza cuando es llamado por otro Caso de Uso. 1.El sistema recibe una llamada a validar
Alternativas
1.El sistema analiza si el valor (tiempo) de la llamada supera un valor establecido, y no es mayor.
3.A. El sistema analiza si el valor de la llamada supera un valor establecido, y es mayor. 3.A.1. Se llama al Caso de Uso Registrar Fraude. 3.A.2. El sistema verifica que el caso de uso se ejecut correctamente. 3.A.2.A. El sistema verifica que el caso de uso no se ejecut correctamente. 3.A.2.A.1. El sistema registra el error ocurrido. 3.A.2.A.2. Se cancela el caso de uso.
74
4. El sistema analiza el nmero marcado en la llamada buscando sI ste se encuentra dentro del rango de nmeros sospechosos, y no se encuentra.
4.A. El nmero marcado se encuentra dentro del rango de nmeros sospechosos. 4.A.1. El sistema verifica si la fecha de la llamada se encuentra comprendida dentro de la vigencia del rango sospechoso, y no se encuentra. 4.A.1.A. La fecha de la llamada se encuentra dentro de la vigencia del rango sospechoso. 4.A.1.A.1. Se llama al Caso de Uso Registrar Fraude. 4.A.1.A.2. El sistema verifica que el caso de uso se ejecut correctamente. 4.A.1.A.2.A. El sistema verifica que el caso de uso no se ejecut correctamente. 4.A.1.A.2.A.1. El sistema registra el error ocurrido. 4.A.1.A.2.A.2. Se cancela el caso de uso.
5. El sistema busca el nmero marcado y obtiene el rango, el grupo y la compaa. 6. El sistema verifica si el nmero marcado corresponde a un pas sospechoso, y no corresponde. 6.A. El sistema verifica si el nmero marcado corresponde a un pas sospechoso, y corresponde. 6.A.1. Se llama al Caso de Uso Registrar Fraude. 6.A.2. El sistema verifica que el caso de uso se ejecut correctamente. 6.A.1.A. El sistema verifica que el caso de uso no se ejecut correctamente. 6.A.1.A.1. El sistema registra el error ocurrido. 6.A.1.A.2. Se cancela el caso de uso.
7.
8.
8.A. El sistema verifica que el caso de uso no se ejecut correctamente. 8.A.1. El sistema registra el error ocurrido. 8.A.2. Se cancela el caso de uso.
75
9. El sistema verifica si el feature de la llamada indica que se encuentra excluida de anlisis y si se encuentra excluida.
9.A El sistema verifica si el feature de la llamada indica que se encuentra excluida de anlisis, y no se encuentra excluida. 9.A.1 El sistema compara la duracin de la llamada actual con la inmediata anterior y verifica que no exista colisin entre las llamadas. Y no existe colisin. 9.A.1.A El sistema compara la duracin de la llamada actual con la inmediata anterior y verifica que no exista colisin entre las llamadas. Y si existe colisin. 9.A.1.A.1. Se llama al Caso de Uso Registrar Fraude. 9.A.1.A.2. El sistema verifica que el caso de uso se ejecut correctamente. 9.A.1.A.2.A. El sistema verifica que el caso de uso no se ejecut correctamente. 9.A.1.A.2.A.1. El sistema registra el error ocurrido. 9.A.1.A.2.A.2. Se cancela el caso de uso. 9.A.2 El sistema compara la llamada actual con la inmediata anterior y obtiene la ubicacin de las celdas. 9.A.3. El sistema determina utilizando frmulas, la distancia entre las dos celdas. 9.A.4. El sistema compara las fechas de las dos llamadas y obtiene un tiempo. 9.A.5. El sistema con la distancia y el tiempo obtiene una velocidad. 9.A.6. El sistema verifica si la velocidad obtenida supera la velocidad permitida, y no la super. 9.A.6.A El sistema verifica si la velocidad obtenida supera la velocidad permitida, y no la super. 9.A.6.A.1. Se llama al Caso de Uso Registrar Fraude. 9.A.6.A.2. El sistema verifica que el caso de uso se ejecut correctamente. 9.A.6.A.2.A. El sistema verifica que el caso de uso no se ejecut correctamente. 9.A.6.A.2.A.1. El sistema registra el error ocurrido. 9.A.6.A.2.A.2. Se cancela el caso de uso.
10.
76
Actor Principal:
Analista de Fraude
Actor Secundario:
No aplica
Precondiciones:
No aplica
Post- Condiciones:
Fracaso: El caso de uso se cancela cuando no existen casos registrados, cuando el Analista de Fraude no confirma los datos ingresados.
77
Alternativas
2.A. No existen casos de fraude registrados. 2.A.1. El sistema informa la situacin. 2.A.2. Se cancela el caso de uso.
4. El sistema solicita se seleccione el/los criterio de consulta de los CASOS dentro de los siguientes: Todos Asociados a un celular Asociados a un caso en particular Fecha desde Fecha hasta
5. El Analista de Fraude selecciona el/los criterio de consulta con el que desea visualizar los CASOS.
6. El sistema muestra los CASOS que cumplen con el/los criterios indicados. 7. El sistema calcula y muestra la cantidad de casos consultados.
78
8.A. El Analista de Fraude desea consultar el detalle de los eventos y/o llamadas de un caso. 8.A.1. El Analista de Fraude selecciona un caso. 8.A.2. El Analista de Fraude selecciona la opcin para consultar los eventos relacionados al caso. 8.A.3. El sistema muestra los eventos relacionados al caso seleccionado, con los siguientes datos: Fecha de deteccin, Llamada asociada, Fecha de cierre, Datos auxiliares que componen el caso seleccionado. 8.A.4. El Analista de Fraude no selecciona la opcin para modificar/ingresar un evento nuevo al caso. 8.A.4.A. El Analista de Fraude selecciona la opcin para modificar/ingresar un evento nuevo al caso. 8.A.4.A.1. El sistema permite modificar/ingresar para el caso: Tipo de evento, Estado, Observaciones. 8.A.4.A.2. El Analista de Fraude ingresa/modifica los datos de un evento. 8.A.5. El Analista de Fraude no desea consultar las llamadas relacionadas al evento. 8.A.5.A. El Analista de Fraude desea consultar las llamadas relacionadas al evento. 8.A.5.A.1. El Analista de Fraude selecciona un evento y selecciona la opcin para consultar las llamadas relacionadas al evento. 8.A.5.A.2. El sistema muestra las llamadas relacionadas al evento seleccionado con los siguientes datos: Celular, Nro. Transferido, ID Celda, Descripcin celda, Nro. Marcado, Origen llamada, Features, Estado, ESN. Fecha, Direccin, Duracin, Duracin ext. 8.A.5.A.3. El Analista de Fraude no desea consultar los Features asociados a la llamada. 8.A.5.A.3.A. El Analista de Fraude desea consultar los Features asociados a la llamada. 8.A.5.A.3.A.1. El Analista de Fraude selecciona la llamada. 8.A.5.A.3.A.2. El sistema muestra los features asociados a la llamada. 8.A.6. El Analista de Fraude no desea cerrar un evento. 8.A.6.A. El Analista de Fraude desea cerrar un evento. 8.A.6.A.1. El Analista de Fraude selecciona un evento y selecciona la opcin para cerrar el evento. 8.A.6.A.2. El sistema cambia el estado del evento a Cerrado.
79
9. El sistema verifica si se han realizado modificaciones a los caso y/o eventos asociados a los mismo, y no se han realizado modificaciones.
9.A. El sistema verifica si se han realizado modificaciones a los casos y/o eventos asociados a los mismo, y se han realizado modificaciones. 9.A.1. El sistema solicita se confirmen los datos ingresados. 9.A.2. El Analista de Fraude confirma los datos ingresados. 9.A.2.A. El Analista de Fraude no confirma los datos ingresados. 9.A.2.A.1. Se cancela el caso de uso. 9.A.3. El sistema verifica para cada caso si se han cerrado todos sus eventos, y no se han cerrado. 9.A.3.A. El sistema verifica para cada caso si se han cerrado todos sus eventos, y si se han cerrado. 9.A.3.A.1. El sistema cambia el estado del caso a Cerrado, y toma la fecha del sistema y responsable que cierra el caso. 9.A.4. El sistema guarda las actualizaciones realizadas sobre los casos.
80
Patrones de Desarrollo: describen caractersticas de prctica de escritura de casos de uso probadas, y ofrecen criterios para medir la calidad del proceso de escritura de casos de uso. Patrones Estructurales: describen los componentes bsicos de los casos de uso, explicando cmo deberan ser organizados y ofrecen criterios para juzgar un caso de uso.
83
84
SharedClearVisin(Compartir una visin clara) : Definir claramente el propsito del sistema y enunciarlo. VerbPhraseName(Nombrar con una frase verbal): Verbo en infinitivo + objeto TechnologyNuetral(Tecnologa Neutral): escribir cada paso sin hacer referencia a tecnologa alguna CapturedAbstraction (Abstraccin Capturada) : considerar la construccin de casos de uso abstractos. 85
De Caso de Uso:
-
De Escenarios y Pasos:
-
86
SpiralDevelopment(Desarrollo en espiral): desarrollar los casos de uso de manera iterativa, y progresivamente incrementar la precisin y certeza del conjunto de casos de uso. RedistrubuteTheWealth(Redistribuir la salud): mover los pasajes complicados y/ovoluminosos a otros casos de uso. MergeDoplets(Mezclar Gotitas): unir casos de uso diminutos o fragmentos de casos de uso con objetivos relacionados.
87
De Edicin:
-
Diagrama de Actividad
CLASIFICACION: de Comportamiento, Dinmico, Lgico. USO: Mostrar Una Operacin Compleja. Una regla de negocio compleja. Un caso de uso. Algunos casos de uso. Un proceso de negocio. Procesos de Software. Muestra el conjunto de actividades, y el flujo de secuencia o desglose de actividad en actividad, y los objetos que actan y que son afectados. Contiene comnmente: Nodos Flujos Objetos
88
Diagrama de Actividad
Se utilizan normalmente para modelar los aspectos dinmicos del sistema. Puede utilizarse para mostrar el flujo de actividades dentro de un caso de uso. Notacin Estado inicial Estado Final Actividad Accin Decisin Divisin Concurrente
89
90
Diagrama de Comunicacin
CLASIFICACION: de Comportamiento, Dinmico, Lgico. USO: Proveer una vista de la colaboracin de objetos en un ambiente de tiempo real. Distribuir funcionalidad en las clases, explorando los aspectos comportamentales de un sistema. Modelar la implementacin lgica de una operacin compleja, particularmente la que interacta con muchos objetos. Diagrama que enfatiza la organizacin estructural de los objetos y conexiones entre esos objetos y los mensajes enviados y recibidos por esos objetos. Contiene comnmente: Objetos Links Mensajes
91
: Analista de Fraude
11: mostrarDatos( )
92
Diagrama de Secuencia
CLASIFICACION: de Comportamiento, Dinmico, Lgico. USO: Validar y describir la lgica de un escenario. Explorar el diseo controlando la invocacin de las operaciones definidas en las clases. Detectar cuellos de botella en un diseo orientado a objetos. Analizar qu clases son complejas en el sistema. Diagrama de secuencia que enfatiza el orden de los mensajes en funcin del tiempo. Muestra un conjunto de objetos y los mensajes enviados y recibidos por esos objetos. Contiene comnmente: Objetos Links Mensajes
93
e xis te C a s o ( )
m o s tr a r C a s o ( )
t o m a r C r it e r io C o n s u lt a ( )
c r ite r io C o n s u lta ( )
b u s c a r C a s o s P o r C r i te r i o ( )
e x is te C a s o C
ri t e ri o( )
m o s tra r D a to s ( )
m o s tr a r D a to s ( )
m o s tr a r D a to s ( )
m o s tr a r N o m b r e ( )
c a lc u la r T o ta lC a s o s ( )
m o s tr a r T o ta lC a s o s ( )
94
96
Patrones de Diseo
.. cada patrn describe un problema que ocurre una y otra vez en nuestro entorno, as como la solucin a ese problema, de tal modo que se puede aplicar esta solucin un milln de veces, sin hacer lo mismo dos veces .. (Cristopher Alexander) Los patrones de diseo son descripciones de clases y objetos relacionados que estn particularizados para resolver un problema de diseo general en un determinado contexto. (Gamma, Helm, Johnson,Vlissides GoF)
97
Patrones de Diseo
Elementos esenciales de un patrn de diseo: Nombre: Describe en una o dos palabras un problema de diseo. Problema: Describe cundo aplicar el patrn, explica el problema y su contexto. Solucin: Describe los elementos que constituyen el diseo, sus relaciones, responsabilidades y colaboraciones (descripcin abstracta). Consecuencias: Son los resultados, ventajas e inconvenientes de aplicar el patrn.
98
Patrones de Diseo
Un patrn de diseo: Nomina, abstrae e identifica los aspectos clave de una estructura de diseo comn, lo que los hace tiles para crear un diseo OO reutilizable. Identifica las clases e instancias participantes, sus roles y colaboraciones y la distribucin de responsabilidades. Se centra en un problema concreto, describiendo cundo aplicarlo, consecuencias, ventajas e inconvenientes de su uso. 99
Patrones de Diseo
Plantilla de definicin: Nombre Propsito Sinnimos Motivacin Aplicabilidad Estructura Participantes
100
Patrones de Diseo
- Plantilla de definicin (continuacin) Colaboraciones Consecuencias Implementacin Ejemplo de Cdigo Usos conocidos Patrones relacionados
101
mbito:
- Clase: Se ocupan de las relaciones entre clases y sus
subclases. - Objeto: Tratan con las relaciones entre objetos. 102
103
Leer el patrn, todos sus apartados, para tener una visin global. Estudiar la Estructura, Participantes y Colaboraciones Mirar el ejemplo de cdigo Asociar a cada participante del patrn un elemento de su aplicacin. Definir las clases. Definir nombres especficos de la aplicacin para las operaciones del patrn. Implementar las operaciones para llevar a cabo las responsabilidades y colaboraciones del patrn.
104
Patrones de Creacin
Abstraen el proceso de creacin de objetos. Ayudan a crear sistemas independientes de cmo se crean, se componen y se representan sus objetos. Patrn de Creacin asociado a Clases: usa herencia para variar la clase que es instanciada. Patrn de Creacin asociado a Objetos: delega la instanciacin a otro objeto
Clasificacin 105
Patrones de Creacin
Se encapsula:
qu clases concretas usa el sistema cmo se crean las instancias de esas clases
El sistema conoce sus interfaces tal como las definen las clases abstractas Flexibilidad en qu se crea, quin lo crea, cmo se crea y cundo se crea.
Clasificacin 106
107
ProductoConcretoB2
ProductoConcretoB1
109
Moto
MotoImportada
MotoNacional
110