Ejercicio 2.3: Creación del diagrama de modelo de dominio de PiggyBank

En este ejercicio se crea el área funcional de Operaciones de cuenta y el diagrama de modelo de dominio de PiggyBank. El diagrama de modelo de dominio describe el dominio del sistema PiggyBank por medio de un diagrama de clase que muestra las clases principales del sistema.

El modelo de análisis se basa en el área funcional de Operaciones de cuenta que se ha identificado en el Módulo 1. El paquete Operaciones de cuenta contiene el subpaquete Elementos de análisis de Operaciones de cuenta, además de las realizaciones de los guiones de uso Visualizar saldo, Transferir dinero y Hacer efectivo un cheque. El subpaquete Elementos de análisis de Operaciones de cuenta contiene los elementos de análisis de Proceso unificado de Rational® (RUP®) que se han creado al modelar la estructura estática del modelo. El paquete también contiene el diagrama de elementos de análisis de Operaciones de cuenta, que se utiliza como un espacio de trabajo para crear los diagramas de nivel de dominio.

El diagrama de dominio es un tipo de diagrama de clase que muestra las clases principales del sistema de banca en línea de PiggyBank. El diagrama de clase simple presenta las clases principales que se han identificado en el ejercicio anterior, los atributos de las clases y todas las relaciones entre las clases. El modelo de dominio sólo describe el dominio del sistema, y no incluye ningún detalle de la aplicación en sí misma. Para ello, el modelo de dominio únicamente modela las clases de entidad del sistema y sus relaciones. El diagrama de dominio se denomina estático, puesto que sólo modela la estructura del sistema. En este ejercicio se crean las clases de entidad y se modelan sus atributos. Al crear el diagrama de secuencias de cada guión de uso, se identifican y modelan las operaciones de cada entidad.

El modelado es un proceso iterativo. El modelo de dominio cambia a medida que se va descubriendo más información sobre el sistema que se está modelando. En esta guía de aprendizaje, se esquematiza el diagrama de dominio básico y se modelan todos los atributos para cada entidad.

Creación de un área funcional

Puesto que el modelo de análisis se basa en el modelo de guión de uso, el área funcional de Operaciones de cuenta almacena los elementos de análisis de PiggyBank y las realizaciones de guiones de uso. Debe crear una nueva área funcional de Operaciones de cuenta en la raíz del modelo.

Para crear el área funcional de Operaciones de cuenta:
  1. En la vista Explorador de modelos, expanda Modelo de análisis y Bloques de construcción de análisis de «ModelLibrary», pulse el botón derecho del ratón sobre el paquete ${functional.area} y, a continuación, pulse Copiar.
  2. Pulse el botón derecho del ratón sobre el paquete Modelo de análisis raíz y, a continuación, pulse Pegar.
  3. Pulse el botón derecho del ratón sobre ${functional.area} y, a continuación, pulse Buscar/Reemplazar
  4. En el campo Buscar, escriba ${functional.area} y pulse Reemplazar.
  5. En el campo Reemplazar con, escriba Operaciones de cuenta y pulse Aceptar.

Para añadir la realización del guión de uso Visualizar saldo al área de funcionamiento de Operaciones de cuenta:
  1. En la vista Explorador de modelos, expanda Modelo de análisis y Bloques de construcción de análisis de «ModelLibrary», pulse el botón derecho del ratón sobre el paquete ${use.case} y, a continuación, pulse Copiar.
  2. Pulse el botón derecho del ratón sobre el paquete Operaciones de cuenta y, a continuación, pulse Pegar.
  3. Pulse el botón derecho del ratón sobre ${use.case} y, a continuación, pulse Buscar/Reemplazar.
  4. En el campo Buscar, escriba ${use.case} y pulse Reemplazar.
  5. En el campo Reemplazar con, escriba Visualizar saldo y pulse Aceptar.
Para añadir la realización del guión de uso Transferir dinero al área de funcionamiento de Operaciones de cuenta:
  1. En la vista Explorador de modelos, expanda Modelo de análisis y Bloques de construcción de análisis de «ModelLibrary», pulse el botón derecho del ratón sobre el paquete ${use.case} y, a continuación, pulse Copiar.
  2. Pulse el botón derecho del ratón sobre el paquete Operaciones de cuenta y, a continuación, pulse Pegar.
  3. Pulse el botón derecho del ratón sobre ${use.case} y, a continuación, pulse Buscar/Reemplazar.
  4. En el campo Buscar, escriba ${use.case} y pulse Reemplazar.
  5. En el campo Reemplazar con, escriba Transferir dinero y pulse Aceptar.
