No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprende Inglés, Desarrollo Web, AI, Ciberseguridad y mucho más.

Antes: $249

Currency
$209
Comienza ahora

Termina en:

2 Días
5 Hrs
53 Min
2 Seg

Modelando nuestros objetos Uber

14/37
Recursos

Aportes 188

Preguntas 25

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

En UberX y UberPool sería una buena idea poner un objeto como “Uber” y que tuvieran el atributo “Tipo” en donde se diferencia entre UberX y UberPool

Si ya tienen Visual Studio Code, pueden descargarse la extensión drawio, que les permite dibujar diagramas UML 😁

Existe una aplicación open source que tiene integrados modelos UML llamada diagrams.net. Capaz les resulta útil.

Velocidad 1,25

Me estaba preguntando por qué no mejor usar una clase llamada “Car” que contenga estos objetos comunes, y que las clases de tipos de autos de Uber heredaran de esa clase Car, o podriamos pasarselas en algún constructor… u otra alternativas es que Car sea una interfaz para Uber… hmmm hay tantas formas de hacerlo jaja

También se puede crear la clase person. Con eso user y driver heredan de person.

Si vienes del curso de Base de Datos, te puede ayudar la metodología de 9 pasos con Barker.

12. Mis apuntes sobre: “Modelando nuestros objetos Uber”

Les comparto el diagrama que hice.

Considero que faltaría la calificación que tiene un conductor en el Objeto “driver” sería un atributo como +score

✨ En esta lección vimos en acción a la abstracción, este nos permitió determinar las propiedades y comportamientos más significativos de los objetos.

Hola¿Alguien me puede decir que paso con el objeto Trip que explicó Anahí en la clase anterior? Tengo mucha curiosidad de como plantearía ese objeto conceptual

Lo que se podría hacer es una clase auto donde estén todos los atributos generales, y que los mismos hereden atributos y comportamientos. Seguramente lo hagamos en alguna de las próximas clases.

les recomiendo ver PRINCIPIOS SOLID.
https://devexperto.com/principio-open-closed/

En mi caso con lo poco que e leido uniria los tipos de clasificaciones de uber y heredaria de una clase general y solo la especializaria para cada modelo en particular. Y tambien un buen analisis de nuestras clases y las relaciones entre ellas nos ahorra muchas horas de programacion ya que el metodo de empezar a programar sin diseñar nunca nos va a permitir ver todos los posibles escenarios y necesidades de la aplicacion.


Apuntes de la Clase:

Modelando nuestros objetos Uber

Para los objetos user y driver se podría crear una superclase persona que tenga los atributos en comun y utilizar herencia.

Ahora con la Herencia eliminaremos la Redundancia de nuestro Análisis de Clases.

En la sección de Archivos y Enlaces encontrarán las imagenes adjuntas de lo analizado esta clase 😉 👉

Modelando nuestros objetos Uber

OBJETOS:
Los objetos siempre tendrán un identificador (id)
_
User
id
Name
document
email
password

Route
id
start [latitud, longitud] - arreglos
end [latitud, longitud] - arreglos

Driver
id
Name
document
email
password

Uber x
id
License
Driver
Passengers
Bland
Model

Uber pool
id
License
Driver
Passengers
Bland
Model

Uber black
id
License
Driver
Passengers
typeCarAccepted [] - arreglo
seatsMaterial [] - arreglo

Uber van
id
License
Driver
Passengers
typeCarAccepted [] - arreglo
seatsMaterial [] - arreglo

Card
id
number
cvv
date

Paypal
id
email

Cash
id

El siguiente paso es algo parecido a normalizar en una base de datos

OBJETO UBER: En lo personal pienso que para ahorrar codigo y hacerlo mucho mas factible a futuro deberia hacerse con una sola clase que trabaje como molde para crear cada tipo de uber, dependiendo de sus atributos y metodos.

Dos puntos por terminar de ver el vídeo :v

Para reforzar sus conocimientos en UML recomiendo el siguiente
http://descargavariable.blogspot.com/2018/01/aprendiendo-uml-en-24-horas-joseph.html

Muy buena la forma en que determino las características de cada objetivo instructora Anahí. Siguiendo el consejo de un instructor de Platzi, cuando estemos desarrollando la aplicación debemos recordar añadirle a los usuarios y conductores los atributos de Login y Username de esta forma se permite en el futuro los cambios de correo electrónico y nombre, sin necesidad de crear otro usuario o conductor. Además de seguridad extra.

