Post on 16-Jan-2016
description
UML – Diagrama de Clases Asignatura: Lenguajes de Programación Orientado a
Objetos
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
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
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
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
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
Conceptos
Ernesto Arce Pizarro - Sem I 2013 7 Fuente: Apuntes de la srta. María Antonia Zapata
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
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
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
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
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
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
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
Relaciones entre Clases
Ernesto Arce Pizarro - Sem I 2013 15 Fuente: Apuntes de la srta. María Antonia Zapata
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
Rol en las Relaciones
Ernesto Arce Pizarro - Sem I 2013 17
Clase Asociativa
Ernesto Arce Pizarro - Sem I 2013 18 Fuente: Apuntes de la srta. María Antonia Zapata
Clase Asociativa - Ejemplo
Ernesto Arce Pizarro - Sem I 2013 19
Relaciones entre Clases
Ernesto Arce Pizarro - Sem I 2013 20 Fuente: Apuntes de la srta. María Antonia Zapata
Generalización
Ernesto Arce Pizarro - Sem I 2013 21 Fuente: Apuntes de la srta. María Antonia Zapata
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
Tipos de Asociaciones
Ernesto Arce Pizarro - Sem I 2013 23 Fuente: Apuntes de la srta. María Antonia Zapata
Ejemplo
Ernesto Arce Pizarro - Sem I 2013 24 Fuente: Apuntes de la srta. María Antonia Zapata
Ejemplos
Ernesto Arce Pizarro - Sem I 2013 25 Fuente: Apuntes de la srta. María Antonia Zapata
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
Interfaz Suministrada
Ernesto Arce Pizarro - Sem I 2013 27
Interfaz Requerida
Ernesto Arce Pizarro - Sem I 2013 28