Para añadir la realización del guión de uso Hacer efectivo un cheque al área de funcionamiento de Operaciones de cuenta:
  1. En la vista Explorador de modelos, expanda Modelo de análisis y Bloques de construcción de análisis de «ModelLibrary», pulse el botón derecho del ratón sobre el paquete ${use.case} y, a continuación, pulse Copiar.
  2. Pulse el botón derecho del ratón sobre el paquete Operaciones de cuenta y, a continuación, pulse Pegar.
  3. Pulse el botón derecho del ratón sobre ${use.case} y, a continuación, pulse Buscar/Reemplazar.
  4. En el campo Buscar, escriba ${use.case} y pulse Reemplazar.
  5. En el campo Reemplazar con, escriba Hacer efectivo un cheque y pulse Aceptar.

El área funcional Operaciones de cuenta contiene las realizaciones de guiones de uso y los elementos de análisis para el modelo de análisis de PiggyBank. El subpaquete Elementos de análisis de Operaciones de cuenta contiene todos los elementos de análisis para el proyecto. Puede utilizar el diagrama de clase Clases de análisis de Operaciones de cuenta como un espacio de trabajo para construir los diagramas de dominio de PiggyBank.

Creación del diagrama de modelo de dominio

El diagrama de modelo de dominio se crea en el área de funcionamiento de Operaciones de cuenta y, a continuación, se copian los elementos de modelo visualizados en el paquete Visiones generales de «perspective» de la plantilla de modelo de análisis. El diagrama Clases de análisis de Operaciones de cuenta es el espacio de trabajo para la creación de diagramas, mientras que el paquete Visiones generales de «perspective» sólo contiene la copia final de los diagramas, no las clases.

Para crear un diagrama de dominio:
  1. En la vista Explorador de modelos, expanda Modelo de análisis y Operaciones de cuenta.
  2. En el paquete Elementos de análisis de Operaciones de cuenta, efectúe una doble pulsación en Clases de análisis de Operaciones de cuenta.

Ya ha creado el diagrama Elementos de análisis de PiggyBank. Este diagrama es un espacio de trabajo en el que puede crear y visualizar clases de la estructura del área funcional. Debe crear los diagramas de clase de nivel de dominio en este paquete y, a continuación, arrastrar los diagramas completos al paquete Visiones generales de «perspective» para completar el modelo.

Creación de la clase Account

La clase Account representa la cuenta de usuario de PiggyBank. La clase Account describe las tareas de funcionamiento que se han asociado a la clase Account como por ejemplo, getBalance y findForCustomer.

Para modelar la clase Account:
  1. En la Paleta, efectúe una doble pulsación en Clase y denomínela como Account.
  2. En el editor de diagramas, pulse la clase Account y, en la vista Propiedades de la página Estereotipos, pulse Añadir estereotipos.
  3. En la ventana Aplicar estereotipos, seleccione el recuadro de selección Entity y pulse Aceptar.
  4. En el editor de diagramas, pulse el botón derecho del ratón sobre la clase Account y, a continuación, pulse Añadir UML > Atributo y denomine el atributo como balance.
  5. En el editor de diagramas, en la clase Account, pulse el atributo balance y, en la vista Propiedades de la página General, pulse Seleccionar tipo.
  6. En la ventana Seleccionar elemento, expanda UML2, pulse Integer y, a continuación, pulse Aceptar.
  7. En el editor de diagramas, pulse el botón derecho del ratón sobre la clase Account y, a continuación, pulse Añadir UML > Atributo y denomine el atributo como number.
  8. En el editor de diagramas, en la clase Account, pulse el atributo number.
  9. En la vista Propiedades de la página General, pulse Seleccionar tipo
  10. En la ventana Seleccionar elemento, expanda UML2, pulse String y, a continuación, pulse Aceptar.
