Grupo-Seven-ISPC / ARGBroker-Demo-Grupo-Seven

Proyecto Integrador Final
0 stars 1 forks source link

Institución: Instituto Superior Politécnico Córdoba.


Tecnicatura en Desarrollo de Software


Materias: Programacion/Base de Datos/Etica y Deontologia


Profesores:


Año: 2024


Integrantes del grupo:


ARGBroker-Demo-Grupo-Seven

Proyecto Integrador Final

Proyecto Integrador: ARGBroker Demo

La empresa tecnológica ISPC Cba se ha inscripto como broker de bolsa para ser intermediario entre los inversores y la Bolsa de Valores de Buenos Aires MERVAL.

Es por ello que le ha solicitado la creación de una aplicación para realizar las transacciones entre los inversores (personas físicas, empresas o instituciones) y otros inversores dentro del Mercado de Valores de Buenos Aires (Merval).

¿Qué es una acción de una empresa?

Una acción representa una participación en la propiedad de una empresa, que incluye un derecho sobre las ganancias y los activos de la empresa. Como tal, los accionistas son propietarios parciales de la empresa. Cuando el valor de la empresa aumenta o disminuye, también sube el valor de sus acciones. Además, este valor aumenta o disminuye de acuerdo a la oferta y demanda. Es una forma que tienen las empresas para poder capitalizarse y poder crecer.

¿Qué es un broker?

Un bróker es un intermediario que ejecuta órdenes de compra y venta de activos en los mercados financieros. Bróker puede denominarse tanto la empresa que ofrece estos servicios como el corredor de bolsa particular que realiza las operaciones.

¿Cuáles son los distintos perfiles de los inversores?

El perfil del inversionista se refiere a las características de una persona que guían la manera en que debiera tomar sus decisiones de inversión, incluido su nivel de tolerancia al riesgo, en relación a los diversos instrumentos de inversión que existen en el mercado. Tiempo de duración de la inversión. Algunos de ellos pueden ser conservador, medio o agresivos.

Diferencia entre renta fija y variable:

La renta fija y variable se diferencian en la rentabilidad conseguida con la inversión y el riesgo asumido. La renta fija garantiza una rentabilidad limitada con un riesgo mínimo, mientras que la renta variable ofrece mayor rentabilidad pero con un riesgo elevado.

Ejemplo de renta fija: plazo fijo tradicional luego de cierto tiempo estipulado se que me va a dar una compensación por el dinero que deje inmovilizado en un banco con una tasa fijada o en su defecto una tasa fijada más un monto variable de acuerdo a la inflación (plazo fijo UVA).

Ejemplo de renta variable: la acción de una empresa es una renta variable porque no se cuanto puedo ganar o perder al momento de venderla.

Requerimientos Funcionales:

La aplicación, en su primer etapa, contará con una versión demo (simulación de compra y venta en la bolsa) que tendrá las siguientes funcionalidades:

  1. Partir de un saldo inicial de $1.000.000 (que se asigna al momento de crear un nuevo usuario/inversor).
  2. Brindar un panel para consultar las cotizaciones de las acciones de empresas Argentinas. Dicho panel deberá mostrar los siguientes datos para cada símbolo/título de acción:
    • Símbolo y nombre de la empresa de la acción. Ej.: (ALUA) Aluminio Argentino S.A
    • Último Operado
    • Cantidad Compra diaria
    • Precio de Compra actual
    • Precio Venta actual
    • Cantidad Venta diaria
    • Apertura (precio de la acción al momento de empezar la operación diaria en la bolsa)
    • Mínimo diario
    • Máximo diario
    • Último Cierre.
  3. Permitir comprar y vender acciones a precio del mercado (en la imagen, precio venta y precio de compra). Es decir que en esta etapa no se va a poder poner un precio inferior o superior al que se está comercializando en este momento. Por lo general se pide un precio superior para nuestra venta (hay un porcentaje máximo que se puede pedir) y un precio inferior para nuestras compras intentando comprar al menor precio y vender al mayor precio.
  4. Brindar un panel (Mi Portafolio) que muestre el total invertido, saldo de la cuenta demo, la cantidad de acciones compradas con su respectivo símbolo/título, el valor comprometido y, la Ganancia o Pérdida.
  5. La aplicación debe estar en español y operar en $ (pesos) con 2 decimales.
  6. Calcular la comisión del broker que es de 1.5% por operación de compra o venta.

    Puesta en marcha:

    Esta actividad formativa, tiene por objetivo integrar los saberes adquiridos en el módulo Programador.

