You are on page 1of 22

Objetos y Clases Objetivos: Objetos y Clases

Usted será capaz de :
   

Definir y dar ejemplos de objetos Definir y dar ejemplos de clases Describir la relación entre clases y objetos Definir estereotipos

¿Qué es un Objeto?

Informalmente, un objeto representa una entidad, física, conceptual o programa

Entidad física
Camión

Entidad conceptual
Proceso Químico

Entidad programa
Lista Enlazada

Una Definición Formal

Un objeto es un concepto, una abstracción o una cosa con límites bien definidas y significado para una aplicación Un objeto es algo que tiene:
  

Estado Comportamiento Identidad

Un Objeto Tiene Estado

El estado de un objeto es una de las posibles condiciones en que el objeto puede existir El estado normalmente cambia en el transcurso del tiempo El estado de un objeto es implementado por un conjunto de propiedades (llamadas atributos), con los valores de las propiedades, además de las conexiones que deben tener con otros objetos
a + b = 10

 

Nombre: Nº Empleado: Fecha de Contr.: Estado:
Profesor Clark

Joyce Clark 567138 21 de marzo 1987 Adjunto

Un Objeto Tiene Comportamiento

El comportamiento de un objeto determina cómo éste actúa y reacciona frente a las peticiones de otros objetos El comportamiento de un objeto es modelado por un conjunto de mensajes a los que puede responder (las operaciones que el objeto puede realizar)

a + b = 10

Asignar profesor (Clark) (Retorna:confirmación)
Registro del Sistema

Curso Algebra 101

Un Objeto tiene Identidad

Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto

Profesor “J Clark” enseña Algebra

Profesor “J Clark” enseña Algebra

Profesor “J Clark” enseña Algebra

¿Qué son las Clases?
 

Hay muchos objetos identificados para cada dominio Una clase es una descripción de un grupo de objetos con propiedades en común (atributos), comportamiento similar (operaciones), la misma manera de relacionarse entre objetos (asociaciones y agregados) y una semántica en común

Un objeto es una instancia de una clase Se enfatizan las características relevantes Se suprimen otras características

Una clase es una abstracción en que:
 

La abstracción nos ayuda a trabajar con cosas complejas

Ejemplo de una Clase
Clase Curso
Estructura Nombre Ubicación Días ofrecidos Créditos Hora de inicio Hora de término Comportamiento Agregar un alumno Borrar un alumno Entregar una lista del curso Determinar si está lleno

a + b = 10

Clases y Objetos
¿Cuántas clases ve?

La Relación Entre Clases y Objetos

Una clase es una definición abstracta de un objeto

Define la estructura y el comportamiento compartidos por los objetos Sirve como modelo para la creación de objetos

Los objetos pueden ser agrupados en clases

Objetos

Profesor
Profesor Mellon

Profesor Smith

Profesor Jones

Encontrando Clases
 

Una clase debe capturar una y solo una abstracción clave Mala abstracción: La clase estudiante que conoce la información del estudiante y el programa del semestre actual del estudiante Buena abstracción: Clases separadas. Una para el estudiante y otra programas del estudiante

Algebra 101 Historia Arte Química Español 101

Asignando Nombre a una Clase

El nombre de la clase debe ser el sustantivo singular que mejor caracterice la abstracción La dificultad al nombrar la clase revela una pobre definición de la abstracción Los nombres deben provenir directamente del vocabulario del dominio

Guía de estilo en el nombramiento de clases

Una guía de estilo debe dictar convenciones para el nombramiento de clases Ejemplo de guía de estilo
  

Las clases son nombradas usando sustantivos singulares Los nombres de las clases comienzan con letra mayúscula No se usa el subrayado

Los nombres compuestos por múltiples palabras se ponen juntos y la primera letra de cada palabra se escribe con mayúscula

Ejemplo: Estudiante, Profesor, SistemaDePago

Definiendo la Semántica de las Clases

Después de nombrar las clases, debe hacerse un informe descriptivo conciso

Concentrarse en el propósito de la clase, no en su implementación

El nombre y la descripción de la clase sirven como base para un modelo de diccionario

Fijarse en los “QUE” e ignorar los “COMO”

Muestra de las Entradas de un Modelo de Diccionario

Nombre: InformaciónDelEstudiante

Definición: Información de una persona registrada para asistir a clases en la universidad Definición: Una clase ofrecida por la universidad

Nombre: Curso

Mientras más se descubre del problema, se refina la definición de la clase y se agregan nuevas clases al modelo de diccionario

Representando Clases

Una clase es representada usando un compartimiento rectangular

a + b = 10

Profesor

Profesor Clark

Compartimientos en la representación grafica de una clase

Una clase está compuesta de tres secciones
  

La primera sección contiene el nombre de la clase La segunda sección muestra la estructura (atributos) La tercera sección muestra el comportamiento (operaciones)

La segunda y la tercera sección pueden ser suprimidas si se necesita que no se vean en el diagrama
Profesor

nombre empID crear( ) grabar( ) borrar( ) cambiar( )

Profesor

nombre empID

Profesor

Profesor

crear( ) grabar( ) borrar( ) cambiar( )

Profesor

Estereotipos

Un estereotipo es un nuevo tipo de elemento de modelado que extiende la semántica del metamodelo

Deben estar basados en tipos o clases existentes en el metamodelo

 

Cada clase debe tener al menos un estereotipo Estereotipos comunes
  

Clase Frontera Clase Entidad Clase Control

Los estereotipos son mostrados en el compartimiento del nombre de la clase encerrados entre << >>

Clase Frontera

Una clase frontera modela la comunicación entre el entorno del sistema y su funcionamiento interno Clases interfaz típicas
   

Windows (interfase del usuario) Protocolo de comunicación (interfase del sistema) Interfase de la impresora Sensores

En el escenario del “Registrar Cursos a Tomar”, un Formulario programa es creado para aceptar la información del usuario <<Boundary>> FormularioPrograma

Interfaces con Otros Sistemas

Una clase frontera también es usada para modelar una interfaz a otro sistema Las características importantes de este tipo de clases frontera son:
 

La información que debe ser entregada al otro sistema El protocolo de comunicación usado para “hablarle” al otro sistema

En el escenario del “Registro de Cursos” , la información debe ser enviada al SistemaCobranza externo

Una clase llamada SistemaCobranza es creada para sostener la interfaz con el sistema externo

<<Boundary>> SistemaCobranza

Clase Entidad

Una clase entidad modela información y asocia comportamientos que generalmente son de larga duración (persistentes)
  

Puede reflejar un fenómeno de la vida real También puede ser necesitada por la tarea interna del sistema Los valores de estos atributos normalmente son entregados por un actor El comportamiento es independiente del entorno Curso Programa Catálogo ListaCursos
<<entity >> Programa <<entity >> Catalogo <<entity>> ListaCursos <<entity >> Curso

Las clases entidades en el caso de uso “Registro de Cursos”:
   

Clase Control

Una clase control modela el comportamiento especifico de uno o más casos de usos La clase control
 

Crea, inicializa y borra objetos controlados Controla la secuencia o coordina la ejecución de los objetos controlados Controla asuntos concurrentes para las clases controladas Es usualmente la implementación de un objeto intangible

 

En el escenario del “Registro de Cursos”, la clase AdministradorDeRegistro controla los procesos de registro

<<control>> AdministradorDeRegistro