Está en la página 1de 9

UNIVERSIDAD DE

MANAGUA

PRIMERA
ENTREGA

DOCENT : Ing. Alvin López


E
GRUPO : DI14B

ASIGNAT : Gestión de proyectos de


URA software
INTEGRA  Edwin García
NTES  Enmanuel
Olivas
 Kenroy
Norori
 Elías Castillo

Managua
2023
Índice.
PROPUESTA DEL PROYECTO................................................................................................................ 1
SITUACIÓN PROBLEMÁTICA............................................................................................................................1
PROPUESTA SOLUCIÓN..................................................................................................................................1
PRINCIPALES CARACTERÍSTICAS DE LA PLATAFORMA............................................................................................1
ANTECEDENTES................................................................................................................................... 2
OBJETIVOS.......................................................................................................................................... 4
OBJETIVO GENERAL......................................................................................................................................4
INTRODUCCIÓN.................................................................................................................................. 4
ALCANCES Y BENEFICIOS DEL PROYECTO............................................................................................. 4
ALCANCES DEL PROYECTO..............................................................................................................................4
BENEFICIOS DEL PROYECTO............................................................................................................................4
PLAN DE PROYECTO............................................................................................................................ 5
METODOLOGÍA A UTILIZAR............................................................................................................................5
CALENDARIZACIÓN.......................................................................................................................................5
REQUERIMIENTOS............................................................................................................................... 6
REQUERIMIENTOS FUNCIONALES.....................................................................................................................6
REQUERIMIENTOS NO FUNCIONALES................................................................................................................6
GESTIÓN DE PERSONAL....................................................................................................................... 6
ROLES EN EL PROYECTO................................................................................................................................6
ASIGNACIÓN DE ROLES..................................................................................................................................7
Propuesta del proyecto.
Situación problemática.
En muchos lugares de Nicaragua, los centros de impresión suelen utilizar WhatsApp como medio para
compartir archivos que se desean imprimir. Sin embargo, este proceso implica compartir tu número de
WhatsApp personal, o enviar un mensaje a la persona encargada del centro.
Esta práctica conlleva un problema de privacidad, ya que tu número personal se divulga a una empresa.
Aunque ambos, el cliente y el centro de impresión, obtienen el número, no es adecuado que un número
personal se comparta en este contexto. Esto puede resultar en una filtración de información privada,
exponiendo tu número a posibles actividades de marketing, phishing o spam. Además del número de
teléfono, también podría implicar la divulgación de otra información personal como correos electrónicos,
cuentas de redes sociales, entre otros.
Esta situación plantea un riesgo para la privacidad de los usuarios y la seguridad de sus datos personales.
Para abordar esta problemática, se propone el desarrollo de una plataforma web segura y confiable que
permita compartir archivos sin la necesidad de revelar información personal sensible.
Propuesta solución.
Para abordar los desafíos mencionados anteriormente, se propone desarrollar una plataforma web intuitiva y
fácil de usar para el intercambio de archivos, con un enfoque especial en la seguridad y privacidad de los
usuarios. La plataforma busca brindar muchas de las conveniencias que aplicaciones como WhatsApp
ofrecen, pero con una capa adicional de protección y opciones personalizadas para compartir archivos.
Principales características de la plataforma.
 Creación de salas: En la plataforma, los usuarios pueden crear salas de intercambio, que actúan
como espacios virtuales donde se comparten los archivos. Cada sala tiene un “host” (anfitrión) y
“guests” (invitados). El “host” es el usuario que inicia la sala y tiene el control de las configuraciones
y permisos. Los “guests” son aquellos que se unen a la sala para enviar archivos.
 Configuración de preferencias: El “host” tiene la capacidad de establecer preferencias específicas
para la sala, como los tipos de archivos permitidos y el tamaño máximo de los archivos que se
pueden recibir. Esto permite un control más preciso sobre el contenido que se puede compartir en la
sala.
 Enlace único y código QR: Después de crear una sala, la plataforma genera un enlace único (URL)
