2. INTRODUCCIÓN
El Lenguaje de Modelación Unificado (Unified
Modeling Language o UML por sus siglas en
inglés) es un lenguaje gráfico para modelar los
aspectos estáticos y dinámicos de un sistema.
2
Mtl.LourdesCahuich-POO
3. UML DEFINE LOS SIGUIENTES
DIAGRAMAS:
Diagrama de caso de uso
Diagrama de clase
Diagramas de comportamiento:
Diagrama de estado
Diagrama de actividad
Diagramas de interacción:
Diagrama de secuencia
Diagrama de colaboración
Diagramas de implementación:
Diagrama de componentes
Diagrama de despliegue
3
Mtl.LourdesCahuich-POO
4. DIAGRAMA DE CLASE
A lo largo de este curso, utilizaremos diagramas de
clase para discutir los diferentes elementos del
diseño orientado a objetos.
Un diagrama de clases sirve para visualizar las
relaciones entre las clases que involucran el
sistema, las cuales pueden ser asociativas, de
herencia, de uso y de encapsulación.
4
Mtl.LourdesCahuich-POO
5. DIAGRAMA DE CLASES
Un diagrama de clases esta compuesto por los
siguientes elementos:
Clase: atributos, métodos y visibilidad.
Relaciones: Herencia, Composición, Agregación,
Asociación y Uso.
5
Mtl.LourdesCahuich-POO
6. NOTACIÓN DE CLASE
Una clase está representada por un rectángulo
con tres secciones.
1. La primera sección contiene el nombre de la clase;
2. La segunda sección describe los atributos de la
clase y
3. La tercera sección describe los métodos de la clase.
6
Mtl.LourdesCahuich-POO
7. Mtl.LourdesCahuich-POO
7
El tipo de una variable y el tipo de retorno de
un método están especificados por dos puntos ( : )
seguidos por el nombre de un tipo.
8. NOTACIÓN DE CLASE
La especificación de un atributo o método
comienza con un símbolo que indica la visibilidad
de dicho atributo o método:
- indica visibilidad privada
+ indica visibilidad pública
8
Mtl.LourdesCahuich-POO
9. NOTACIÓN DE CLASE
Comúnmente, los atributos se definen como
privados; de esta manera el objeto puede esconder
su información para mantener el control de su
estado.
Un método se define como público si se espera
que sea llamado por otras clases y se define como
privado si no se pretende que sea llamado por
clases externas.
9
Mtl.LourdesCahuich-POO
10. ATRIBUTOS
Los atributos o características de una Clase
pueden ser de tres tipos, los que definen el grado
de comunicación y visibilidad de ellos con el
entorno, estos son:
public (+,): Indica que el atributo será visible tanto
dentro como fuera de la clase, es decir, es accsesible
desde todos lados.
private (-,): Indica que el atributo sólo será accesible
desde dentro de la clase (sólo sus métodos lo pueden
accesar).
protected (#,): Indica que el atributo no será accesible
desde fuera de la clase, pero si podrá ser accesado por
métodos de la clase además de las subclases que se
deriven (ver herencia). 10
Mtl.LourdesCahuich-POO
11. MÉTODOS
Los métodos u operaciones de una clase son la
forma en como ésta interactúa con su entorno,
éstos pueden tener las características:
public (+,): Indica que el método será visible tanto
dentro como fuera de la clase, es decir, es accsesible
desde todos lados.
private (-,): Indica que el método sólo será accesible
desde dentro de la clase (sólo otros métodos de la
clase lo pueden accesar).
protected (#,): Indica que el método no será accesible
desde fuera de la clase, pero si podrá ser accesado por
métodos de la clase además de métodos de las
subclases que se deriven (ver herencia). 11
Mtl.LourdesCahuich-POO
12. NOTACIÓN DE CLASE
Cuando una clase necesita brindar acceso a sus
atributos privados, la convención indica definir los
métodos públicos para acceder el valor de un
atributo o modificar un atributo.
Estos métodos son conocidos como
selectores (accessors) o modificadores (mutators),
respectivamente
12
Mtl.LourdesCahuich-POO
13. NOTACIÓN DE CLASE
A continuación se muestra la representación UML
de la clase Employee (empleado).
Esta clase contiene tres atributos
privados: name (nombre), hourlyWage (salario por hora)
y hoursWorked (horas trabajadas).
13
Mtl.LourdesCahuich-POO
14. NOTACIÓN DE CLASE
También contiene los siguientes métodos
públicos:
Métodos para obtener los valores de los
atributos (accessors): getName, getHourlyWage,
ygetHoursWorked
Métodos para modificar los valores de los
atributos (mutators): setName, setHourlyWage,
ysetHoursWorked
Un método para obtener los ingresos del
empleado: getEarnings
14
Mtl.LourdesCahuich-POO
16. NOTACIÓN DE CLASE ABREVIADA
La notación de clase puede ser abreviada para
resaltar otras partes del sistema que se está
modelando
16
Mtl.LourdesCahuich-POO