You are on page 1of 9

INSTITUTO TECNOLGICO SUPERIOR DE IRAPUATO INGENIERA EN SISTEMAS COMPUTACIONALES

DESARROLLO DE PROYECTOS DE SOFTWARE

DIAGRAMAS DE CLASES

ALCALA RAYA VICTOR AYALA VAZQUEZ ANA LAURA BOTELLO RANGEL DIANA MONICA CHARLES FABELA CARLOS DANIEL MAGNO RODRGUEZ ELENA OATE RODRGUEZ ERNESTO PALOMO RODRGUEZ ALEJANDRO ROS IBARRA RAFAEL RUBIO OTERO JOSE ARTURO

IS07111325 IS09111156 IS09110440 IS09110391 IS09110857 IS09110379 IS08110546 IS09110687 IS09110920

JOS ANTONIO LOPEZ QUIROZ

IRAPUATO, GTO.

AGOSTO DE 2013

Diagrama de Clases
El propsito de este diagrama es el de representar los objetos fundamentales del sistema, es decir los que percibe el usuario y con los que espera tratar para completar su tarea en vez de objetos del sistema o de un modelo de programacin. La clase define el mbito de definicin de un conjunto de objetos. Cada objeto pertenece a una clase. Los objetos se crean por instanciacin de las clases

Cada clase se representa en un rectngulo con tres compartimientos:

Diagrama de Clases: Atributos


Tipo: puede llegar a depender del lenguaje de programacin a utilizar. Valor inicial: valor que poseer el atributo al crear un objeto. Visibilidad: est relacionado con el encapsulamiento. Multiplicidad: determinar si un atributo debe estar o no, y si posee un nico valor o una lista de valores. Ordenamiento: especifica si el atributo determina alguna relacin de orden dentro de la clase. Capacidad de cambio: permite definir atributos con valores constantes. Modificadores: un atributo puede ser de clase, derivado, voltil, transitorio.

Visibilidad La encapsulamiento presenta tres ventajas bsicas: 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 deberan ser manipulables directamente por el resto de objetos. Niveles de encapsulamiento: (-) Privado: es el ms fuerte. Esta parte es totalmente invisible desde fuera de la clase (excepto para clases friends en terminologa C++). (~) Package: Slo es visible dentro del mismo package. (#) Los atributos/operaciones protegidos estn visibles para las clases friends y para las clases derivadas de la original. (+) Los atributos/operaciones pblicos son visibles a otras clases (cuando se trata de atributos se est transgrediendo el principio de

encapsulamiento). Modificadores De clase o esttico: el atributo se aparece subrayado. No es necesario contar con un objeto para ejecutarlo. Derivado: es calculable a partir de otros atributos.

Transitorio: tendr valor slo durante una porcin de la ejecucin. Voltil: no se persiste.

Diagrama de Clases: Operaciones


Una operacin es un servicio que una instancia de la clase puede realizar. Tipo devuelto: puede llegar a depender del lenguaje de programacin a utilizar. Parmetros: adems del tipo, puede especificarse si son In, Out o InOut. Visibilidad: est relacionado con el encapsulamiento. Modificadores: una operacin puede ser de clase, abstracta, query o constructor.

Diagrama de Clases: Relaciones entre Clases


Una asociacin es una conexin estructural simple entre clases. Las instancias de las clases implicadas en una asociacin estarn

probablemente comunicndose en el momento de ejecucin. Los enlaces entre de objetos pueden representarse entre las respectivas clases Formas de relacin entre clases: i) Asociacin y Agregacin (vista como un caso particular de asociacin) ii) Generalizacin/Especializacin

Diagrama de Clases: Asociacin


La asociacin expresa una conexin bidireccional entre objetos. Una asociacin es una abstraccin de la relacin existente en los enlaces entre los objetos.

Relaciones entre clases


Multiplicidad 1 Un elemento relacionado. 0..1 Uno o ningn elemento relacionado. 0..* Varios elementos relacionados o ninguno. 1..* Varios elementos relacionados pero al menos uno. Varios elementos relacionados. M..N Entre M y N elementos relacionados.

Se asume que una asociacin es bidireccional, es decir que se puede navegar desde cualquiera de clases implicadas a la otra, pero es posible indicar que la navegacin ocurrir en una sola direccin.

Diagrama de Clases: Asociacin Calificada


Un calificador es un atributo (o tupla de atributos) de la asociacin cuyos valores sirven para particionar el conjunto de objetos enlazados a otro. Un calificador se representa como un pequeo rectngulo conectado al final de una asociacin y a la clase. El rectngulo del calificador es parte de la asociacin, y no parte de la clase.

Diagrama de Clases: Generalizacin


Una generalizacin se refiere a una relacin entre una clase general (superclase o padre) y una versin ms especfica de dicha clase (subclase o hija).

Nombres usados: clase padre - clase hija. Otros nombres: superclase - subclase, clase base - clase derivada. Las subclases heredan propiedades de sus clases padre, es decir, atributos y operaciones (y asociaciones) de la clase padre estn disponibles en sus clases hijas. La especializacin es una tcnica muy eficaz para la extensin y reutilizacin. La herencia mltiple debe manejarse con precaucin. Algunos problemas son el conflicto de nombre y el conflicto de precedencia. Se recomienda un uso restringido y disciplinado de la herencia. Permite modelar jerarquas alternativas

Diagrama de Clases: Clase de asociacin


Es una asociacin y una clase simultneamente. Hay que tener en cuenta dnde se colocan los atributos.

Diagrama de Clases: Dependencia


Una dependencia es una relacin de uso en la que un cambio en uno de los trminos -por ejemplo, una clase puede afectar a otro (otra clase).

Posibles dependencias entre clases: use: el funcionamiento del origen depende de la presencia del destino instantiate: el origen crea instancias del destino derive: el origen puede calcularse a partir del destino refine: el origen est un grado de abstraccin ms detallado. bind(): derivacin genrica de una plantilla friend: visibilidad caracterstica de C++

Diagrama de Clases: Interfaces


Una interfaz es una coleccin de operaciones que representan servicios ofrecidos por una clase o componente. Por definicin, todas estas operaciones tendrn una visibilidad pblica. La interfaz especifica algo similar a un contrato que la clase se compromete a respetar. La clase realiza (o suministra una realizacin de) una o varias interfaces. UML define dos tipos de interfaces: interfaz suministrada e interfaz requerida. La interfaz suministrada es aquella que una clase efectivamente implementa.

Las interfaces requeridas son aquellas que necesitan una clase para realizar su cometido. El smbolo utilizado para representarla es un semicrculo.

Ejemplo: Cmo se interpretara lo siguiente?

You might also like