y un código QR correspondiente. Los “guests” pueden acceder a la sala mediante el enlace o
escaneando el código QR utilizando la opción dedicada en la aplicación. Esto proporciona una forma
rápida y conveniente de unirse a la sala sin necesidad de compartir información personal como
números de teléfono.
 Carpetas individuales y mensajes internos: Dentro de cada sala, se crean carpetas individuales
para cada “guest” que se une. Estas carpetas actúan como espacios privados donde los “guests”
pueden subir y ver los archivos compartidos. Los mensajes internos se facilitan a través de la interfaz
de la carpeta, lo que permite una comunicación segura entre el “host” y cada “guest” en su carpeta
correspondiente. Esto asegura que los mensajes sean privados y solo visibles para los participantes
específicos de la carpeta.
 Opciones de privacidad y acceso: El “host” tiene la capacidad de establecer los permisos de acceso
a la sala. Puede elegir entre diferentes opciones, como hacer la sala “pública” para que cualquier
persona pueda unirse, “solo por invitación” para restringir el acceso a invitados específicos o
“privada” para limitar la entrada. Esto brinda flexibilidad y control sobre quién puede acceder y
compartir archivos en la sala.

1
La plataforma se diseñará con una interfaz de usuario intuitiva y fácil de usar, lo que permitirá a los usuarios
navegar sin complicaciones y aprovechar al máximo todas las funcionalidades. Además, se prestará especial
atención a la seguridad y se implementarán medidas para garantizar la confidencialidad y la integridad de los
archivos compartidos.

Antecedentes.
A lo largo de la historia, la forma de transferir archivos ha ido evolucionando, con la llegada de nuevas
tecnologías y herramientas se han podido crear software que son capaces de transferir archivos, ya sea
formato docx de Word o PDF, así como otro tipo de información, que sea de gran importancia para los
usuarios.
Teniendo esto en mente, hoy en día existen diferentes tipos de software ya sea web o aplicaciones móviles
que son utilizadas para realizar este tipo de gestiones, por ejemplo:
 SHAREit.
 Xender.
 AirDroid.
 Send Anywhere.
 Zapya.
 Feem.
 Pushbullet.
 EasyJoin.
 Files by Google (anteriormente conocida como Files Go).
 Resilio Sync.
 WeTransfer.
 JioSwitch.
 SuperBeam.
 Bluetooth File Transfer (aplicación nativa en algunos dispositivos).
 Infinit.
 Portal by Pushbullet.
 Dukto.
 Fast File Transfer.
 SmartIO.
 Instashare.
Copiar o mover un archivo de una computadora a otra a través de una red o conexión a Internet es mejor
conocida como un proceso de transferir datos entre usuarios. tanto de forma local o no.
Los archivos de datos pueden estar estructurados o no estructurados, incluidos documentos, multimedia,
gráficos, texto y archivos PDF. Pueden compartirse mediante descarga o carga y transmitirse dentro o fuera
de la empresa o lugar.
La creciente necesidad de compartir y transferir archivos de manera rápida y eficiente ha llevado al
desarrollo de aplicaciones especializadas en transferencia de archivos. el aumento de los dispositivos
móviles, la colaboración remota y la dependencia de la tecnología, existe una demanda creciente de
soluciones que permitan a los usuarios compartir archivos de forma segura y conveniente.
La mejora en la velocidad y la disponibilidad de las redes de datos móviles y Wifi ha facilitado la
transferencia de archivos entre dispositivos. Los avances en tecnologías como Bluetooth, NFC (Near Field
Communication) y Wifi Direct han permitido transferencias más rápidas y sin problemas entre dispositivos
móviles y computadoras. El tamaño de los archivos ha ido en aumento debido al aumento en la calidad de
los medios digitales, como fotografías de alta resolución, videos en 4K y archivos de audio de alta calidad.
Esto ha generado la necesidad de soluciones que puedan transferir archivos grandes de manera eficiente y
rápida. la creciente cantidad de datos personales y confidenciales que se comparten a través de aplicaciones
de transferencia de archivos, la seguridad se ha vuelto una preocupación importante. Los usuarios buscan