Una vez conformados los equipos, la organización en github y, definido el repositorio de github, los estudiantes deberán:

  1. Definir roles,
  2. Crear issues (tareas), distribuir y asignar tareas de manera que todos los integrantes del equipo tengan trabajo para hacer. Tip. Distribuyan de manera que las tareas sean independientes, con esto pueden trabajar en paralelo.
  3. Configurar el archivo readme especificando el propósito, el contexto, autores.

    Programación I

    Basándose en los requerimientos funcionales del proyecto ARGBroker Demo, se solicita:

  4. Identificar las clases del sistema, atributos y métodos.
  5. Nombrar las clases, atributos y métodos en base a la nomenclatura acordada con el equipo.
  6. Identificar las relaciones entre clases.
  7. Realizar el diagrama de clases mediante herramientas como draw.io, lucidchart, creately, miro u otro.
  8. Documentar el diseño especificando:
    • Un título significativo. Debe reflejar el propósito del sistema.
    • Una breve descripción que explique el contexto, objetivo y alcance del diagrama.
    • Nomenclatura elegida para nombres de clases, atributos y métodos.
    • Comentarios y/o notas que se considere necesario para proporcionar información adicional o explicar decisiones de diseño.

Notas: En esta etapa, no es necesario programar las clases en Python, ni conectar con la base de datos. El enfoque está en el diseño de clases del sistema y las relaciones entre ellas.

Entregable: Documento que contenga el diagrama de clases y la documentación del diseño.

Base de datos

Basándose en los requerimientos funcionales del proyecto, se solicita realizar el diseño de la base de datos para la aplicación ARGBroker Demo. En esta etapa, se deberá:

  1. Identificar las entidades principales del sistema.
  2. Definir los atributos para cada entidad, considerando los datos necesarios para cumplir con las funcionalidades especificadas.
  3. Establecer las relaciones entre las entidades identificadas.
  4. Aplicar el proceso de normalización a las entidades y sus atributos para eliminar redundancias y dependencias funcionales. Se debe alcanzar la Tercera Forma Normal (3FN).
  5. Crear el modelo relacional resultante de la normalización, representando las entidades como tablas con sus respectivos atributos y relaciones. Definir las claves primarias y foráneas necesarias para establecer las relaciones entre las tablas.
  6. Documentar el diseño de la base de datos, incluyendo una pequeña descripción de cada tabla. Y las aclaraciones que creas necesarias en cada una de ellas. Por ejemplo si se realizó una suposición de algo que no estaba en el enunciado y eso determinó que una relación es uno a muchos, cuando se podría haber interpretado por una ambigüedad que podía ser muchos a muchos, dejar asentada tal suposición.

Notas: En esta etapa, no es necesario desarrollar consultas SQL. El enfoque está en el diseño y estructura de la base de datos. Se recomienda utilizar una herramienta de modelado de bases de datos, como draw.io, para crear el diagrama del modelo relacional.

Entregable: Documento que contenga el modelo relacional resultante y la documentación del diseño de la base de datos.

Ética

Basándose en los requerimientos funcionales del proyecto y aplicando la legislación revisada en la cursada:

Todos los integrantes del equipo deberán colaborar con el proyecto mediante tareas (issues) asignadas.