[S] Modelo de Caso Práctico para el puesto de Analista Programador y Mantenimiento de Sistemas Informáticos en un municipio de población comprendida entre los 5.000 y los 50.000 habitantes
autor.: TemasyTEST
Remitido el 06-03-26 a las 02:15:39 :: 11 lecturas
A continuación, presento un modelo de caso práctico diseñado para evaluar las competencias de un candidato al puesto de Analista Programador y Mantenimiento de Sistemas Informáticos en un municipio con una población entre 5.000 y 50.000 habitantes. Este tipo de municipios suelen tener recursos limitados, por lo que el enfoque se centra en soluciones eficientes, escalables y de bajo costo, utilizando tecnologías accesibles como software libre o herramientas de código abierto.El caso práctico está estructurado en tres partes: descripción del escenario, tareas a realizar y criterios de evaluación. Este modelo puede adaptarse para oposiciones, entrevistas o simulaciones de trabajo. Se asume que el candidato tiene acceso a un ordenador con entornos de desarrollo básicos (por ejemplo, Python, SQL, herramientas web como PHP o JavaScript, y un editor de código).1. Descripción del EscenarioEl Ayuntamiento de "Villaesperanza" (un municipio ficticio de 15.000 habitantes) gestiona servicios públicos como el registro de incidencias ciudadanas (quejas, solicitudes de permisos, reportes de averías en vías públicas), el control de impuestos locales y el mantenimiento de un portal web para ciudadanos. El sistema actual es una aplicación web desarrollada en PHP 5 (obsoleta) con una base de datos MySQL alojada en un servidor local antiguo. Problemas identificados:El sistema es lento y presenta fallos frecuentes debido a sobrecargas durante picos de uso (por ejemplo, al final de mes para pagos de impuestos).
No es responsive (no se adapta a móviles), lo que dificulta el acceso a ciudadanos.
Hay vulnerabilidades de seguridad detectadas en auditorías recientes (inyecciones SQL y accesos no autorizados).
El mantenimiento se realiza manualmente, sin automatización, y el equipo de TI es reducido (solo 2 personas, incluyendo al analista).
Recientemente, se produjo un incidente: la base de datos se corrompió tras un corte de energía, perdiendo datos de las últimas 24 horas.
El objetivo es modernizar y mantener el sistema para mejorar la eficiencia, la seguridad y la accesibilidad, considerando un presupuesto limitado (máximo 5.000 € anuales para herramientas y hosting).2. Tareas a RealizarEl candidato debe resolver el caso en un tiempo limitado (por ejemplo, 2-3 horas), documentando sus pasos en un informe y presentando código o diagramas. Las tareas se dividen en análisis, programación y mantenimiento.Tarea 1: Análisis de Requisitos y Diseño (30-45 minutos)Analiza los problemas actuales del sistema y propone una arquitectura mejorada. Incluye:Un diagrama de flujo (usando herramientas como Draw.io o papel) que muestre el proceso de una incidencia ciudadana desde el registro hasta la resolución.
Un esquema de base de datos simple (ERD - Diagrama Entidad-Relación) para almacenar incidencias, usuarios y logs. Usa al menos 3 tablas (ej.: Ciudadanos, Incidencias, Logs).
Recomendaciones de tecnologías: Justifica el uso de herramientas gratuitas como Python con Flask/Django para el backend, MySQL/PostgreSQL para la BD, y Bootstrap para el frontend responsive. Considera migración a la nube (ej.: AWS Free Tier o Heroku) para backups automáticos.
Tarea 2: Programación y Desarrollo (45-60 minutos)Implementa un módulo prototipo en código:Escribe un script en Python para automatizar backups de la base de datos (usando librerías como mysqldump o sqlalchemy). El script debe programarse para ejecutarse diariamente y enviar un email de confirmación (simulado).
Desarrolla una función o endpoint API simple (en Python o PHP) para registrar una incidencia ciudadana. Incluye validaciones básicas (ej.: campos obligatorios, prevención de inyecciones SQL usando prepared statements).
Corrige una vulnerabilidad simulada: Proporciona código para sanitizar entradas de usuario y encriptar contraseñas (usando hashlib en Python o password_hash en PHP).
Prueba el código en un entorno local y documenta posibles errores.
Tarea 3: Mantenimiento y Plan de Contingencia (30-45 minutos)Diagnostica el incidente de corrupción de datos: Explica pasos para recuperar datos (ej.: restaurar desde backup, usar herramientas como mysqlcheck para reparar tablas).
Propone un plan de mantenimiento preventivo:Monitorización: Implementa un script simple para chequear el uso de CPU/RAM del servidor y alertar si supera el 80% (usando psutil en Python).
Seguridad: Recomienda actualizaciones regulares, firewalls (ej.: UFW) y auditorías mensuales.
Escalabilidad: Sugiere cómo manejar un aumento de usuarios (ej.: optimizar consultas SQL, caching con Redis gratuito).
Estima costos y tiempos: Calcula el tiempo de implementación (ej.: 2 semanas) y costos (ej.: hosting en la nube por 20€/mes).
3. Criterios de EvaluaciónAnálisis (30%): Claridad en la identificación de problemas, viabilidad de las propuestas y adaptación al contexto municipal (eficiencia y bajo costo).
Programación (40%): Código funcional, limpio y comentado. Uso correcto de buenas prácticas (modularidad, manejo de errores, seguridad).
Mantenimiento (20%): Enfoque proactivo en prevención de fallos, considerando recursos limitados.
Comunicación (10%): Informe claro, con diagramas y explicaciones técnicas accesibles para no expertos (ej.: alcaldes o concejales).
Puntuación total: Sobre 100 puntos. Se valora la creatividad y el uso de herramientas open-source para minimizar dependencias.
Este modelo simula situaciones reales en ayuntamientos pequeños, donde el analista debe ser polivalente: programar, analizar y mantener sistemas con autonomía. Si necesitas variaciones (ej.: enfoque en ciberseguridad o integración con apps móviles), ¡házmelo saber!
Este 2026 ya
llevamos convocadas
20,285 plazas en
1,332 Oposiciones y se han abierto
12
Bolsas de Trabajo
[hoy 148
plazas en 58 Oposiciones con apertura de
0 Bolsas]