04 modelo dean�lisis-2
Post on 13-Jun-2015
1.127 Views
Preview:
TRANSCRIPT
Desarrollo de software orientado a objetos
Unidad 4:Modelo de Análisis
Agenda
Introducción Clases de Análisis Modelo Conceptual
Introducción
Introducción
En el Workflow de Análisis se analizan, refinan y estructuran los requerimientos capturados con el propósito de estructurar el sistema completo.
Los modelos que se desarrollan describen qué es lo que el sistema va a hacer.
Introducción
Los modelos que se desarrollan están orientados al problema y no al ambiente en el que el sistema va a ser desarrollado e implementado.
El modelo de análisis proporciona una configuración conceptual del sistema que consiste de objetos de control, entidad e interfaces.
Introducción
Se describe un diagrama preliminar de clases persistentes (Modelo Conceptual)
Se describen el comportamiento preliminar del sistema (Diagrama de Secuencia del Sistema y Contratos).
Modelo de Casos de Uso vs. Modelo de Análisis
Modelo de Casos de Uso
Se describe usando el lenguaje del cliente.
Es la vista externa del sistema.
Modelo de Análisis Se describe usando
el lenguaje del desarrollador.
Es la vista interna del sistema
Modelo de Casos de Uso vs. Modelo de Análisis
Modelo de Casos de Uso
Se usa a manera de contrato entre clientes y desarrolladores para definir lo que el sistema debe y no debe hacer
Modelo de Análisis Se usa para que
los desarrolladores comprendan como el sistema debe ser diseñado e implementado.
Modelo de Casos de Uso vs. Modelo de AnálisisModelo de Casos de
Uso Puede contener
redundancias e inconsistencias en el enlace con los requerimientos.
Captura funcionalidad del sistema
Modelo de Análisis No debe contener
redundancias ni inconsistencias en la interpretación de los requerimientos.
Bosqueja como realizar la funcionalidad dentro del sistema.
Clases de Análisis
Clases de análisis
El modelo conceptual de clases de análisis ayuda a refinar los requerimientos y permite a los desarrolladores describir la estructura interna del sistema.
Los estereotipos son tres: interfaces, entidades y controladoras
Clases Interfaz o Frontera
Las Clases “Boundary” se usan para modelar la interacción entre el sistema y los actores.
Esta interacción involucra recibir (y presentar) información y peticiones desde usuarios y sistemas externos.
Clases Interfaz o Frontera
Representan la abstracción de de ventanas, formularios, paneles, interfaces de comunicación, impresoras, sensores, terminales o dispositivos.
Clases Interfaz o Frontera
Ejemplo: La interfaz de pago es usada
para soportar la interacción entre el actor cajero y el caso de uso de Registrar Pago.
Cajero Interfaz Pago
Clases Entidad
Las Clases Entidad (Entity) son usadas para modelar la información que tiene permanencia en el tiempo y es persistente.
Modelan la información y el comportamiento asociado de algún concepto como una persona, evento u objeto del mundo real.
Clases Entidad
Usualmente muestran la estructura de datos lógica que contribuye a la comprensión de la información que depende el sistema.
Clases Entidad
Ejemplo: La clase entidad Pago permite
mostrar la información de un pago en la interfaz de pago.
Cajero Interfaz Pago
Pago
consulta
Clase Controladora
Las clases “control” representan la coordinación, secuencia, gestión de transacciones y control de otros objetos.
Usualmente se usan para encapsular el control relacionado con un caso de uso específico.
Clase Controladora
También se usan para representar cálculos y derivaciones complejas, como la lógica del negocio que no se puede relacionar con ninguna entidad.
La dinámica del sistema se modela en una clase controladora, que se encarga de delegar trabajo a otras clases.
Clase Controladora
Ejemplo: La controladora de pagos es
responsable de la coordinación entre la interfaz de pagos y la entidad pago.
CajeroInterfaz
Pago
Pago
Registrar
Controladorade Pagos
Crear
Diagrama de Clases
Es un diagrama que muestra las clases de análisis y sus relaciones.
Se realizan para cada Caso de Uso.
CajeroInterfaz
Pago
Pago
Registrar
Controladorade Pagos
Crear
¿Cómo encontrar clases?
Análisis de los Casos de Uso. Paquetes.
Análisis de los Casos de Uso
Es el proceso de examinar los casos de uso y descubrir los objetos y clases del sistema bajo estudio.
Se pone énfasis en el estudio de los cursos o flujos de eventos.
Se descubren y crean las clases controladoras, entidad y de interfaz.
Encontrando Objetos Entidad Los objetos entidad se identifican
examinando los nombres y sustantivos usados en la descripción de los flujos de eventos.
Los sustantivos encontrados pueden ser: Objetos Descripción del estado de un objeto. Entidades externas y/o actores. Nada de lo descrito anteriormente.
Filtrando Sustantivos
Con la identificación de sustantivos podemos darnos cuenta de que: Muchos términos se refieren al
mismo objeto. Un término puede referirse a mas
de un objeto. El lenguaje natural es muy ambiguo
Filtrando Sustantivos
Este método puede identificar objetos sin importancia, en consecuencia: La lista de nombres debe filtrarse. Advertencia: Cualquier nombre
puede verbalizarse y viceversa.
Nota: Cada nombre debe ser considerado dentro del contexto del problema. No singularmente.
Nota: Cada nombre debe ser considerado dentro del contexto del problema. No singularmente.
Observando los sustantivos Un requerimiento se ha
expresado como: “Se deben tomar en cuenta las
condiciones legales vigentes al hacer una venta.”
Si sólo consideramos los nombres sin estudiarlos ¿qué pasaría?
Escenario normal del caso de uso “Crear horario”
Acción del actor Respuesta del sistema1. <Estudiante>: Indica
semestre e ingresa su número de matrícula para crear un nuevo horario.
2. Valida el número y muestra lista de cursos obligatorios disponibles para el semestre.
3. <Estudiante>: Selecciona cursos obligatorios.
4. Muestra lista de cursos electivos del semestre.
5. <Estudiante>: Selecciona cursos electivos.
6. Determina si el alumno cumple con los prerrequisitos requeridos examinando su record académico y si es así, lo incorpora al registro de alumnos del curso.
Escenario normal del caso de uso “Crear horario”
Acción del actor Respuesta del sistema
7. <Estudiante>: Indica que ha terminado el registro si todo está conforme.
8. Graba el registro de nuevo horario y matrícula e imprime boleta de inscripción.
9. <Estudiante>: Indica fin de registro.
10.Envía la información de matrícula al sistema de pagos.
Sustantivos del escenario de “Crear horario”
Estudiante, número de Matrícula Sistema Semestre Nuevo Horario Lista de cursos obligatorios
disponibles Cursos obligatorios Lista de cursos electivos disponibles Cursos electivos
¿Qué nombres deben filtrarse?
¿Qué nombres deben filtrarse?
¿Qué nombres deben filtrarse?
¿Qué nombres deben filtrarse?
Sustantivos del escenario de “Crear horario”
Prerrequisitos requeridos Record académico Lista de alumnos del Curso Matrícula Boleta de inscripción Información de matrícula Sistema de Pagos
Objetos entidad candidatos
Nuevo horario: lista de cursos del estudiante para un semestre.
Lista de cursos disponibles: lista de los cursos ofrecidos en un semestre.
Curso obligatorio: un curso ofrecido en un semestre.
Curso electivo: un curso ofrecido en un semestre.
Objetos entidad candidatos
Prerrequisitos: Una lista de los cursos que son necesarios para llevar un curso dado.
Record académico: Una lista de los cursos llevados por el estudiante en semestres anteriores.
Lista de alumnos del curso: Lista de los estudiantes matriculados en un curso ofrecido.
Información de matrícula: Información requerida por el sistema de pagos.
Creando clases entidad
Los objetos entidad se agrupan en clases. Basados en una estructura y
comportamiento similares. Las clases entidad se refinan
estudiando otros escenarios.
Clases entidad candidatas
Clase Descripción
Horario Lista de los cursos de un estudiante para un semestre
Catálogo Lista de todos los cursos ofrecidos en un semestre
Curso Un curso ofrecido en un semestre
Prerrequisito
Un curso necesario para llevar otro curso
Clases entidad candidatas
Clase Descripción
Record Académico
Lista de los cursos previamente llevados por un estudiante
Alumnos x Curso
Lista de los estudiantes matriculado en un curso ofrecido
Información Matrícula
Información de la matrícula requerida por el Sistema de Pagos
Encontrando clases interfaz
Examinar cada par actor / escenario y crear las clases interfaz obvias.
Ejemplo: Una interfaz “FormularioRegistro” se
requiere para que el estudiante se identifique y seleccione la opción deseada.
Una interfaz “FormularioHorario” se necesita para ingresar la información de cursos seleccionados por el estudiante.
Prototipo Se usan para comunicar la apariencia y
manejo de una interfaz al usuario.
Encontrando clases interfaz
Las clases interfaz se crean también para la comunicación sistema-a-sistema.
Se adicionan para describir el protocolo de comunicación elegido.
Encontrando clases controladoras
Las clases controladoras típicamente contienen información secuencial.
Advertencia: No deben realizar responsabilidades que le competen a las clases entidad e interfaz.
Encontrando Clases Controladoras En este nivel de análisis debe
adicionarse una controladora por caso de uso.
Una sola controladora se responsabiliza por cada escenario y flujo de eventos de un caso de uso.
Encontrando Clases Controladoras Este estudio es inicial. A medida que se desarrollan
mas casos de uso y sus escenarios se pueden eliminar, dividir o combinar.
Clase controladora candidata
Se adicionar una clase de Control denominada AdministradorRegistros Recibe información de la Interfaz
“FormularioHorarios”. Para cada curso seleccionado:
Solicita sus prerrequisitos. Verifica en el Record académico del estudiante si
este aprobó los prerrequisitos del curso de su elección.
Clase controladora candidata
..... Sabe que hacer si un prerrequisito no ha sido
aprobado. Verifica si el curso esta con cupo. Sabe que hacer cuando uno de los cursos
seleccionados por el estudiante ya no tiene cupo.
Crea los objetos de Horario e InformacionMatrícula.
Asocia el pago al Horario matriculado.
Paquete
Paquetes
Es un mecanismo de propósito general para organizar elementos en grupos.
Como el número de clases crece a medida que se van analizando más y más escenarios es conveniente: Que las clases se agrupen en paquetes. Proporciona la habilidad de organizar el modelo en
desarrollo.
Paquetes en el Sistema de Matrícula Para agrupar clases podemos
reconocer tres paquetes: Artefactos de la Universidad Reglas de Negocio e Interfaces.
Artefactos de la Universidad: Horario, Catalogo, Curso,
RecordAcademico, AlumnosXCurso InformacionPago.
Paquetes en el Sistema de Matrícula
Reglas del Negocio: AdministradoraRegistros
Interfaces: FormularioRegistro,
FormularioHorario, SistemaPago, e Impresora.
Diagramas de Clases
Es una vista de los paquetes y clases del sistema en estudio. Usualmente se elabora mas de uno
para su correcta revisión y control. El diagrama de clases principal
muestra solamente la relación entre paquetes.
Los secundarios usualmente muestran las clases relacionadas con el paquete o con un caso de uso específico.
Diagrama de Clases Principal
Arterfactos de la
Universidad
InterfacesReglas del
Negocio
Clases por Paquete Interfaces
FormularioRegistro
FormularioHorario
Sistemade Pago
Impresora
Clases por Paquete Reglas del Negocio
AdministradoraRegistros
Clases por Paquete Arterfactos de la
Universidad
Catálogo
InformaciónPago
Curso
1
0..n
Alumno
Matricula
Record1
0..n
1
0..n
0..n
1
1
0..n
0..n
1
1
1..nHorari
o
Modelo Conceptual
El Modelo Conceptual
Es una vista que muestra los conceptos básicos del sistema: sus partes y relaciones.
Se utiliza un diagrama de clases de UML simplificado.
Es una representación de las relaciones entre clases entidad.
Relaciones
Son vínculos que se establecen entre los conceptos o clases.
En esta primera etapa del análisis revisaremos las: Asociaciones Agregaciones Herencia
Relación de Asociación
Representa una relación o conexión semántica entre objetos de diferentes clases
Indica un camino de comunicación o vínculo en el que las objetos de las clases tienen cierta independencia.
Relación de Asociación
Pueden ser binarias, ternarias o de orden superior.
Por defecto son bidireccionales
Relación de Asociación
Asociación binaria Se denota gráficamente
como un arco sólido conectando dos símbolos de clase.
Relación de Asociación
Asociación binaria
VUELOviajaTRIPULANTE
Atributos de las Relaciones
Multiplicidad: Es indicada por un rango en el rol. Indicar el número de instancias vinculadas entre las clases.
Rol: Cada final de la asociación es un rol (opcionalmente se documenta con un nombre).
La Multiplicidad
Define cuántas ocurrencias de un tipo A pueden ser asociados con una instancia de un tipo B.
ASIENTOposee
1 nVUELO
lugar
La Multiplicidad
Exactamente uno
Cero or muchos
Uno o muchos
Cero o uno
Rango específico
1
0..n
1..n
0..1
2..4
Muchosn
Atributos de las Relaciones
Navegabilidad: Indica el grado de visibilidad que tienen las intancias de una clase respecto de otra.
Nombre: Cada asociación puede tener un nombre
Nombre de Asociaciones
Legible y Entendible
ASIENTOposee
AVION
Relación de Asociación
Empresa Persona1..nTrabaja-para
empleador empleado
Trabajadorsalario
jefe
gerencia
0..1
trabajador n
Dirección de lectura del nombre de relación
Clase asociativ
a
1..n
Relación involutiv
a
Agregaciones
Las agregaciones se identifican con relaciones entre tipos que impliquen que uno “tiene a” otro.
Agregaciones Vs. Asociaciones
Aeropuerto
VueloAvion
¿El Vuelo está compuesto de Avión y Aeropuerto?
Agregación
Polígono Punto3..*Contiene
Estilo
colortexturadensidad
n1
Composición
Es una forma fuerte de agregación donde el tiempo de vida de la parte coincide con el todo.
Las partes no deben sobrevivir fuera del todo.
Operaciones de copia o eliminación al todo deben propagarse a las partes.
Soporta encapsulamiento.
Agregación vs. Composición
Círculo
Polígono
Punto
Estilo
Test de Agregaciones
¿Para describir la relación se usa la frase “es parte de”? Una puerta “es parte de” un Carro
¿Hay operaciones sobre el todo que se aplican automáticamente a las partes? Al mover el carro, se mueven sus
puertas
Test de Agregaciones
¿Hay valores de atributos que se propagan del todo a sus partes? El carro es azul, sus puertas son
azules ¿Existe una asimetría intrínseca
en la relación donde una clase está subordinada a la otra? Las puertas SON parte del carro, un
carro NO ES parte de una puerta
Atributos
Los atributos deben definirse de en correspondencia con los necesarios para representar los objetos del mundo real y no con componentes de software.
Atributos
No utilizar atributos complejos (objetos). Utilice asociaciones
Vuelo
Destino
Destino es complejo, modele como concepto sus posibles valores
Atributos
No utilizar atributos que sean llaves foráneas. Utilice asociaciones
Vuelo
NumPiloto
NumPiloto es una llave foránea, modele una asociación con Piloto
Atributos
Los atributos “Tipo”, “Categoría”, “Estado” generalmente no se modelan como tales.
Vuelo
Tipo
Existe otra forma de Modelarlos.¡Son objetos con comportamientosDistintos!
Herencia La herencia define una relación entre clases, donde
una clase comparte estructura y/o comportamiento con una o mas clases.
La herencia define una jerarquía de abstracciones en que una subclase hereda de una o mas superclases. Con una herencia simple, la subclase hereda de una única
superclase. Con una herencia múltiple la subclase hereda de una o mas
superclases.
Superclase
Subclase
Relación de Herencia
Estudiante
Usuario
Diagramando una Herencia
Herencia es la relación que se define como: “es un” o “es una clase de”.
Herencia es la relación que se define como: “es un” o “es una clase de”.
Consideraciones
Desde que la herencia no relaciona objetos individuales. La relación no tiene nombre La multiplicidad no es significativa
En teoría no existen límites para los niveles de herencia. Depende del lenguaje de desarrollo.
¿Qué ventajas tiene la herencia?
Una subclase hereda de su padre: Atributos Operaciones Relaciones
Una subclase puede: Tener atributos adicionales,
operaciones y relaciones propios. Redefinir operaciones heredadas
(¡ Usar esto con precaución !)
Heredando Atributos
Los atributos son definidos en el mas alto nivel de la jerarquía de herencia en donde son aplicables.
Las subclases de una clase hereda todos sus atributos.
Cada subclase puede tener atributos propios.
Un camión tiene tres atributos:• NumeroPlaca• Peso• Tonelaje
Un camión tiene tres atributos:• NumeroPlaca• Peso• Tonelaje
Camion
Tonelaje
Vehiculo
PesoNumeroPlaca
Carro
Heredando Atributos
Ejemplo
Heredando Operaciones.
Las operaciones son definidas en el mas alto nivel de la jerarquía de herencia en donde son aplicables.
Las subclases de una clase hereda todas sus operaciones. Cada subclase puede aumentar o redefinir las operaciones
heredadas.
Un camión tiene tres atributos:
• NumeroPlaca• Peso• Tonelaje
y dos operaciones:• registrar()• obtenerImp()
Un camión tiene tres atributos:
• NumeroPlaca• Peso• Tonelaje
y dos operaciones:• registrar()• obtenerImp()
Heredando Operaciones.
Ejemplo:
Camion
Tonelaje
Vehiculo
PesoNumeroPlaca
Carro
registrar( )
obtenerImp ( )
Heredando Relaciones
Las relaciones también se heredan y son definidas en el mas alto nivel de la jerarquía de herencia en donde son aplicables
Las subclases de una clase hereda todas sus relaciones Cada subclase puede participar de otras relaciones.
• Un carro se relaciona con su dueño
• Un camión se relaciona con su dueño
• Un camión tiene un trailer
• Un carro se relaciona con su dueño
• Un camión se relaciona con su dueño
• Un camión tiene un trailer
Heredando Relaciones
Ejemplo:
Camion
tonelaje
Vehiculo
PesonumeroPlaca
Carro
dueña
registrar( )
obtenerImp()
Persona
0..*
Trailer
1
Jerarquía de herencias
Tanto la generalización como la especialización se usan para desarrollar una jerarquía de herencias.
Durante el análisis las herencias de las clases se establecen si son evidentes y necesarias.
Jerarquía de herencias
Durante el diseño estas jerarquías se refinan para: Incrementar el reuso. Incorporar clases de
implementación. Incorporar librerías de clases
disponibles.
Niveles de Abstracción
Las clases deben ser modeladas de
acuerdo a un mismo nivel de
abstracción
Las clases deben ser modeladas de
acuerdo a un mismo nivel de
abstracción
Vehiculo
Ford
Terrestre
Camion Avion
Aéreo
Helicoptero
Avion Helicoptero Lobo Caballo
ObjetoVolador Animal
Pajaro
Herencia Múltiple
El Pajaro hereda tanto de ObjetoVolador como de Animal
El Pajaro hereda tanto de ObjetoVolador como de Animal
Herencia Múltiple
Conceptos de herencia múltiple Conceptualmente son necesarias
para modelar de manera adecuada el mundo real.
En la práctica puede haber problemas para su implantación. No todos los lenguajes del
programación dan soporte al problema de la herencia múltiple de manera directa.
Conceptos de herencia múltiple Conceptualmente son necesarias
para modelar de manera adecuada el mundo real.
En la práctica puede haber problemas para su implantación. No todos los lenguajes del
programación le dan soporte al problema de la herencia múltiple de manera directa.
Use herencia múltiple sólo
cuando se requiera
pero siempre con precaución !
Use herencia múltiple sólo
cuando se requiera
pero siempre con precaución !
Conflicto de nombres en atributos y operaciones Herencia Repetida
Problemas de Herencia Múltiple
Cada lenguaje/ambiente escoje la manera de resolver el problema
Cada lenguaje/ambiente escoje la manera de resolver el problema
ObjetoVoladorcolor
getColor
Animalcolor
getColor
Pajaro
ObjetoVolador
Animal
Pajaro
ObjetoAnimadocolor
Encontrando la Herencia
Es importante evaluar todas las clases para descubrir herencias posibles. Examinar el comportamiento común
(operaciones) y estado (atributos) en clases.
Técnica de adición... Adicionar nuevas operaciones/atributos
a la(s) subclase(s).
Encontrando la Herencia
Técnica de modificación... Redefinir operaciones
Cuidar de no cambiar la semántica. Las operaciones modificadas no deben cambiar su propósito.
Herencia versus Agregación
Usualmente se confunden..... La herencia representa una relación
“es un”. La agregación representa la relación
“tiene a”. Esta palabras clave ayudan a
aclarar la relación
Una WindowScrollbar “es una” Window
Una WindowScrollbar “tiene una” Scrollbar
¿Que relaciones deben usarse?
Una WindowScrollbar “es una” Window
Una WindowScrollbar “tiene una” Scrollbar
¿Que relaciones deben usarse?
Window y Scrollbar
Window Scrollbar
WindowScrollbar
Window y Scrollbar (cont.)
Window
WindowScrollbar
Scrollbar
Scrollbar
Window
WindowScrollbar
11
Cuadro Comparativo
Herencia Agregación
• Keywords “es una”
• Un objeto
•Respresentada por una flecha
• Keywords “tiene a”
• Relaciona objetos de diferentes clases
• Representada por un diamante
Problema: ¿Cómo se puede modelar?
Problema: ¿Cómo se puede modelar?
¿Qué es una metamorfosis?
Es un cambio de forma, estructura o función
Cualquier cambio marcado como en carácter, apariencia o condición.
Ejemplo:
En la Universidad hay estudiantes a tiempo completo y a tiempo parcial. Los estudiantes a tiempo completo
tienen un Id y una fecha de graduación esperada, pero un estudiante a tiempo parcial no.
Los estudiantes a tiempo parcial pueden tomar un máximo de 3 cursos. Los a tiempo completo no tienen un máximo de cursos.
EstudiantePartTime
Nombre
Direccion
NroDeCursos
Ejemplo:
EstudianteFullTime
Nombre
Direccion
IDEstudiante
FechaGraduacion
¿Qué pasa si un estudiante a tiempo parcial se convierte en un estudiante a tiempo completo?
¿Qué pasa si un estudiante a tiempo parcial se convierte en un estudiante a tiempo completo?
Una aproximación.....
Estudiante
NombreDireccion
EstudiantePartTime
NroDeCursos
EstudianteFullTime
IDEstudianteFechaGraduacion
Definiciones
Es muy difícil cambiar la clase de un objeto.
Una mejor técnica de modelamiento es…: Situar la estructura y
comportamiento que “cambia” dentro de la propia clase.
Definiciones
Estudiante
NombreDireccion
ClasificaPartTime
NroDeCursos
ClasificaFullTime
IDEstudianteFechaGraduacion
0,1 0,1
Definiciones (cont.)
Mary SmithFull time student
Joe JonesPart time student
MarySmith : Estudiante
: ClasificaFullTime
1
1
JoeJones : Estudiante
: ClasificaPartTime
1
1
: Estudiante :ClasificaFullTime
: ControlEstudiante
: ClasificaPartTime
Eliminar()
Crear()
CambiarAFullTime()
Definiciones (cont.)
La Metamorfosis está acompañada de la conversación de un objeto a sus partes cambiantes.
Metamorfosis y herencia
La herencia se debe usar para modelar la estructura, comportamiento y/o relaciones comunes para las partes “cambiantes”.
Estudiante
NombreDireccion
1 Clasificacion
PartTime
NroCursos
FullTime
IDEstudianteFechaGraduacion
Metamorfosis y flexibilidad
Esta técnica también adiciona flexibilidad al modelo.
Ejemplo: Un estudiante puede también vivir en el campus. En este caso, existe un identificador de residencia (pabellón), un número de cuarto y de llave.
Metamorfosis y flexibilidad
InformacionResidencia
PabellonCuartoIDCuarto 1
0..1
Estudiante
NombreDireccion
1 Clasificacion
PartTime
NroCursos
FullTime
IDEstudianteFechaGraduacion
Resumen de Relaciones
Una asociación es una conexión entre dos clases que representa comunicación.
La multiplicidad es el número de instancias que participan en una asociación. Se la representa en cada final de la
línea de asociación.
Resumen de Relaciones (cont.)
Una agregación es una forma especial de asociación en la cual un todo se relaciona con sus partes.
Una clase puede tener una asociación reflexiva o involutiva. Dos objetos de una misma clase
relacionados entre si. Las agregaciones también pueden ser
involutivas. Problemas de Catálogo de Materiales
(partes que se confeccionan a partir de otras partes).
Resumen de Relaciones(cont.)
La herencia define una relación donde una clase comparte su estructura y/o comportamiento con una o mas clases. Define una jerarquía de abstracciones en
donde una subclase hereda de una o muchas superclases.
Herencia Simple - una clase hereda de una única superclase.
Herencia Múltiple - una clase hereda de mas de una superclase.
Resumen de Relaciones(cont.) Una subclase hereda atributos,
operaciones y relaciones de sus superclase(s).
Una subclase puede: Tener atributos, operaciones y relaciones
propias. Refinar operaciones heredadas.
Resumen de Relaciones (cont.) La herencia y la agregación se
confunden usualmente. La herencia representa una relación
“es-un” o “es-una-clase-de”. La agregación representa una
relación “tiene-a”.
top related