Beruflich Dokumente
Kultur Dokumente
clases de UML
Visual Studio 2010
En un diagrama de clases de Visual Studio Ultimate, se pueden dibujar asociaciones entre cualquier
par de tipos.Un tipo es una clase, interfaz o enumeración.
Una asociación indica que el sistema que se está desarrollando almacena vínculos de alguna clase
entre las instancias de los tipos asociados.Generalmente, no suele tener que ver con la
implementación de los vínculos.Podría tratarse, por ejemplo, de punteros, filas de una tabla, nombres
con referencias cruzadas de XML, etc.
Para dibujar una asociación, en el cuadro de herramientas, haga clic en Association, haga clic en el
primer tipo y, a continuación, en el segundo.Puede hacer clic dos veces en el mismo tipo para
mostrar que las instancias pueden vincularse a otras instancias del mismo tipo.
Propiedades
Para ver las propiedades de una asociación, haga clic con el botón secundario del mouse en la
asociación y, a continuación, haga clic en Propiedades.Las propiedades aparecen en la ventana
Propiedades.
Algunas de las propiedades también pueden verse en el diagrama, como se muestra en la ilustración
siguiente.
Propiedad Descripción
Name (1) Identifica la asociación.También aparece en el diagrama junto al punto
intermedio de la asociación.
Color Color del conector.A diferencia de otras propiedades, esta es una propiedad de
esta vista de la asociación, y no una propiedad de la relación subyacente del
modelo.
First Role Cada extremo de la asociación se denomina rol.En cada rol se describen las
propiedades del atributo equivalente de la clase en el extremo contrario de la
Second Role asociación.
En el diagrama del ejemplo, la asociación entre Menú y Elemento del menú tiene
los roles denominados Menú y Contenido.
Para ver las propiedades de cada rol, expanda la propiedad First Role o Second Role.
Agregación None None (4): representa una relación general entre instancias de
las clases.
Vea también
En los diagramas de clases de UML, se describen el objeto y las estructuras de información que se
utilizan en la aplicación, tanto de forma interna como en la comunicación con los usuarios.Esta
información se describe sin hacer referencia a ninguna implementación concreta.Las clases y
relaciones se pueden implementar de muchas maneras, por ejemplo, en tablas de bases de datos, en
nodos XML o en composiciones de objetos de software.
Nota
En este tema se analizan los diagramas de clases de UML.Existe otro tipo de diagrama de clases,
el diagrama de clases .NET, que se utiliza para visualizar el código del programa.Para obtener
más información, vea Diseñar y ver clases y tipos.
En la tabla de esta sección se describen los elementos que pueden verse en un diagrama de clases de
UML.Para obtener información sobre las propiedades de estos elementos, vea los temas siguientes:
Para obtener más información acerca de cómo se dibujan diagramas de clases de UML, vea
Diagramas de clases de UML: Instrucciones.Para obtener más información acerca de cómo se crean y
dibujan diagramas de modelado, vea Cómo: Modificar un modelo UML y los diagramas.
Form Elemento Descripción
a
1 Class Definición de objetos que comparten ciertas características
estructurales y de comportamiento.Para obtener más información, vea
Propiedades de los tipos de diagramas de clases de UML.
Cada rol tiene sus propias propiedades, que se muestran bajo las
propiedades de la asociación.
13 Importar Relación entre paquetes que indica que un paquete incluye todas las
definiciones de otro.
14 Dependenci La definición o implementación del clasificador dependiente podría cambiar
a si el clasificador situado en el extremo con la punta de flecha se modifica.
Utilice la herramienta Herencia para crear una realización entre una clase y
una interfaz.
Vea también
1. Diagramas de Clase
2.
Asociación
Asociación Simple
Agregación
Composición
Generalización
Relaciones
3. Asociaciones
o Un profesor enseña. Modele el diagrama de clases.
o Multiplicidad
o Número de objetos asociados, con cada instancia de la clase.
Default= 1;
Cero or más (*);
n..m; rango de n a m inclusive
Archivo y Usuario . . . Ahora, los permisos se asocian con el archivo o, se asocian con el usuario? Clases
a crear?
5. Clase de Asociación Archivo Usuario Permisos * 1..* Una clase de asociación clase clase
6. Ejercicio
o Cuál de las siguientes alternativas describen mejor el siguiente diagrama de clases:
o a) Cada libro debe tener figuras y capítulos.
o b) Cada libro puede tener figuras y capítulos
o c) Cada libro tiene capítulos, pero solo algunos tienen figuras
o d) Cada libro tiene figuras pero solo algunos tienen capítulos
7. Ejercicio en clase
o Se requiere hacer un sistema para una compañía que renta vehículos. Hay varios
modelos de vehículos tales como: convertibles, furgonetas y automóviles. Se desea registrar: el
número de puertas, color y el año del vehículo. Para los automóviles se desea registrar la marca. Se
guardarán los siguientes datos de los clientes: nombre, apellido, dirección y teléfono. Un cliente
puede hacer más de una reservación y puede alquilar más de un vehículo. Se desean guardar las
fechas en que se realizan los alquileres y la reservaciones. Se tienen varios tipos de alquiler: diario,
semanal y por millas recorridas, cada uno de estos tendrá distintos precios. Para el alquiler por
millas recorridas, se desea conocer el total de millas recorridas. Realice el diagrama de clases no
olvidar poner la visibilidad y los tipos de datos de los atributos y métodos.
8. Ejercicio en clase
o Se requiere desarrollar un sistema para una compañía que maneja suscripciones de
revistas. Es necesario llevar un registro de la siguiente información de cada cliente: nombre,
dirección y teléfono. Además se desea guardar la identificación y nombre de la revista. Las
categorías de las revistas son entretenimiento, deportes y decoración. Se van a poder realizar los
pagos de suscripciones con tarjeta de crédito. Las suscripciones pueden ser anuales, trimestrales o
semestrales. De cada suscripción es necesario guardar la fecha y el valor de la suscripción. Realice
el diagrama de clases del sistema, no olvide poner la visibilidad y los tipos de datos de los atributos
y los métodos.
9. Ejercicio en Clase
o Se quiere hacer un sistema, para una compañía donde se venden y reparan
bicicletas. A diferencia de otras compañías esta, arma las bicicletas, de acuerdo a los
requerimientos de sus clientes. Cada bicicleta es ensamblada con tres partes: un marco, dos llantas
y un asiento. A cada bicicleta se le asigna un único número de referencia, un costo, y garantía. Se
usan partes (asientos, marcos y llantas), de distintos proveedores. Es importante saber el número
telefónico del proveedor para contactarlo. Se requiere guardar de cada venta de bicicletas, la fecha
y el costo total. Los datos de los clientes también son almacenados (nombre, dirección, teléfono).
Las bicicletas son clasificadas en tres tipos: carrera, montañeras y de terreno. Para las bicicletas de
carrera se requiere guardar el número de velocidades que tiene. Cuando un cliente trae una
bicicleta a repararla, se deben guardar los siguientes datos: la fecha, número de referencia de la
bicicleta, el tiempo estimado en que se terminará la reparación, y la descripción del daño que se
quiere reparar. Realice el diagrama de clases del sistema, agregue los atributos y métodos que crea
conveniente. Además no olvide poner la visibilidad y los tipos de datos de los atributos y los
métodos.
10.
o Se le pide que cree un sistema de Administración de Eventos para asistir a las
comunidades de la ESPOL. Para organizar un evento, este primero es planificado por los miembros
de la comunidad. Los miembros de una organización tienen un nombre de usuario, nombre,
apellido, edad, password, titulo y un tipo: Administrador o Normal. Durante la fase de planificación,
el administrador ingresa el tipo del evento (CHARLA, TALLER o CURSO), el nombre, asigna
responsables entre los miembros de la organización, y a cada uno se le asigna una tarea y una
fecha límite para cumplirla. También se asigna una fecha, un lugar y las personas que dictarán el
evento. Cuando el administrador considera conveniente, escoge el publicar el evento. Para esto,
debe confirmar que todas las tareas asignadas fueron cumplidas. También se debe decidir si el
evento recibirá inscripciones (pues puede que sea sin inscripción), desde y hasta que fecha estas
se mantendrán abiertas y si se desea manejar cupo debe también ingresar el número. En este
momento es cuando se asigna que miembro de la comunidad va a estar encargado de controlar la
asistencia. Una vez publicado un evento, cualquier miembro puede consultarlo y registrarse en el
mismo si este lo permite. Una vez registrado, el miembro puede cancelar su inscripción, siempre
que el evento esté aun publicado. El administrador también puede decidir posponer e incluso
cancelar un evento que se encuentra publicado. A la hora del evento, el miembro encargado de
controlar la asistencia tendrá acceso al listado de inscripciones. En dicho listado, el puede indicar
quienes asistieron, para luego generar un reporte de asistencias.
11.
o El subdecanato necesita un sistema para automatizar el proceso de selección de
ayudantes académicos.Este sistema será usado por estudiantes y profesores. Al ingresar al sistema
un estudiante podrá consultar las ayudantías académicas disponibles y solicitar a aquellas que
desee. Posteriormente podrá consultar el estatus de dicha solicitud. Un profesor, al ingresar al
sistema, obtendrá un listado de las materias que coordina y podrá abrir ayudantías en solo para
dichas materias. Posteriormente podrá consultar las solicitudes ingresadas por los estudiantes y
visualizarlas en el orden que desee(Ejemplo: por promedio general, por promedio en la materia en
cuestión). Cuando lo considere apropiado, el profesor podrá escoger una solicitud para una materia
dada.Un estudiante ha tomado muchas materias, la información del estudiante es:numero de
matrícula, nombre, e-mail y promedio general. Por cada materia tomada por un estudiante se
registra el codigo de la materia, promedio de la misma, semestre en que fue tomada y estatus
(REPROBADA o APROBADA). Una materia esta definida por codigo, nombre, un profesor que la
coordina y la cantidad de paralelos abiertos en el semestre actual. Un profesor tiene un nombre,
numero de cédula. Una ayudantía es abierta por un profesor, le pertenece a una materia especifica,
y tiene un total de horas para la misma(min. 5), una fecha máxima para aplicar, así como un
estatus: cuando la ayudantía es recien creada esta VACANTE , cuando se excede la fecha máxima
para aplicar, la ayudantía entra EN REVISION y cuando el profesor se decide por una solicitud,
entra en estado de OCUPADA. Una ayudantía podrá recibir varias solicitudes. Un estudiante puede
solicitar una ayudantía, es decir, crear una solicitud. Una solicitud está asociada con un estudiante y
una ayudantía y contiene una fecha de creación, alguna observación que desee indicar el
estudiante y un estatus (CREADA, EN REVISION, DENEGADA, ACEPTADA) .
Los Diagramas de Estructura Estática de UML se van a utilizar para representar tanto Modelos
Conceptuales (ver sección IV.3.2) como Diagramas de Clases de Diseño (ver sección IV.4.4). Ambos
usos son distintos conceptualmente, mientras los primeros modelan elementos del dominio los segundos
presentan los elementos de la solución software. Ambos tipos de diagramas comparten una parte de la
notación para los elementos que los forman (clases y objetos) y las relaciones que existen entre los
mismos (asociaciones). Sin embargo, hay otros elementos de notación que serán exclusivos de uno u otro
tipo de diagrama.
II.3.1 Clases
Una clase se representa mediante una caja subdividida en tres partes: En la superior se muestra el nombre
de la clase, en la media los atributos y en la inferior las operaciones. Una clase puede representarse de
forma esquemática, con los atributos y operaciones suprimidos, siendo entonces tan solo un rectángulo
con el nombre de la clase. En la Figura 5 se ve cómo una misma clase puede representarse a distinto nivel
de detalle según interese, y según la fase en la que se esté.
II.3.2 Objetos
Un objeto se representa de la misma forma que una clase. En el compartimento superior aparecen el
nombre del objeto junto con el nombre de la clase subrayados, según la siguiente sintaxis:
nombre_del_objeto: nombre_de_la_clase Puede representarse un objeto sin un nombre específico,
entonces sólo aparece el nombre de la clase.
II.3.3 Asociaciones
Las asociaciones entre dos clases se representan mediante una línea que las une. La línea puede tener una
serie de elementos gráficos que expresan características particulares de la asociación. A continuación se
verán los más importantes de entre dichos elementos gráficos.
II.3.3.2 Multiplicidad
La multiplicidad es una restricción que se pone a una asociación, que limita el número de instancias de
una clase que pueden tener esa asociación con una instancia de la otra clase. Puede expresarse de las
siguientes formas:
• Con un número fijo: 1.
• Con un intervalo de valores: 2..5.
• Con un rango en el cual uno de los extremos es un asterisco. Significa que es un intervalo abierto. Por
ejemplo, 2..* significa 2 o más.
• Con una combinación de elementos como los anteriores separados por comas: 1, 3..5, 7, 15..*.
• Con un asterisco: * . En este caso indica que puede tomar cualquier valor (cero o más).
II.3.3.3 Roles
Para indicar el papel que juega una clase en una asociación se puede especificar un nombre de rol.
II.3.3.4 Agregación
El símbolo de agregación es un diamante colocado en el extremo en el que está la clase que representa el
“todo”.
II.3.3.5 Clases Asociación
Cuando una asociación tiene propiedades propias se representa como una clase unida a la línea de la
asociación por medio de una línea a trazos. Tanto la línea como el rectángulo de clase representan el
mismo elemento conceptual: la asociación. Por tanto ambos tienen el mismo nombre, el de la asociación.
Cuando la clase asociación sólo tiene atributos el nombre suele ponerse sobre la línea (como ocurre en el
ejemplo de la Figura 11). Por el contrario, cuando la clase asociación tiene alguna operación o asociación
propia, entonces se pone el nombre en la clase asociación y se puede quitar de la línea.
II.3.3.7 Navegabilidad
En un extremo de una asociación se puede indicar la navegabilidad mediante una flecha. Significa que es
posible "navegar" desde el objeto de la clase origen hasta el objeto de la clase destino. Se trata de un
concepto de diseño, que indica que un objeto de la clase origen conoce al (los) objeto(s) de la clase
destino, y por tanto puede llamar a alguna de sus operaciones.
II.3.4 Herencia
La relación de herencia se representa mediante un triángulo en el extremo de la relación que corresponde
a la clase más general o clase “padre”.
Si se tiene una relación de herencia con varias clases subordinadas, pero en un diagrama concreto no se
quieren poner todas, esto se representa mediante puntos suspensivos. En el ejemplo de la Figura 13, sólo
aparecen en el diagrama 3 tipos de departamentos, pero con los puntos suspensivos se indica que en el
modelo completo (el formado por todos los diagramas) la clase “Departamento” tiene subclases
adicionales, como podrían ser “Recursos Humanos” y “Producción”.
Un elemento derivado es aquel cuyo valor se puede calcular a partir de otros elementos presentes en el
modelo, pero que se incluye en el modelo por motivos de claridad o como decisión de diseño. Se
representa con una barra “/” precediendo al nombre del elemento derivado.