2
soluciones que ofrezcan encriptación de extremo a extremo, autenticación segura y medidas para proteger
sus datos durante la transferencia.
Una aplicación como esta puede tener diferentes tipos de funcionalidades que sean de agrado para los
usuarios entre ellas:
 Transferencia inalámbrica:
 Compartir archivos de diferentes formatos.
 Alta velocidad de transferencia.
 Interfaz intuitiva y fácil de usar:
 Administración de archivos
 Seguridad y encriptación
 Integración con servicios en la nube:
 Funciones adicionales entre otras.
Modelo de negocio.
Para que un software como este sea rentable o sostenible existen diferentes formas de generar dinero cada
modelo de negocio va dependiendo de la empresa, en cuanto a Características existen diferentes
Características que pueden aportar a que la aplicación sea rentable o que genere dinero entre ellas:
1. Funcionalidad básica gratuita: Ofrecer una funcionalidad básica de transferencia de archivos de
forma gratuita es importante para atraer a una amplia base de usuarios. Esto permite que la
aplicación se difunda y gane popularidad, lo que a su vez puede generar oportunidades para
monetizarla.
2. Tener una Suscripciones premium, Ofrecer un modelo de suscripción premium es una forma común
de generar ingresos. Las características adicionales, como velocidades de transferencia más rápidas,
mayor capacidad de almacenamiento en la nube, transferencias sin límites o seguridad avanzada, se
pueden ofrecer a los usuarios que están dispuestos a pagar una tarifa recurrente. Estas suscripciones
premium pueden proporcionar beneficios exclusivos y una experiencia mejorada a los usuarios que
requieren un mayor nivel de servicio.
3. Compras dentro de la aplicación: Las compras dentro de la aplicación, también conocidas como
micro transacciones, permiten a los usuarios realizar mejoras o acceder a funciones adicionales
mediante el pago de una tarifa única. Por ejemplo, una aplicación de transferencia de archivos puede
ofrecer la opción de eliminar anuncios, desbloquear funciones especiales o adquirir paquetes de
almacenamiento adicional a través de compras dentro de la aplicación.
4. Publicidad: Mostrar anuncios dentro de la aplicación es otra forma común de generar ingresos.
Pueden incluir anuncios en pantalla completa, anuncios de banner o anuncios intersticiales que se
muestran mientras los usuarios navegan por la aplicación. Los desarrolladores pueden colaborar con
redes de publicidad para mostrar anuncios relevantes y recibir pagos por impresiones o clics en los
anuncios.
5. Colaboraciones y acuerdos comerciales: Las aplicaciones de transferencia de archivos pueden
establecer asociaciones o acuerdos comerciales con otras empresas o marcas. Por ejemplo, podrían
ofrecer servicios de almacenamiento en la nube de socios estratégicos y recibir una comisión por las
suscripciones o ventas generadas a través de la aplicación.
Es importante tener en cuenta que la combinación de estas características puede variar según la estrategia
específica de cada aplicación y el mercado al que se dirige. Además, la calidad de la aplicación, la
usabilidad, la seguridad y la reputación también desempeñan un papel importante en su capacidad para
generar ingresos y mantener a los usuarios satisfechos.
En resumen, las aplicaciones de transferencia de archivos han evolucionado para satisfacer las necesidades
de los usuarios en cuanto a rapidez, seguridad y facilidad de uso. La generación de ingresos se logra a través
de diversos enfoques, mientras se mantiene la funcionalidad principal de transferencia de archivos.

3
Objetivos.
Objetivo general.
Desarrollar una plataforma web segura, confiable y fácil de usar para el intercambio de archivos, que aborde
los desafíos de privacidad y seguridad asociados con los métodos actuales de compartir archivos.
Objetivos específicos.
 Definir los objetivos del proyecto.
 Crear la planificación del proyecto.
 Crear flujos de usuario de la aplicación web.
 Crear diagrama de casos de uso.
 Definir el alcance del proyecto.
 Enumerar los beneficios del proyecto.
 Definir requerimientos funcionales y no funcionales.
 Crear equipo de desarrollo.
