Pens. comp. orient. a objetos

Proyecto: Simulador de comercio electrónico

Objetivo

Durante esta actividad, los alumnos serán capaces de:


Subcompetencias a demostrar con esta evidencia

Competencia Subcompetencia
y nivel de dominio
SICT0300:
Solución de problemas con computación

Soluciona problemas de diferentes niveles de complejidad mediante la aplicación de metodologías computacionales y de tecnologías de información en ambientes controlados y de incertidumbre.

SICT0302A:
Toma de decisiones

Toma decisiones en la solución de problemas en condiciones de incertidumbre y diferentes niveles de complejidad con base en metodologías de investigación y de cómputo.

SICT0303A:
Implementación de acciones

Implementa acciones científicas e ingenieriles o procesos computacionales que cumplen con el tipo de solución requerida.

SICT0400:
Aplicación de estándares internacionales

Aplica estándares, normas y principios de sustentabilidad en el desarrollo de sistemas computacionales y de tecnologías de información.

SICT0401A:
Aplicación de estándares y normas

Aplica los estándares y normas en el ejercicio de su profesión manteniéndolos como referencia a seguir en la solución de problemas computacionales y de tecnologías de información.

SEG0700:
Transformación digital

Genera soluciones a las problemáticas de su ámbito profesional con la incorporación inteligente y oportuna de tecnologías digitales de vanguardia.

SEG0702A:
Tecnologías de vanguardia

Evalúa diversas tecnologías, con apertura a la búsqueda e implementación de alternativas relevantes en la transformación de la práctica profesional.


Recapitulación de la situación problema

La pandemia por la propagación del nuevo coronavirus trae consigo desafíos en todos los niveles. Si bien es tiempo de incertidumbre y solidaridad, también lo es de ingenio y creatividad. Por ello, buscamos responder de forma innovadora a los desafíos que nos trae la pandemia [1].

En 17 mercados de América Latina y el Caribe la penetración de las transacciones presenciales sin contacto superó los dos dígitos para marzo. Los consumidores de América Latina y el Caribe, donde el dinero en efectivo es la forma dominante de pago, están dando prioridad a la salud, higiene y seguridad durante la pandemia y así la implantación del comercio electrónico y los pagos sin contacto se está acelerando, según un estudio de Visa. La compañía realizó del 15 a 22 de abril un sondeo a 400 personas en Argentina, Brasil, Chile, Colombia, República Dominicana, Perú y México para descubrir cómo la pandemia había afectado las percepciones y actitudes con respecto al gasto y a los pagos. Los resultados del sondeo ponen de relieve una tendencia plasmada en hechos como el que 13 millones de propietarios de tarjetas Visa en América Latina y el Caribe hicieran una compra en línea por primera vez en su vida en el trimestre finalizado en marzo [3].

Un ejemplo de esto se publica en Forbes México, donde la startup fundada por Ricardo Weder, Justo, un supermercado 100% en línea de nueva generación, ha registrado un crecimiento de 500% en pedidos [2].

Utilizando el paradigma orientado a objetos, en este proyecto integrador propondrás soluciones creativas que modelen algunas de las necesidades del manejo de información requerido en las transacciones de comercio electrónico.

Fuentes de información

  1. Cañete, Nicolás. Coronavirus: ¿Cómo apoyar desde el sector de fomento a la innovación y las pymes? BID, Blog de Ciencia, Tecnología e Innovación. Marzo 21, 2020.
  2. Forbes México, Crecen 500% los pedidos a supermercado electrónico justo por crisis del coronavirus. Abril 2, 2020.
  3. Forbes Staff, COVID-19 acelera comercio electrónico y pagos sin contacto en América Latina. Mayo 20, 2020.

Descripción

Este proyecto integrador se debe elaborar en los equipos ya conformados de dos integrantes. El proyecto consiste en crear una aplicación orientada a objetos que permita simular un subconjunto de la funcionalidad de una pequeña tienda virtual de comercio electrónico.

A continuación se muestra una corrida ejemplo del programa para mostrar lo que debe poder hacer (el texto en azul representa la entrada del usuario):

MiTiendita.com
==============
© 2020 por Pepper Pots (A01166611) y Jane Foster (A01160611)

*** MENÚ PRINCIPAL ***

1) Seleccionar productos
2) Ver carrito de compras
3) Terminar compra
4) Salir
Selecciona opción: 2

El carrito de compras está vacío

*** MENÚ PRINCIPAL ***

1) Seleccionar productos
2) Ver carrito de compras
3) Terminar compra
4) Salir
Selecciona opción: 1

*** SELECCIONAR PRODUCTO ***

   Producto     Descripción                              P. Unitario
--------------------------------------------------------------------
1) Horrocrux    Horrocrux mágico con fragmento de alma de mago  $890
2) Vibranio     Escudo indestructible de vibranio               $615
3) Cataclista   Bomba cataclista para destruir sector de OASIS  $950
4) Sinsajo      Broche metálico subersivo en forma de sinsajo   $150
5) Orientador   Orientador Sith para guiar el camino a Exegol   $780

¿Qué producto deseas comprar? (-1 para cancelar) 4
¿Cuántas unidades deseas adquirir? (-1 para cancelar) 5
5 unidad(es) de Sinsajo a $150 c/u, importe = $750

*** MENÚ PRINCIPAL ***

