EGEL Plus Ingeniería Computacional cheat sheet
EGEL Plus Ingeniería Computacional · Keep the key ideas within reach.
Ingeniería de software
Ciclo de vida: cascada (secuencial, requisitos congelados), iterativo/incremental, espiral (riesgo por iteración), y ágil (Scrum, XP, Kanban) con entregas frecuentes y retroalimentación.
Scrum: roles Product Owner, Scrum Master y Developers; artefactos Product Backlog, Sprint Backlog e Incremento; eventos Sprint Planning, Daily, Sprint Review y Retrospectiva; el Sprint dura 1-4 semanas.
SOLID: S) responsabilidad única, O) abierto/cerrado, L) sustitución de Liskov, I) segregación de interfaces, D) inversión de dependencias. Cada principio reduce acoplamiento y facilita pruebas.
Patrones GoF por categoría: creacionales (Singleton, Factory Method, Builder), estructurales (Adapter, Decorator, Facade), de comportamiento (Observer, Strategy, Command).
Métricas de cohesión y acoplamiento: alta cohesión y bajo acoplamiento son deseables; la complejidad ciclomática de McCabe M = E - N + 2 (aristas menos nodos más 2) mide caminos independientes.
Pruebas: unitarias (una unidad aislada), integración (interacción entre módulos), sistema y aceptación; caja negra usa partición de equivalencia y valores límite; caja blanca usa cobertura de sentencias, ramas y caminos.
Refactorización no cambia comportamiento observable; code smell típicos: duplicación, método largo, clase dios, envidia de características y acoplamiento excesivo.
Modelado UML: diagramas de estructura (clases, componentes, despliegue) y de comportamiento (casos de uso, secuencia, actividad, estados). La relación de composición implica ciclo de vida dependiente.
Bases de datos
Modelo relacional: tabla = relación, fila = tupla, columna = atributo; una clave primaria identifica unívocamente cada tupla y una clave foránea referencia la primaria de otra tabla.
Formas normales: 1FN elimina grupos repetidos; 2FN elimina dependencias parciales de la clave; 3FN elimina dependencias transitivas; BCNF exige que todo determinante sea clave candidata.
Álgebra relacional: selección σ, proyección π, producto cartesiano ×, unión ∪, diferencia −, renombrado ρ y reunión ⋈; SQL implementa estas operaciones declarativamente.
ACID: Atomicidad (todo o nada), Consistencia (reglas preservadas), Aislamiento (transacciones concurrentes no interfieren) y Durabilidad (cambios persisten tras fallo).
Niveles de aislamiento y anomalías: READ UNCOMMITTED permite lectura sucia; READ COMMITTED evita lectura sucia; REPEATABLE READ evita lectura no repetible; SERIALIZABLE evita lecturas fantasma.
Índice B+ árbol: búsqueda, inserción y borrado en O(log n); acelera SELECT con igualdad o rango, pero añade costo a INSERT, UPDATE y DELETE y ocupa espacio.
JOIN: INNER devuelve coincidencias; LEFT y RIGHT conservan todas las filas de un lado con NULL donde falta; FULL conserva ambos; CROSS produce el producto cartesiano.
NoSQL: clave-valor (Redis), documento (MongoDB), columna ancha (Cassandra) y grafo (Neo4j); se eligen por escalabilidad horizontal y esquema flexible, no por reemplazo universal del relacional.
Redes y telecomunicaciones
Modelo OSI de 7 capas: física, enlace de datos, red, transporte, sesión, presentación y aplicación. TCP/IP agrupa en acceso a red, internet, transporte y aplicación.
Unidades y dispositivos: bits en capa física (hub, repetidor), tramas en enlace (switch, puente), paquetes en red (router) y segmentos en transporte.
TCP: orientado a conexión con three-way handshake (SYN, SYN-ACK, ACK), control de flujo por ventana, retransmisión y control de congestión; UDP no garantiza entrega ni orden.
Direccionamiento IPv4: 32 bits en notación decimal con puntos; máscara /n define 2^(32-n) direcciones por subred, menos 2 utilizables (red y broadcast). IPv6 usa 128 bits en hexadecimal.
Puertos bien conocidos: 20/21 FTP, 22 SSH, 23 Telnet, 25 SMTP, 53 DNS, 80 HTTP, 110 POP3, 143 IMAP, 443 HTTPS. El rango dinámico va de 49152 a 65535.
DNS resuelve nombres a direcciones mediante jerarquía de servidores raíz, TLD y autoritativos; registros A (IPv4), AAAA (IPv6), MX (correo), CNAME (alias) y NS (servidor de nombres).
Conmutación de circuitos reserva un camino dedicado; conmutación de paquetes comparte enlaces y mejora el aprovechamiento. La multiplexación por división de tiempo o frecuencia reparte el medio.
Comandos de diagnóstico: ping (ICMP echo), traceroute (saltos TTL), ipconfig/ifconfig (configuración local), nslookup/dig (DNS) y netstat (conexiones activas).
Sistemas operativos y arquitectura de computadoras
Proceso frente a hilo: el proceso tiene espacio de direcciones propio; los hilos comparten memoria y archivos dentro del proceso, por lo que requieren sincronización.
Estados de proceso: nuevo, listo, en ejecución, bloqueado y terminado. El planificador de corto plazo elige entre listos; el de largo plazo controla el grado de multiprogramación.
Algoritmos de planificación: FCFS (no apropiativo), SJF (óptimo en tiempo medio de espera), Round Robin (quantum), prioridad y colas multinivel. El tiempo de espera es la suma de periodos en cola.
Interbloqueo (deadlock): cuatro condiciones simultáneas (exclusión mutua, retención y espera, no apropiación y espera circular). Se previene, evita o detecta; el algoritmo del banquero evita estados inseguros.
Memoria virtual: paginación divide en páginas y marcos; segmentación usa bloques lógicos de tamaño variable. La TLB cachea traducciones y el fallo de página provoca acceso a disco.
Reemplazo de páginas: FIFO (anomalía de Belady), LRU (aproxima localidad) y Óptimo (referencia futura, no implementable). El thrashing ocurre cuando el sistema pasa más tiempo paginando que ejecutando.
Sistemas de archivos: asignación contigua, enlazada e indexada (i-nodos); FAT usa tabla de asignación; ext4 y NTFS usan estructuras indexadas con journaling para recuperación.
Arquitectura: ley de Amdahl S = 1 / ((1-f) + f/s) acota la mejora; jerarquía de memoria registros, caché L1/L2/L3, RAM y disco con latencias crecientes; RISC usa instrucciones simples y pipeline, CISC instrucciones complejas.
Matemáticas y métodos numéricos para computación
Error absoluto = |valor real - aproximación|; error relativo = error absoluto / |valor real|. El error de redondeo proviene de la representación finita en punto flotante (IEEE 754).
Bisección: requiere f continua y cambio de signo en [a,b]; converge siempre con error acotado (b-a)/2^n, pero es lenta (orden lineal).
Newton-Raphson: x_{n+1} = x_n - f(x_n)/f'(x_n); convergencia cuadrática cerca de la raíz, pero requiere derivada y puede divergir si f' es cero o la semilla es mala.
Secante: x_{n+1} = x_n - f(x_n)(x_n - x_{n-1})/(f(x_n) - f(x_{n-1})); no usa derivada y su orden de convergencia es aproximadamente 1.618.
Interpolación de Lagrange construye un polinomio de grado n que pasa por n+1 puntos; el error incluye el producto de las diferencias y la derivada (n+1)-ésima en un punto intermedio.
Integración numérica: trapecio = (b-a)/2 · (f(a)+f(b)); Simpson 1/3 = (b-a)/6 · (f(a)+4f(m)+f(b)). El trapecio tiene error O(h²) y Simpson O(h⁴).
Eliminación gaussiana resuelve Ax=b en O(n³); con pivoteo parcial se evita dividir por ceros o valores muy pequeños. La factorización LU reutiliza la descomposición para varios vectores b.
Complejidad asintótica: O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2^n) < O(n!). La recurrencia T(n)=2T(n/2)+n da O(n log n) por el teorema maestro.
Gestión de proyectos y desarrollo profesional de TI
Triple restricción: alcance, tiempo y costo; la calidad se ve afectada al ajustar cualquiera. Un cambio de alcance debe evaluarse contra plazo y presupuesto.
Ruta crítica: secuencia de actividades dependientes de mayor duración total; determina la duración mínima del proyecto y su holgura es cero.
Estimación: PERT usa (optimista + 4·probable + pesimista)/6; el punto de función mide tamaño funcional y el COCOMO estima esfuerzo en personas-mes.
Gestión de riesgos: identificar, analizar (probabilidad × impacto), planificar respuesta y monitorear. Estrategias: evitar, mitigar, transferir y aceptar.
PMBOK agrupa procesos en iniciación, planificación, ejecución, monitoreo y control, y cierre; las áreas de conocimiento incluyen alcance, cronograma, costo, calidad y riesgos.
Ética profesional en TI: confidencialidad de datos, propiedad intelectual, licencias de software, accesibilidad y divulgación responsable de vulnerabilidades.
Roles de equipo: analista, arquitecto, desarrollador, tester, DevOps y líder técnico. DevOps integra desarrollo y operaciones con integración y entrega continuas.
Códigos y marcos: ISO/IEC 12207 para ciclo de vida del software, ISO/IEC 27001 para seguridad de la información y CMMI para madurez de procesos.
Ingeniería de software
Ciclo de vida: cascada (secuencial, requisitos congelados), iterativo/incremental, espiral (riesgo por iteración), y ágil (Scrum, XP, Kanban) con entregas frecuentes y retroalimentación.
Scrum: roles Product Owner, Scrum Master y Developers; artefactos Product Backlog, Sprint Backlog e Incremento; eventos Sprint Planning, Daily, Sprint Review y Retrospectiva; el Sprint dura 1-4 semanas.
SOLID: S) responsabilidad única, O) abierto/cerrado, L) sustitución de Liskov, I) segregación de interfaces, D) inversión de dependencias. Cada principio reduce acoplamiento y facilita pruebas.
Patrones GoF por categoría: creacionales (Singleton, Factory Method, Builder), estructurales (Adapter, Decorator, Facade), de comportamiento (Observer, Strategy, Command).
Métricas de cohesión y acoplamiento: alta cohesión y bajo acoplamiento son deseables; la complejidad ciclomática de McCabe M = E - N + 2 (aristas menos nodos más 2) mide caminos independientes.
Pruebas: unitarias (una unidad aislada), integración (interacción entre módulos), sistema y aceptación; caja negra usa partición de equivalencia y valores límite; caja blanca usa cobertura de sentencias, ramas y caminos.
Refactorización no cambia comportamiento observable; code smell típicos: duplicación, método largo, clase dios, envidia de características y acoplamiento excesivo.
Modelado UML: diagramas de estructura (clases, componentes, despliegue) y de comportamiento (casos de uso, secuencia, actividad, estados). La relación de composición implica ciclo de vida dependiente.
Bases de datos
Modelo relacional: tabla = relación, fila = tupla, columna = atributo; una clave primaria identifica unívocamente cada tupla y una clave foránea referencia la primaria de otra tabla.
Formas normales: 1FN elimina grupos repetidos; 2FN elimina dependencias parciales de la clave; 3FN elimina dependencias transitivas; BCNF exige que todo determinante sea clave candidata.
Álgebra relacional: selección σ, proyección π, producto cartesiano ×, unión ∪, diferencia −, renombrado ρ y reunión ⋈; SQL implementa estas operaciones declarativamente.
ACID: Atomicidad (todo o nada), Consistencia (reglas preservadas), Aislamiento (transacciones concurrentes no interfieren) y Durabilidad (cambios persisten tras fallo).
Niveles de aislamiento y anomalías: READ UNCOMMITTED permite lectura sucia; READ COMMITTED evita lectura sucia; REPEATABLE READ evita lectura no repetible; SERIALIZABLE evita lecturas fantasma.
Índice B+ árbol: búsqueda, inserción y borrado en O(log n); acelera SELECT con igualdad o rango, pero añade costo a INSERT, UPDATE y DELETE y ocupa espacio.
JOIN: INNER devuelve coincidencias; LEFT y RIGHT conservan todas las filas de un lado con NULL donde falta; FULL conserva ambos; CROSS produce el producto cartesiano.
NoSQL: clave-valor (Redis), documento (MongoDB), columna ancha (Cassandra) y grafo (Neo4j); se eligen por escalabilidad horizontal y esquema flexible, no por reemplazo universal del relacional.
Redes y telecomunicaciones
Modelo OSI de 7 capas: física, enlace de datos, red, transporte, sesión, presentación y aplicación. TCP/IP agrupa en acceso a red, internet, transporte y aplicación.
Unidades y dispositivos: bits en capa física (hub, repetidor), tramas en enlace (switch, puente), paquetes en red (router) y segmentos en transporte.
TCP: orientado a conexión con three-way handshake (SYN, SYN-ACK, ACK), control de flujo por ventana, retransmisión y control de congestión; UDP no garantiza entrega ni orden.
Direccionamiento IPv4: 32 bits en notación decimal con puntos; máscara /n define 2^(32-n) direcciones por subred, menos 2 utilizables (red y broadcast). IPv6 usa 128 bits en hexadecimal.
Puertos bien conocidos: 20/21 FTP, 22 SSH, 23 Telnet, 25 SMTP, 53 DNS, 80 HTTP, 110 POP3, 143 IMAP, 443 HTTPS. El rango dinámico va de 49152 a 65535.
DNS resuelve nombres a direcciones mediante jerarquía de servidores raíz, TLD y autoritativos; registros A (IPv4), AAAA (IPv6), MX (correo), CNAME (alias) y NS (servidor de nombres).
Conmutación de circuitos reserva un camino dedicado; conmutación de paquetes comparte enlaces y mejora el aprovechamiento. La multiplexación por división de tiempo o frecuencia reparte el medio.
Comandos de diagnóstico: ping (ICMP echo), traceroute (saltos TTL), ipconfig/ifconfig (configuración local), nslookup/dig (DNS) y netstat (conexiones activas).
Sistemas operativos y arquitectura de computadoras
Proceso frente a hilo: el proceso tiene espacio de direcciones propio; los hilos comparten memoria y archivos dentro del proceso, por lo que requieren sincronización.
Estados de proceso: nuevo, listo, en ejecución, bloqueado y terminado. El planificador de corto plazo elige entre listos; el de largo plazo controla el grado de multiprogramación.
Algoritmos de planificación: FCFS (no apropiativo), SJF (óptimo en tiempo medio de espera), Round Robin (quantum), prioridad y colas multinivel. El tiempo de espera es la suma de periodos en cola.
Interbloqueo (deadlock): cuatro condiciones simultáneas (exclusión mutua, retención y espera, no apropiación y espera circular). Se previene, evita o detecta; el algoritmo del banquero evita estados inseguros.
Memoria virtual: paginación divide en páginas y marcos; segmentación usa bloques lógicos de tamaño variable. La TLB cachea traducciones y el fallo de página provoca acceso a disco.
Reemplazo de páginas: FIFO (anomalía de Belady), LRU (aproxima localidad) y Óptimo (referencia futura, no implementable). El thrashing ocurre cuando el sistema pasa más tiempo paginando que ejecutando.
Sistemas de archivos: asignación contigua, enlazada e indexada (i-nodos); FAT usa tabla de asignación; ext4 y NTFS usan estructuras indexadas con journaling para recuperación.
Arquitectura: ley de Amdahl S = 1 / ((1-f) + f/s) acota la mejora; jerarquía de memoria registros, caché L1/L2/L3, RAM y disco con latencias crecientes; RISC usa instrucciones simples y pipeline, CISC instrucciones complejas.
Matemáticas y métodos numéricos para computación
Error absoluto = |valor real - aproximación|; error relativo = error absoluto / |valor real|. El error de redondeo proviene de la representación finita en punto flotante (IEEE 754).
Bisección: requiere f continua y cambio de signo en [a,b]; converge siempre con error acotado (b-a)/2^n, pero es lenta (orden lineal).
Newton-Raphson: x_{n+1} = x_n - f(x_n)/f'(x_n); convergencia cuadrática cerca de la raíz, pero requiere derivada y puede divergir si f' es cero o la semilla es mala.
Secante: x_{n+1} = x_n - f(x_n)(x_n - x_{n-1})/(f(x_n) - f(x_{n-1})); no usa derivada y su orden de convergencia es aproximadamente 1.618.
Interpolación de Lagrange construye un polinomio de grado n que pasa por n+1 puntos; el error incluye el producto de las diferencias y la derivada (n+1)-ésima en un punto intermedio.
Integración numérica: trapecio = (b-a)/2 · (f(a)+f(b)); Simpson 1/3 = (b-a)/6 · (f(a)+4f(m)+f(b)). El trapecio tiene error O(h²) y Simpson O(h⁴).
Eliminación gaussiana resuelve Ax=b en O(n³); con pivoteo parcial se evita dividir por ceros o valores muy pequeños. La factorización LU reutiliza la descomposición para varios vectores b.
Complejidad asintótica: O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2^n) < O(n!). La recurrencia T(n)=2T(n/2)+n da O(n log n) por el teorema maestro.
Gestión de proyectos y desarrollo profesional de TI
Triple restricción: alcance, tiempo y costo; la calidad se ve afectada al ajustar cualquiera. Un cambio de alcance debe evaluarse contra plazo y presupuesto.
Ruta crítica: secuencia de actividades dependientes de mayor duración total; determina la duración mínima del proyecto y su holgura es cero.
Estimación: PERT usa (optimista + 4·probable + pesimista)/6; el punto de función mide tamaño funcional y el COCOMO estima esfuerzo en personas-mes.
Gestión de riesgos: identificar, analizar (probabilidad × impacto), planificar respuesta y monitorear. Estrategias: evitar, mitigar, transferir y aceptar.
PMBOK agrupa procesos en iniciación, planificación, ejecución, monitoreo y control, y cierre; las áreas de conocimiento incluyen alcance, cronograma, costo, calidad y riesgos.
Ética profesional en TI: confidencialidad de datos, propiedad intelectual, licencias de software, accesibilidad y divulgación responsable de vulnerabilidades.
Roles de equipo: analista, arquitecto, desarrollador, tester, DevOps y líder técnico. DevOps integra desarrollo y operaciones con integración y entrega continuas.
Códigos y marcos: ISO/IEC 12207 para ciclo de vida del software, ISO/IEC 27001 para seguridad de la información y CMMI para madurez de procesos.