Introducción.
En este documento se presenta la propuesta de una plataforma web para compartir archivos. La necesidad de
esta plataforma surge de los problemas asociados con los métodos actuales de compartir archivos,
especialmente cuando se comparten con personas desconocidas, como ocurre al compartir archivos en un
centro de impresiones. En esta situación, es común tener que compartir tu número de WhatsApp u otros
datos personales, lo cual plantea preocupaciones de seguridad y privacidad.
La plataforma web propuesta busca abordar estos desafíos al proporcionar una forma segura, confiable y
sencilla de compartir archivos, sin tener que revelar información personal a personas desconocidas.

Alcances y beneficios del proyecto.


Alcances del proyecto.
En la primera versión de la plataforma propuesta, solo se implementarán las siguientes funcionalidades:
 Desarrollar una plataforma web segura, confiable y fácil de usar para el intercambio de archivos.
 Permitir a los usuarios registrarse y crear cuentas en la plataforma.
 Proporcionar un mecanismo de inicio de sesión para acceder a las cuentas de los usuarios.
 Permitir a los usuarios crear salas de intercambio de archivos.
 Generar enlaces únicos y códigos QR para acceder a las salas.
 Establecer roles de “host” y “guests” en las salas.
 Permitir a los “host” configurar preferencias específicas para cada sala.
 Facilitar a los usuarios la carga y descarga de archivos en las salas.
 Proporcionar una función de mensajería interna dentro de las carpetas individuales de la sala.
 Permitir al “host” establecer permisos de acceso para cada sala.
Por otro lado, en la primera versión, el número de usuarios soportados por la plataforma será pequeño, esto
se debe a que, para soportar una gran cantidad de usuarios, se requiere analizar una arquitectura más
adecuada.
Beneficios del proyecto.
El proyecto propuesto tiene los siguientes beneficios:
 Mejorar la seguridad y privacidad al compartir archivos sin revelar información personal.
 Evitar la divulgación de información personal a personas desconocidas.
 Proteger la privacidad de los usuarios y la seguridad de sus datos personales.

4
 Proporcionar una forma segura, confiable y conveniente de intercambiar archivos.
 Ahorrar tiempo al evitar compartir números de teléfono u otros datos personales.
 Facilitar la colaboración y comunicación entre los usuarios en un entorno seguro.
 Brindar control y opciones personalizadas para compartir archivos.
Plan de proyecto.
Metodología a utilizar.
Con respecto a la metodología de desarrollo empleada en el software que se desea crear, se hará uso de la
mitología “Wild Agile”, la cual es una variante de la famosa metodología ágil.
Se ha decidido emplear esta metodología debido a las múltiples ventajas que ofrece, algunas de las ventajas
que se destacan es que dicha metodología permite tener un equipo de desarrollo pequeño, pero capaces de
desarrollar aplicaciones complejas y completas, adicionalmente hay que mencionar que esta metodología
cuenta con un flujo de desarrollo relajado, en donde a los miembros del equipo se les permite hablar con
libertad y se les permite participar en muchas de las áreas de desarrollo si asi lo desean.
Calendarización.

5
Requerimientos.
Requerimientos funcionales.
 Registro de usuarios: Permitir a los usuarios crear cuentas en la plataforma.
 Inicio de sesión: Proporcionar un mecanismo para que los usuarios accedan a sus cuentas.
 Creación de salas: Permitir a los usuarios crear salas de intercambio de archivos.
 Generación de enlaces y códigos QR: Generar enlaces únicos y códigos QR para acceder a las
salas.
 Roles de usuario: Establecer roles de “host” y “guests” en las salas.
 Configuración de preferencias: Permitir al “host” establecer preferencias específicas para cada
