Вы находитесь на странице: 1из 31

DIAGRAMA DE CLASES

LAS CLASES

DEFINICIN
Un diagrama de clases es un tipo de diagrama esttico que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellas. Los diagramas de clases son utilizados durante el proceso de anlisis y diseo de los sistemas, donde se crea el diseo conceptual de la informacin que se manejar en el sistema. Nos sirve para visualizar las relaciones entre las clases que involucran el sistema.

DEFINICIN
Un diagrama de clases est compuesto por los siguientes elementos: Clase: atributos, mtodos y visibilidad Relaciones: Herencia, Composicin, Agregacin, Asociacin y Uso Responsabilidades:
Una responsabilidad es un contrato u obligacin de una clase, sea, el fin para el que es creada. Se reduce a un conjunto de atributos y operaciones. Por ejemplo, una clase SensorTemperatura es responsable de medir la temperatura y disparar una alarma si esta alcanza una temperatura determinada

ELEMENTOS: LAS CLASES


Una

clase define el conjunto de atributos y comportamientos compartidos por cada objeto de la clase. Por ejemplo, los registros de los estudiantes en la seccin de un curso almacenan informacin similar para cada estudiante. Se podra decir que los estudiantes constituyen una clase. Los valores podran ser diferentes para cada estudiante, pero el tipo de informacin es el mismo. Es la unidad bsica que encapsula toda la informacin de un Objeto (un objeto es una instancia de una clase). A travs de ella podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).

ELEMENTOS: LAS CLASES


Cada clase debe tener un nombre que la distinga de

todas las dems. Los nombres de clase normalmente son sustantivos o frases cortas y empiezan con una letra mayscula.
Se representa mediante un rectngulo con hasta tres

compartimentos:
Nombre de la case Lista de atributos Lista de mtodos

En la figura la clase se llama Vehiculo.

OBJETO:
Un objeto es una instancia individual de una clase, as

podramos tener una clase que fuera los monitores y un objeto de la clase monitores que fuera un monitor marca A de 17 pulgadas, con la pantalla plana.
Los objetos son personas, lugares o cosas que son

relevantes para el sistema bajo anlisis. Los objetos podran ser clientes, artculos, pedidos, etc. Los objetos tambin podran ser pantallas GUI o reas de texto en la pantalla.

ELEMENTOS DE LAS CLASES: ATRIBUTOS


Un atributo es una propiedad de una clase identificada

con un nombre. Los atributos representan propiedades comunes a todos los objetos de una determinada clase, por ejemplo todos los monitores tienen la propiedad dimensin, que se suele medir en pulgadas. Un cliente tiene las propiedades nombre, apellidos, direccin, telfono...
El nombre de los atributos es un texto que normalmente

se escribe en minsculas si slo es una palabra o la primera palabra del nombre del atributo en minsculas y el resto de las palabras con la primera letra en maysculas, por ejemplo, nombrePropietario.

ELEMENTOS DE LAS CLASES: ATRIBUTOS


Tipo: Puede llegar a depender del lenguaje programacin a utilizar (public, protected, private): de

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 accesar). 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).

ELEMENTOS DE LAS CLASES: ATRIBUTOS


Valor inicial: valor que poseer el atributo al crear un

objeto. Multiplicidad: Determinar si un atributo debe estar o no, y si posee un nico valor o una lista de valores.

Valor 1 0..1 0..* 1..* * M..N

Descripcin El atributo debe tener un nico valor. El atributo puede o no tener un valor. El atributo puede tener varios valores o ninguno. El atributo puede tener varios valores, pero debe tener al menos uno El atributo puede tener varios valores El atributo puede tener entre M y N valores.

ELEMENTOS DE LAS CLASES: ATRIBUTOS


Visibilidad: Est relacionado con el encapsulamiento. Los atributos de una clase no deberan ser manipulables directamente por el resto de objetos. El encapsulamiento presenta las siguientes ventajas bsicas: Se protegen los datos de accesos indebidos Favorece la modularidad y el mantenimiento Tipos de Encapsulamiento: Abierto (Acceso desde fuera de la clase) Protegido (Accesible desde la clase y heredadas) Cerrado( Accesible desde la clase)

