Pre Documentación Arquitectura de Software

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

TEMA:

Pre-Documentación

PRESENTADO POR:

Aranda Castillo Miguel Ángel

Chaidez Torrecillas Luis enrique

De La Cruz Polanco Javier

Félix Pérez Uriel Salvador

Laguna Zepeda Alejandro

GRUPO:

7º A

MATERIA:

Arquitectura De Software

PROFESORA:

Resffa Elizabeth Fierro García

Tijuana, Baja California, 28 de febrero del 2024


1. Nombre Oficial del equipo: EcoCare ZOO
2. Logotipo:
3. Requerimientos Funcionales

● Registro de Usuarios: Los usuarios deben poder crear cuentas proporcionando


información básica como nombre, dirección de correo electrónico y contraseña.
● Inicio de sesión: Debe existir una funcionalidad de inicio de sesión que permita
a los usuarios acceder a sus cuentas con seguridad.
● Catálogo de Animales: Se debe implementar un catálogo que muestre
información detallada sobre los animales presentes en el zoológico, como nombre,
especie, hábitat y detalles destacados.
● Venta de Boletos: Los usuarios registrados deberían poder comprar boletos para
el zoológico. El sistema debe manejar la diferenciación entre boletos para adultos
y niños, así como los precios correspondientes.
● Pago con Tarjeta (Crédito/Débito): Se debe incorporar un sistema de pago que
permita a los usuarios realizar transacciones con tarjetas de crédito y débito de
manera segura.
4. Requerimientos No Funcionales

• Seguridad: La aplicación debe cumplir con estándares de seguridad robustos


para proteger la información personal y financiera de los usuarios.
• Rendimiento: La aplicación debe ser eficiente y brindar respuestas rápidas,
incluso durante períodos de alta demanda, como eventos especiales o
promociones.
• Usabilidad: La interfaz de usuario debe ser intuitiva y fácil de usar para garantizar
una experiencia positiva para los usuarios de todas las edades.
• Compatibilidad: La aplicación debe ser compatible con una variedad de
dispositivos y navegadores web para asegurar una accesibilidad amplia.
• Escalabilidad: El sistema debe ser escalable para manejar un aumento potencial
de usuarios y transacciones a medida que crece la popularidad de la aplicación.
5. Arquitectura que Utilizaran y justificar.

La Arquitectura en Capas sería una opción sólida por las siguientes razones:

● Separación de Responsabilidades: La arquitectura en capas permite una


clara separación de las diferentes responsabilidades del sistema. Podrías
tener una capa de presentación para la interfaz de usuario donde se
gestionaría la compra de boletos y se mostraría el catálogo de animales, una
capa de lógica de negocio para manejar la lógica relacionada con la compra
de boletos y la gestión del catálogo, y una capa de acceso a datos para
interactuar con la base de datos que contiene la información sobre los boletos
y los animales.

● Reutilización de componentes: Al separar claramente las diferentes partes


del sistema, se facilita la reutilización de componentes. Por ejemplo, podrías
reutilizar la lógica de negocio relacionada con la gestión de boletos en otros
proyectos futuros sin necesidad de reescribir el código.

● Facilidad de Mantenimiento: La estructura en capas hace que sea más fácil


mantener y actualizar el sistema. Los cambios en una capa específica no
deberían afectar a otras capas siempre que se mantenga la interfaz entre ellas.
Esto facilita la identificación y corrección de errores, así como la introducción
de nuevas características.

● Escalabilidad: Si el proyecto crece en tamaño o complejidad, la arquitectura


en capas proporciona una base sólida para escalar el sistema. Puedes escalar
horizontalmente agregando más servidores o recursos a cada capa según sea
necesario, sin necesidad de cambiar fundamentalmente la estructura del
sistema.

● Facilidad de Integración: Al dividir el sistema en capas, se facilita la


integración de nuevas tecnologías o servicios externos. Por ejemplo, podrías
integrar fácilmente un sistema de pago en línea para la compra de boletos o
servicios de terceros para mejorar la experiencia de exploración del catálogo
de animales.
6. Modelo y Lenguaje Seleccionado (Justificar)

Modelo-Vista-Controlador (MVC):

Separación de Responsabilidades:

● En el contexto del proyecto del zoológico, el Modelo se encargaría de


manejar los datos relacionados con los boletos de entrada, la información
sobre los animales en exhibición y cualquier otra información relevante para
la operación del zoológico.

● La Vista representaría la interfaz de usuario donde los visitantes del sitio


web pueden ver el catálogo de animales, seleccionar y comprar boletos, y
acceder a otra información relacionada con el zoológico.

● El Controlador manejaría las interacciones del usuario, como la solicitud de


compra de boletos, la búsqueda de animales en el catálogo y cualquier otra
acción que el usuario pueda realizar en el sitio web.

Escalabilidad:

● A medida que el zoológico crece y añade más animales, exhibiciones y


servicios, el MVC permite escalar el proyecto fácilmente. Se pueden
agregar nuevos modelos para representar los datos adicionales, nuevas
vistas para mostrar la información agregada y nuevos controladores para
manejar las interacciones relacionadas con los nuevos datos y vistas, sin
afectar el resto de la aplicación.
Flexibilidad:

● El MVC permite que cada componente sea desarrollado y probado de


