Diagramas de clases
Este apartado del tutorial explica las siguientes tareas:
•cómo añadir una clase abstracta a un diagrama de clases,
•cómo añadir propiedades de clase y operaciones y definir parámetros, su dirección y su tipo,
•cómo añadir un tipo de retorno a una operación,
•cómo cambiar iconos por símbolos UML estándar,
•cómo eliminar y ocultar propiedades de clase y operaciones, y
•cómo crear una asociación compuesta entre dos clases.
Para continuar ejecute UModel y abra el proyecto BankView-start.ump (véase Abrir el proyecto del tutorial).
Para agregar una clase abstracta
El diagrama al que debemos añadir la clase abstracta se llama "BankView Main" y se puede abrir así:
1.En la ventana Árbol de diagramas expanda el paquete "Diagramas de clases" para ver todos los diagramas de clases que contiene el proyecto.
2.Ahora tiene dos opciones para abrir el diagrama:
•hacer doble clic en el icono del diagrama "BankView Main"
•o hacer clic con el botón derecho y seleccionar Abrir el diagrama en el menú contextual.
Nota: | el diagrama también se puede abrir desde la ventana Estructura del modelo. Primero debe buscar el diagrama dentro del paquete "Root | Design-phase | BankView | com | altova | bankview" y después usar uno de los dos métodos anteriores para abrirlo. |
En el diagrama de clases se pueden ver dos clases concretas unidas por una asociación compuesta.
Diagrama "BankView Main"
Para añadir la nueva clase abstracta:
1.Haga clic en el botón Clase de la barra de herramientas y después haga clic a la derecha de la clase Bank para insertar la clase nueva.
2.Haga doble clic en el nombre de la clase nueva y cámbielo por Account.
3.En la ventana Propiedades marque la casilla abstract para que la clase sea abstracta. El título de la clase aparecerá en cursiva, lo cual la identifica como clase abstracta.
4.En la casilla nombre del archivo de código introduzca "Account.java" para definir la clase Java.
Agregar propiedades a una clase
1.Haga clic con el botón derecho en la clase "Account" y seleccione Nuevo/a | Propiedad o pulse F7. Esto inserta una propiedad predeterminada llamada Property1 con los identificadores de estereotipo << >>.
2.Cambie el nombre de la propiedad por balance y después introduzca dos puntos ( : ). Aparece una lista desplegable con todos los tipos válidos.
3.Teclee la letra "f" y pulse Entrar para insertar el tipo devuelto float. Recuerde que las listas desplegables tienen en cuenta el uso de mayúsculas y minúsculas.
4.Siga en la misma línea y anexe "=0" para definir el valor predeterminado.
5.Para terminar (y usando el mismo método), cree una propiedad nueva llamada id de tipo String.
Agregar operaciones a una clase
1.Haga clic con el botón derecho en la clase Account y seleccione Nuevo/a | Operación o pulse F8.
2.Introduzca el nombre de operación "Account()". Observe que el estereotipo se cambió por <<constructor>> porque el nombre de la operación es igual que el de la clase.
3.Para terminar (y usando el mismo método), añada dos operaciones más llamadas getBalance():float y getId():String.
Ahora añadiremos una operación nueva que toma un parámetro. También especificaremos la dirección y el tipo de este parámetro.
1.Pulse F8 para crear otra operación que llamaremos collectAccountInfo().
2.Ponga el cursor del ratón entre los paréntesis y teclee la letra "i". Aparece una lista desplegable donde puede seleccionar la dirección del parámetro: in, inout o out.
3.Seleccione in en la lista desplegable, introduzca un espacio y siga editando el parámetro en la misma línea.
4.Introduzca el nombre de parámetro "bankAPI" y después dos puntos ( : ). Aparece una lista desplegable donde puede seleccionar el tipo del parámetro.
5.Seleccione IBankAPI en la lista desplegable.
Agregar un tipo devuelto a una operación
Llegados a este punto se añadió el parámetro de la operación pero todavía no tiene un tipo devuelto.
1.Ponga el cursor del ratón detrás del paréntesis de cierre ")" e introduzca dos puntos ( : ). Aparece una lista desplegable donde puede seleccionar un tipo devuelto.
2.Teclee la letra "b" y seleccione el tipo de datos boolean.
Para especificar el nivel de acceso de una operación (privado, protegido o público) haga clic en el icono que precede al nombre de la operación y seleccione el valor correspondiente. Por ejemplo:
El "paquete" de visibilidad se puede aplicar a Java. En C# debe usar el elemento "paquete" para indicar que el nivel de acceso es interno. Para más información sobre cómo se asignan los elementos de UModel a las construcciones de cada lenguaje consulte UModel Element Mappings. |
Cambiar los iconos por símbolos UML estándar
Los iconos de nivel de acceso se pueden cambiar por símbolos UML estándar:
1.En la ventana Estilos seleccione Estilos del proyecto en la lista desplegable.
2.Desplácese hasta la opción Mostrar nivel de acceso y seleccione Estilo de UML.
Eliminar y ocultar propiedades y operaciones de clase en un diagrama de clases
Pulse F8 para agregar una operación de ejemplo llamada Operación1 a la clase Account.
Para eliminar esta operación de ejemplo basta con seleccionarla y pulsar Supr. También puede hacer clic con el botón derecho en la operación y seleccionar Eliminar en el menú contextual. Aparecerá un cuadro de mensaje preguntando si desea eliminar el elemento del proyecto. Haga clic en Sí para eliminar Operación1 del diagrama de clases y del proyecto.
Para eliminar una operación de una clase pero no del proyecto pulse Ctrl+Supr. Así, la operación no aparece en el diagrama pero sigue existiendo en el proyecto. Las clases que tienen miembros ocultos incluyen tres puntos suspensivos al final del recuadro. Por ejemplo:
Una clase con operaciones ocultas
Para dejar de ocultar la operación haga doble clic en los puntos suspensivos que aparecen al final del recuadro de la clase. Esto abre un cuadro de diálogo donde puede elegir qué elementos pueden verse en el diagrama:
Cuadro de diálogo "Elementos visibles"
Si lo prefiere, puede configurar UModel para que no muestre un cuadro de mensaje cada vez que se intenta eliminar un objeto del diagrama:
1.En el menú Herramientas haga clic en el comando Opciones.
2.Haga clic en la pestaña Edición.
3.En el grupo de opciones Al eliminar del proyecto preguntar siempre, desactive la casilla desde los diagramas.
Crear una asociación de composición entre las clases Bank y Account
1.Haga clic en el botón Composición de la barra de herramientas y después arrastre el puntero desde la clase Bank hasta la clase Account. La clase se resalta cuando la asociación se puede crear. Como resultado se crea una propiedad nueva llamada Propiedad1:Account en la clase Bank y una flecha de asociación compuesta une las dos clases.
2.Haga doble clic en la nueva propiedad Propiedad1 de la clase Bank y llámela accounts (con cuidado de no eliminar la definición de tipo Account que aparece en color esmeralda).
3.Pulse la tecla Fin para colocar el cursor de texto al final de la línea.
4.Introduzca un corchete de apertura ( [ ) y seleccione el asterisco ( * ) en la lista desplegable. Esto define la multiplicidad, es decir, el hecho de que un banco puede tener muchas cuentas.
Recuerde que el rango de multiplicidad añadido previamente al diagrama también se puede ver en la ventana Propiedades: