28
UML – Diagrama de Clases Asignatura: Lenguajes de Programación Orientado a Objetos

UML – Diagrama de Clases

Embed Size (px)

DESCRIPTION

UML – Diagrama de Clases

Citation preview

Page 1: UML – Diagrama de Clases

UML – Diagrama de Clases Asignatura: Lenguajes de Programación Orientado a

Objetos

Page 2: UML – Diagrama de Clases

Introducción

Ernesto Arce Pizarro - Sem I 2013 2

Use Case Diagrams Use Case

Diagrams Diagramas de Casos de Uso

Scenario Diagrams Scenario

Diagrams Diagramas de Colaboración

State Diagrams State

Diagrams Diagramas de Componentes

Component Diagrams Component

Diagrams Diagramas de Distribución

State Diagrams State

Diagrams Diagramas de Objetos

Scenario Diagrams Scenario

Diagrams Diagramas de Estados

Use Case Diagrams Use Case

Diagrams Diagramas de Secuencia

State Diagrams State

Diagrams Diagramas de Clases

Diagramas de Actividad

Modelo

Page 3: UML – Diagrama de Clases

Conceptos Modela los conceptos del dominio de la aplicación. Permite visualizar las relaciones entre las clases que

involucran el sistema Un diagrama de clases está compuesto por los

siguientes elementos: – Clases: atributos, operaciones y visibilidad. – Relaciones: Herencia, Composición, Agregación, Asociación y

Uso. – Responsabilidades

Ernesto Arce Pizarro - Sem I 2013 3

Fuente: Apuntes del sr. Carlos Rodríguez Rojas

Page 4: UML – Diagrama de Clases

Conceptos El Diagrama de Clases es el diagrama principal

para el análisis y diseño. Un diagrama de clases presenta las clases del

sistema con sus relaciones estructurales y de herencia. La definición de clase incluye definiciones para

atributos y operaciones El modelo de casos de uso aporta información para

establecer las clases, objetos, atributos y operaciones

Ernesto Arce Pizarro - Sem I 2013 4

Page 5: UML – Diagrama de Clases

Conceptos Clase: descripción de un conjunto de objetos

que comparten los mismos atributos, operaciones y relaciones.

Se representa mediante un rectángulo con hasta tres compartimentos: • nombre de la case • lista de atributos • lista de métodos

Ernesto Arce Pizarro - Sem I 2013 5

Page 6: UML – Diagrama de Clases

Conceptos La encapsulación presenta dos ventajas básicas:

– Se protegen los datos de accesos indebidos. – El acoplamiento entre las clases se disminuye. – Favorece la modularidad y el mantenimiento.

Los atributos de una clase no deberían ser manipulables directamente por el resto de objetos

Ernesto Arce Pizarro - Sem I 2013 6

Page 7: UML – Diagrama de Clases

Conceptos

Ernesto Arce Pizarro - Sem I 2013 7 Fuente: Apuntes de la srta. María Antonia Zapata

Page 8: UML – Diagrama de Clases

Clase: El Elemento Principal Es la unidad básica que encapsula toda la

información de un Tipo de Objeto (un objeto es una instancia de una clase).

Ernesto Arce Pizarro - Sem I 2013 8

Fuente: Apuntes del sr. Carlos Rodríguez Rojas

Page 9: UML – Diagrama de Clases

Tipos de Atributos

Los atributos describen a una clase. Pueden ser Públicos, Privados o Protegidos. public (+, ): Indica que el atributo será

visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados.

Ernesto Arce Pizarro - Sem I 2013 9

Fuente: Apuntes del sr. Carlos Rodríguez Rojas

Page 10: UML – Diagrama de Clases

Tipos de Atributos

private (-, ): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden acceder).

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 (herencia)

Ernesto Arce Pizarro - Sem I 2013 10 Fuente: Apuntes del sr. Carlos Rodríguez Rojas

Page 11: UML – Diagrama de Clases

Operaciones (Métodos)

Las operaciones o métodos de una clase describen la forma en la cual ésta interactúa con su entorno. Pueden ser Públicas, Privadas o Protegidas. public (+, ): Indica que el método será

visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados.

Ernesto Arce Pizarro - Sem I 2013 11 Fuente: Apuntes del sr. Carlos Rodríguez Rojas

Page 12: UML – Diagrama de Clases

Operaciones (Métodos) private (-, ): Indica que el método sólo será