forma independiente. Por ejemplo, si se desea agregar una nueva función
al sitio web, como la capacidad de reservar visitas guiadas o comprar
alimentos para los animales, se puede hacer sin afectar al resto de la
aplicación. El modelo existente no se verá afectado, solo se necesitarán
cambios en las vistas y controladores relevantes para esta nueva
funcionalidad.
JavaScript con Node.js y React.js:

● Lenguaje Ubicuo: JavaScript es ampliamente utilizado tanto en el frontend


como en el backend, lo que simplifica el desarrollo al permitir que un equipo de
desarrolladores trabaje en todas las partes de la aplicación sin necesidad de
aprender múltiples lenguajes de programación. Para el proyecto del zoológico,
esto significa que el mismo equipo puede manejar tanto el frontend (interfaz de
usuario) como el backend (lógica del servidor), lo que facilita la colaboración y
la coherencia en todo el proyecto.

● Ecosistema Robusto: Tanto Node.js como React.js son parte de un


ecosistema robusto de herramientas y bibliotecas que facilitan el desarrollo
web moderno. Node.js es especialmente adecuado para construir servidores
web escalables y eficientes, lo que es crucial para un sistema que puede
experimentar un alto volumen de transacciones de compra de boletos en línea.
Por otro lado, React.js proporciona una manera eficiente de construir interfaces
de usuario interactivas y dinámicas, lo que es esencial para la experiencia del
usuario al explorar el catálogo de animales y comprar boletos.

● Rendimiento: Tanto Node.js como React.js son conocidos por su rendimiento.


Node.js utiliza un modelo de entrada y salida sin bloqueo que lo hace ideal
para aplicaciones web en tiempo real, como sistemas de compra de boletos en
línea. Esto garantiza que el sistema sea receptivo y eficiente incluso durante
picos de carga. Por otro lado, React.js utiliza un algoritmo de reconciliación
virtual para optimizar las actualizaciones del DOM, lo que resulta en una
interfaz de usuario fluida y receptiva para los usuarios al explorar el catálogo
de animales y realizar compras en línea.
7. Diagrama de la Arquitectura

Diagrama de arquitectura de Aplicación


8. Mockups

Página de inicio del zoológico

Esta es la página principal si el usuario desea comprar un boleto deberá registrarse e


iniciar sesión pero si podrá explorar el catálogo de animales.
Inicio de sesión/Registro

Para que el usuario pueda comprar los boletos deberá registrarse y después iniciar
sesión de otra forma no se le permitirá adquirirlos.
Compra de boletos en línea

La funcionalidad principal es la compra de boletos, en este apartado el usuario una vez


registrado e iniciada la sesión podrá seleccionar el tipo de boleto y la fecha en la cual
quiere visitar el zoológico.
Seguido de seleccionar la fecha y el tipo de boleto al dar click en el botón de siguiente el
usuario verá esta ventana donde agregara la tarjeta de crédito para realizar el pago.
Esta sería la siguiente ventana donde confirma su pago y previamente se le dará un
resumen de la compra.
Finalmente el usuario podrá ver que se realizó su compra exitosamente.
Explorar Catálogo de animales

Otra funcionalidad para el usuario es poder explorar el catálogo de animales que se


encuentran en el zoológico además podrá seleccionar el animal del que quiera saber
más información.
Al dar click en ver más el usuario podrá ver mas especificaciones del animal que
previamente seleccionó.
9. Funcionalidad cada componente de esa interfaz

Página de inicio del zoológico

Funcionalidad:

● Presentar una vista general del zoológico, destacando las atracciones principales
o eventos próximos.
● Proporcionar acceso rápido a las secciones clave del sitio, como el catálogo de
animales, la compra de boletos y la información sobre el zoológico.
● Mostrar información relevante, como horarios de apertura, ubicación y precios de
los boletos.
● Ofrecer la opción de registro e inicio de sesión para los usuarios que deseen
comprar boletos.

Inicio de sesión/Registro

Funcionalidad:

● Permitir a los usuarios crear cuentas nuevas proporcionando información básica,


como nombre, correo electrónico y contraseña.
● Validar la información ingresada por los usuarios para garantizar la autenticidad y
seguridad de las cuentas.
● Proporcionar opciones de recuperación de contraseña en caso de olvido.
● Integrar medidas de seguridad, como captcha o verificación por correo electrónico,
para prevenir accesos no autorizados.
Compra de boletos en línea

Funcionalidad:

● Permitir a los usuarios seleccionar el tipo de boleto (adulto, niño, pase familiar,
etc.) y la fecha de visita deseada.
● Mostrar el precio correspondiente a cada tipo de boleto y proporcionar un resumen
del costo total antes de confirmar la compra.
● Integrar un proceso de pago seguro que acepte tarjetas de crédito y débito.
● Enviar confirmaciones de compra por correo electrónico y proporcionar opciones
para imprimir o guardar los boletos electrónicos.

Explorar Catálogo de animales

Funcionalidad:

● Presentar una lista o galería de animales disponibles en el zoológico, con


imágenes y nombres destacados.
● Permitir a los usuarios buscar animales por nombre, especie o hábitat.
● Proporcionar información detallada sobre cada animal, incluyendo su especie,
hábitat natural, dieta y curiosidades.

También podría gustarte