Professional Documents
Culture Documents
Diagrama de Clases -
Objetos y Clases Representación de clases
z Objeto: es un concepto, abstracción, o cosa
Resumen de la Notació
Notación:
con límites definidos y significado para el
contexto.
Nombre Nombre de la Clase
z Clase: reúne un conjunto de objetos con nombre_atributo_1:tipo _de_dato = valor_por_defecto
z propiedades (atributos), ...
z comportamiento común (operaciones), nombre_oper_1: (lista_argumentos) : tipo_resultado
Atributos
z relaciones con otros objetos comunes, ...
z y semántica común.
Operaciones
Asociaciones distinguidas -
Links y Asociaciones Agregación y Generalización
z Son formas de establecer relaciones: z Agregación:
z Las asociaciones establecen relaciones entre clases. z Es una relación “parte de”.
z Los links establecen relaciones entre objetos. z Los objetos que representan componentes de algo
son asociados con un objeto que representa al
objeto “ensamblado”.
z Una asociación describe un conjunto de links
potenciales, de la misma manera que una clase z Generalización:
describe un conjunto de objetos potenciales. z Es la relación entre una clase y una o más
versiones refinadas de ella.
z Generalmente aparecen como verbos en el
z La clase que refina es la superclase y la refinada es
enunciado de un problema.
la subclase.
Análisis y Diseño de Sistemas - Clase 9 5 Análisis y Diseño de Sistemas - Clase 9 6
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
1
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Nro_Patente Nro_Patente
Color Color
Año_Fabricación Año_Fabricación
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
2
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Agregación Agregaciones
z Agregación Fija:
z Existen tres tipos de agregaciones:
z Tienen una estructura fija.
z Agregación Fija
z El número de partes está predefinido.
z Agregación Variable
z Ejemplo:
z Agregación Recursiva.
Lámpara
z La agregación supone la propagación de
operaciones.
Base Cable Perilla
Análisis y Diseño de Sistemas - Clase 9 13 Análisis y Diseño de Sistemas - Clase 9 14
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
3
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Generalización como
Reutilización de Código Extensión
z Una subclase puede agregar nuevos rasgos. Esto
z Se definen clases abstractas para promover la
se conoce como extensión.
reutilización de código: z Una clase descendiente no puede omitir o suprimir un
z La clase abstracta define métodos a ser heredados por atributo de su ancestro.
las subclases. z Una operación de una clase ancestro se debe aplicar
z Las operaciones de la clase abstracta pueden definir el a todos sus descendientes.
protocolo (signatura), sin proveer el método. En este z Una clase descendiente puede volver a implementar
caso, se dice una operación abstracta. una operación por eficiencia. No puede modificar el
protocolo.
z Ejemplo:
z La clase empleado autónomo puede incorporar las
operaciones necesarias para pagar el monotributo.
Análisis y Diseño de Sistemas - Clase 9 21 Análisis y Diseño de Sistemas - Clase 9 22
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
4
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Sobre-escritura de Sobre-escritura de
operaciones operaciones
z Razones para sobre-escribir: z Se proponen las siguientes reglas:
z Optimización: para mejorar la performance. Mantiene z Todas las operaciones de consulta se heredan.
el protocolo, varía la implementación interna. z Todos los comandos se heredan.
z Ejemplo: buscar número en lista – buscar número en lista z Las operaciones de actualización de atributos
orenada. restringidos, se bloquean en una restricción.
z Conveniencia: se realiza para reusar clases. Se z Ejemplo: las operaciones de cuadrilátero y cuadrado.
sobre-escriben métodos por conveniencia. z No sobre-escribir para lograr comportamiento
Semánticamente es incorrecto. Trae problemas de distinto.
mantenimiento. z Las operaciones heredadas pueden ser refinadas
para agregar comportamiento adicional.
Agregación Generalización
Diagrama de Clases
Relaciona instancias Relaciona clases
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
5
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Ejemplo
Un restaurante desea automatizar el proceso de reservas de Temas de la clase de hoy
mesas así como el de registro de los pedidos de consumición de
las mesas. Los clientes del restaurante a través de unos z Modelo de Clases - Conceptos Avanzados.
terminales punto de reserva (TPR) ubicados en la entrada del z Agregación, tipos de agregación y propagación de
restaurante pueden reservar una mesa. Las mesas están
separadas en fumador y no fumador y además cada una indica operaciones
la cantidad de personas que puede alojar. Cada cliente puede z Generalización, clases abstractas, generalización
elegir que mesa o mesas desea reservar. Indica sus datos como restricción y generalización como restricción.
personales y fecha y horario de la reserva. Cuando un cliente
z Guía para la construcción de un diagrama de clases.
llega al restaurante (con o sin reserva) el encargado le asigna
una mesa. Todos los pedidos de platos y bebidas que haga se z Bibliografía
asocian a la mesa. Cada plato y bebida tiene asignado un
z “Object Oriented Modeling and Design” – James
precio. Se desea poder calcular automáticamente el importe de
lo consumido al momento de cerrar la mesa. A la firma le Rumbaugh. Capítulo 3 y 4.
interesa poder obtener antes del mediodía y antes de la cena un
listado con todas las mesas reservadas ordenado por el apellido
del cliente. Análisis y Diseño de Sistemas - Clase 9 33 Análisis y Diseño de Sistemas - Clase 9 34
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
6