UML | Casos de Uso UML | Casos de Uso UML | Casos de Uso UML | Casos de Uso UML | Casos de Uso UML | Casos de Uso UML | Casos de Uso UML | Casos de Uso UML | DIAGRAMA DE CLASES Diagrama de Clases Modela los conceptos del dominio de la aplicacin. 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, Composicin, Agregacin, Asociacin y Uso. Responsabilidades Diagrama de Clases: Elementos Clase Es la unidad bsica que encapsula toda la informacin de un Tipo de Objeto (un objeto es una instancia de una clase). Diagrama de Clases: Elementos Atributo Los atributos describen a una clase. Pueden ser Pblicos, Privados o Protegidos. public (+, ): Indica que el atributo ser visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados.
private (-, ): Indica que el atributo slo ser accesible desde dentro de la clase (slo sus mtodos lo pueden acceder). protected (#, ): Indica que el atributo no ser accesible desde fuera de la clase, pero si podr ser accesado por mtodos de la clase adems de las subclases que se deriven (herencia)
Diagrama de Clases: Elementos Operaciones (mtodos) Las operaciones o mtodos de una clase describen la forma en la cual sta interacta con su entorno. Pueden ser Pblicas, Privadas o Protegidas. public (+, ): Indica que el mtodo ser visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados.
private (-, ): Indica que el mtodo slo ser accesible desde dentro de la clase (slo otros mtodos 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 mtodos de la clase adems de las subclases que se deriven (herencia)
Diagrama de Clases: Elementos Relaciones entre Clases Las clases interrelacionadas modelan un sistema en su dimensin esttica. Existen tres tipos de relaciones bsicas: Dependencia Generalizacin Asociacin
Un cambio en la clase independiente (Aplicacin) puede afectar a la clase dependiente (Ventana) La interpretacin ms frecuente es la de uso: una clase usa a otra como argumento de una operacin. El objeto creado no se almacena en el objeto que lo crea. Relaciones entre Clases: Dependencia (instanciacin o uso) Relaciones entre Clases: Generalizacin Relaciona una abstraccin general (superclase) con una ms concreta del mismo tipo (subclase) Una clase puede tener cero, una (herencia simple) o ms superclases (herencia mltiple) Una clase sin superclases es una clase raz Una clase sin subclases es una clase hoja Relaciones entre Clases: Generalizacin - Polimorfismo Una generalizacin da a lugar al polimorfismo entre clases de una jerarqua de generalizaciones. Un objeto de una subclase puede sustituir a un objeto de la superclase en cualquier contexto. Lo inverso no es cierto Una operacin de la subclase con igual signatura que una operacin de la superclase la anula y sustituye. El polimorfismo es muy til en la programacin. Relaciones entre Clases: Generalizacin Relaciones entre clases: Asociacin Relacin estructural entre las clases. En general es simtrica Tiene un nombre, que la describe (verbo, con direccin de lectura) Puede tener un rol que describe el papel especfico que una clase juega en una asociacin. Tiene multiplicidad, que especifica por cada clase el nmero de objetos de la clase opuesta que se relacionan con un solo objeto de dicha clase a travs de la asociacin: 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 Relaciones entre clases: Asociacin Relaciones entre Clases Agregacin y Composicin Composicin Relacin esttica, en donde el tiempo de vida del objeto incluido est condicionado por el tiempo de vida del que lo incluye. El Objeto base se construye a partir del objeto incluido, es decir, es "parte/todo, como un parmetro pasado por valor. Agregacin Relacin dinmica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. El objeto base utiliza al incluido para su funcionamiento, como un parmetro pasado por referencia. Permite modelar objetos complejos, en base a relaciones todo parte. Relaciones entre Clases: Agregacin y Composicin Agregacin (Por referencia) Composicin (Por valor) Diagrama de Clases: Elementos Responsabilidades La distribucin de responsabilidades en un sistema, se realiza identificando un conjunto de clases que colaboran entre s para llevar a cabo algn comportamiento. Luego hay que identificar el conjunto de responsabilidades para cada clase Diagrama de Clases