Вы находитесь на странице: 1из 52

ANALISIS Y DISEÑO DE

SISTEMAS

SESION 05

UNIVERSIDAD NACIONAL DE INGENIERIA


Facultad de Ingeniería Industrial y de Sistemas
Ing. Jesús Walter Antaurco Trujillo
Wantaurco@yahoo.com
Modelado de objetos
Aspectos a considerar:
 Paradigma Orientado a Objetos
 Fundamentos de modelado Orientado a
Objetos
 Caracteristicas de los Objetos

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”

 Modelado integrado de propiedades estáticas y


dinámicas del ámbito del problema
 Facilita construcción, mantenimiento y reutilización
5
¿Por qué la Orientación a Objetos?

 Conceptos comunes de modelado durante el


análisis, diseño e implementación

 Facilita la transición entre distintas fases


 Favorece el desarrollo iterativo del sistema
 Disipa la barrera entre el “qué” y el “cómo”

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?

• Representa un ítem, unidad o entidad, real o abstracta,


individual e identificable con un definido rol en el Dominio
del Problema. (Booch Grady, 1993)
• Es un concepto, abstracción o cosa con un significado y
límites definidos para el problema a manejar. (Rambaugh
James, 1991)
• Abstracción de algo en el dominio del problema, que
refleja la capacidad del Sistema para mantener
información e interactuar sobre ese dominio. Es una
encapsulación de valores determinados de atributos y
servicios exclusivos. Coad Peter and Yourdon Edward,
1991
9
¿Qué es un objeto?
 Informalmente, un objeto representa
una entidad, física, conceptual o
programa:
 Entidad física
camion

 Entidad conceptual
Proceso Quimico

 Entidad programa
Listas, Arboles, etc

10
Modelado de objetos

 El Modelado de Objetos permite representar


el ciclo de vida de los objetos a través de sus
interacciones
 En UML, un objeto se representa por un
rectángulo con un nombre subrayado
Otro
Objeto
Un Objeto
más

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

Vendedor Cliente Producto Vehículo

Empresa Persona Camión Tren


13
… Objetos
 Ejemplo de varios objetos relacionados:
Cuenta Corriente 101
Juan

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

 Cada objeto posee un identificador de objeto.


 El identificador establece la identidad del objeto y
tiene las siguientes características:
 Constituye un identificador único y global para cada
objeto dentro del sistema.
 Es determinado en el momento de la creación del objeto
 Es independiente de las propiedades del objeto, lo cual
implica independencia de valor y de estructura
 Sin embargo, es preciso contar con algún medio
para hacer referencia a un objeto utilizando 16
Un Objeto tiene Identidad
 Cada objeto tiene una identidad única, incluso
si su estado es idéntico al de otro objeto

Profesor “J Clark” Profesor “J Clark” Profesor “J Clark”


enseña Algebra enseña Algebra enseña Algebra

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

Asignación del profesor


Clark
(Retorna:confirmación)
Registro del
Sistema Curso Algebra 101

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

 El comportamiento global se basa pues en la


comunicación entre los objetos que la
componen

24
… Comunicación
 Categorías de objetos:
 Activos - Pasivos
 Cliente – Servidores, Agentes

 Objeto Activo: posee un hilo de ejecución


(thread) propio y puede iniciar una actividad
 Objeto Pasivo: no puede iniciar una actividad
pero puede enviar estímulos una vez que se le
solicita un servicio
 Cliente es el objeto que solicita un servicio.
25
… Comunicación
Servidor es el objeto que provee el servicio
solicitado
Agentes
 Los agentes reúnen las características de
clientes y servidores
 Son la base del mecanismo de delegación
 Introducen indirección: un cliente puede
comunicarse con un servidor que no conoce
directamente
26
… Comunicación
 Ejemplo en el que un agente hace de
aislante:
Sevidor 1
Un agente

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

 Tipos de flujo de control:


 Llamada a procedimiento o flujo de control

anidado
 Retorno de una llamada a procedimiento

30
Abstracción

Es un proceso mental que utiliza mecanismos que permiten


representar una realidad compleja en términos de un
modelo simplificado. (ignorando aquellos aspectos que no
son relevantes al proposito).

31
Encapsulamiento

Ocultar los detalles de implementación u


ocultamiento de información
 Encapsulación ofrece dos tipos de protección.
Protege:
 El estado interno de un objeto, de ser corrompido por
sus clientes
 El código del cliente, de cambios en la implementación
del objeto
 Una forma para ver una clase es que consiste de dos
partes: la interface y la implementación
 La interface puede ser vista y usada por otros objetos
(Ej. Clientes)
 La implementación es oculta para los clientes
32
Herencia

Utiliza mecanismos que permiten a un objeto incorporar


todo o parte de una definición de otro objeto como parte
de su propia definición.

33
Herencia múltiple

34
Polimorfismo

Usa mecanismos que permiten diferentes operaciones


en diferente tipos de objetos que tienen el mismo
nombre.

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

 Una clase es una abstracción en que:


 Se enfatizan las características relevantes

 Se suprimen otras características

 La abstracción nos ayuda a trabajar con cosas complejas

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

 Una clase es una definición abstracta de un objeto


 Define la estructura y el comportamiento de cada objeto en la
clase
 Sirve como modelo para la creación de objetos
 Los objetos pueden ser agrupados en clases

Objetos
Profesor

Profesor Smith Profesor Mellon

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

UNIVERSIDAD NACIONAL DE INGENIERIA


Facultad de Ingeniería Industrial y de Sistemas
Ing. Jesús Walter Antaurco Trujillo
Wantaurco@yahoo.com 52

Вам также может понравиться