accesible desde dentro de la clase (sólo otros métodos de la misma clase lo pueden acceder).

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 (herencia).

Ernesto Arce Pizarro - Sem I 2013 12 Fuente: Apuntes del sr. Carlos Rodríguez Rojas

Page 13: UML – Diagrama de Clases

Relaciones entre Clases Relación estructural entre las clases. En general es simétrica. Tiene un nombre, que la describe (verbo,

con dirección de lectura) Puede tener un rol que describe el papel

específico que una clase juega en una asociación.

Ernesto Arce Pizarro - Sem I 2013 13 Fuente: Apuntes del sr. Carlos Rodríguez Rojas

Page 14: UML – Diagrama de Clases

Relaciones entre Clases Tiene multiplicidad, que especifica por cada

clase el número de objetos de la clase opuesta que se relacionan con un solo objeto de dicha clase a través de la asociación:

1 : uno 0..1 : cero o uno 3 : tres *: muchos 1..*: al menos uno 2,6,7: dos, seis o siete 2-4, 10-12 : de dos a cuatro y de diez a doce

Ernesto Arce Pizarro - Sem I 2013 14

Fuente: Apuntes del sr. Carlos Rodríguez Rojas

Page 15: UML – Diagrama de Clases

Relaciones entre Clases

Ernesto Arce Pizarro - Sem I 2013 15 Fuente: Apuntes de la srta. María Antonia Zapata

Page 16: UML – Diagrama de Clases

Relaciones entre Clases - Ejemplos Restringe una asociación al número de

objetos que puede relacionarse:

Ernesto Arce Pizarro - Sem I 2013 16

*

* *

Uno a Uno

Uno a Muchos

Muchos a Muchos

Fuente: Apuntes del sr. Carlos Rodríguez Rojas

Page 17: UML – Diagrama de Clases

Rol en las Relaciones

Ernesto Arce Pizarro - Sem I 2013 17

Page 18: UML – Diagrama de Clases

Clase Asociativa

Ernesto Arce Pizarro - Sem I 2013 18 Fuente: Apuntes de la srta. María Antonia Zapata

Page 19: UML – Diagrama de Clases

Clase Asociativa - Ejemplo

Ernesto Arce Pizarro - Sem I 2013 19

Page 20: UML – Diagrama de Clases

Relaciones entre Clases

Ernesto Arce Pizarro - Sem I 2013 20 Fuente: Apuntes de la srta. María Antonia Zapata

Page 21: UML – Diagrama de Clases

Generalización

Ernesto Arce Pizarro - Sem I 2013 21 Fuente: Apuntes de la srta. María Antonia Zapata

Page 22: UML – Diagrama de Clases

Generalización - Clasificaciones

Ernesto Arce Pizarro - Sem I 2013 22

Las restricciones posibles son: complete o incomplete: si todas las instancias de la superclase están en una subclase o no. disjoint o overlapping: si cada instancia de la superclase está en como mucho una

subclase o no

Fuente: Apuntes de la srta. María Antonia Zapata

Page 23: UML – Diagrama de Clases

Tipos de Asociaciones

Ernesto Arce Pizarro - Sem I 2013 23 Fuente: Apuntes de la srta. María Antonia Zapata

Page 24: UML – Diagrama de Clases

Ejemplo

Ernesto Arce Pizarro - Sem I 2013 24 Fuente: Apuntes de la srta. María Antonia Zapata

Page 25: UML – Diagrama de Clases

Ejemplos

Ernesto Arce Pizarro - Sem I 2013 25 Fuente: Apuntes de la srta. María Antonia Zapata

Page 26: UML – Diagrama de Clases

Interfaces Una interfaz es una colección de operaciones que representan

servicios ofrecidos por una clase o componente. Por definición, todas estas operaciones tendrán una

visibilidad pública. La interfaz especifica algo similar a un contrato que la clase se

compromete a respetar. La clase realiza (o suministra una realización de) una o varias

interfaces. UML define dos tipos de interfaces: interfaz suministrada e

interfaz requerida.

Ernesto Arce Pizarro - Sem I 2013 26

Page 27: UML – Diagrama de Clases

Interfaz Suministrada

Ernesto Arce Pizarro - Sem I 2013 27

Page 28: UML – Diagrama de Clases

Interfaz Requerida

Ernesto Arce Pizarro - Sem I 2013 28