Resumen Integral de Arquitectura de Software, Redes y Sistemas

Informática y Telecomunicaciones15,03 KB

1. Ingeniería de Software y Modelado

Diagramas UML

  • Estructura: Clases, componentes, objetos, estructura, despliegue y paquetes.
  • Comportamiento: Actividad, casos de uso, máquina de estados, interacción, secuencia, comunicación y tiempos.

Metodologías de Desarrollo de Software

  • Cascada: Lineal y secuencial, con fases definidas (requisitos, diseño, implementación, pruebas y mantenimiento). El cambio es difícil al pasar de fase.
  • Agile: Iterativo e incremental. Fomenta la colaboración, la adaptabilidad y la entrega temprana.
  • Scrum: Metodología ágil con equipos autoorganizados y entregas iterativas mediante sprints de tiempo fijo. Roles: Scrum Master, Product Owner y equipo de desarrollo. Utiliza técnicas como Planning Poker.
  • Kanban: Gestión visual del trabajo con columnas variables. Fomenta la eficiencia y limita el trabajo en curso (WIP) sin iteraciones fijas.
  • eXtreme Programming (XP): Enfocada en la calidad del software y la colaboración cercana del equipo. Utiliza pruebas unitarias, integración continua y desarrollo guiado por pruebas (TDD).
  • Espiral: Para proyectos complejos y largos. Planificación y desarrollo iterativo con fuerte enfoque en la gestión de riesgos.
  • Desarrollo Guiado por Comportamiento (BDD): Centrado en el comportamiento esperado por el usuario, con pruebas escritas en lenguaje natural.

Mantenimiento de Software

  • Correctivo: Corregir errores del software.
  • Adaptativo: Adaptar cambios del entorno.
  • Perfectivo: Mejorar el software sin cambiar su funcionalidad.
  • Evolutivo: Añadir nuevas características y funcionalidades al software.

Métrica v3

  • Procesos principales: Planificación, desarrollo y mantenimiento.
  • Interfaces: Gestión de proyectos, aseguramiento de la calidad, seguridad y gestión de riesgos.
  • Fases de desarrollo: Estudio de viabilidad del sistema, análisis del sistema de información, diseño del sistema de información, construcción del sistema de información, e instalación y aceptación del sistema.

2. Sistemas Operativos y Linux

Estructura de Directorios en Linux

  • /bin: Aplicaciones binarias esenciales.
  • /boot: Archivos de arranque del equipo.
  • /dev: Ficheros de dispositivos.
  • /etc: Archivos de configuración.
  • /home: Directorios personales de los usuarios.
  • /initrd: Proceso de arranque inicial.
  • /lib: Librerías del sistema.
  • /media: Particiones y medios extraíbles.
  • /opt: Aplicaciones de terceros.
  • /proc: Directorio virtual con información del estado del sistema.
  • /sbin: Binarios del sistema importantes (administración).
  • /sys: Archivos de configuración del sistema.
  • /tmp: Archivos temporales.
  • /usr: Archivos y aplicaciones para usuarios.
  • /var: Archivos variables (logs, colas, etc.).

Comandos Esenciales en Linux

  • ls: Lista archivos y directorios.
  • mkdir: Crea un nuevo directorio.
  • cd: Cambia de directorio.
  • cp: Copia archivos o directorios.
  • rm: Elimina archivos o directorios.
  • mv: Mueve o renombra archivos.
  • locate: Busca archivos rápidamente.
  • fsck: Comprueba y repara errores en el sistema de ficheros.
  • getfacl: Muestra las listas de control de acceso (ACL) de un archivo.
  • chown: Cambia el propietario de un archivo.
  • chgrp: Cambia el grupo propietario de un archivo.
  • chmod: Cambia los permisos de un archivo o directorio.
  • e2fsck: Escanea sistemas de archivos ext2, ext3 y ext4.
  • who -r: Indica el nivel de ejecución actual del sistema.

Niveles de Ejecución (Runlevels)

  • 0: Detención / Apagado.
  • 1: Modo de usuario único (mantenimiento).
  • 2: Usuario múltiple sin red.
  • 3: Multiusuario completo sin interfaz gráfica (modo texto).
  • 4: Definible por el usuario.
  • 5: Usuario múltiple con interfaz gráfica y ejecución estándar.
  • 6: Reinicio del sistema.

Sistemas de Ficheros

  • FAT / NTFS: Windows.
  • ext4: Linux.
  • APFS: Apple.

3. Redes y Comunicaciones

