top of page

Introducción

Este proyecto se enmarca dentro de la carrera de Tecnicatura Superior en Análisis y Desarrollo de Software, específicamente en la cátedra de Práctica Profesionalizante II.

El problema fue encontrado por quienes integran este equipo. Dicho problema plantea la dificultad e impracticabilidad de tener que buscar por uno mismo el mejor precio para un componente de hardware en específico.

En base a esta problemática se presenta una solución en forma de producto que está dirigida a un público específico.

Tal solución está diseñada mediante un modelo orientado a objetos, diagramando las situaciones que se pueden dar mediante diagramas de especificación en Lenguaje Unificado de Modelado (UML).

Marco conceptual

Tal y como se ha mencionado con anterioridad, este proyecto ha sido desarrollado mediante un modelo de objetos y Lenguaje Unificado de Modelado (UML).

Mediante el modelo de objetos podemos identificar elementos y componentes tal y como se manifiestan en el ámbito físico real, así como su interacción con el sistema, con el usuario, y con ellos mismos.

UML nos permite describir los posibles casos de uso, acciones y el flujo de acciones en objetos. Nos permite hacer diagramas generales como el de clases y entidad-relación, que sirve para dar un entendimiento superficial sobre lo que trata un sistema. También nos da la posibilidad de identificar los estados de un objeto durante el desarrollo activo del sistema.

Gestación del proyecto

Marco conceptual

Hardware Radar es una plataforma web capaz de solucionar el problema de tener que buscar por uno mismo el mejor precio para un componente de hardware en específico. Está pensada para que pueda funcionar en cualquier parte del mundo, tomando el mercado donde se encuentre el potencial usuario.

Objetivos generales y especifcos

Objetivo general: facilitar la búsqueda del precio que más se adecúe al usuario sobre un componente de hardware en específico. Este proceso suele demandar mucho tiempo y puede resultar en una pérdida de dinero si se hace incorrectamente, también se deben tener conocimientos básicos sobre lo que se desea comprar, la idea es hacer esto mucho más intuitivo y ligero.

Objetivos específicos:

  • Comparar precios de productos similares.

  • Mostrar todos los aspectos que influyen en el costo final del producto (ubicación geográfica, monto disponible, etc.).

  • Brindar detalles sobre un producto y su vendedor.

  • Dar a conocer vendedores (comercios) que en una búsqueda manual y superficial suelen pasar de largo.

Alcance del proyecto

Abarca desde que el usuario ingresa a la misma, pasando o no por un registro, hasta que se decide a la compra de un producto, donde es redirigido con el vendedor.

Usuarios

Está dirigido a aquellos usuarios, mayoritariamente aficionados al mundo de las computadoras, que frecuenten la compra de hardware online. Como se ha mencionado previamente, no está pensado para que funcione en un país en específico, sino que se adapte a los distintos mercados mundiales.

Relevamiento

El relevamiento de este proyecto ha surgido de manera informal, planteando un problema de manera espontánea, que podría ya haber sido solucionado, pero requiriendo razonamiento y el generar una solución. 

No se realizaron análisis de mercado, pero se pensó en los competidores y el alcance de nuestro producto.

No se utilizaron técnicas de relevamiento formales, todo tipo de diagrama realizado y expresado surgió del conocimiento propio y de investigar artículos de internet para constatar algún flujo de una clase/objeto.

Requerimientos del sistema

Requerimientos funcionales

  • El sistema debe permitir a los usuarios registrarse (nombre y contraseña).

  • El sistema debe permitir a los usuarios iniciar sesión.

  • El sistema debe permitir a los usuarios buscar un producto.

  • El sistema debe permitir a los usuarios filtrar el producto ya buscado por su precio (límite máximo, más bajo, etc.).

  • El sistema debe permitir a los usuarios filtrar el producto ya buscado por la ubicación del vendedor (límite distancia, más cercano, etc.).

  • El sistema debe permitir a los usuarios seleccionar un producto para la compra y redirigirlos automáticamente a la plataforma que gestione la venta del mismo.

  • El sistema debe permitir a los usuarios agregar/guardar un producto como favorito.

  • El sistema debe permitir a los usuarios crear y modificar grupos de productos.

  • El sistema debe ser capaz de reunir datos relevantes para el usuario en forma de promociones, descuentos u ofertas y notificarlo.

Requerimientos no funcionales

  • El sistema debe soportar una gran cantidad de usuarios visitantes (más que nada de consultas realizadas al mismo tiempo).

  • El sistema debe cumplir con los últimos estándares en seguridad y protección de contraseñas e identidad del usuario.

  • El sistema debe ser capaz de identificar y mostrar productos provenientes de cualquier fuente que sea de acceso público en internet.

  • El sistema debe ser capaz de mostrar productos que estén al alcance del usuario.

  • El tiempo de respuesta del sistema ante una consulta no debe ser mayor a 5 segundos.

Desarrollo

Definición de metodología de desarrollo

Este proyecto puede ser desarrollado con la utilización de una metodología en espiral ya que siempre se puede implementar algo nuevo o pueden surgir deficiencias que requieren repensar parte del sistema para poder corregirlas. Además, al ser una plataforma web, una vez está en internet, la idea es trabajar en ella de manera progresiva, es decir, sin hacer cambios demasiado grandes y de repente.

Selección y justificación de herramientas

Con los conocimientos que se disponen hasta el momento, es posible diseñar una versión preliminar o de muestra en la que se muestre este proyecto.

 Las herramientas a utilizar podrían ser:

  • Para el diseño y parte frontend de la plataforma web: HTML, Javascript y CSS. Es prácticamente de carácter obligatorio la utilización de estos lenguajes para desarrollar una página web, por lo que no pueden faltar.

  • Para el backend como lenguaje que trabaja del lado del servidor: PHP. Serviría para crear el vínculo entre el frontend y la base de datos.

  • Para el almacenamiento de datos y fuente de consultas: MySQL, MariaDB, Microsoft SQL Server, Oracle DBMS. Cualquiera de los software de base de datos mencionados cumplen la función, su función principal sería la de almacenar los datos de usuario e información sobre los productos.

Bibliografía

  • Presman, R. (1997). Ingeniería de Software. Ed: Prentice Hall.

  • Kendall K. y Kendall J (2005). Análisis y diseño de sistemas. Ed. Pearson.

  • Booch, G; Rumbaugh, J; Jacobson, I (2000) UML: el lenguaje unificado de modelado. Ed. Addison - Wesley.

bottom of page