Esta muy genial la expliacion so far, lo estoy disfrutando.

Hola, buscando software para crear diagramas UML, me encontré con este, me pareció muy bueno por lo que lo comparto por aca, es gratis y se puede conectar con GItHub.

Lo encuentran aca: https://www.diagrams.net/

Se puede crear una clase persona con los atributos Is, name, document, email, password, y un atributo rol que los clasifique por cliente o conductor

Pueden usar Miro para hacer sus diagramas UML.

veo que existe mucha redundancia.

Mis apuntes #14

¿Es necesario tener los atributos id, cuando el documento es único en cada persona?

¡Hola a todos!
Encontré un programado llamado StarUML que me ha servido para realizar los ejercicios de modelado. Se los recomiendo mucho 😄
.

Si te gusta trabajar desde el navegador les recomiendo Diagrams.net, puedes crear tus diagramas sin necesidad de descargar el software.
.
!Nunca paren de aprender¡

vi que no se hizo el análisis del objeto Trip.
creo que se seria este. corrijanme si hay algo mal o falto infomarcion

Trip:
User
Route
Date
Typer of Uber
Driver
Payment method
Amount

Este curso es más agradable en 1.5x

Tengo una pregunta:
¿Qué debo hacer primero para hacer el esquema de mi aplicación?

  • Definir los objetos y hacer el UML correspondiente
  • Diseñar primero la Base de Datos.
    Gracias.

Increible

que bueno que éste curso es más entendible con la profesora

Tambien se hubiera podido crear una clase Vehiculo el cual tenga los atributos licencia, pasajeros, marca y modelo, y otra clasa llamada Uber o TipoUber la cual tenga atributos referentes al tipo de afiliacion de Uber que tenga.
Para darle un manejo a el conductor y el clente, se crearia un objeto llamado Usuario que se relacion con un TipoUsuario el cual define el Usuario es cliente o es conductor

Excelentes explicaciones anahí salgado, explica muy bien y con pedagogía 😊

Al final te has hecho experta en autos XD

Excelente Profesora.

Sentía redundancia y al final Anahi dijo que lo solucionaría 😃
Me encanta el curso

una herramienta muy util para hacer diagramas

Falta el objeto conceptual TRIP, o en su defecto, ¿donde va?

En medio de pago efectivo sería un atributo la moneda verdad?

¡Muy buen ejemplo!

He usado Uber por mucho tiempo ya y no sabia que se podia pagar con paypal tambien, no solo aprendemos de POO sino que tambien de muchas otras cosas mas.

¿acaso no son redundantes las clases user y driver? son exactamente identicas. ¿Que sucede cuando una misma persona es en un momento conductor y en otro usuario? Creo que falta un indicador de tipo de usuario para saber si en el momento es usuario o conductor

ANAliZAR UNA PROBLEMA SACARLE SUS REPESTIVOS OBJETOS Para este punto ya comprendemos los verbos y sustantivos en la poo por tal ire directamente al grano te recomiendo que te hagas un ejercicio igual. En nuetro caso sacaremos los objetos de un mecanico. Estamos en el taller de un mecanico el se dedica hace 20 años a esta profesion muy buena y dura le entra una llamada de un cliente con su carro dañado. A unos 10 minutos de su ubicación sin mas el comenta el precio y pregunta por el año del carro sus motor color , cuantas puertas tiene y como fue que se termino apagando sin motivo alguno. El mecanino se dirige a la ubicación de este user y remolca el carro aclarando que cobrara lo de la grua en la factura final.Despues de tres dias laborales este tiene el auto como nuevo corriendo, frenado, sonando como en su epocas de gloria cabe recalcar que este es un carro del los años 80s de 4 puertas de color negro. Muy bien conservado al igual que su dueño extremadamente joven aunque no parece para su edad parece de mucho menos uno 20 años pero se ve de 17 sin mas que aportar le doy mi factura que son de 230$ por todo el servicio automotriz dado al cliente, soy una persona o personaje muy razonable. En los precios para mis competidores. \*Obteniendo sus obejtos .- Sustantivos taller mecanico mecanico cliente = muy joven carro = color negro = estado muy bien conservado = puertas 4 puertas grua .- Verbo mecanico hace el viaje a donde el user para remolcar el carro mecanico dice el precio de la grua al final carro acciones frenar, imovil, corriendo da su factura entre el carro

