8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 1/65
Diseño:Particionamiento de Dominio
Lic. César Alcántara Loayza
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 2/65
CAL/Fundamentos 2
Particionando El Dominio Particionar el dominio es un proceso de
dividir un dominio de problema en
unidades cohesivas antes de procederal diseño detallado. El dominio delproblema se ha definido en las dos
primeras fases usando los modelos decasos de uso, el modelo de objetos y elmodelo dinámico.
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 3/65
CAL/Fundamentos 3
Para una revisión de Paquetes vea laPPT. UML - Paquetes
Particionando El Dominio
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 4/65
CAL/Fundamentos 4
Particionando El Dominio
Cada uno de los modelos
Revelan algunas cosas diferentes Acerca del dominio del problema
El dominio del problema fue Definidodurante la iniciación del proyecto y Elanálisis del problema
Modelo de Casos de Uso
Define espectativas del usuario por el sistemaIdentifica características requeridas del sistemaIdentifica dependencias entre características
Modelo de Objetos
Define recursos usados por el dominio del problemaDefine la estructura de los recursosDefine las relaciones entre recursos
Modelo Dinámico
Define como los recursos interactúan uno con otroDefine las interfaces entre los objetos del dominio
Define las dependencias entre objetos del dominio
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 5/65
CAL/Fundamentos 5
El modelo de casos de uso describe lo quelos usuarios esperan ver cuando interactúencon el sistema. Estas espectativas sonexpresadas en objetivos. Como “Retirardinero” y “transferir fondos” estos objetivosimplican funcionalidad. Por ejemplo, elusuario debe ser capaz de proporcionar unnúmero de cuenta bancario y el monto dedinero a retirar. Los casos de uso proveen labase para el particionamiento funcional.
Particionando El Dominio
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 6/65
CAL/Fundamentos 6
El modelo de objetos define los recursos deldominio del problema. Estos recursos son la
información que el sistema debe manejarpara soportar los casos de uso. Los casos deuso pueden crear o alterar recursos osimplemente acceder a la información que el
objeto posee. Consecuentemente, el modelode objetos es particionado para coincidir conlas particiones funcionales.
Particionando El Dominio
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 7/65
CAL/Fundamentos 7
El modelo dinámico incluye dos tipos dediagramas de interacción: el diagrama de
secuencia y el diagrama de colaboración. Ambos diagramas ilustran la conversación delos objetos. Describen la comunicación entrelos objetos participantes y de este modo
proporcionan información valiosa acerca delos atributos e interfaces de los objetos deldominio participantes.
Particionando El Dominio
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 8/65
CAL/Fundamentos 8
Cuando se particiona el modelo deobjetos, las asociaciones entre objetos
deben preservarse porque ellas setraducen en dependencias entreparticiones.
Particionando El Dominio
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 9/65
CAL/Fundamentos 9
Paquetes Los paquetes proporcionan una
herramienta genérica para agrupar
información y modelar elementos. Loscontenidos de un paquete sonenteramente definidos por el usuario,
de modo que los paquetes constituyenuna herramienta conveniente paradefinir las particiones.
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 10/65
CAL/Fundamentos 10
EjemploPaquetes
Ventas<<Domain Package>>
Gestion dePresentaciones
<<Domain Package>>
Icono dePaquete
Nombre del Paquete yEstereotipo
Flecha de dependencia: Lapartición ventas depende de
la partición Gestión dePresentaciones
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 11/65
CAL/Fundamentos 11
Estereotipos Estándares Ver documento de:
Estereotipos
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 12/65
CAL/Fundamentos 12
Paquetes y Subsistemas Los paquetes pueden representar
subsistemas. El objetivo de particionar
el dominio es colocar todos loselementos del modelo que definen elcomportamiento y sus recursos para elsistema en paquetes cohesivos. Cada
paquete representa un subsistema – unsubconjunto de la funcionalidadcompleta del sistema.
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 13/65
CAL/Fundamentos 13
Dependencias De Paquetes Una dependencia indica que el paquete
fuente requiere la asistencia del paquete
objetivo, tal como un acceso a un objetocreado y mantenido por el paquete objetivo,o funcionalidad poseida por el paqueteobjetivo. En el sistema de reserva, por
ejemplo, Ud. no puede vender boletos parapresentaciones hasta que los asientos de lapresentación se hayan definido y cotizado.
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 14/65
CAL/Fundamentos 14
Consecuentemente, el subsistema deventas podría depender de la Gestión
de Asientos, el cual pone los asientosdentro del auditorio. El subsistema deventas podría también depender de laGestión de presentaciones, el cual
define las presentaciones, y Ponerprecios, el cual asigna los precios a lossitios de cada presentación.
Dependencias De Paquetes
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 15/65
CAL/Fundamentos 15
Dependencias De Subsistemas
Gestion De Sitios<<Domain Package>>
Poner Precio APresentaciones
<<Domain Package>>
Ventas<<Domain Package>>
Gestión DePresentaciones
<<Domain Package>>
Requiere que los sitiosya esten definidos en elsistema con unalocalidad válida
Ventas Necesita losprecios asignados acada asiento en lapresentación
Requiere acceso alos asientos dentrode la presentación
Este subsistemadefinirá lasubicaciones delos asientos en elauditorio
Este subsistemarastrea cuales sitiosestan disponiblespara la venta encada presentación
Este subsistemaasigna precios a losasientos dentro decada presentación
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 16/65
CAL/Fundamentos 16
El Proceso De Particionar Tomando los recursos del dominio como
fuente, se puede dividir el proceso de
particionar el dominio en tres pasos. Dividir los casos de uso en grupos cohesivos
de uno o mas casos de uso que juntosdescriban una función del sistema.
Identificar los objetos que utilizan los casosde uso y poner las clases representativas enlos paquetes/particiones con los casos deuso.
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 17/65
CAL/Fundamentos 17
Identificar las dependencias entre lospaquetes/ particiones evaluando las
asociaciones entre las clases participantesy las interacciones que toman lugar entrelos objetos asociados.
El Proceso De Particionar
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 18/65
CAL/Fundamentos 18
Recuerde que como cualquier proceso demodelamiento, las tareas son iterativas.
agrupe los casos de uso que tengan sentido.Muevase al siguiente paso y trate de asignarclases. Este intento revelará algunos erroreso le hará pensar diferente acerca del
particionamiento. Continue hasta que estésatisfecho y ellos representen la solucióndeseada.
El Proceso De Particionar
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 19/65
CAL/Fundamentos 19
Puede continuar el proceso derefinamiento solicitando input de otros.
Use los diagramas para comunicar ideasy para capturar visiones obtenidas através de revisiones. Esta prácticamantendrá los diagramas actualizados
con la comprensión de losrequerimientos y los diseños realizadosdurante el proceso.
El Proceso De Particionar
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 20/65
CAL/Fundamentos 20
Trate de evitar el hábito de tomar notasy luego actualizar diagramas. Los
diagramas se convertirán en otra tareade documentación molesta y perderásu valor como herramienta para asistir
en el proceso de modelado.
El Proceso De Particionar
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 21/65
CAL/Fundamentos 21
Partición De Casos De Uso Los casos de uso definen la
funcionalidad del dominio del problema
estableciendo los objetivos que elsistema debe ayudar a lograr para losusuario. En un aplicación finalizada, los
casos de uso se traducen en opcionesde menú, transacciones y otrasunidades de trabajo discretas.
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 22/65
CAL/Fundamentos 22
Cuando se refinan los casos de usopuede encontrar algunos que definenpiezas de una tarea mayor. En estecaso, puede hallar multiples casos deuso que podrían necesitar combinarse
para proporcionar una unidad detrabajo completa.
Partición De Casos De Uso
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 23/65
CAL/Fundamentos 23
Dividir la funcionalidad del sistemabasado en casos de uso es
probablemente la parte mas subjetiva del proceso de particionamiento.Cuando Ud. sigue hacia los diagramas
de clases e interacción será másclaramente visible y podrá probar suefectividad.
Partición De Casos De Uso
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 24/65
CAL/Fundamentos 24
Unidades de trabajo: En algunos casos,un caso de uso define una unidad de
trabajo que puede incluirseenteramente en el. Otras veces ungrupo de casos de uso definen una
unidad de trabajo.
Partición De Casos De Uso
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 25/65
CAL/Fundamentos 25
Partición De Casos De Uso
<<subsystem>>Manejar PlanDePrecios
Crear PlanDe Precio
Crear NivelDe Precio
Crear
Descuento
Para crear el plan de Precios Tieneprimero que crear el Nivel de precios ydescuento De donde pueda escoger.
La única razón paracrear un Nivel de precioes para utilizarse en elmismo subsistema
donde el usuario puedausarlo.
De igual forma, los descuentos se crean solo porque son utilizados comoparte del plan de precios. Se mantienen juntos con las funciones de plan
de precios de manera que se puedan manejar como una unidad.
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 26/65
CAL/Fundamentos 26
Mantenga las siguientes preguntas enmente cuando particione:
¿Podría este caso de uso estar solo? ¿Sería razonable para un usuario
completar su tarea o hacer algo mas? Si
es así, trate de aislar el caso de uso en supropia partición.
Partición De Casos De Uso
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 27/65
CAL/Fundamentos 27
¿Podría un usuario usar juntas un grupo defunciones?, si es así, entonces trate de
poner los casos de uso juntos en la mismapartición.
¿El resultado de una función influye lasopciones de otra función?
¿Existe tipo de relaciones de reconciliación,balanceo o ensamble de relaciones entrelas funciones?
Partición De Casos De Uso
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 28/65
CAL/Fundamentos 28
Tenga cuidado de copiar solamente la formaen que los usuarios actualmente hacen su
trabajo. Haga preguntas de prueba acerca deporque la tarea puede o no, ejecutarse comouna unidad. Muy frecuentemente, laspersonas simplemente hacen cosas de la
manera en que las han aprendido, exista o nobeneficio substancial o cualquier dependenciafundamental entre las tareas.
Partición De Casos De Uso
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 29/65
CAL/Fundamentos 29
El modelo de objetos en elparticionamiento del dominio.
Los casos de uso definen el objetivo. Parallevar a cabo el objetivo, los casos de usonecesitan recursos. Los recursos de loscasos de uso son objetos definidos por lasclases en el modelo de objetos.
Modelo de Objetos - Partición
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 30/65
CAL/Fundamentos 30
Para asignar clases a particiones dedominio se necesita examinar recursos
en dos niveles: ¿qué recursos son creados o controlados
por la partición de dominio?
¿Qué recursos son referenciados por lapartición de dominio pero creados ocontrolados en otra parte?
Modelo de Objetos - Partición
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 31/65
CAL/Fundamentos 31
Cada recursos objeto debe ser creado. Lapregunta que necesita responder cuando
intenta asignar objetos a particiones es, “¿quién es responsable de la creación delobjeto?” tipicamente, ud. debería asignar laclase que define los objetos a los casos de
uso que crea los objetos. Usualmente haysolo uno o muy pocos casos de uso que creanel mismo tipo de objetos.
Modelo de Objetos - Partición
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 32/65
CAL/Fundamentos 32
Una vez que se crea el objeto, estepuede ser accedido por otros casos de
uso en otras particiones a través de labase de datos (repositorio persistente)o a través de cualquier número decomponentes servidor de objetos. Los
casos de uso “creadores” y “referenciadores” no tienen queconocerse uno al otro.
Modelo de Objetos - Partición
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 33/65
CAL/Fundamentos 33
Cada clase en el modelo de objetosdebe estar asignada a una partición.
Este proceso proporciona una medidade la integridad (completness) en latransición entre el análisis y diseño.
Modelo de Objetos - Partición
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 34/65
CAL/Fundamentos 34
Recursos Referenciados – Cuando una particiónde dominio requiere acceso a un recurso éstepuede o crear el recurso o buscarlo. Un recursoreferenciado puede ser consultado o actualizado.En un lenguaje como Java, este arreglo puedeverse como una clase importada. En otraspalabras, la definición de clase reside en un
paquete pero se usa en el otro paquete. Por estarazón, algunas herramientas soportan el uso deun icono diferente para las clases referenciadas oimportadas.
Modelo de Objetos - Partición
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 35/65
CAL/Fundamentos 35
Ejemplo 1 Partición de dominio Planear precio.Modelo de Objetos - Partición
Planear Precio
ActualizarNivelPrecio
ActualizarPlanPrecio
ActualizarDescuento
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 36/65
CAL/Fundamentos 36
Actualiza NivelPrecio crea y mantiene los objetosNivelPrecio
Modelo de Objetos - Partición
Planear Precio
ActualizarNivelPrecio
ActualizarPlanPrecio
ActualizarDescuento
NivelPrecio
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 37/65
CAL/Fundamentos 37
Actualiza descuento crea y mantiene losobjetos descuento.
Modelo de Objetos - Partición
Planear Precio
ActualizarNivelPrecio
ActualizarPlanPrecio
ActualizarDescuento
NivelPrecio
Descuento
DescuentoVolumen DescuentoGrupo
DescuentoValorDescuentoCantidad
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 38/65
CAL/Fundamentos 38
Actualizar PlanPrecio crea y mantiene los objetosPlanPrecio.
Modelo de Objetos - Partición
Planear Precio
ActualizarNivelPrecio
ActualizarPlanPrecio
ActualizarDescuento
Descuento
PlanDePrecios
0..*
0..*
0..*
0..*
NivelPrecio
1..*
0..*
1..*
0..*
DescuentoVolumen DescuentoGrupo
DescuentoCantidad DescuentoValor
{criterio de calificación}
{criterio de volumen}
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 39/65
CAL/Fundamentos 39
Ningún otro objeto es requerido paraestablecer y mantener un PlandePrecio, deeste modo que no hay referenciasadicionales a objetos. La definicióncompleta del subsistema en el siguientecuadro
Modelo de Objetos - Partición
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 40/65
CAL/Fundamentos 40
Modelo de Objetos - Partición<<subsystem>>Planear Precio
ActualizarNivelPrecio
Actualizar
PlanPrecio
ActualizarDescuento
Descuento
PlanDePrecios
0..*
0..*
0..*
0..*
NivelPrecio
1..*
0..*
1..*
0..*
DescuentoVolumen DescuentoGrupo
DescuentoCantidad DescuentoValor
{criterio de calificación}
{criterio de volumen}
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 41/65
CAL/Fundamentos 41
Ejemplo 2: Partición de dominio Poner precioa la presentación. Este ejemplo es diferentepues no crea objetos solo enlaces. Identificar las clases que el caso de uso Poner
precio a la presentación referencia. Para hacerlodeberá leer la descripción narrativa del caso deuso. El primer paso en Poner precio a la
presentación es seleccionar una presentación. Seindica con un sombreado sobre la clase que éstapertenece a otra partición pero está referenciandoaquí.
Modelo de Objetos - Partición
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 42/65
CAL/Fundamentos 42
Poner precio apresentación
Modelo de Objetos - Partición
Presentación
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 43/65
CAL/Fundamentos 43
El siguiente paso es seleccionar el PlanDePrecio parala presentación.
Modelo de Objetos - Partición
Poner precio apresentación
Presentación PlanDePrecios
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 44/65
CAL/Fundamentos 44
Crear el enlace entre Presentación yPrecioDelPlan.
Modelo de Objetos - Partición
Poner precio apresentación
PlanDePrecios
0..1 0..*
Presentación
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 45/65
CAL/Fundamentos 45
Una vez que ha seleccionado la presentación y elPlanDePrecios, debe seleccionar un conjunto de AsientoPresentación para poner precio.
Modelo de Objetos - Partición
Poner precio apresentación
PlanDePrecios
0..1 0..*
Presentación
AsientoPresentacion
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 46/65
CAL/Fundamentos 46
Seleccione el NivelPrecio para asignar al AsientoPresentación
Modelo de Objetos - Partición
Poner precio apresentación
PlanDePrecios
0..1 0..*
Presentación
AsientoPresentacionNivelPrecio
1..*
0..*
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 47/65
CAL/Fundamentos 47
Cree un enlace entre NivelPrecio y cada uno de losobjetos AsientoPresentación seleccionados.
Modelo de Objetos - Partición
Poner precio apresentación
PlanDePrecios
0..1 0..*
Presentación
AsientoPresentacionNivelPrecio
1..*
0..*
0..*0..1
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 48/65
CAL/Fundamentos 48
Modelo de Objetos - Partición
Poner precio apresentación
PlanDePrecios
0..1 0..*
Presentación
AsientoPresentacionNivelPrecio
1..*
0..*
0..*0..1
<<Subsystem>>Poner Precio Presentación
Definición del Subsistema Final
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 49/65
CAL/Fundamentos 49
Ejercicio Ver documento Word:
Diseño – Particionar Casos de Uso.
Partición De Casos De Uso
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 50/65
CAL/Fundamentos 50
Las dependencias describen una relaciónentre particiones. Ud. puede deducir lasdependencias evaluando las asociaciones.
Una clase está asociada con otra claseporque existe alguna forma decomunicación entre ellas. Los objetos deuna clase podrían consultar por información
de otra clase. P.e. El AsientoPresentaciónpodría pedir a Asiento el detalle de susubicaciones para imprimir en el boleto.
Particionar Dependencias
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 51/65
CAL/Fundamentos 51
Una forma de hallar la dirección de lasdependencias es buscas la dirección de
la comunicación entre los objetos. Enlos diagramas de secuencia ycolaboración se ha documentado la
forma que los objetos conversan.
Particionar Dependencias
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 52/65
CAL/Fundamentos 52
En el siguiente diagrama. Busque losdiagramas de interacción donde los dos
tipos de objetos se comunican. Ver si laflecha de evento va en una soladirección o en ambas. La(s)
dirección(es) de la flecha de evento ledirá la dirección de la dependencia.
Particionar Dependencias
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 53/65
CAL/Fundamentos 53
Vea el Subsistema Gestión de Eventosy el subsistema Gestión de
Facilidades. Existen tres asociacionespara examinar entre ellas.
Particionar Dependencias
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 54/65
CAL/Fundamentos 54
Particionar DependenciasEvento
10..*Auditorio
1
1PlanPisoAuditorio
1
0..*
PlanPisoEvento 0..* 0..*
1
0..1
Asiento
0..*
0..*
se basa en
se hace en
0..*
0..*1
0..*
1
110..*
0..1
1
Gestión deEventos
Gestión de
facilidades
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 55/65
CAL/Fundamentos 55
Encontrar los diagramas de secuencia ocolaboración que muestren la
comunicación de los objetos asociados. Aquí tenemos dos diagramas desecuencia que contienen los objetos
asociados. Por simplicidad se hacombinado en un solo diagrama connotas en ambos lados.
Particionar Dependencias
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 56/65
CAL/Fundamentos 56
Determine la dirección de comunicaciónentre los dos objetos en cuestión.
Particionar Dependencias
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 57/65
CAL/Fundamentos 57
Actualice el diagrama de paquetespara indicar la dirección de la
dependencia.
Particionar Dependencias
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 58/65
CAL/Fundamentos 58
Dependencia paquetes
Particionar Dependencias
Evento 10..* Auditorio
1
1
PlanPisoAuditorio
1
0..*
PlanPisoEvento 0..* 0..*
1
0..1
Asiento
0..*
0..*
se basa en
se hace en
0..*
0..*1
0..*
1
110..*
0..1
1
Gestion deEventos
<<subsystem>>
Gestion de
Facilidades
<<subsystem>>
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 59/65
CAL/Fundamentos 59
Dependencia funcional. Una dependenciapuede existir entre una función y una clase u
objeto. Por ejemplo, el modelo de objetos ledice que las presentaciones deben formarparte de un evento (composición). Para crearun objeto presentación debería invocar el
objeto evento, pedir que cree una nuevapresentación y agregar el nuevo objetopresentación a su composición. ...
Particionar Dependencias
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 60/65
CAL/Fundamentos 60
...La función gestión de presentaciones(caso de uso) inicia la adición,
cancelación y reprogramación depresentaciones. Pero gestión depresentaciones depende, para hacer el
trabajo, del objeto evento que seencuentra en Gestión de Eventos
Particionar Dependencias
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 61/65
CAL/Fundamentos 61
Dependencia de tiempo. Otra forma deidentificar dependencias es determinar cualobjeto debe existir primero. Por ejemplo, en
el subsistema Poner Precios no hayinteracción de objeto que pudiera decirleexplícitamente en que dirección dibujar ladependencia. Tanto el objeto presentación
como el objeto PlanDePrecio han de existirantes que el subsistema de poner preciospueda hacer su trabajo.
Particionar Dependencias
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 62/65
CAL/Fundamentos 62
Dependencia entre particiones
Particionar Dependencias
Poner precios aPresentación
<<subsystem>>Gestión de
Presentaciones
<<subsystem>>
Planear Precios<<subsystem>>
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 63/65
CAL/Fundamentos 63
Ejercicio:
Ver documento word Diseño – Asignar dependencias
Particionar Dependencias
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 64/65
CAL/Fundamentos 64
Resumen
El particionamiento del dominio proporcionauna división del sistema completo enunidades cohesivas de trabajo. En las
aplicaciones culminadas estas unidades sepueden combinar para soportar diferentesflujos de trabajo (workflows) o deberes. Elparticionamiento de dominio también fija la
fase de particionamiento arquitectural puescada tipo de trabajo o funcionalidad podríaimplicar una solución arquitectural diferente.
8/3/2019 Sesion 6_3 Diseño - Particionamiento de Dominio
http://slidepdf.com/reader/full/sesion-63-diseno-particionamiento-de-dominio 65/65
¿cómo dividiría el particionamiento dedominio? Debe primero asignar cada
caso de uso y cada clase de susmodelos de análisis a una partición dedominio y todas las asociaciones del
modelo de objetos deben preservarse.Nada debe perderse en la transición delanálisis al diseño.
Resumen
Top Related