sala.
 Compartir archivos: Facilitar a los usuarios la carga y descarga de archivos en las salas.
 Mensajería interna: Proporcionar una función de mensajería dentro de las carpetas individuales de
la sala.
 Opciones de privacidad y acceso: Permitir al “host” establecer permisos de acceso para cada sala.
Requerimientos no funcionales.
 Tipo de aplicación web: Aplicación de una sola página (del inglés Single Page Application).
 Tipo de servicio web: API HTTP.
 Lenguajes de programación: Go y JavaScript
 Librerías para la aplicación web (Front-end): ReactJS, StichesJS, RadixUI, ReactRouter.
 Librerías para el servidor (Back-end): GoFiber y sus extensiones, PGX (adaptador de base de
datos PostgreSQL).
 Bases de datos: PostgreSQL y Redis.
 Tecnologías de contenerizacion: Contenedores Docker.
 Seguridad: Implementar medidas de seguridad robustas para proteger la privacidad y
confidencialidad de los archivos y los usuarios.
 Rendimiento: Garantizar la estabilidad y el rendimiento adecuados de la plataforma incluso en
situaciones de alta carga.
 Usabilidad: Diseñar una interfaz intuitiva y fácil de usar para los usuarios.
 Compatibilidad: Asegurarse de que la plataforma sea compatible con diferentes navegadores web y
dispositivos.
 Disponibilidad: Garantizar que la plataforma esté disponible y accesible para los usuarios en todo
momento.
 Cumplimiento legal: Cumplir con las regulaciones de privacidad y protección de datos vigentes.
Gestión de personal.
Roles en el proyecto.
Manager del proyecto.
El manager en un proyecto de tiene de software la responsabilidad de garantizar la planificación,
coordinación y desarrollo exitoso del proyecto, al tiempo que administra el equipo de desarrollo y se asegura
de cumplir con los estándares de calidad establecidos.
Analista.
El analista se encarga de analizar el sistema propuesto, establece objetivos, requisitos y descripciones. La
meta del analista será la de entender lo que se desea hacer, y descubrir cuales son las mejores formas de
desarrollar el sistema deseado. El analista tiene que hacerse uno con el sistema, sus funciones, el tipo de
información del sistema, como estará compuesto el sistema, entre otras funciones.

6
Diseñador UI.
Los diseñadores de UI/UX se enfocan en crear una interfaz de usuario atractiva y fácil de usar para el
software, centrándose en la experiencia del usuario, el diseño visual y la usabilidad. Su objetivo es mejorar
la satisfacción del usuario y garantizar que la interfaz cumpla con los requisitos y objetivos del proyecto.
Desarrollador Back-end.
El desarrollador Back-end se centra en la construcción de la lógica y la funcionalidad detrás de una
aplicación o sistema de software, trabajando en el desarrollo de la parte del servidor, la integración de
sistemas y la capa de acceso a datos. Su objetivo es garantizar un funcionamiento robusto, seguro y eficiente
de la aplicación desde el lado del servidor.
Desarrollador Front-end.
El desarrollador Front-end se centra en la construcción de la interfaz de usuario y la interacción en una
aplicación o sistema de software y busca crear una experiencia de usuario visualmente atractiva, intuitiva y
funcional, asegurando su compatibilidad y optimización para diferentes dispositivos y navegadores.
Administrador de base de datos.
El administrador de bases de datos se encarga implementar y mantener la infraestructura de bases de datos
necesaria para el desarrollo de software. Su objetivo principal es garantizar la disponibilidad, integridad,
seguridad y rendimiento de las bases de datos utilizados.

Asignación de roles.
En esta sección se encuentran documentados los roles de cada integrante del equipo y cuál será su labor
hasta la finalización del mismo.

Rol Encargado.
Manager del proyecto Carlos López.
Analistas Edwin García.
Diseñador UI Kenroy Norori.
Desarrollador Front-end Enmanuel Olivas.
Desarrollador Back-end Elías Castillo.
Administrador de Base de datos. Elías Castillo.

También podría gustarte