Professional Documents
Culture Documents
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
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
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.
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
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.
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
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++
Las interfaces requeridas son aquellas que necesitan una clase para realizar su cometido. El smbolo utilizado para representarla es un semicrculo.