ELEMENTOS DE LAS CLASES: MTODOS


Un mtodo es una accin que se puede solicitar a

cualquier objeto de la clase. Los mtodos son los procesos que una clase sabe cmo realizar.
Un mtodo representa algo que el objeto puede hacer.

Por ejemplo, un comportamiento esperado por cualquier usuario de un monitor es que este se pueda encender y apagar.
Los mtodos de una clase son la forma en como sta

interacta con su entorno.

ELEMENTOS DE LAS CLASES: MTODOS


Al especificar el nombre de los mtodos, normalmente la

primera letra es minscula. El nombre de las operaciones sigue las mismas reglas de notacin que los atributos. Suelen ser verbos cortos que indican una accin o comportamiento de la clase: cerrar(), calcularEdad, calcularHorasTrabajadas Para cada mtodo debe especificarse Tipo devuelto: puede llegar a depender del lenguaje de programacin a utilizar. Parmetros: Especificacin del tipo de datos y la informacin que determina el funcionamiento de la clase. Visibilidad: est relacionado con el encapsulamiento (-, #, +) Modificadores: una operacin puede ser de clase, abstracta, query o constructor.

ELEMENTOS DE LAS CLASES: MTODOS

La operacin calcularEdad es privado y no devuelve nada..

El mtodo pblico calcularHorasTrabajadas es abstracto,, las subclases de la clase Persona deber implementarlo para utilizarlo.

RELACIONES ENTRE CLASES


Para poder representar con UML cmo se conectan las cosas entre s, ya sea lgica o fsicamente, utilizamos las relaciones. Existen tres tipos de relaciones muy importantes: dependencias, generalizaciones y asociaciones. Una relacin se define como una conexin entre elementos. En el modelado estructural en UML hay tres clases de relaciones importantes: Dependencias Generalizaciones Asociaciones

RELACIONES ENTRE CLASES: Dependencia


Es una relacin de uso entre dos elementos de manera

que un cambio en la especificacin del elemento independiente puede afectar al otro elemento implicado en la relacin. Determinamos el elemento dependiente aquel que necesita del otro elemento implicado en la relacin (el independiente) para poder cumplir sus responsabilidades.
Un tipo comn de dependencia es la relacin de dos

clases cuando una de ellas utiliza a la otra como parmetro de una operacin. Por ejemplo, una clase que representa un aparato reproductor Vdeo. Para utilizar el mtodo grabar(), se depende directamente de la clase Canal ya que grabar depende de cual canal tenga seleccionado aparato de vdeo.

RELACIONES ENTRE CLASES: Dependencia


Se denota por una flecha punteada. El uso ms particular de este tipo de relacin es para denotar la dependencia que tiene una clase de otra

RELACIONES ENTRE CLASES: Generalizacin


Es una relacin entre un elemento general (llamado

superclase o padre) y un caso ms especfico de ese elemento (llamado subclase o hijo). La generalizacin a veces es llamada relacin es-un-tipo-de; es decir, un elemento (una clase Rectngulo) es-un-tipo-de un elemento ms general (la clase figura).
La generalizacin implica que los objetos hijo se pueden

utilizar en cualquier lugar donde aparece el padre, pero no a la inversa.


La clase hijo siempre hereda todos los atributos y

mtodos de sus clases padre y a menudo (no siempre) el hijo extiende los atributos y operaciones del padre

RELACIONES ENTRE CLASES: Generalizacin


Una

operacin de un hijo puede tener la misma signatura que en el padre pero la operacin puede ser redefinida por el hijo; esto es lo que se conoce como polimorfismo.

Una clase puede tener ninguno, uno o varios padres.

Una clase sin padres y uno o ms hijos se denomina clase raz o clase base.
Una clase sin hijos se denomina clase hoja. Una clase con un nico padre se dice que utiliza herencia

simple y una clase con varios padres se dice que utiliza herencia mltiple.

RELACIONES ENTRE CLASES: Generalizacin


La generalizacin se representa mediante una flecha dirigida con la punta hueca

RELACIONES ENTRE CLASES: Generalizacin

RELACIONES ENTRE CLASES: Asociacin


Una asociacin es una relacin estructural que especifica

que los objetos de un elemento estn conectados con los objetos de otro. Dada una asociacin entre dos clases, se puede navegar desde un objeto de una de ellas hasta uno de los objetos de la otra, y viceversa.
Tambin es posible, aunque menos frecuente, que se

conecten ms de dos clases, estas se suelen llamar asociaciones n-arias. Las relaciones de asociaciones se utilizan cuando se quieren representar relaciones estructurales.

RELACIONES ENTRE CLASES: Asociacin

La

relacin entre clases conocida como asociacin, permite asociar objetos que colaboran entre si. Cabe destacar que no es una relacin fuerte, es decir, el tiempo de vida de un objeto no depende del otro.

Un cliente puede tener asociadas muchas Ordenes de Compra, en cambio una orden de compra solo puede tener asociado un cliente.

RELACIONES ENTRE CLASES: Asociacin


A parte de la forma bsica de representar las asociaciones, mediante una lnea continua entre las clases involucradas en la relacin, existen cuatro adornos que se aplican a las asociaciones para facilitar su comprensin: Nombre: Se utiliza para describir la naturaleza de la relacin. Para que no exista ambigedad en su significado se le puede dar una direccin al nombre por medio de una flecha que apunte en la direccin que se pretende que el nombre sea ledo.
Rol: Cuando una clase participa en una asociacin

esta tiene un rol especifico asociacin. El rol es la cara que la clase que se encuentra en clases pueden jugar el mismo otras asociaciones.

que juega en dicha dicha clase presenta a el otro extremo. Las o diferentes roles en

RELACIONES ENTRE CLASES: Asociacin


Multiplicidad: En muchas situaciones del modelado

es conveniente sealar cuantos objetos se pueden conectar a travs de una instancia de la asociacin. La multiplicidad se expresa como un rango de valores o un valor explicito. Cuando se indica multiplicidad en un extremo de una asociacin se est indicando que, para cada objeto de la clase en el extremo opuesto debe haber tantos objetos en este extremo. Se puede indicar una multiplicidad de: o Exactamente uno (1) o Cero o uno (0..1) o Muchos (0..*) o Uno o ms (1..*) e incluso un numero exacto (por ejemplo, 5).

RELACIONES ENTRE CLASES: Asociacin

RELACIONES ENTRE CLASES: Asociacin


Agregacin

(Por referencia): A veces interesa representar relaciones del tipo todo/parte, en las cuales una cosa representa la cosa grande (el todo) que consta de elementos ms pequeos (las partes). Este tipo de relacin se denomina de agregacin la cual representa una relacin del tipo tiene-un. La agregacin es un tipo de 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). Una agregacin es slo un tipo especial de asociacin, esta se especifica aadiendo simplemente un rombo vaco en la parte del todo.

Ejemplos de relacin de Agregacin:

RELACIONES ENTRE CLASES: Asociacin


Composicin (Por valor): Es un tipo de relacin

esttica, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. Este tipo de relacin es comnmente llamada Composicin (el Objeto base se construye a partir del objeto incluido, es decir, es "parte/todo").

RELACIONES ENTRE CLASES: Asociacin


En donde se destaca que: Un Almacn posee Clientes y Cuentas (los rombos van en el objeto que posee las referencias). Cuando se destruye el Objeto Almacn tambin son destruidos los objetos Cuenta asociados, en cambio no son afectados los objetos Cliente asociados. La composicin (por Valor) se destaca por un rombo relleno. La agregacin (por Referencia) se destaca por un rombo transparente.

Вам также может понравиться