Es interesante y debatible la forma de generar clases, cada compañero/developer tiene un concepto diferente a la hora de plasmar un ejemplo asi…

Explorando herramientas para hacer diagramas, encontré varias en los aportes de muchos compañeros para empezar a explorar, encontré un esto y espero les sirva:

https://mermaid.js.org/

uso plantuml en markdown

Modelando nuestros objetos Uber

Para modelar los objetos en el sistema de Uber, podemos utilizar un diagrama de clases UML. Aquí te presento un ejemplo de cómo podríamos diseñar el diagrama de clases para el sistema de Uber con los objetos User, Driver, Route, y los distintos tipos de Uber:

  • User: representa a un usuario de Uber y tiene información como el nombre, correo electrónico, número de teléfono y ubicación actual.
  • ID: representa la identificación única de un usuario o conductor.
  • Driver: representa a un conductor de Uber y tiene información como el nombre, tipo de vehículo, matrícula del vehículo y ubicación actual.
  • Route: representa una ruta para un viaje de Uber y tiene información como la ubicación de inicio y fin del viaje.
  • UberX: representa un tipo de servicio de Uber y está relacionado con un viaje. Tiene información como la tarifa del servicio y el tipo de vehículo.
  • UberPool: representa otro tipo de servicio de Uber y está relacionado con un viaje. Tiene información como la tarifa del servicio y la cantidad de pasajeros.
  • UberBlack: representa otro tipo de servicio de Uber y está relacionado con un viaje. Tiene información como la tarifa del servicio y el tipo de vehículo.
  • UberVan: representa otro tipo de servicio de Uber y está relacionado con un viaje. Tiene información como la tarifa del servicio y la cantidad de pasajeros.

También podemos ver las relaciones entre estos objetos, como la asociación entre User y Route, y entre Driver y Route. Además, podemos ver la composición entre Route y las distintas clases de Uber.

Este diagrama UML nos ayuda a comprender mejor la estructura y las relaciones del sistema de Uber, lo que nos permite diseñar y desarrollar el sistema de una manera más efectiva y eficiente.

Hasta el momento me ha gustado mucho

https://www.umlet.com/umletino/umletino.html
Hola, esta aplicación web es buena para hacer todo tipo de graficos incluidos los UML, diagramas de clase entre otros

Considero que no siempre es necesario un identificador (sintético), ya que al diseñar una base de datos, los objetos pueden contener un atributo o combinación de ellos que constituyan ese identificador único (natural).

RESUMEN HASTA AQUÍ
La programación orientada a objetos es un paradigma de programación que se basa en la definición de clases y objetos, y en la organización del código en torno a estas entidades. En este curso, se han visto temas como la abstracción, la herencia, el polimorfismo y el encapsulamiento, que son los pilares de la programación orientada a objetos.

Además, se ha visto cómo declarar propiedades y métodos en los cuatro lenguajes que se están viendo en el curso (Java, JavaScript, PHP y Python), así como cómo analizar un problema y extraer los objetos que lo componen. También se ha trabajado en la plasmación de objetos en diagramas de modelado UML, y en la modularidad del código.

En general, la programación orientada a objetos permite organizar el código de una manera más clara y mantenible, y facilita la reutilización y la expansión del mismo.

Mis notas

Modelando nuestros objetos Uber

User Driver Route
id id id
name name start: (2)
document document end: (2)
email email
password password

UberX Uberpool Uberblack Ubervran
id id id id
license license license license
driver driver driver driver
passangers passangers passangers typeAcepted()
brand brand typecarAcepted() seatsMaterial ()
model model seatsMaterial ()

Card Paypal Cash
id id id
number email
cvv
date

Para mi vehículo debería ser una clase de la cual se desprenden cada uno de los tipos de vehículo, igualmente el usuario, del cual se desprenden los tipos de usuario que serían los objetos…

PODRIA SER CLASES:
persona
vehículo
pago
ruta

Considero que debe de agregarse en ‘card’, un atributo de:

stampCard[2]

Refiriéndose si usa Mastercard o visa.

¿Cuál es el propósito de manejar ID en cash? Se supone que el efectivo es idéntico entre sí.

Información resumida de esta clase
#EstudiantesDePlatzi

  • Importante que todos nuestros objetos tenga id

  • Podemos empezar definiendo todos los atributos para cada objeto

  • Utilicemos el inglés lo más que podamos

