diagrama de clases UML
UML (“Unified Modeling Language”) es un lenguaje visual
para crear modelos de sistemas.
UML fue desarrollado por el trabajo conjunto de los “Tres
Amigos”
Diagramas de clases de UML
Está compuesto por distintos diagramas, para apoyar
distintas etapas de desarrollo:
Franco Guidi Polanco
Análisis
Diseño
Instalación (deployment)
Escuela de Ingeniería IndustrialPontificia Universidad Católica de Valparaíso, Chile
fguidi@ucv.cl
Franco Guidi Polanco (PUCV-EII)
Los “Tres Amigos”
2
¿Por qué usar UML?
UML es principalmente una herramienta de
comunicación:
… con uno mismo
… con los miembros de un equipo de desarrollo
… con el cliente
Ivar Jacobson
Jim Rumbaugh
Ventajas de utilizarlo:
Grady Booch
Permite capturar adecuadamente losrequerimientos
Apoya correcta comprensión de un sistema por parte de
distintos miembros de un proyecto de desarrollo
Franco Guidi Polanco (PUCV-EII)
3
Franco Guidi Polanco (PUCV-EII)
4
Diagramas de UML
Diagrama de clases de UML
Casos de Uso
Clases
Objetos
Statechart
Actividades
Secuencia
Colaboración
Componentes
Describe las clases y muestra las relaciones entreellas.
Tipos de relaciones:
Is-a: una clase es del tipo de otra clase
Asociaciones entre clases:
• Una clase contiene a otra clase (Has-a)
– Agregación
– Composición
• Una clase usa otra clase (Uses-a)
• Una clase crea a otra clase
Franco Guidi Polanco (PUCV-EII)
5
Representación de clases
Franco Guidi Polanco (PUCV-EII)
6
Representación de clases (II)
MiClaseMiClase
MiClase
En la forma completa del símbolo:
La figura de la izquierda muestra el símbolo para una
clase en su forma completa, y el de la derecha en su
forma abreviada.
Por convención, los nombres de clases comienzan
con mayúsculas y deben estar escritos con letra de
tipo bold en sus símbolos.
Franco Guidi Polanco (PUCV-EII)
El compartimento superior está destinado al nombre dela
clase.
El compartimento del medio muestra los atributos de la
clase.
El compartimento inferior muestra las operaciones.
7
Franco Guidi Polanco (PUCV-EII)
8
Atributos
Operaciones
Se ubican en el compartimento inferior de las
clases.
Los atributos representan información acerca de un
objeto.
El término atributo no es exactamente sinónimo de
variable. Un atributorepresenta una propiedad
definida en términos abstractos, mientras que una
variable es el mecanismo de implementación del
atributo.
Persona
nombre: String
fechaDeNacimiento: date
altura:float
Persona
Atributos
Operaciones
nombre: String
fechaDeNacimiento: date
altura: float
Franco Guidi Polanco (PUCV-EII)
9
Operaciones sobrecargadas
precio: float
...registrarVenta(fecha:Date, numUnidades:int)
rebajarPrecio()
rebajarPrecio(descuento: Porcentaje);
Franco Guidi Polanco (PUCV-EII)
Franco Guidi Polanco (PUCV-EII)
10
Visibilidad de atributos y operaciones
UML añade un prefijo a las operaciones y atributos
para indicar su visibilidad:
Las operaciones sobrecargadas aparecen varias
veces en el símbolo de la clase (en cada ocasión
con diferentecantidad o tipo de argumentos).
Producto
getNombre():String
setNombre(nombre:String)
...
getEdad():integer
getAltura():float
setAltura(altura:float)
Una de las
versiones de la
operación
rebajarPrecio
reduce el precio del
producto en una
cantidad
predeterminada y la
otra recibe un
porcentaje de
descuento.
11
+ para atributos y operaciones públicas .
# para atributos yoperaciones protegidas.
- para atributos y operaciones privadas.
Si se omite el prefijo, se asume que el atributo u
operación es pública.
Franco Guidi Polanco (PUCV-EII)
12
Atributos y operaciones de clases
Operaciones y clases abstractas
Los atributos y operaciones de clase (aquellos que
no pertenecen a una instancia en particular sino
que son compartidos por toda la clase)...
Regístrate para leer el documento completo.