2. Qué es un Objeto
●Es una entidad física o abstracta
que existe en el mundo real
●Se les puede identificar porque …
●Podemos hablar de ellos – poseen
características particulares
●Podemos manipularlos – poseen
comportamiento
●Son únicos e irrepetibles – poseen
identidad
3. Ejemplos de Objetos
● Ejemplo 1
● Juanito Pérez
●Características: masculino, 10 años, blanco.
●Comportamiento: Camina, juega, brinca,
habla.
● Ejemplo 2
● Seguro de vida de Rubén Ramírez
●Características: Aseguradora: GNP, número:
2301, fecha: 12/oct/2001, cliente: Rubén
Ramírez, Total: $100,000, etc.
●Comportamiento: Asegurar cliente, Asignar
beneficiarios, Cotizar, etc.
4. Clases
●Una clase es una
categoría o
grupo de cosas
que tienen
atributos
(propiedades) y
métodos
(acciones
similares).
Las cosas que existen y que
nos rodean se agrupan
naturalmente en
categorías.
5. Caminar
Hablar
Clases
●Las clases se representan
con rectángulos divididos
en tres áreas: la superior
contiene el nombre de la
clase, la central contiene
los atributos y la inferior
los métodos.
Persona
Profesión
Edad
Estatura
7. Análisis del Dominio: Modelo
Conceptual, Diagrama de Objetos
Nombre
Ejecutivo de Cuenta
Producto
Precio
Clave
Orden
Número
Cliente
Nombre
Teléfono
Supermercado
Tamño
Color
9. Clases
●Agregación: es una
relación en la que
la Clase “Todo”
juega un rol más
importante que la
Clase "Parte", pero
las dos clases no
son dependientes
una de otra.
14. UML
●Lenguaje Unificado de Modelado:
Es un lenguaje que está compuesto
por diversos elementos gráficos
que se combinan para conformar
diagramas. El cual, cuenta con
reglas para combinar tales
elementos
15. Use Case
Diagrams
Use Case
Diagrams
Diagramas
de
Casos de
Uso
Scenario
Diagrams
Scenario
Diagrams
Diagramas
de
Colaboració
n
State
Diagrams
State
Diagrams
Diagramas
de
Component
es
Component
Diagrams
Component
Diagrams
Diagramas
de
Distribución
State
Diagrams
State
Diagrams
Diagramas
de
Objetos
Scenario
Diagrams
Scenario
Diagrams
Diagramas
de
Estados
Use Case
Diagrams
Use Case
Diagrams
Diagramas
de
Secuencia
State
Diagrams
State
Diagrams
Diagramas
de
Clases
Diagramas
de
Actividad
Model
o
Diagramas más comunes
del UML
16. Análisis y Diseño con UML
Definir casos de
uso
Definir modelo
conceptual
Definir
interacciones
Diseñar diagramas
de clases
17. Análisis
●Enfocado a investigar y
comprender
●El dominio del problema
●El QUÉ del Sistema
●Incluye:
●Descripción del problema
●Requerimientos a cumplir
18. Diseño
● Enfocado en definir
● El producto de software
● La Solución al problema
● El CÓMO del sistema
● Incluye:
●Definición de la solución
●Arquitectura del sistema
●Mecanismos clave
19. Actividades Principales del Análisis
● Casos de Uso. Descripción narrativa de los
procesos de un sistema o negocio
● Modelo Conceptual. Muestra los conceptos
relevantes dentro de un contexto
Definir casos de
uso
Definir modelo
conceptual
Definir
interacciones
Diseñar diagramas
de clases
ANÁLISIS
20. Análisis de Requerimientos: Caso
de Uso
●Un caso de uso es
una descripción de
las acciones de un
sistema desde el
punto de vista del
usuario, usando
actores y casos de
uso
21. Análisis de Requerimientos: Caso
de Uso
● Caso de Uso: Colocar una orden
● Descripción: El caso de uso comienza
cuando un cliente llama a un ejecutivo de
cuenta para solicitar la compra de un
producto. El ejecutivo de cuenta registra la
información del cliente y del producto en
una nueva orden
22. Análisis del Dominio: Modelo
Conceptual, Diagrama de Objetos
● Caso de Uso: Colocar una orden
● Descripción: El caso de uso comienza cuando un
cliente llama a un ejecutivo de cuenta para
solicitar la compra de un producto. El ejecutivo de
cuenta registra la información del cliente y del
producto en una nueva orden
Nombre
Producto
Orden
Cliente
Ejecutivo de Cuenta
Precio
Clave
Número
Nombre
Teléfono
23. Análisis del Dominio: Modelo
Conceptual, Diagrama de Objetos
Nombre
Producto
Orden
Cliente
Ejecutivo de
Cuenta
Precio
Clave
Número
Nombre
Teléfono
24. Actividades Principales del Diseño
● Interacción entre los objetos. Diagrama
de interacción
● Estructura estática del sistema.
Diagrama de clases
Definir casos de
uso
Definir modelo
conceptual
Definir
interacciones
Diseñar diagramas
de clases
DISEÑO
26. Diagrama de Clases
Ejecutivo de Cuenta
Nombre
Teléfono
Nombre
Producto
Orden
Cliente
Precio
Clave
Número
Registrar ( )
Modificar ( )
RecibirSolicitud ( )
Registrar ( )
Consultar ( )
objCliente
1..n
27. Análisis de Requerimientos: Caso
de Uso
● Caso de Uso: compra de un producto
● Descripción: El caso de uso comienza
cuando un cliente se dirige a un
supermecado y escoge el producto
deseado y luego se dirige a un asesor de
venta para pagar un producto. El asesor
de venta registra la información del cliente
y del producto en una orden
28. Análisis del Dominio: Modelo
Conceptual, Diagrama de Objetos
Nombre
Producto
Orden
Cliente
Ejecutivo de Cuenta
Precio
Clave
Número
Nombre
Teléfono
Supermercado
Tamño
Color
29. Actividades Principales del Diseño
● Interacción entre los objetos. Diagrama
de interacción
● Estructura estática del sistema.
Diagrama de clases
Definir casos de
uso
Definir modelo
conceptual
Definir
interacciones
Diseñar diagramas
de clases
DISEÑO
31. Ejercicio
● Caso de Uso: Crear una
cuenta de facebook
●Análisis
●Caso de Uso
●Modelo Conceptual
●Diseño
●Interacción entre objetos
●Diagrama de clases
32. Conclusiones
● El análisis es el momento en que se identifica el QUÉ
del sistema, y el diseño es cuando se identifica el
CÓMO
● El análisis y diseño orientado a objetos se
caracterizan porque el elemento fundamental son los
objetos
● Una ventaja importante de la orientación a objetos
consiste en que los desarrolladores no necesitan
hablar en términos diferentes a los usuarios
● Los objetos se identifican por tener características y
comportamiento que los identifican de manera única
● Las clases surgen al categorizar o abstraer un
conjunto de objetos con características similares
33. Conclusiones
● El análisis con UML incluye la definición de casos de
uso y el análisis del dominio
● El diseño con UML incluye la definición de las
interacciones entre los objetos y el diseño del
diagrama de clases
● Crear el UML de la reserva de un hotel
● Servicio de biblioteca
● Cajero Automatico
● Hospital
● Para viajaré en avión
Notas del editor
#2:Un objeto es una cosa del mundo real del cual podemos hablar (por tener una identidad o características que lo describen) y que puede ser manipulada o tener un comportamiento. También puede ser un concepto o proceso.
Un objeto tiene características particulares que lo distinguen y un comportamiento especial.
Ejemplos de objetos:
Juan Pérez, Misifus, Mi carro, etc.
Las características y el comportamiento que los distinguen son:
Juan Pérez: se llama Juan Pérez, tiene 25 años, es moreno, camnia muy rápido, habla muy grave, etc.
Misifus: se llama Misifus, es un gato, tiene 4 patas, tiene pelaje gris, maulla, cae en 4 patas, etc.
#4:Una clase es una abstracción de objetos con características o atributos parecidos o iguales, así como un comportamiento similar.
Por ejemplo:
El tipo de características que definen a Juan Pérez son:
un nombre, edad, color de piel, tiene un modo de caminar, habla.
Pero, podemos encontrar que Jaime Rodríguez se distingue por las mismas características que Juan Pérez: un nombre, edad, color de piel, tiene un modo de caminar, habla.
Por lo tanto llegamos a la conclusión que los dos forman parte de una misma forma de clasificación de objetos, pertenecen a la misma clase: en este caso por el contexto que estamos manejando la clase a la que pertenecen sereía PERSONA.
En el caso de Misifus podemos concluir que la abstracción que se define por las mismas características sería la clase ANIMAL o mejor aún MASCOTA, ya que tiene nombre propio y sólo los animales que que son mascotas tienen animales.
#5:Una clase es una abstracción de objetos con características o atributos parecidos o iguales, así como un comportamiento similar.
Por ejemplo:
El tipo de características que definen a Juan Pérez son:
un nombre, edad, color de piel, tiene un modo de caminar, habla.
Pero, podemos encontrar que Jaime Rodríguez se distingue por las mismas características que Juan Pérez: un nombre, edad, color de piel, tiene un modo de caminar, habla.
Por lo tanto llegamos a la conclusión que los dos forman parte de una misma forma de clasificación de objetos, pertenecen a la misma clase: en este caso por el contexto que estamos manejando la clase a la que pertenecen sereía PERSONA.
En el caso de Misifus podemos concluir que la abstracción que se define por las mismas características sería la clase ANIMAL o mejor aún MASCOTA, ya que tiene nombre propio y sólo los animales que que son mascotas tienen animales.
#6:Una clase es una abstracción de objetos con características o atributos parecidos o iguales, así como un comportamiento similar.
Por ejemplo:
El tipo de características que definen a Juan Pérez son:
un nombre, edad, color de piel, tiene un modo de caminar, habla.
Pero, podemos encontrar que Jaime Rodríguez se distingue por las mismas características que Juan Pérez: un nombre, edad, color de piel, tiene un modo de caminar, habla.
Por lo tanto llegamos a la conclusión que los dos forman parte de una misma forma de clasificación de objetos, pertenecen a la misma clase: en este caso por el contexto que estamos manejando la clase a la que pertenecen sereía PERSONA.
En el caso de Misifus podemos concluir que la abstracción que se define por las mismas características sería la clase ANIMAL o mejor aún MASCOTA, ya que tiene nombre propio y sólo los animales que que son mascotas tienen animales.
#8:Una clase es una abstracción de objetos con características o atributos parecidos o iguales, así como un comportamiento similar.
Por ejemplo:
El tipo de características que definen a Juan Pérez son:
un nombre, edad, color de piel, tiene un modo de caminar, habla.
Pero, podemos encontrar que Jaime Rodríguez se distingue por las mismas características que Juan Pérez: un nombre, edad, color de piel, tiene un modo de caminar, habla.
Por lo tanto llegamos a la conclusión que los dos forman parte de una misma forma de clasificación de objetos, pertenecen a la misma clase: en este caso por el contexto que estamos manejando la clase a la que pertenecen sereía PERSONA.
En el caso de Misifus podemos concluir que la abstracción que se define por las mismas características sería la clase ANIMAL o mejor aún MASCOTA, ya que tiene nombre propio y sólo los animales que que son mascotas tienen animales.
#9:Una clase es una abstracción de objetos con características o atributos parecidos o iguales, así como un comportamiento similar.
Por ejemplo:
El tipo de características que definen a Juan Pérez son:
un nombre, edad, color de piel, tiene un modo de caminar, habla.
Pero, podemos encontrar que Jaime Rodríguez se distingue por las mismas características que Juan Pérez: un nombre, edad, color de piel, tiene un modo de caminar, habla.
Por lo tanto llegamos a la conclusión que los dos forman parte de una misma forma de clasificación de objetos, pertenecen a la misma clase: en este caso por el contexto que estamos manejando la clase a la que pertenecen sereía PERSONA.
En el caso de Misifus podemos concluir que la abstracción que se define por las mismas características sería la clase ANIMAL o mejor aún MASCOTA, ya que tiene nombre propio y sólo los animales que que son mascotas tienen animales.
#11:Una clase es una abstracción de objetos con características o atributos parecidos o iguales, así como un comportamiento similar.
Por ejemplo:
El tipo de características que definen a Juan Pérez son:
un nombre, edad, color de piel, tiene un modo de caminar, habla.
Pero, podemos encontrar que Jaime Rodríguez se distingue por las mismas características que Juan Pérez: un nombre, edad, color de piel, tiene un modo de caminar, habla.
Por lo tanto llegamos a la conclusión que los dos forman parte de una misma forma de clasificación de objetos, pertenecen a la misma clase: en este caso por el contexto que estamos manejando la clase a la que pertenecen sereía PERSONA.
En el caso de Misifus podemos concluir que la abstracción que se define por las mismas características sería la clase ANIMAL o mejor aún MASCOTA, ya que tiene nombre propio y sólo los animales que que son mascotas tienen animales.
#12:Una clase es una abstracción de objetos con características o atributos parecidos o iguales, así como un comportamiento similar.
Por ejemplo:
El tipo de características que definen a Juan Pérez son:
un nombre, edad, color de piel, tiene un modo de caminar, habla.
Pero, podemos encontrar que Jaime Rodríguez se distingue por las mismas características que Juan Pérez: un nombre, edad, color de piel, tiene un modo de caminar, habla.
Por lo tanto llegamos a la conclusión que los dos forman parte de una misma forma de clasificación de objetos, pertenecen a la misma clase: en este caso por el contexto que estamos manejando la clase a la que pertenecen sereía PERSONA.
En el caso de Misifus podemos concluir que la abstracción que se define por las mismas características sería la clase ANIMAL o mejor aún MASCOTA, ya que tiene nombre propio y sólo los animales que que son mascotas tienen animales.
#14:Haciendo un paréntesis, es importante diferenciar entre lenguajes OO y lenguajes que no lo son. Tenemos lenguajes:
base-objetos: Lenguajes que no tienen herencia. Presentan un concepto parecido a clase y alguna forma de crear objetos a partir de ésta.
orientado a objetos: Presentan el concepto de objetos, clases y herencia de clases.
Diferencia entre el modelado por descomposición funcional y el OO
Lo representaremos con un ejemplo culinario. El problema es hacer chilaquiles.
Problema: Hacer chilaquiles.
Descoposición funcional
Se declaran una lista de datos, los cuales se encuentran en un espacio común.
El algoritmo divide al problema en subproblemas o funciones, partiendo de las mas complejas hasta llegar a las acciones mas sencillas de realizar, llamadas también atómicas. En todo momento la descomposición del problema se hará identificando las acciones (verbos) que se deben realizar.
Hacer chilaquiles se divide en dos subproblemas:
freír tortillas con salsa
añadir acompañamiento
Freír tortillas con salsa presenta tres subdivisiones:
freír tortillas
preparar salsa verde
juntar tortillas con salsa
Freír tortillas y juntar tortillas con salsa son actividades que ya se saben realizar (atómicas). Sin embargo, el caso de preparar salsa verde aún podemos aclararla mas
hervir chile y tomate
licuar con ajo
freír salsa
que ya son actividades atómicas.
Para el caso de añadir acompañamiento se particiona en dos actividades atómicas
añadir crema
añadir queso
Si se deseara ahora preparar chilaquiles con salsa roja, se tendría que buscar cuales actividades hay que modificar. En este caso sería la parte de los datos y Prepara salsa verde, Hervir chile y tomate, en el caso del diagrama. Sin embargo, lo complicado no termina en modificarlos, ya que no se sabe si en alguna otra parte del sistema se puedan referenciar y entonces esto traiga problemas.
Descoposición OO
La modelación de esta solución se realiza a través de los sustantivos que definen al problema. En este caso los sustantivos mas importantes son: Chilaquiles, Tortillas, Salsa verde, Ingredientes, Licuadora, Sartén y Acompañamiento. Todos estos van a ser nuestros objetos que internamente van a conjuntar datos y operaciones, que podemos asociarlos de manera lógica a cada uno de sus conceptos.
Cuando se pide haz_chilaquiles al objeto Chilaquiles, este debe tener un método que sabe hacer chilaquiles apoyándose en el objeto de Tortillas, que tiene tortillas como dato y sabre freír tortillas. Para el caso se Salsa verde, Chilaquiles le envía un mensaje diciéndole prepárate y entonces se preparará enviando mensajes a Ingredientes que los hierve, Licuadora que los licua y finalmente llama a Sartén para que los fría. Finalmente Chilaquiles le va a enviar un mensaje a
Acompañamiento, para que se añada la crema y el queso, y queden finalmente preparados los chilaquiles. Es importante notar que los datos se encuentran implícitos formando parte de los objetos.
Si en este modelo se desea hacer los chilaquiles con salsa roja, solo bastaría sustituir el objeto de salsa verde por el objeto Salsa roja, que se preparará, enviando mensajes a Ingredientes, Licuadora y Sartén, sin modificar nada más.