Modelo OSI (7 Capas)

  1. Física: Cables, conectores, tarjetas de red.
  2. Enlace de datos: Subcapa MAC, direccionamiento físico.
  3. Red: Firewalls, direcciones IP, routers.
  4. Transporte: TCP, UDP.
  5. Sesión: ASP, RCP, SCP.
  6. Presentación: Cifrado, compresión y traducción de datos.
  7. Aplicación: POP, SMTP, FTP, HTTP.

Modelo TCP/IP (4 Capas)

  1. Aplicación: HTTP, FTP, Telnet, NTP, DHCP, DNS.
  2. Transporte: TCP, UDP.
  3. Internet: IP, ICMP, ARP.
  4. Network Interface: Ethernet, Wireless.

Protocolos IP

  • IPv4: Direcciones de 32 bits (4 bytes). Cabecera con campos como versión, longitud, tipo de servicio, longitud total, identificación, flags, fragmento, TTL, protocolo, checksum y direcciones IP de origen y destino.
  • IPv6: Direcciones de 128 bits (16 bytes). Cabecera simplificada con versión, clase de tráfico, etiqueta de flujo, longitud de carga útil, siguiente cabecera, límite de salto y direcciones IP de origen y destino.

4. Bases de Datos y SQL

Sentencias SQL

  • DDL (Data Definition Language): CREATE TABLE, DROP TABLE, ALTER.
  • DML (Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE.
  • DCL (Data Control Language): GRANT, REVOKE.
  • TCL (Transaction Control Language): COMMIT, ROLLBACK, SAVEPOINT, START TRANSACTION.

SGBD: Niveles de Aislamiento y Propiedades ACID

  • Read Uncommitted: Permite lecturas sucias (Suc), no repetibles (Rep) y fantasmas (Fant).
  • Read Committed: Previene lecturas sucias; permite no repetibles y fantasmas.
  • Repeatable Read: Previene lecturas sucias y no repetibles; permite fantasmas.
  • Serializable: Previene todas las anomalías (ninguna).
  • Snapshot / RYOW: Niveles avanzados basados en versiones de datos.
  • ACID: Atomicidad (commit/rollback), Consistencia (todas las reglas), Aislamiento (control de concurrencia en SELECT), Durabilidad (commit persistente).

5. Ciberseguridad y Centros de Datos

Dimensiones de Seguridad (Magerit v3)

  • Disponibilidad: Accesibilidad de los servicios cuando se necesitan.
  • Integridad: Completitud y corrección de los datos.
  • Confidencialidad: Acceso a la información exclusivamente por personas autorizadas.
  • Autenticidad: Garantía de que una entidad es quien dice ser.
  • Trazabilidad: Capacidad de rastrear las acciones realizadas por cada usuario.

Tipos de Ciberataques

  • Phishing: Engaño para que el usuario revele sus credenciales.
  • Ransomware: Secuestro de datos mediante cifrado para exigir un rescate económico.
  • Deepfake / Bombing: Suplantación de identidad en videoconferencias.
  • DNS Spoofing: Alteración de registros DNS para redirigir tráfico maliciosamente.
  • MitM (Man-in-the-Middle): Interceptación de comunicaciones entre dos partes.
  • Troyano: Malware oculto dentro de un software aparentemente legítimo.
  • Cross-Site Scripting (XSS): Inyección de JavaScript malicioso desde el navegador para robar datos.
  • Rootkits: Herramientas de software para obtener acceso privilegiado no autorizado.
  • Whaling: Ataque de phishing dirigido a directivos o altos cargos ("peces gordos").
  • Smishing: Phishing realizado a través de mensajes de texto (SMS).

Normativa y Estándares de CPD (TIA 942 y TIER)

  • TIA 942: Guía para el diseño de Centros de Procesamiento de Datos (CPD). Estandariza 4 subsistemas: telecomunicaciones, arquitectura, sistemas eléctricos y sistemas mecánicos.
  • TIER (Uptime Institute): Mide la fiabilidad y tolerancia a fallos del centro de datos:
    • Nivel I: 99.67% de disponibilidad.
    • Nivel II: 97.49% de disponibilidad.
    • Nivel III: 99.982% de disponibilidad.
    • Nivel IV: 99.995% de disponibilidad.

Auditoría según ISO/IEC 802

  • Básica: Autoevaluación cada 2 años.
  • Media / Alta: Auditoría formal cada 2 años.

6. Administración, Normativa y Herramientas

Legislación y Administración Electrónica

  • Ley Orgánica 3/2018 de Protección de Datos (LOPD): Derechos ARSOPUL (Acceso, Rectificación, Supresión u olvido, Limitación del tratamiento, Portabilidad y Oposición).
  • RD 203/2021: Reglamento de actuación y funcionamiento del sector público por medios electrónicos (plazos: 10 días, 15 sucesivos, 6 meses, 1 año, verificación de sede cada 5 años).
  • Expediente Electrónico: Compuesto por documentos, índice, firma electrónica y metadatos.

Herramientas CCN-CERT

Conjunto de herramientas de ciberseguridad para la administración y el Esquema Nacional de Seguridad (ENS):

  • ADA (Análisis avanzado de malware), Amparo (Seguridad y conformidad ENS), ANA (Automatización y normalización), Carla (Protección y trazabilidad de datos), Carmen (Ataques avanzados), Clara (Auditoría cumplimiento ENS), Claudia (Amenazas complejas), Microclau (Vacuna), Elena (Cibervigilancia), Emma (Visibilidad y control), Gloria (Gestión de logs), Ines (Informes estado ENS), Iris (Estadísticas ciberseguridad), Loreto (Seguridad en la nube), Lucía (Gestión de tickets), Marta (Análisis avanzado de ficheros), Moni (Eventos e información), Olvido (Borrado seguro), Pilar (Gestión de riesgos), Reyes (Ciberamenazas), Rocío (Dispositivos en red), Vanesa (Streaming).

7. Control de Versiones y Virtualización

Git y Control de Versiones

  • GIT (Global Information Tracker): Sistema de control de versiones distribuido con rastreo completo de cambios. Permite la creación de ramas (git branch) y fusiones (git merge). Los cambios se guardan mediante commits. GitHub actúa como plataforma de almacenamiento remoto de repositorios.

Virtualización y Contenedores

  • Tipos de Hipervisores:
    • Tipo 1 (Bare-metal): Se ejecuta directamente sobre el hardware sin sistema operativo anfitrión. Ejemplos: VMware ESXi, OpenStack, KVM, LXC, Hyper-V, Citrix.
    • Tipo 2 (Hosted): Se ejecuta sobre un sistema operativo anfitrión. Ejemplos: VMware Workstation, VirtualBox, QEMU.
  • Virtualización en la Nube: AWS, PowerVM, Oracle VM, Azure.
  • Contenedores: Docker, Kubernetes, Linux-VServer, LXC, OpenVZ, Podman, RKT.

Conceptos de Rendimiento y Recuperación

  • RTO (Recovery Time Objective): Tiempo objetivo de recuperación ante desastres (clasificado desde menos de 4 horas hasta más de 5 días).
  • Pilas de Desarrollo:
    • MEAN: MongoDB, Express, AngularJS, Node.js.
    • MERN: MongoDB, Express, React, Node.js.
    • LAMP: Linux, Apache, MySQL, PHP.

8. Arquitecturas de Software

Arquitectura JavaEE / JakartaEE

  • Presentación: Interacción con el usuario (páginas y servicios web). Tecnologías: Servlets, JSP, JSF, JAX-RS, HTML, CSS, JavaScript.
  • Lógica de Negocio: Implementación de la lógica empresarial. Tecnologías: EJB, CDI, Spring, JTA.
  • Persistencia: Gestión de datos y comunicación con bases de datos. Tecnologías: JPA, JDBC, Hibernate, JMS.
  • Integración: Conexión con sistemas externos y comunicación entre componentes. Tecnologías: JMS, JCA, JAX-RS, JAX-WS, REST, SOAP.
  • Seguridad: Administración de autenticación y autorización. Tecnologías: JAAS, JASPIC, OAuth, JWT.
  • Acceso a Recursos: Gestión de recursos externos. Tecnologías: JNDI, DataSource.
  • Presentación de Datos: Formateo de datos para el usuario final. Tecnologías: JSP, JSF, AJAX.

Arquitectura por Capas en .NET

  • Presentación: Interfaz de usuario (UI/UX). Tecnologías: Windows Forms, ASP.NET, Xamarin, Blazor, WPF.
  • Lógica de Aplicación: Flujo de control y reglas de negocio. Tecnologías: C#, .NET Core/.NET Framework, ASP.NET MVC, Entity Framework.
  • Acceso a Datos: Gestión del almacenamiento de datos. Tecnologías: Entity Framework, ADO.NET, Dapper, LINQ.
  • Servicios: Funcionalidades reutilizables para la aplicación. Tecnologías: ASP.NET Web API, WCF, gRPC.
  • Seguridad: Protección de datos, autenticación y autorización. Tecnologías: ASP.NET Identity, OAuth, JWT, SSL/TLS.
  • Infraestructura: Recursos comunes y configuración. Tecnologías: Log4Net, Serilog, configuración de .NET, Unity (inyección de dependencias).
  • Pruebas: Evaluación de calidad y rendimiento. Tecnologías: xUnit, NUnit, MSTest.
  • Datos Externos: Integración con sistemas y protocolos externos (HTTP, REST, SOAP, bases de datos externas).

Descargar

PDF Word HTML