Beruflich Dokumente
Kultur Dokumente
SISTEMAS
SESION 05
2
Paradigma Orientado a Objetos
3
Objetos
¿Qué es orientación a objetos?
• Es una forma de pensar en la solución de problemas
• Una forma de modelar una solución a un problema,
respetando los procesos naturales del pensamiento
humano.
• Modelar el Dominio del Problema como una colección de
Objetos (entidades) interactuando entre si, cada uno de los
cuales provee un definido conjunto de conductas
(servicios). (ANALISIS)
• Estructurar el Dominio del problema en un contexto de
arquitectura de sistema (DISEÑO).
4
¿Por qué la Orientación a Objetos?
Proximidad de los conceptos de modelado
respecto de las entidades del mundo real
Mejora la captura y validación de requisitos
Acerca el “espacio del problema” y el “espacio de
la solución”
6
Reflexiones respecto de la situación de
desarrollo de sistemas de información
Análisis Diseño Implementación
DFDs DEs
Enfoque Entornos de
Estructurado E-R Programación
Modelo Visual
Diagramas de Casos de Uso Relacional
Diagramas de Actividad
Diagramas de Secuencia
Diagramas de Colaboración Modelo
Relacional !! Bases de Datos
(Objeto-)
Enfoque OO Diagrama de Clases Relacionales
Diagrama de Estados
Diagramas de Actividad
7
Fundamentos de Modelado OO
8
¿Qué es un objeto?
Entidad conceptual
Proceso Quimico
Entidad programa
Listas, Arboles, etc
10
Modelado de objetos
Otro
Objeto
11
… Objetos
Ejemplo de ordenes de compra:
Orden
Item
Despacho via
12
… Objetos
Diagrama de clases del Ejemplo de
ordenes de compra:
Venta
Banco de la Nacion
Felipe
Cuenta Corriente 114
14
Conceptos de los Objetos
Identidad – Estado - Comportamiento
Persistencia – Comunicación – Mensaje
Abstraccion – Encapsulamiento – Herencia
- Polimorfismo
15
Un Objeto tiene Identidad
17
Un Objeto Tiene Estado
El estado evoluciona con el tiempo
Algunos atributos pueden ser constantes
El comportamiento agrupa las competencias
de un objeto y describe las acciones y
reacciones de ese objeto
Las operaciones de un objeto son
consecuencia de un estímulo externo
representado como mensaje enviado desde
otro objeto
18
Un Objeto Tiene Estado
El estado de un objeto es una de las
posibles condiciones en que el objeto
puede existir
a + b = 10
Nombre : Joyce Clark
Nº Empleado : 567138
Fecha de Ingreso : 21 de marzo 1987
Estado : Adjunto
Profesor Clark
19
Un objeto tiene comportamiento
El comportamiento de un objeto determina
cómo éste actúa y reacciona frente a las
peticiones de otros objetos
a + b = 10
20
......Comportamiento
Ejemplo de interacción:
21
… Comportamiento
Estado y comportamiento están relacionados
Ejemplo: no es posible aterrizar un avión si
no está volando. Está volando como
consecuencia de haber despegado del suelo
22
Persistencia
La persistencia de los objetos designa la
capacidad de un objeto trascender en el
espacio y tiempo
Los lenguajes orientados a objetos no
proponen soporte adecuado para la
persistencia, la cual debería ser
transparente, un objeto existe desde su
creación hasta que se destruya
23
Comunicación
Un sistema informático puede verse como un
conjunto de objetos autónomos y concurrentes
que trabajan de manera coordinada en la
consecución de un fin específico
24
… Comunicación
Categorías de objetos:
Activos - Pasivos
Cliente – Servidores, Agentes
Servidor 2
Un cliente
27
El Concepto de Mensaje
La unidad de comunicación entre objetos se
llama mensaje
El mensaje es el soporte de una comunicación
que vincula dinámicamente los objetos que
fueron separados previamente en el proceso de
descomposición
Adquiere toda su fuerza cuando se asocia al
polimorfismo y al enlace dinámico
28
… El Concepto de Mensaje
Objeto 1
: Mensaje A
Objeto 2
: Mensaje C : Mensaje E
Objeto 3 Objeto 4
: Mensaje D
29
Mensaje y Estímulo
Un estímulo causará la invocación de una
operación, la creación o destrucción de un
objeto o la aparición de una señal
Un mensaje es la especificación de un estímulo
anidado
Retorno de una llamada a procedimiento
30
Abstracción
31
Encapsulamiento
33
Herencia múltiple
34
Polimorfismo
Animal
dormir()
?
dormir
?
León Oso Tigre
35
....Polimorfismo
36
¿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
37
Ejemplo de una Clase
Clase
Curso
Estructura Comportamiento
Nombre Agregar un alumno
Ubicación Borrar un alumno
a + b = 10
Días ofrecidos Dar una lista del curso
Horas Créditos Determinar si está lleno
Horario de inicio
Horario de término
38
Clases de Objetos
¿Cuántas clases ve?
39
Relación entre clases y objetos
Objetos
Profesor
Clase
Profesor Jones
40
Guía para 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 los cursos del actual
semestre del estudiante
Buena abstracción: Clases separadas para
estudiantes y cursos del estudiante
Algebra 101
Historia Arte
Química
Español 101
41
Nombre de clases
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
42
Guía para nombrar 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
43
Semántica de las Clases
Después de nombrar las clases, debe hacerse
un informe descriptivo y 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 elaborar el diccionario de
datos
Fijarse
Fijarseen
en los
los “QUE”
“QUE”eeignorar
ignorarlos
los“COMO”
“COMO”
44
Descripción semántica
Nombre: InformaciónDelEstudiante
Definición de Trabajo: Información de una persona
registrada para asistir a clases en la universidad
Nombre: Curso
Definición de Trabajo: Una clase ofrecida por la
universidad
Mientras
Mientrasmás
másse
sedescubre
descubredel
delproblema,
problema,seserefina
refinala
la
definición
definición de
dela
laclase
clase yyse
seactualizan
actualizanel
el diccionario
diccionario
45
Representación de clases
Una clase es representada usando un
compartimiento rectangular
a + b = 10
Profesor
Profesor Clark
46
Compartimientos en 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 Alumno
Profesor Curso Escuela
- codigo : int
- nombre : int - codigo : int
- nombre : int + crear () : int
+ crear () : int
+ grabar () : int + grabar () : int
+ borrar () : int + borrar () : int
+ cambiar () : int Persona
+ cambiar () : int 47
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
Estereotipos comunes
Clase Interfaz
Clase Entidad
Clase Control
Los estereotipos son mostrados en el compartimiento
del nombre de la clase encerrados entre << >>
48
Clase Interfaz
Una clase interfaz modela la
comunicación entre el entorno del
sistema y su funcionamiento interno
Clases interfaz típicas
<<Interfaz>>
Windows (interfase del usuario)
FormularioCurso
Protocolo de comunicación (interfase del
sistema)
Interfase de la impresora
Sensores
En el escenario del “Registro de Cursos”,
un FormularioPrograma es creado para
aceptar la información del usuario 49
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 <<Entidad>> <<Entidad>>
ListaCurso
Las clases entidades en el caso de uso Catalogo
“Registro de Cursos”:
Curso
<<Entidad>> <<Entidad>>
Programa Programa Curso
Catálogo
ListaCurso 50
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
CoordinadorDeMatricula controla los procesos de registro
del curso <<Control>>
CoordinadorDeMatricula
51
Analisis y Diseño de Sistemas
FIN Sesión 5