UNIVERSIDAD MAYOR DE SAN ANDRÉS
FACULTAD DE CIENCIAS PURAS Y NATURALES
CARRERA DE INFORMÁTICA
“Sistema de Administración de Laboratorios de Computación”
Asignatura:
Base de Datos II
Estudiantes:
1.- Mamani Alanoca Raul Paulo
2.- Najib Brayan Huaricona Laurel
3.- Vera Apaza Marco Gabriel
Docente: Ph.D. Rogelio Mamani Ramos
La Paz – Bolivia
2025
ÍNDICE
ÍNDICE 2
I. INTRODUCCIÓN 4
1.1. BREVE DESCRIPCIÓN DEL PROYECTO 4
1.2. PROBLEMAS 4
1.2.1. PROBLEMAS SECUNDARIOS 4
1.2.2. PROBLEMA PRINCIPAL 4
1.3. OBJETIVOS 4
1.3.1. OBJETIVO GENERAL 4
1.3.2. OBJETIVOS ESPECÍFICOS 4
1.4. JUSTIFICACIÓN 4
II. REQUERIMIENTOS 5
2.1. DIAGNÓSTICO 5
2.2. REQUERIMIENTOS FUNCIONALES 5
2.3. REQUERIMIENTOS NO FUNCIONALES 5
III. ANÁLISIS 6
3.1. HERRAMIENTAS DE ANÁLISIS 6
3.2. COMPRENSIÓN DE LOS REQUERIMIENTOS 6
3.3. IDENTIFICACIÓN DE SUBSISTEMAS 6
IV. DISEÑO 7
4.1. HERRAMIENTAS DE DISEÑO 7
4.2. MODELO ENTIDAD RELACIÓN 7
4.3. DICCIONARIO DE DATOS 7
4.4. MODELO RELACIONAL 7
V. APLICACIÓN 8
5.1. CREACIÓN DE LA BASE DE DATOS 8
5.2. PRESENTACIÓN DEL DIAGRAMA 8
5.3. APLICACIÓN DE X 8
5.4. APLICACIÓN DE Y 8
5.5. APLICACIÓN DE LAS CONSULTAS DESDE EL LENGUAJE DE
PROGRAMACIÓN 8
VI. RESULTADOS 9
6.1. SELECCIÓN DE DATOS 9
6.2. RESULTADOS OBTENIDOS 9
VII. CONCLUSIONES 10
BIBLIOGRAFÍA 11
I. INTRODUCCIÓN
I.1. BREVE DESCRIPCIÓN DEL PROYECTO
Este sistema tiene como objetivo gestionar eficientemente el uso, mantenimiento y recursos de los
laboratorios de computación, facilitando la administración por parte de docentes y usuarios
autorizados.
I.2. PROBLEMAS
I.2.1. PROBLEMAS SECUNDARIOS
● Falta de registro formal del uso de laboratorios, lo que dificulta saber quién los
usa y cuándo.
● Dificultad para llevar control del inventario de equipos informáticos en cada
laboratorio.
● Desconocimiento del estado actual de los equipos (si están operativos, dañados
o en mantenimiento).
● Retrasos en los reportes de fallas o mantenimientos, lo que afecta la
disponibilidad de los laboratorios.
● Ausencia de reportes consolidados sobre el uso de recursos tecnológicos.
● Gestión manual y propensa a errores de horarios y reservas de laboratorios.
I.2.2. PROBLEMA PRINCIPAL
Falta de un sistema digital unificado que permita gestionar de forma eficiente el uso,
mantenimiento e inventario de los laboratorios de computación.
I.3. OBJETIVOS
I.3.1. OBJETIVO GENERAL
Desarrollar un sistema de administración de laboratorios de computación que permita
gestionar docentes, laboratorios, equipos, registros de uso, mantenimiento y usuarios,
brindando control y trazabilidad en cada proceso.
I.3.2. OBJETIVOS ESPECÍFICOS
● Permitir el registro y edición de laboratorios disponibles en la institución.
● Gestionar el inventario de equipos por laboratorio, incluyendo su tipo y estado.
● Registrar el uso de laboratorios por parte de los docentes, incluyendo fechas y
horarios.
● Controlar y documentar los mantenimientos realizados a los equipos.
● Facilitar la autenticación y control de acceso de los usuarios al sistema.
I.4. JUSTIFICACIÓN
La administración manual de laboratorios de computación presenta múltiples
limitaciones, como pérdida de información, fallos de coordinación y
desconocimiento del estado de los equipos. Ante el aumento del uso de tecnología
en la educación, es esencial contar con una herramienta digital que permita
registrar, controlar y planificar de forma precisa todos los aspectos relacionados
con estos espacios.
II. REQUERIMIENTOS
II.1. DIAGNÓSTICO
El proceso de levantamiento de requerimientos se realizó mediante un análisis del entorno
institucional, consultas con posibles usuarios (docentes, técnicos y administradores de
laboratorio) y estudio de necesidades operativas comunes en la gestión de laboratorios
informáticos. Se identificaron puntos críticos como la ausencia de registro digital de uso, la
dificultad para rastrear el estado de los equipos y la falta de reportes consolidados sobre el
uso de recursos tecnológicos.
Para el diagnóstico y recolección de requerimientos se utilizaron las siguientes técnicas de
ingeniería de requisitos:
● Preguntas a Asuarios: Se describieron situaciones reales de uso desde la perspectiva
de los actores para facilitar la identificación de requerimientos.
● Modelado de E-R: Se utilizaron diagramas para visualizar las interacciones y el
flujo de información, validando la cobertura de los requerimientos.
II.2. REQUERIMIENTOS FUNCIONALES
Las funcionalidades principales desde el punto de vista del usuario.
1. El sistema debe permitir el registro de nuevos usuarios.
2. El sistema debe autenticar a los usuarios mediante usuario y contraseña.
3. Los usuarios deben poder cambiar su contraseña.
4. El sistema debe permitir registrar, editar y visualizar docentes.
5. El sistema debe permitir registrar y editar laboratorios.
6. El sistema debe mostrar la capacidad y ubicación de cada laboratorio.
7. El sistema debe permitir agendar reservas por parte de docentes.
8. El sistema debe registrar el uso efectivo del laboratorio (fecha, hora, docente,
laboratorio).
9. El sistema debe registrar, editar y visualizar equipos por laboratorio.
10. El sistema debe permitir visualizar el estado actual de los equipos (activo,
dañado, etc.).
11. El sistema debe permitir registrar fallas técnicas en los equipos.
12. El sistema debe permitir registrar acciones de mantenimiento con detalle de
problema, solución y estado.
13. El sistema debe generar reportes de uso de laboratorios.
14. El sistema debe generar reportes de docentes que usaron laboratorios.
15. El sistema debe generar reportes del estado e inventario de equipos.
II.3. REQUERIMIENTOS NO FUNCIONALES
1. El sistema debe estar disponible durante todo el horario laboral institucional.
2. El tiempo de respuesta de cualquier operación no debe superar los 3 segundos.
3. El sistema debe contar con control de acceso por roles.
4. La interfaz deve ser intuitiva, clara y accesible desde navegadores web comunes.
5. El sistema debe garantizar la seguridad de las contraseñas mediante cifrado.
6. El sistema debe permitir la trazabilidad de acciones.
7. El sistema debe poner escala para soportar mas laboratorios usuarios o sedes.
8. Debe garantizar integridad referencial entre usuarios, laboratorios, equipos y
mantenimientos.
9. El sistema debe generar reportes exportables.
10.El sistema debe estar protegido contra accesos no autorizados e inyecciones de
codigo.
III. ANÁLISIS
III.1. HERRAMIENTAS DE ANÁLISIS
Durante el análisis del sistema se emplean diversas herramientas de ingeniería
informática que permiten comprender, modelar y estructurar el sistema antes de su
implementación. Estas herramientas incluyen:
● Diagramas Entidad-Relación (ER): Para definir cómo se estructuran y relacionan
los datos en la base de datos.
● Diccionario de datos: Describe cada entidad, atributo y sus relaciones.
III.2. COMPRENSIÓN DE LOS REQUERIMIENTOS
Para comprender los requerimientos del sistema de administración de laboratorios
de computación, se realizó un análisis detallado de las necesidades funcionales y
operativas propias de un entorno educativo donde se gestionan múltiples espacios
físicos equipados con dispositivos informáticos.
Este análisis permitió identificar a los diferentes actores, sus interacciones y las
funcionalidades esperadas del sistema, teniendo en cuenta tanto el uso académico
(por parte de docentes) como el técnico-administrativo (por parte de administradores
y personal de soporte).
El modelado de requerimientos se apoyó en:
Diagramas Entidad-Relación para estructurar los datos.
III.3. IDENTIFICACIÓN DE SUBSISTEMAS
A continuación se muestra los principales subsistemas identificados:
1. Subsistema de Autentificación y Gestion de Usuarios.
● Registro de usuarios.
● Inicio de sesión y cambio de contraseña.
● control de acceso por roles .
2. Subsistema de Gestión de Docentes.
● Registro, edición y visualización de datos de docentes.
● Asociación de docentes con el uso de laboratorios.
3. Subsistema de Gestión de Laboratorios.
● Alta edición y visualización de laboratorios.
● Visualización de capacidad y ubicación física
4. Subsistema de Reserva y Uso de Laboratorios.
● Agendamiento de reservas por docentes.
● Registro de uso con fecha, hora, docente y laboratorios.
● Evita reservas duplicadas en el mismo horario.
5. Subsistema de Gestión de Equipos.
● Registro y edición de equipos informáticos por laboratorio.
● Visualización del estado actual de cada equipo
6. Subsistema de Gestión de Mantenimiento.
● Registro de fallas técnicas detectadas.
● Registro de soluciones aplicadas a los equipos.
● Estado de los mantenimientos
7. Subsistema de Reportes.
● Reportes sobre uso de laboratorios.
● Reportes sobre el estado e inventario.
● Reportes de mantenimientos realizados o pendientes .
IV. DISEÑO
IV.1. HERRAMIENTAS DE DISEÑO
Diagramas Software
Diagrama Entidad-Relación Drawio
Modelo relacional dbdiagram.io
IV.2. MODELO ENTIDAD RELACIÓN
IV.3. DICCIONARIO DE DATOS
Docentes:
Atributos Tipo de dato Tamaño Observacion
Id_docente Int auto_increment Llave primaria
Nombre Varchar 50
Apellido Varchar 50
Curso Varchar 20
Nivel varchar 20
Laboratorios:
Atributos Tipo de dato Tamaño Observacion
Id_laboratorio Int Llave primaria
Nombre Varchar 50
Capacidad Int
Ubicación Varchar 50
Registro_uso:
Atributos Tipo de dato Tamaño Observacion
Id_uso Int Llave primaria
Fecha DATE
Hora_inicio TIME
Hora_termino TIME
Id_docente int Llave foranea
Equipos:
Atributos Tipo de dato Tamaño Observacion
Id_equipo Int Llave primaria
Codigo DATE
Tipo TIME
Estado TIME
Id_laboratorio int Llave foranea
Mantenimiento:
Atributos Tipo de dato Tamaño Observacion
Id_Mantenimient Int Llave primaria
o
Fecha DATE
Problema Text
Solución text
Id_equipo int Llave foranea
IV.4. MODELO RELACIONAL
V. APLICACIÓN
V.1. CREACIÓN DE LA BASE DE DATOS
CREATE DATABASE bdlaboratorio2
CREATE TABLE docentes (
id SERIAL PRIMARY KEY,
nombre VARCHAR(50),
apellido VARCHAR(50),
curso VARCHAR(100),
nivel VARCHAR(20)
);
CREATE TABLE laboratorios (
id_laboratorio SERIAL PRIMARY KEY,
nombre VARCHAR(50),
capacidad INTEGER,
ubicacion VARCHAR(50)
);
CREATE TABLE equipos (
id_equipo SERIAL PRIMARY KEY,
codigo VARCHAR(20),
tipo VARCHAR(20),
estado VARCHAR(20),
id_laboratorio INTEGER REFERENCES laboratorios(id_laboratorio)
);
CREATE TABLE mantenimiento (
id_mantenimiento SERIAL PRIMARY KEY,
id_equipo INTEGER REFERENCES equipos(id_equipo),
fecha DATE,
problema TEXT,
solucion TEXT,
estado VARCHAR(20)
);
CREATE TABLE registrouso (
id_uso SERIAL PRIMARY KEY,
fecha DATE,
hora_inicio TIME,
hora_termino TIME,
id_laboratorio INTEGER REFERENCES laboratorios(id_laboratorio)
);
CREATE TABLE usuarios (
correo_electronico VARCHAR(255) PRIMARY KEY,
nombre VARCHAR(255),
contrasena VARCHAR(255)
);
INSERT INTO docentes (id, nombre, apellido, curso, nivel) VALUES
(4, 'Miguel', 'Hernández', 'Inf-121', 'Básico'),
(6, 'Ricardo', 'Navarro', 'inf-121', 'Básico'),
(9, 'Teresa', 'Molina', 'inf-113', 'Intermedio');
INSERT INTO laboratorios (id_laboratorio, nombre, capacidad, ubicacion)
VALUES
(1, 'Lab A', 30, 'Piso 1'),
(2, 'Lab B', 25, 'Piso 2'),
(3, 'Lab C', 20, 'Piso 3');
INSERT INTO equipos (id_equipo, codigo, tipo, estado, id_laboratorio)
VALUES
(1, 'EQ-001', 'PC', 'Activo', 1),
(2, 'EQ-002', 'Proyector', 'Activo', 2),
(3, 'EQ-003', 'PC', 'Dañado', 3);
INSERT INTO mantenimiento (id_mantenimiento, id_equipo, fecha, problema,
solucion, estado) VALUES
(1, 1, '2025-05-15', 'Pantalla azul', 'Reinstalación de sistema', 'Reparado'),
(2, 3, '2025-05-20', 'No enciende', 'Pendiente de diagnóstico', 'Pendiente'),
(3, 2, '2025-05-18', 'Proyector sin imagen', 'Cambio de lámpara', 'Reparado');
INSERT INTO registrouso (id_uso, fecha, hora_inicio, hora_termino,
id_laboratorio) VALUES
(1, '2025-06-01', '08:00:00', '09:30:00', 1),
(2, '2025-06-02', '09:00:00', '10:30:00', 2),
(3, '2025-06-03', '07:30:00', '09:00:00', 3);
INSERT INTO usuarios (correo_electronico, nombre, contrasena) VALUES
('abcd@gmail.com', 'juan', '...'),
('admin@admin.com', 'Carlos', '...'),
('brayan@gmail.com', 'brayan', '...'),
('chabelita@gmail.com', 'chabella', '...'),
('jhoan@gmail.com', 'jhoan', '...'),
('juan@gmail.com', 'juan', '...'),
('juanito@gmail.com', 'juanito', '...'),
('juann@gmail.com', 'juanito', '...'),
('marco@gmail.com', 'sdsdd', '...'),
('najib@gmail.com', 'najib', '...'),
('nhuariconal@fcpn.edu.bo', 'najib', '...'),
('pelusita@gmail.com', 'pelu', '...'),
('perlita@gmail.com', 'perlita', '...');
V.2. PRESENTACIÓN DEL DIAGRAMA
V.3. APLICACIÓN DE X
Total de equipos en estado “Disponible”
V.4. APLICACIÓN DE Y
Cantidad de mantenimientos en curso:
V.5. APLICACIÓN DE Z
Muestra equipos dañados:
V.6. APLICACIÓN DE LAS CONSULTAS DESDE EL LENGUAJE DE
PROGRAMACIÓN
Total de equipos en estado “Disponible”:
CREATE FUNCTION total_equipos_disponibles()
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE total INT;
SELECT COUNT(*) INTO total
FROM equipos
WHERE estado = 'Activo';
RETURN total;
END;
//
DELIMITER ;
Cantidad de mantenimientos en curso:
DELIMITER //
CREATE FUNCTION mantenimientos_pendientes()
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE total INT;
SELECT COUNT(*) INTO total
FROM mantenimiento
WHERE estado = 'Pendiente';
RETURN total;
END;
//
DELIMITER ;
Mostrar equipos dañados:
<?php
$response = file_get_contents(HTTP_BASE .
"/controller/EquiposDanadosController.php");
$data = json_decode($response, true);
$equipos_danados = $data['data'];
?>
VI. RESULTADOS
VI.1. SELECCIÓN DE DATOS
Como parte del diseño lógico y físico de la base de datos del sistema de
administración de laboratorios, se desarrollaron funciones en lenguaje
PL/pgSQL para encapsular lógica útil en consultas recurrentes. Estas funciones
permiten obtener información clave de forma rápida y reutilizable, mejorando el
rendimiento y la mantenibilidad del sistema.
1. total_equipos_disponibles()
Descripción: Retorna el número total de equipos registrados con estado
"Disponible".
Utilidad: Permite mostrar rápidamente cuántos equipos están operativos en todo
el sistema, lo cual puede ser usado en un panel de estadísticas o dashboard.
2. mantenimientos_pendientes()
Descripción: Retorna la cantidad de mantenimientos registrados como
"Pendientes".
Utilidad: Ayuda a los técnicos y administradores a visualizar rápidamente la
carga de trabajo pendiente en cuanto a reparaciones y soporte.
3. Mostrar equipos dañados:
Descripción: Devuelve una tabla con los equipos que están marcados como
"Dañados", junto con su código, tipo, estado y nombre del laboratorio al que
pertenecen.
Utilidad: Brinda una vista clara y detallada del inventario con problemas,
facilitando la planificación de mantenimientos o reemplazos.
VI.2. RESULTADOS OBTENIDOS
VII. CONCLUSIONES
El desarrollo del “Sistema de Administración de Laboratorios de Computación” ha
demostrado ser una solución eficaz y completa para abordar los problemas que enfrenta la
gestión tradicional de laboratorios en instituciones educativas. A través del diseño de una
base de datos bien estructurada y el uso de funciones, procedimientos y triggers en
PL/pgSQL, se ha logrado automatizar, controlar y asegurar la integridad de los procesos
clave del sistema.
Las funciones implementadas como Total de equipos en estado “Disponible” y Cantidad
de mantenimientos en curso permiten realizar consultas y operaciones con lógica de
validación interna, evitando errores y garantizando la calidad de los datos. Esta
combinación de estructura relacional, validación lógica y automatización de eventos refleja
un enfoque profesional en la construcción de sistemas de información, mejorando la
trazabilidad, seguridad y eficiencia de la gestión de laboratorios. Además, el sistema sienta
las bases para futuras ampliaciones y escalabilidad, lo que lo convierte en una herramienta
valiosa y adaptable a contextos educativos diversos.
BIBLIOGRAFÍA
Pressman, Roger S. (2010).
Ingeniería del Software: Un Enfoque Práctico.
McGraw-Hill.
Referencia fundamental para análisis, diseño y desarrollo de sistemas con metodologías de
ingeniería del software.
Korth, Henry F., & Silberschatz, Abraham (2011).
Fundamentos de Bases de Datos (6ª Ed.).
McGraw-Hill.
Obra clásica que cubre el diseño lógico, físico y la teoría relacional de bases de datos.
Connolly, Thomas, & Begg, Carolyn (2015).
Sistemas de Bases de Datos: Un Enfoque Práctico (6ª Ed.).
Pearson Educación.
Profundiza en diseño ER, normalización, SQL y administración de bases de datos.
Dennis, Alan; Wixom, Barbara; & Roth, Roberta (2015).
Análisis y Diseño de Sistemas.
Wiley.
Explica con claridad el proceso de análisis, modelado, casos de uso y diagramas UML.
Welling, Luke, & Thomson, Laura (2016).
PHP y MySQL para el Desarrollo Web (5ª Ed.).