Platzi tendrá un curso de UML?
Bienvenida e Introducción
¿Por qué aprender Programación Orientada a Objetos?
¿Qué resuelve la Programación Orientada a Objetos?
Paradigma Orientado a Objetos
Lenguajes Orientados a Objetos
Instalando Visual Studio Code
Diagramas de Modelado
Qué es UML
Orientación a Objetos
Objetos
Abstracción y Clases
Modularidad
Analizando Uber en Objetos
Reto 1: identificando objetos
Programación Orientada a Objetos. Análisis
Clases en UML y su sintaxis en código
Modelando nuestros objetos Uber
¿Qué es la herencia?
Aplicando Herencia a nuestro proyecto Uber
Reto 2: analicemos un problema
Clases, Objetos y Método Constructor
Creando nuestras carpetas iniciales para el curso
Definiendo clases en Java y Python
Definiendo Clases en JavaScript
Objetos, método constructor y su sintaxis en código
Objetos. Dando vida a nuestras clases en Java y Python
Declarando un Método Constructor en Java y JavaScript
JavaScript orientado a objetos, lo más nuevo
Declarando un método constructor en Python
Herencia
Aplicando herencia en lenguaje Java y PHP
Solución del reto de herencia en PHP
Aplicando herencia en lenguaje Python y JavaScript
Otros tipos de Herencia
Reto 4
Encapsulamiento
Encapsulamiento
Encapsulando atributos en Java
Polimorfismo
Generando polimorfismo en Java
Generando polimorfismo en PHP
Cierre del curso
El Diagrama UML de Uber
Conclusiones
Bonus: Qué es la Programación Orientada a Objetos
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 148
Preguntas 21
Platzi tendrá un curso de UML?
Hice un diagrama UML integrando las propiedades de cada clase, si identifican un error por favor comenta. Les dejo el template y el sitio donde pueden crear el suyo y añadir nuevas clases, propiedades y comportamientos.
-Template
-Sitio para editar template (select open existing diagram)
Recomiendo este libro para aprender UML:
http://descargavariable.blogspot.com/2018/01/aprendiendo-uml-en-24-horas-joseph.html
Tengo una pregunta donde creo que se puede simplificar un poco mas.
¿No podriamos tener un objeto UberCar que contenga una propiedad “Tipo” donde dependiente el tipo de auto: UberX, UberPool, etc entonces procedemos con el monto a cobrar y demas?
Objetos identificados Uber:
User: El usuario, persona, cliente.
Car: UberX, UberPool, UberBlack, UberVan.
Route: Ruta de un punto A
al B
, tu ruta de traslado.
Driver: Conductor del auto, del objeto car.
Payment: Card, Paypal, Cash, método de pago por el servicio.
Trip: Viaje realizado del punto A
al B
.
🧠 Debemos analizar el problema en un determinado contexto, posteriormente identificar los objetos que interactúan.
¿Alguien seria tan amable de explicarme por que trip es un objeto?, eso me revuelve un poco gracias
Como dijo en un vídeo anterior, en la programación orientada a objetos podemos distinguir dos tipos de objetos: Físicos y Conceptuales. Ambos tipos tienen: propiedades (atributos) y comportamientos (métodos).
Entonces, por ejemplo, en este caso de estudio tenemos los siguientes tipos de objetos fiscos:
User (que tiene un nombre, una localización y métodos como “llamar uber”, “cancelar uber” “pagar uber”).
Uber x, Uber pool, Uber Black, Uber Van (tienen atributos como cantidad maxima de pasajeros, si es un auto que se puede compartir, si es un auto premium y métodos como: ir a buscar user, hacer viaje, cobrar viaje).
Route: Sigue siendo algo físico algo que puede verse en por ejemplo el mapa al seleccionar el destino. Esta routa tendra propiedades como: Punto de inicio y destino.
Y también tendremos un objeto conceptual: Trip.
Pero, ¿Por qué es un objeto? Porque este trip va a tener propiedades, estas propiedades van a ser un conjunto de los objetos anteriores, es decir, un trip/viaje va a tener: un usuario que pide el viaje, una ruta, un auto, un conductor y un precio, también tendremos otras propiedades como: iniciado y finalizado. Y podriamos tener un metodo como “modificar” o “cancelar”
¿Y porque es conceptual? Es conceptual porque no es algo tangible directamente. Explicado facilmente: Vos podes ver un auto, podes ver una ruta, un conductor…pero: no podes ver un viaje. El viaje es simplemente un concepto para englobar la interacción de otros objetos necesarios para formarlo.
Podriamos imaginar objetos conceptuales como: Carrera, Partido de Fútbol, Sesión de usuario…
me encanta la manera en como explica
ANÁLISIS DE LA SITUACIÓN
Cuando un usuario solicita un servicio de Uber, se da un proceso dividido en 4 momentos o pasos:
El usuario con su celular solicita el servicio, ya que tiene la necesidad de trasladarse de un punto a otro.
El usuario solicita el automóvil, especificando qué ruta es la que necesita recorrer.
La aplicación le muestra al usuario un catálogo de automóviles, de los cuales el usuario puede elegir según su necesidad. Aquí también se muestra al conductor que maneja dicho automóvil.
El usuario aborda el automóvil y realiza el viaje a la ruta definida en un principio. Al terminar el recorrido el usuario realiza el pago por el viaje realizado.
OBJETOS QUE SE IDENTIFICAN DESPUÉS DEL ANÁLISIS
USER: Quien solicita el automóvil.
ROUTE: Ruta desde un punto a otro.
AUTOMÓVILES:
UberX
UberPool
UberBlack
UberVan
CONDUCTOR: Quien conduce el automóvil Uber.
MÉTODO DE PAGO:
Card
PayPal
Cash
TRIP: Contiene los datos del viaje, tales como ruta, automóvil escogido, usuario que solicita el servicio, etc.
Para los diagramas existen varias herramientas, algunas de ellas son:
Cuando te das cuenta que en tu país solo hay un tipo de auto en uber.
Excelente clases 😃
Yo en lo personal colocaria los tipos de uber en una clase vehiculo y luego entre sus propiedades colocaria lo que diferencia a uno de otro. Haria lo mismo con los metodos de pago ya que al final del dia se realizan muchas operaciones en comun a la hora de pagar solo varian ciertos apectos entre cada uno.
Notas:
Les dejo este super aporte donde explican UML muy claramente:
https://www.youtube.com/watch?v=Z0yLerU0g-Q
No es uber suburban, es SUV. Saludos
El análisis que se acaba de realizar es algo muy similar a lo que se le llama historias de usuario, es el acercamiento a lo que realiza o se espera que realice un sistema, da la idea global de lo que se espera y da base estructural a todos los componentes requeridos o usados.
este video ayuda a entender un poco más
https://www.youtube.com/watch?v=Z0yLerU0g-Q
mi UML esta un poco oxidado pero para los que andan un poco mas perdidos que yo (según vi nadie comento de esto) lo que ann esta haciendo se llama modelo entidad-relación:
este modelo sirve para ver quienes son o que cosas intervienen en el proceso(flujo) del sistema pueden ser actores(como usuarios, vehículos) y los procesos que hay en el sistema(como pedir el auto al sistema(arrendar))
los actores pueden intervenir en el sistema en ambas vías (alimentar y recibir información), también pueden interactuar entre si al igual que los procesos.
los procesos son los que interactúan con el medio y los usuarios y también pueden interactuar entre si, y tienen entradas y salidas
(hay mas conceptos y reglas pero en resumen es eso).
PD: Luego de tener la diagramación viene el proceso de casos de uso
**siéntanse libres de compartir, comentar, mejorar, complementar.
y espero haber aclarado un poco a los que estaban mas confundidos que yo …saludos!! **
Tiene bonita letra la profe :c
no comparto con @ancode que se tipifique el objeto automovil en sus distintos tipos de vehiculos según su envergadura.
El porte Van / Black / X / Pool lo interpreto como que es una propiedad del objeto Automovil. Espero lea este post y me lo aclare la docente. Saludos!
Así ya todo va tomando un sentido
dos puntos por terminar de ver el video :v
En el paso 1:
En el paso 2:
En el paso 3:
En el paso 4:
Último objeto y es de tipo conceptual
Les dejo mi dibujo del análisis 😄.
Resumen de la Clase:
Analizando Uber en Objetos
Análisis del problema:
Análisis de los Objetos:
User |
---|
Route |
Driver |
UberX |
UberPool |
UberBlack |
UberVan |
Trip |
Cash |
Card |
Paypal |
Los flujos de trabajo también son útiles para ayudar a los empleados a entender sus funciones y el orden en el cual se completa el trabajo, y para crear más unidad dentro de departamentos diferentes. Con sus orígenes en la industria manufacturera, los flujos de trabajo ahora se usan en una variedad de industrias, desde el gobierno hasta las finanzas y el comercio, y son más sencillos que nunca de crear.
Objetos de adopción
Polimorfismo
Podemos encontrar términos como súpercalse y que la herencia se llama subclase.
Como hemos hablado anteriormente al instanciar un objeto o clase de una clase padre estaremos automáticamente heredando sus atributos y métodos pero en ocasiones debemos cambiar la forma de proceder de esos métodos, en esta ocasión debemos rescribir este método para que haga lo que es correcto en el momento justo.
Faltó también el objeto Phone.
Identifico estos, adicionales, la factura por el servicio, y el sistema de calificaciones.
Increíble.
Como objeto conceptual en todo proceso de compra-venta o donde se transmita información en el sistema debe existir una clase para poder manipular la información del proceso ej.
Tendremos un objeto del comprador y vendedor cada uno con sus respectivos atributos. pero tambien deberemos tener un objeto venta para manipular la fecha de venta,la cantidad de cosas que se compran,el id de compra
Buenas noches compañeros, bueno para mí los objetos estarían dados de la siguiente manera:
Objetos conceptuales:
Objetos concretos:
+Perro
+Persona
Como el ejercicio dice que hay que identificar los objetos no más, lo dejo asi. Me dicen por favor si estoy mal en algo.
Estupendo análisis instructora Anahí. No conocía que Uber tuviera otras formas de clasificar a los vehículos a parte del X y el Van, también recalco que debemos estar atentos para poder hallar aquellos objetos que son del tipo conceptual, así podremos realizar un trabajo más completo.
Los diferentes tipos de carro son el ejemplo perfecto para explicar herencia.
¿Por qué no tener un solo objeto vehículo en vez de uno por cada tipo de automóvil? ¿Y por qué no un objeto payment en vez de uno por cada método de pago?
Existen objetos fisicos y conceptuales.
Para este primer analisis incluimos diferentes objetos, tales como: Uberx, ubervan, uberpool, uberblack. Estos posteriomente se pueden agrupar en una clase; pues poseen caracteristicas similares. Asi mismo con el tipo de pago.
Me ha quedado una duda. 😦 No podríamos crear un solo objeto llamado “card” y un atributo donde diferencia el tipo de coche?
Buena explicación. Todo super claro!
Muy buena clase!
En UML es cuando empieza a desglosar el problema y dividirla en objetos, para poder distinguir en que parte interviene dentro del problema, dependiendo del analisis que se vaya a realizar de manera calmada y sin afanes.
UML es super importante para el arranque de cualquier proyecto.
Me muero de la risa de la “elegancia” al dibujar de Anahí … Gracias por esos momentos y ya somos dos (dibujo igualito a cuando estaba en preescolar!!!)
La mejor clase que en todo Platzi he visto. Gracias Anahí
El conductor súper feliz de llevarnos jaja
falta el über coptero 🚁
al desglosar el servicio Uber se empiezan a ver los objetos que están involucrados que en esta primer vistazo se observaron
SUV no es por SUVURBAN, (y de hecho es SUBURBAN) es Sport Utility Vehicles… mal ahí.
Uber es una plataforma que conecta a quienes conducen y realizan entregas con usuarios, clientes y restaurantes. En las ciudades donde Uber está disponible, puedes usar la app para pedir un viaje.
El viaje termina cuando llegas al destino y bajas del vehículo.
uberX: confort y seguridad en cada viaje. …
uberX VIP. …
uberXL: comodidad y economía en grupo. …
UberBLACK: un poco de estilo en cada viaje. …
UberSUV: estilo y confort en grupo.
El lenguaje unificado de modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad.
Alguien sabe la aplicación que se utiliza para hacer estos bocetos? me parece genial hacer así mi análisis.
Ojalá en el futuro tengan un curso de UML para profundizar en el tema. 💚
Hola. Les recomiendo Lucidchart para diagramar modelos UML
Les dejo un libro buenisimo sobre UML
https://es.slideshare.net/still01/aprendiendo-uml-en-24-horas-16815956
en mi ciudad no hay uber xD
Lo hice primero y después vi el video casi Lo hize igual
Análisis de los objetos presentes en Uber
Creo que sería más sencillo definir un Objeto Vehiculo y en sus propiedades agregar los tipos de vehículos.
Los mismo para el pago.
Los bocetos de la TESLA Cybertruck!!! 🤩
Uhhh qie genial, me gusta esta forma de resolver los problemas, puestos en lista sería algo como:
Se entendio los objetos conceptuales de una mejor forma con esto.
Entendi, tuve algunas dudas pero con algunos comentarios creo las solucione. De igual forma hay que seguir para que viene.
Genial!!
Excelente clase
Me encantó la clase!!
un curso donde enseñen todos lo diagramas mencionados actividades,interaccion,etc
tratandose solo de adopción:
-mascota
-propietario
-adoptador
-tramite
Todos hablan de la importancia de la importancia de UML pero la realidad es que a día de hoy no lo utilizamos como se debe.
wao que buena explicacion ❤️
Muy buena clase! muchas gracias!
Muy interesante este análisis.
Me gusta mucho que usen un ejemplo de la vida real para explicar y desarrollar este paradigma, felicitaciones!
Que buen ejemplo, 10/10
Esta clase me ayudará bastante ñ. muchas gracias.
Dividir el problema en pequeños sub problemas
QUE ES UNA CLASE:
-MODELO por el cual se van a permitir nuestros objetos.
-Permiten generar mas objetos.
- Separar las clases en archivos diferentes.
MODULARIDAD:
-Subdividir un sistema en partes mas pequeñas.
VENTAJAS DE LA MODULARIDAD:
• Reutilizar código
• Evitar colapsos.
• Mantenible.
• Legibilidad.
Resolución de problemas
Gran explicación.
Genial! ahora si a diagramar 😃
Excelente ejemplo
😃
Bien explicado!
Excelente explicación
perfecto
Tremendo ejemplo!
deberian colocar tambien el dedo apuntando hacia abajo para los comentarios, hay unos comentarios bien malos aqui, hay que puntuarlos tambien >:)
Se identificaron los Objetos que están presentes dentro de nuestra aplicación Uber.
Gran explicación! 😮
Muy interesante el análisis de Uber en objetos.😁
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.