Ha modelado la clase Account.
Nota: La plantilla de Modelo de análisis contiene clases vacías que se han estereotipado utilizando los estereotipos de elementos de análisis de RUP. En lugar de crear nuevas clases y aplicarles estereotipos, puede copiar los elementos de análisis en el área funcional y renombrarlos. Para utilizar los elementos de análisis de RUP existentes, en la vista Explorador de modelos del paquete Bloques de construcción de «ModelLibrary», pulse el botón derecho del ratón sobre un elemento de análisis y, a continuación, pulse Copiar. Pulse el botón derecho del ratón sobre el área funcional y, a continuación, pulse Pegar.

Creación de la clase Transfer

La clase Transfer describe la transacción que se lleva a cabo cuando un cliente transfiere dinero de una cuenta a otra. La clase Transfer tiene dos asociaciones con la clase Account.

Para modelar la clase Transfer:
  1. En la Paleta, efectúe una doble pulsación en Clase y denomínela como Transfer.
  2. En el editor de diagramas, pulse la clase Transfer y, en la vista Propiedades de la página Estereotipos, pulse Añadir estereotipos.
  3. En la ventana Aplicar estereotipos, seleccione el recuadro de selección Entity y pulse Aceptar.
  4. En el editor de diagramas, pulse el botón derecho del ratón sobre la clase Transfer y, a continuación, pulse Añadir UML > Atributo y denomine el atributo como amount.
  5. En el editor de diagramas, en la clase Transfer, pulse el atributo amount.
  6. En la vista Propiedades de la página General, pulse Seleccionar tipo.
  7. En la ventana Seleccionar elemento, expanda UML2 y, a continuación, pulse Integer y Aceptar.

Ha modelado la clase Transfer.

Modelado de las relaciones de Transfer-Account

La clase Transfer depende de la clase Account.

Para modelar las relaciones de Transfer-Account:
  1. En la Paleta, junto a Dependencia, pulse la flecha abajo y, a continuación, pulse Uso.
  2. En el editor de diagramas, sitúe el cursor sobre la clase Transfer y arrástrela a la clase Account.

Ha modelado las relaciones de la clase Transfer. El diagrama debe presentar un aspecto similar al de la figura siguiente:

Relaciones de Account y Transfer.

Creación de la clase Check

La clase Check describe un cheque que se hace efectivo en PiggyBank.

Para modelar la clase Check:
  1. En la Paleta, efectúe una doble pulsación en Clase y denomínela como Check.
  2. En el editor de diagramas, pulse la clase Check.
  3. En la vista Propiedades de la página Estereotipos, pulse Añadir estereotipos.
  4. En la ventana Aplicar estereotipos, seleccione el recuadro de selección Entity y, a continuación, pulse Aceptar.
  5. En el editor de diagramas, pulse el botón derecho del ratón sobre la clase Check y, a continuación, pulse Añadir UML > Atributo y denomine el atributo como amount.
  6. En el editor de diagramas, en la clase Check, pulse el atributo amount.
  7. En la vista Propiedades de la página General, pulse Seleccionar tipo.
  8. En la ventana Seleccionar elemento, expanda UML2 y, a continuación, pulse Integer y Aceptar.
  9. En el editor de diagramas, en la clase Check, pulse el atributo amount.
  10. En la vista Propiedades de la página General, junto a Visibilidad pulse public.
  11. En el editor de diagramas, pulse el botón derecho del ratón sobre la clase Check y, a continuación, pulse Añadir UML > Atributo y denomine el atributo como reference.
  12. En el editor de diagramas, en la clase Check, pulse el atributo reference.
  13. En la vista Propiedades de la página General, pulse Seleccionar tipo.
  14. En la ventana Seleccionar elemento, expanda UML2, pulse String y, a continuación, pulse Aceptar.
  15. En el editor de diagramas, en la clase Check, pulse el atributo reference.
  16. En la vista Propiedades de la página General, junto a Visibilidad pulse public.

Ha modelado la clase Check. El diagrama debe presentar un aspecto similar al de la figura siguiente:

Clase Check en la que se muestran dos atributos: Amount y Reference.

Modelado de las relaciones de Check-Account

La clase Check depende de la clase Account.

Para modelar las relaciones de Check-Account:
  1. En la Paleta, pulse Uso.
  2. En el editor de diagramas, sitúe el cursor sobre la clase Check y arrástrela a la clase Account.

Ha modelado las relaciones de la clase Check.

Creación de la clase Customer

