211 lines
6.4 KiB
Markdown
211 lines
6.4 KiB
Markdown
|
|
# Requisitos del Sistema de Gestión de Préstamos de Tablets
|
||
|
|
|
||
|
|
## Descripción General
|
||
|
|
|
||
|
|
El sistema debe permitir la gestión del préstamo y devolución de dispositivos tablets entre un inventario y un conjunto de usuarios. El enfoque principal es el seguimiento del estado de cada dispositivo y su relación con los usuarios que los han tomado prestados.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Requisitos Funcionales
|
||
|
|
|
||
|
|
### Gestión de Dispositivos
|
||
|
|
|
||
|
|
El sistema debe permitir:
|
||
|
|
- Registrar nuevos dispositivos en el inventario
|
||
|
|
- Identificar cada dispositivo de manera única
|
||
|
|
- Almacenar información descriptiva de cada dispositivo (marca, modelo, número de serie)
|
||
|
|
- Consultar el estado actual de cada dispositivo (disponible, prestado)
|
||
|
|
|
||
|
|
### Gestión de Usuarios
|
||
|
|
|
||
|
|
El sistema debe permitir:
|
||
|
|
- Registrar nuevos usuarios
|
||
|
|
- Identificar cada usuario de manera única
|
||
|
|
- Almacenar información de contacto básica (nombre, identificación)
|
||
|
|
- Consultar la información de los usuarios registrados
|
||
|
|
|
||
|
|
### Gestión de Préstamos
|
||
|
|
|
||
|
|
El sistema debe permitir:
|
||
|
|
- Asignar un dispositivo disponible a un usuario
|
||
|
|
- Registrar la fecha y hora del préstamo
|
||
|
|
- Registrar la fecha y hora de la devolución
|
||
|
|
- Consultar el historial de préstamos de un dispositivo
|
||
|
|
- Consultar el historial de préstamos de un usuario
|
||
|
|
- Visualizar todos los dispositivos actualmente prestados
|
||
|
|
|
||
|
|
### Consulta y Reportes
|
||
|
|
|
||
|
|
El sistema debe permitir:
|
||
|
|
- Buscar dispositivos por cualquier atributo (marca, modelo, número de serie)
|
||
|
|
- Buscar usuarios por cualquier atributo (nombre, identificación)
|
||
|
|
- Filtrar préstamos por estado (activos, finalizados)
|
||
|
|
- Filtrar préstamos por dispositivo
|
||
|
|
- Filtrar préstamos por usuario
|
||
|
|
- Ver el historial completo de préstamos y devoluciones
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Modelo de Datos
|
||
|
|
|
||
|
|
### Entidades Principales
|
||
|
|
|
||
|
|
1. **Dispositivo**
|
||
|
|
- Identificador único
|
||
|
|
- Marca
|
||
|
|
- Modelo
|
||
|
|
- Número de serie (único)
|
||
|
|
- Estado (disponible, prestado)
|
||
|
|
|
||
|
|
2. **Usuario**
|
||
|
|
- Identificador único
|
||
|
|
- Nombre
|
||
|
|
- Identificación (única)
|
||
|
|
|
||
|
|
3. **Préstamo**
|
||
|
|
- Identificador único
|
||
|
|
- Dispositivo asociado
|
||
|
|
- Usuario asociado
|
||
|
|
- Fecha de préstamo
|
||
|
|
- Fecha de devolución (opcional)
|
||
|
|
- Estado (activo, finalizado)
|
||
|
|
|
||
|
|
### Relaciones
|
||
|
|
|
||
|
|
- Un **usuario** puede tener **múltiples préstamos** (relación uno a muchos)
|
||
|
|
- Un **dispositivo** solo puede estar en **un préstamo activo** a la vez
|
||
|
|
- Un **préstamo** relaciona exactamente un dispositivo con un usuario
|
||
|
|
- El historial de préstamos permite rastrear todos los movimientos de cada dispositivo
|
||
|
|
|
||
|
|
### Reglas de Negocio
|
||
|
|
|
||
|
|
1. Un dispositivo en estado "prestado" no puede ser prestado a otro usuario
|
||
|
|
2. Un préstamo finalizado debe registrar fecha de devolución
|
||
|
|
3. La identificación de dispositivos y usuarios debe ser única
|
||
|
|
4. Al devolver un dispositivo, este vuelve al estado "disponible"
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Flujos de Trabajo
|
||
|
|
|
||
|
|
### Registro de un Nuevo Dispositivo
|
||
|
|
|
||
|
|
1. El sistema solicita la información del dispositivo (marca, modelo, número de serie)
|
||
|
|
2. El sistema valida que el número de serie no esté registrado
|
||
|
|
3. El sistema registra el dispositivo con estado "disponible"
|
||
|
|
4. El sistema confirma el registro
|
||
|
|
|
||
|
|
### Registro de un Nuevo Usuario
|
||
|
|
|
||
|
|
1. El sistema solicita la información del usuario (nombre, identificación)
|
||
|
|
2. El sistema valida que la identificación no esté registrada
|
||
|
|
3. El sistema registra el usuario
|
||
|
|
4. El sistema confirma el registro
|
||
|
|
|
||
|
|
### Préstamo de un Dispositivo
|
||
|
|
|
||
|
|
1. El sistema muestra los dispositivos disponibles
|
||
|
|
2. El usuario selecciona un dispositivo
|
||
|
|
3. El sistema muestra los usuarios registrados
|
||
|
|
4. El usuario selecciona un usuario
|
||
|
|
5. El sistema registra el préstamo con:
|
||
|
|
- Dispositivo seleccionado
|
||
|
|
- Usuario seleccionado
|
||
|
|
- Fecha y hora actual
|
||
|
|
- Estado "activo"
|
||
|
|
6. El sistema actualiza el estado del dispositivo a "prestado"
|
||
|
|
7. El sistema confirma el préstamo
|
||
|
|
|
||
|
|
### Devolución de un Dispositivo
|
||
|
|
|
||
|
|
1. El sistema muestra los préstamos activos
|
||
|
|
2. El usuario selecciona un préstamo
|
||
|
|
3. El sistema registra la fecha y hora de devolución
|
||
|
|
4. El sistema actualiza el estado del préstamo a "finalizado"
|
||
|
|
5. El sistema actualiza el estado del dispositivo a "disponible"
|
||
|
|
6. El sistema confirma la devolución
|
||
|
|
|
||
|
|
### Consulta de Préstamos por Usuario
|
||
|
|
|
||
|
|
1. El sistema muestra la lista de usuarios
|
||
|
|
2. El usuario selecciona un usuario
|
||
|
|
3. El sistema muestra:
|
||
|
|
- Dispositivos actualmente prestados (préstamos activos)
|
||
|
|
- Historial de préstamos pasados (opcional: expandible)
|
||
|
|
4. El sistema permite buscar por cualquier campo
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Requisitos No Funcionales
|
||
|
|
|
||
|
|
### Usabilidad
|
||
|
|
|
||
|
|
- La interfaz debe permitir búsqueda eficiente en listas grandes (500+ elementos)
|
||
|
|
- La visualización de información debe ser clara y organizada
|
||
|
|
- Los estados deben ser fácilmente identificables
|
||
|
|
- Las acciones principales deben ser accesibles
|
||
|
|
|
||
|
|
### Escalabilidad
|
||
|
|
|
||
|
|
- El diseño debe soportar un crecimiento en el número de dispositivos y usuarios
|
||
|
|
- La búsqueda debe ser eficiente
|
||
|
|
- El historial debe ser consultable sin afectar el rendimiento
|
||
|
|
|
||
|
|
### Mantenibilidad
|
||
|
|
|
||
|
|
- La estructura de datos debe ser clara
|
||
|
|
- Las relaciones entre entidades deben estar bien definidas
|
||
|
|
- Los flujos de trabajo deben estar documentados
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Diseño de Interfaz (Conceptual)
|
||
|
|
|
||
|
|
### Vistas Principales
|
||
|
|
|
||
|
|
1. **Vista de Inventario**
|
||
|
|
- Lista de dispositivos
|
||
|
|
- Filtros por estado
|
||
|
|
- Búsqueda
|
||
|
|
|
||
|
|
2. **Vista de Usuarios**
|
||
|
|
- Lista de usuarios
|
||
|
|
- Búsqueda
|
||
|
|
|
||
|
|
3. **Vista de Préstamos Activos**
|
||
|
|
- Lista de préstamos en curso
|
||
|
|
- Filtros por dispositivo/usuario
|
||
|
|
- Acciones: devolver dispositivo
|
||
|
|
|
||
|
|
4. **Vista de Historial**
|
||
|
|
- Lista completa de préstamos
|
||
|
|
- Filtros por fecha, usuario, dispositivo, estado
|
||
|
|
- Detalles de cada préstamo
|
||
|
|
|
||
|
|
5. **Vista de Préstamos por Usuario**
|
||
|
|
- Lista de usuarios
|
||
|
|
- Para cada usuario: dispositivos actualmente prestados
|
||
|
|
- Opcional: historial de préstamos pasados (expandible)
|
||
|
|
|
||
|
|
### Elementos de Interacción
|
||
|
|
|
||
|
|
- Campos de búsqueda en todas las listas
|
||
|
|
- Botones de acción claros (Prestar, Devolver, Registrar)
|
||
|
|
- Indicadores visuales de estado (colores, iconos)
|
||
|
|
- Confirmación de acciones críticas
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Notas de Implementación
|
||
|
|
|
||
|
|
Este documento describe los requisitos a nivel de diseño. La implementación específica (lenguaje de programación, base de datos, framework, arquitectura) queda a criterio del equipo de desarrollo y puede variar según las necesidades técnicas.
|
||
|
|
|
||
|
|
Los detalles técnicos como:
|
||
|
|
- Tecnologías específicas
|
||
|
|
- Estructura de base de datos física
|
||
|
|
- APIs
|
||
|
|
- Autenticación
|
||
|
|
- Despliegue
|
||
|
|
|
||
|
|
Deberán ser definidos en la fase de diseño técnico y pueden evolucionar sin afectar los requisitos funcionales descritos aquí.
|