Durante esta actividad, los alumnos serán capaces de:
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. |
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.
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:
Al inicio se debe desplegar el título del programa e información de los autores (nombre y matrícula).
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».
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).
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.
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.
En la opción «Salir» el programa debe terminar.
A partir de la descripción anterior, realiza lo siguiente:
Identifica al menos tres clases para la aplicación.
Diseña el modelo de clases utilizando el lenguaje unificado de modelado (UML). Utiliza el sitio draw.io para elaborarlo.
En tu modelo de clases es indispensable que exista al menos una relación de composición.
A partir del modelo, codifica en C++ las clases identificadas y cualquier otra funcionalidad requerida.
Asegura que los atributos y métodos que programes estén completos y sean correctos.
Prueba extensivamente tu programa para asegurar que todos los métodos funcionan correctamente.
Colocar dentro de un archivo ZIP llamado proyecto_integrador.zip
los siguientes dos archivos:
ecommerce.cpp
: El archivo con todo el código fuente de C++ de la aplicación. Se debe colocar en un comentario en la parte superior de este archivo la información personal de los autores (matrícula y nombre).
documentation.pdf
: El archivo en formato PDF con el diagrama del modelo de clases elaborado en el sitio draw.io. Debes colocar también en este documento la información personal de los autores (matrícula y nombre).
Entrega el archivo ZIP como se indica a continuación.
Para entregar el archivo proyecto_integrador.zip
, ingresa los siguientes datos:
Solo es necesario que lo entregue un miembro del equipo.
La fecha límite es el miércoles 2 de diciembre.