La clase Customer describe al cliente de PiggyBank.

Para modelar la clase Customer:
  1. En la Paleta, efectúe una doble pulsación en Clase y denomínela como Customer.
  2. En el editor de diagramas, pulse la clase Customer.
  3. En la vista Propiedades de la página Estereotipos, pulse Añadir estereotipos.
  4. En la ventana Aplicar estereotipos, seleccione el recuadro de selección Entity y pulse Aceptar.
  5. En el editor de diagramas, pulse el botón derecho del ratón sobre la clase Customer y, a continuación, pulse Añadir UML > Atributo y denomine el atributo como loginId.
  6. En el editor de diagramas, en la clase Customer, pulse el atributo loginId.
  7. En la vista Propiedades de la página General, pulse Seleccionar tipo.
  8. En la ventana Seleccionar elemento, expanda UML2, pulse String y, a continuación, pulse Aceptar.
  9. En el editor de diagramas, en la clase Check, pulse el atributo loginId.
  10. En la vista Propiedades de la página General, junto a Visibilidad pulse public.
  11. En el editor de diagramas, pulse el botón derecho del ratón sobre la clase Check y, a continuación, pulse Añadir UML > Atributo y denomine el atributo como name.
  12. En el editor de diagramas, en la clase Check, pulse el atributo name.
  13. En la vista Propiedades de la página General, pulse Seleccionar tipo.
  14. En la ventana Seleccionar elemento, expanda UML2, pulse String y, a continuación, Aceptar.
  15. En el editor de diagramas, en la clase Check, pulse el atributo name.
  16. En la vista Propiedades de la página General, junto a Visibilidad pulse public.

Ha modelado la clase Customer.

Modelado de las relaciones de Account-Customer

La clase Account depende de la clase Customer.

Para modelar las relaciones de Account-Customer:
  1. En la Paleta, pulse Uso.
  2. En el editor de diagramas, sitúe el cursor sobre la clase Account y arrástrela a la clase Customer.

Ha modelado las relaciones de la clase Customer. También ha completado el esquema básico del diagrama de dominio. El diagrama debe presentar un aspecto similar al de la figura siguiente:

Esquema básico del diagrama de dominio de PiggyBank.

El diagrama modela el dominio básico del sistema por medio de la descripción de la estructura de las clases principales del sistema y las relaciones que existen entre ellas. Por ejemplo, un cliente, que se identifica por un nombre y un ID de inicio de sesión exclusivo, puede tener más de una cuenta, pero una cuenta no puede pertenecer a más de un cliente.

Creación del diagrama de visión general del modelo de dominio

Va a crear el diagrama del modelo de dominio de PiggyBank en el paquete Visiones generales de «perspective». Se trata de la versión final del diagrama que proporciona información de visión general y navegación.

Para crear el diagrama de visión general del dominio de PiggyBank:
  1. En la vista Explorador de modelos, expanda Modelo de análisis y Visiones generales de «perspective», pulse el botón derecho del ratón sobre ${project} Modelo de dominio y, a continuación, pulse Buscar/Reemplazar.
  2. En el campo Buscar, escriba ${project} y pulse Reemplazar.
  3. En el campo Reemplazar con, escriba PiggyBank y pulse Aceptar.
  4. Efectúe una doble pulsación en el diagrama Modelo de dominio de PiggyBank.
  5. En la vista Explorador de modelos, expanda Operaciones de cuenta y Elementos de análisis de Operaciones de cuenta.
  6. En la vista Explorador de modelos, pulse el elemento de análisis Customer y arrástrelo al interior del diagrama.
  7. En la vista Explorador de modelos, pulse el elemento de análisis Account y arrástrelo al interior del diagrama.
  8. En la vista Explorador de modelos, pulse el elemento de análisis Transfer y arrástrelo al interior del diagrama.
  9. En la vista Explorador de modelos, pulse el elemento de análisis Check y arrástrelo al interior del diagrama.

Ha creado el diagrama del modelo de dominio de PiggyBank en el paquete Visiones generales de «perspective». Ésta es la versión final del diagrama. Puede utilizar el diagrama Clases de análisis de Operaciones de cuenta como un espacio de trabajo preliminar en el que crear los diagramas de participantes de guiones de uso.

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2004, 2005. Todos los derechos reservados.