RESUMEN CLASE 14:
MODELANDO NUESTROS OBJETOS

I.- NUESTROS OBJETOS

USER

  • id

  • name

  • document

  • email

  • password

DRIVER

  • id

  • name

  • document

  • email

  • password

ROUTE

  • id

  • start:[]

  • end:[]

UBER X

  • id

  • license

  • driver

  • passengers

  • brand

  • model

UBER POOL

  • id

  • license

  • driver

  • passengers

  • brand

  • model

UBER BLACK

  • id

  • license

  • driver

  • passengers

  • typeCarAccepted []

  • seatsMaterial []

UBER VAN

  • id

  • license

  • driver

  • passengers

  • typeCarAccepted []

  • seatsMaterial []

CARD

  • id

  • number

  • cvv

  • date

PAYPAL

  • id

  • email

CASH

  • id

Me parece o la profe se olvido el objeto “TRIP” ??? jejeje

Adjunto el diagrama !

en el caso de haber pensado en los tipos de uber como los atributos de un objeto “auto”, o en los tipos de pagos como objeto “pago”, obviamente estaríamos evitando repetir código

Dale me gusta a este comentario si previste que había redundancia y se puede abordar de una manera más compacta el diagrama 😄

Atributos: algunos conceptos
• Las clases tienen atributos que representan alguna propiedad de la clase que comparten todos los objetos de esa clase.
• Un atributo es una propiedad nombrada de una clase, que describe un rango de valores que puede tomar esa propiedad en las instancias. – Por ejemplo, nombre, edad o peso son atributos de objetos Persona.
• Cada nombre de atributo es único dentro de una clase, pero cada atributo tiene un valor para cada instancia de la clase. – Diferentes instancias de objetos pueden tener los mismos o distintos valores para un atributo dado. – La identidad implícita del objeto permite distinguir objetos en que todos los valores de los atributos sean idénticos

Pueden usar StarUML para el diagramado.

Alerta de spoiler: Se puede se puede ahorrar còdigo y eliminar redundancia haciendo una clase Auto, por ejemplo, y que esta clase tenga hijos (herencia): UberX, UberPool, UberVan. A su vez que estas clases implementen una interfaz para que cada una ejecute los verbos de forma distinta (polimorfismo).

Cuando definen la clase uber black, se podria poner la advertencia de los autos aceptados con sus caracteristicas especiales que lo diferencian de otros servicios de uber

GRAN ANALIZIS

Los ID son esenciales para a futuro poderlos meter en una base de datos y utilizarlos de esta forma

Seria correcto entonces tambien crear una clase Person y incluir user y driver, una clase uber y especificar cada modelo, y un objeto route.

Creo que los Uber deberían tener un atributo position:[] al igual que route con esto se podría ir actualizando la ubicación del Uber en el mapa.

Siendo Uber, yo pondría cellphone como un atributo necesario en user y driver

Mi diagrama:

Basado en algunos diagramas de los compas porque no sabia hacerlo al principio.

podríamos agregar un objeto pay que incluya los atributos tipos donde diferenciemos entre efectivo, credito o Paypal.

Esta clase me recordó mucho los diagramas de entidad relación de una base de datos.

Por ahí siento que otro atributo importante tanto para driver como user sería su número telefónico, que hoy en día sabemos que lo usan y es clave en el servicio, por lo demás de acuerdo.

del primer dibujo de las propiedades y elementos de los objetos involucrados en el servicio Uber se analiza las características a las que se ocupan en el servicio

en el id en user se puede utilizar lo que es el DNI ya que es un identificativo único

Clases: es el molde del pastel
Atributos: los ingredientes del pastel
Métodos: los pasos para hacer el pastel

Con el Sistema de adopción

Yo agregaría a la clase Driver un atributo que contenga la información del conductor como el id del documento de conductor de su pais respectivo e incluso agregaría una clase pais para poder corroborar la información de cada conductor.

PD: Tal vez asocié este paradigma con Bases de datos relacionales hahaha

Aqui aplica el “Divide y Venceras”

Por Buena Práctica, y para posteriormente manejar bases de datos, designar un ID a cada objeto que lo hace único.

Excelente Clase y varias clases repiten datos o son iguales con diferente nombre

En la manera en que está explicando la profesora, ¿Cómo se debería escribir el atributo nam?

feliz halloween