1) Seleccionar productos
2) Ver carrito de compras
3) Terminar compra
4) Salir
Selecciona opción: 1

*** SELECCIONAR PRODUCTO ***

   Producto     Descripción                              P. Unitario
--------------------------------------------------------------------
1) Horrocrux    Horrocrux mágico con fragmento de alma de mago  $890
2) Vibranio     Escudo indestructible de vibranio               $615
3) Cataclista   Bomba cataclista para destruir sector de OASIS  $950
4) Sinsajo      Broche metálico subersivo en forma de sinsajo   $150
5) Orientador   Orientador Sith para guiar el camino a Exegol   $780

¿Qué producto deseas comprar? (-1 para cancelar) 1
¿Cuántas unidades deseas adquirir? (-1 para cancelar) 2
2 unidad(es) de Horrocrux a $890 c/u, importe = $1780

*** MENÚ PRINCIPAL ***

1) Seleccionar productos
2) Ver carrito de compras
3) Terminar compra
4) Salir
Selecciona opción: 1

*** SELECCIONAR PRODUCTO ***

   Producto     Descripción                              P. Unitario
--------------------------------------------------------------------
1) Horrocrux    Horrocrux mágico con fragmento de alma de mago  $890
2) Vibranio     Escudo indestructible de vibranio               $615
3) Cataclista   Bomba cataclista para destruir sector de OASIS  $950
4) Sinsajo      Broche metálico subersivo en forma de sinsajo   $150
5) Orientador   Orientador Sith para guiar el camino a Exegol   $780

¿Qué producto deseas comprar? (-1 para cancelar) 5
¿Cuántas unidades deseas adquirir? (-1 para cancelar) 1
1 unidad(es) de Orientador a $780 c/u, importe = $780

*** MENÚ PRINCIPAL ***

1) Seleccionar productos
2) Ver carrito de compras
3) Terminar compra
4) Salir
Selecciona opción: 2

*** CARRITO DE COMPRAS ***

Cantidad   Producto    P. Unitario  Importe
---------------------------------------------
   5       Sinsajo        $150       $750
   2       Horrocrux      $890       $1780
   1       Orientador     $780       $780
---------------------------------------------
                              TOTAL: $3310

*** MENÚ PRINCIPAL ***

1) Seleccionar productos
2) Ver carrito de compras
3) Terminar compra
4) Salir
Selecciona opción: 3

*** TERMINAR COMPRA ***

El total de tu compra es: $3310
¡Gracias por comprar en MiTiendita.com!

*** MENÚ PRINCIPAL ***

1) Seleccionar productos
2) Ver carrito de compras
3) Terminar compra
4) Salir
Selecciona opción: 2

El carrito de compras está vacío

*** MENÚ PRINCIPAL ***

1) Seleccionar productos
2) Ver carrito de compras
3) Terminar compra
4) Salir
Selecciona opción: 4

Aplicación finalizada.

Es importante notar los siguientes aspectos del programa:

  1. Al inicio se debe desplegar el título del programa e información de los autores (nombre y matrícula).

  2. Las diferentes opciones del programa deben ser controladas a través de un menú. Las opciones son: «Seleccionar productos», «Ver carrito de compras», «Terminar compra» y «Salir».

  3. En la opción «Seleccionar productos» se debe desplegar una lista con la información (nombre del producto, descripción y precio unitario) de al menos cinco productos (pueden ser los mismos u otros diferentes a los mostrados en la corrida ejemplo). El usuario debe seleccionar un producto en particular y el número de unidades a adquirir. Posteriormente, se debe desplegar un resumen de la selección del usuario (número de unidades, nombre del producto, precio unitario e importe respectivo).

  4. En la opción «Ver carrito de compras» se debe desplegar en forma de tabla la información del carrito de compras con todos los artículos seleccionados hasta ese momento. Cada producto debe estar en su propio renglón junto con la cantidad seleccionada, su precio unitario y el respectivo importe. En la parte inferior de la tabla debe aparecer el total con la suma de todos los importes. Si el carrito de compras está vacío, en lugar de la tabla se debe desplegar un mensaje indicando esta situación.

  5. En la opción «Terminar compra» se debe desplegar el total de la compra de todos los productos contenidos en el carrito, junto con un mensaje de agradecimiento. En ese momento el carrito de compras se debe vaciar.

  6. En la opción «Salir» el programa debe terminar.

Pasos a seguir

A partir de la descripción anterior, realiza lo siguiente:

  1. Identifica al menos tres clases para la aplicación.

  2. Diseña el modelo de clases utilizando el lenguaje unificado de modelado (UML). Utiliza el sitio draw.io para elaborarlo.

  3. En tu modelo de clases es indispensable que exista al menos una relación de composición.

  4. A partir del modelo, codifica en C++ las clases identificadas y cualquier otra funcionalidad requerida.

  5. Asegura que los atributos y métodos que programes estén completos y sean correctos.

  6. Prueba extensivamente tu programa para asegurar que todos los métodos funcionan correctamente.

¿Qué se debe entregar?

Colocar dentro de un archivo ZIP llamado proyecto_integrador.zip los siguientes dos archivos:

Entrega el archivo ZIP como se indica a continuación.

Instrucciones para subir archivo

Para entregar el archivo proyecto_integrador.zip, ingresa los siguientes datos:

Solicitar NIP

Solo es necesario que lo entregue un miembro del equipo.

La fecha límite es el miércoles 2 de diciembre.