(+34) 958 050 200
Horario de atención al cliente:
lunes a jueves: 09:00h a 20:00h y viernes hasta las 15:00h
Gestión de la seguridad y normativas
Norma ISO 27002 Código de buenas practicas para la gestión de la seguridad de la información
Metodología ITIL Librería de infraestructuras de las tecnologías de la información
Ley orgánica de protección de datos de carácter personal.
Normativas mas frecuentemente utilizadas para la gestión de la seguridad física
Análisis de los procesos de sistemas
Identificación de procesos de negocio soportados por sistemas de información
Características fundamentales de los procesos electrónicos ? Estados de un proceso, ? Manejo de señales, su administración y los cambios en las prioridades
Determinación de los sistemas de información que soportan los procesos de negocio y los activos y servicios utilizados por los mismos
Análisis de las funcionalidades de sistema operativo para la monitorización de los procesos y servicios
Técnicas utilizadas para la gestión del consumo de recursos
Demostración de sistemas de almacenamiento
Tipos de dispositivos de almacenamiento más frecuentes
Características de los sistemas de archivo disponibles
Organización y estructura general de almacenamiento
Herramientas del sistema para gestión de dispositivos de almacenamiento
Utilización de métricas e indicadores de monitorización de rendimiento de sistemas
Criterios para establecer el marco general de uso de métricas e indicadores para la monitorización de los sistemas de información
Identificación de los objetos para los cuales es necesario obtener indicadores
Aspectos a definir para la selección y definición de indicadores
Establecimiento de los umbrales de rendimiento de los sistemas de información
Recolección y análisis de los datos aportados por los indicadores
Consolidación de indicadores bajo un cuadro de mandos de rendimiento de sistemas de información unificado
Confección del proceso de monitorización de sistemas y comunicaciones
Identificación de los dispositivos de comunicaciones
Análisis de los protocolos y servicios de comunicaciones
Principales parámetros de configuración y funcionamiento de los equipos de comunicaciones
Procesos de monitorización y respuesta
Herramientas de monitorización de uso de puertos y servicios tipo Sniffer
Herramientas de monitorización de sistemas y servicios tipo Hobbit, Nagios o Cacti
Sistemas de gestión de información y eventos de seguridad (SIM/SEM)
Gestión de registros de elementos de red y filtrado (router, switch, firewall, IDS/IPS, etc.)
Selección del sistema de registro de en función de los requerimientos de la organización
Determinación del nivel de registros necesarios, los periodos de retención y las necesidades de almacenamiento
Análisis de los requerimientos legales en referencia al registro
Selección de medidas de salvaguarda para cubrir los requerimientos de seguridad del sistema de registros
Asignación de responsabilidades para la gestión del registro
Alternativas de almacenamiento para los registros del sistemas y sus características de rendimiento, escalabilidad, confidencialidad, integridad y disponibilidad
Guía para la selección del sistema de almacenamiento y custodia de registros
Administración del control de accesos adecuados de los sistemas de información
Análisis de los requerimientos de acceso de los distintos sistemas de información y recursos compartidos
Principios comúnmente aceptados para el control de accesos y de los distintos tipos de acceso locales y remotos
Requerimientos legales en referencia al control de accesos y asignación de privilegios
Perfiles de de acceso en relación con los roles funcionales del personal de la organización
Herramientas de directorio activo y servidores LDAP en general
Herramientas de sistemas de gestión de identidades y autorizaciones (IAM)
Herramientas de Sistemas de punto único de autenticación Single Sign On (SSO)
Descripción de los servicios, estructura y administración de Sistemas Operativos.
Definición y conceptos básicos sobre Sistemas Operativos: - Descripción de los servicios básicos ofrecidos por un Sistema Operativo - Gestión de memoria. Memoria virtual - Ejecución de programas y gestión de procesos - Gestión del almacenamiento. Sistemas de Archivos - Gestión de dispositivos de entrada/salida - Gestión de red - Gestión de errores - Gestión de la seguridad - Auditoría (logs del sistema) - Procesos de arranque (boot) y finalización del sistema (shutdown)
Características estructurales de los Sistemas Operativos: - Sistemas monolíticos - Microkernels - Sistemas modulares y por capas - Máquinas virtuales - Sistemas distribuidos
Herramientas administrativas de uso común en Sistemas Operativos: - Interfaces de usuario gráficos - Intérpretes de comandos
Programación de sistemas operativos. Lenguajes y librerías de uso común.
Las llamadas al sistema (System Calls): - Definición - Uso directo y mediante Application Programming Interfaces (APIs) - Principales tipos de llamadas al sistema: * Control de procesos * Gestión de ficheros * Gestión de dispositivos * Información del sistema * Comunicaciones - Descripción y uso de las APIs estándar de uso común para llamadas a sistema: * Win32 API (Sistemas Windows) * POSIX API (Sistemas Unix, Linux, Mac) * Java API (Multiplataforma)
Programas de utilidades y comandos del sistema: - Principales tipos: * Operaciones con ficheros y directorios * Funciones de estado Edición y manipulación de ficheros * Soporte para lenguajes de programación (compiladores, enlazadores, ensambladores, intérpretes, etc.) * Ejecución de programas * Comunicaciones, mensajería, intercambio remoto de archivos, etc. - Uso de utilidades y comandos mediante lenguajes de script de uso común * Windows scripting * Linux/Unix scripting
El ciclo de vida del software de gestión de sistemas.
Modelos del ciclo de vida del software. - En cascada (waterfall) - Iterativo - Incremental - En V - Basado en componentes (CBSE) - Desarrollo rápido (RAD) - Ventajas e inconvenientes. Pautas para la selección de la metodología más adecuada.
Descripción de las fases en el ciclo de vida del software: - Análisis y especificación de requisitos * Tipos de requisitos : funcionales/ no funcionales, de usuario, de interfaz, de seguridad y de rendimiento * Modelos para el análisis de requisitos * Documentación de requisitos * Validación de requisitos * Gestión de requisitos - Diseño: * Modelos para el diseño de sistemas : contexto y arquitectura, procesos, datos, objetos, interfaces de usuario ,componentes y despliegues * Diagramas de diseño: diagramas de entidad-relación, diagramas de flujo, diagramas de contexto y UML. Diagramas UML de uso común en diseño de sistemas * Documentación: herramientas de generación de documentación y documentación el código - Implementación. Conceptos generales de desarrollo de software: * Principios básicos del desarrollo de software * Técnicas de desarrollo de software : basadas en prototipos, basadas en componentes, métodos de desarrollo rápido y otras técnicas de desarrollo - Validación, verificación y pruebas: * Validación y verificación de sistemas: planificación, métodos formales de verificación y métodos automatizados de análisis * Pruebas de software: tipos, diseño de pruebas, ámbito de aplicación, automatización de pruebas, herramientas y estándares sobre pruebas de software.
Calidad del software: - Principios de calidad del software - Métricas y calidad del software: * Concepto de métrica y su importancia en la medición de la calidad * Principales métricas en las fases del ciclo de vida software - Estándares para la descripción de los factores de Calidad: * ISO-9126 * Otros estándares. Comparativa
Desarrollo del software de gestión de sistemas
Análisis de especificaciones para el desarrollo de software de gestión de sistemas: - Identificación de los componentes necesarios según las especificaciones - Análisis de los componentes reutilizables - Análisis de la integración de los componentes en la arquitectura del sistema - Identificación de los modelos funcionales y de datos de los componentes
Técnicas de programación presentes en lenguajes de uso común aplicables al desarrollo de software de gestión de sistemas: - Programación estructurada: * Tipos primitivos y estructurados * Variables. Ámbito de utilización * Operadores aritméticos y lógicos * Estructuras de control. Bucles, condicionales y selectores * Funciones y procedimientos. Parámetros por valor y referencia. * Recursividad * Programación de elementos básicos: cadenas, fechas y ficheros. * Conversiones de tipos * Manejo de errores (excepciones) * Lenguajes estructurados de uso común - Programación orientada a objetos: * Clases y objetos * Herencia, polimorfismo y sobrecarga dinámica de métodos * Propiedades: selectores (get), modificadores (set) y referencias (let) * Lenguajes orientados a objetos de uso común
Técnicas de programación de software de gestión de sistemas: - Reutilización de código. * Uso de librerías del sistema * Llamadas a utilidades y aplicaciones del sistema - Técnicas específicas aplicables a los servicios básicos del sistema: * Programación de la gestión de los procesos: multitarea, control de bloqueos(deadlock) y comunicación entre procesos * Programación de la gestión de memoria: jerarquías de memoria, paginación de memoria, segmentación de memoria, intercambio(swapping), compartición de memoria, seguridad y memoria virtual * Programación de los sistemas de archivos: acceso a archivos y directorios, atributos y mecanismos de protección * Programación de los sistemas de entrada y salida: gestión de interrupciones, acceso directo a memoria (DMA) , puertos de entrada/salida y asignación de memoria * Programación de la seguridad: control de variables, control de desbordamiento de búferes , aserciones, precondiciones y post-condiciones. - Técnicas de optimización
Control de calidad del desarrollo del software de gestión de sistemas: - Métricas aplicables - Verificación de requisitos - Proceso de mejora continua
Herramientas de uso común para el desarrollo de software de sistemas: - Editores orientados a lenguajes de programación - Compiladores y enlazadores - Generadores de programas - Depuradores - De prueba y validación de software - Optimizadores de código - Empaquetadores - Generadores de documentación de software - Despliegue de software: * Gestores y repositorios de paquetes. Versionado y control de dependencias * Distribución de software * Gestores de actualización de software - De control de versiones - Entornos integrados de desarrollo (IDE) de uso común: * Específicos de sistemas Windows * Específicos de sistemas Unix * Multiplataforma
El núcleo del sistema operativo
Arquitectura general del núcleo
Subsistemas del núcleo: - Gestión de procesos - Gestión de memoria - Sistemas de ficheros - Control de dispositivos - Comunicaciones
Aspectos de seguridad sobre el desarrollo de elementos del núcleo
Consideraciones sobre compatibilidad de versiones del núcleo
Programación de controladores de dispositivo
Funcionamiento general de un controlador de dispositivo
Principales tipos de controladores de dispositivo: - Carácter - Bloque - Paquete
Técnicas básicas de programación de controladores de dispositivos - Estructuras básicas de datos de dispositivos - Gestión de errores de dispositivos - Gestión de memoria de dispositivos - Control de interrupciones - Gestión de puertos de entrada y salida - Uso de Acceso directo a memoria (DMA) y buses
Técnicas de depuración y prueba: - Impresión de trazas - Monitorización de errores - Técnicas específicas de depuración de controladores en sistemas operativos de uso común: * Windows * Unix - Aplicación de estándares de calidad del software al desarrollo de controladores de dispositivos
Compilación y carga de controladores de dispositivos
Distribución de controladores de dispositivo
Particularidades en el desarrollo de dispositivos en sistemas operativos de uso común: - Sistemas Windows - Sistemas Unix - Modos de instalación de controladores de dispositivo en sistemas operativos de uso común. Dispositivos Plug & Play: * Instalación de dispositivos en Windows * Instalación de dispositivos en Sistemas Unix
Herramientas: - Entornos de desarrollo de controladores de dispositivo en sistemas operativos de uso común - Herramientas de depuración y verificación de controladores de dispositivos
Documentación de manejadores de dispositivo: - Elaboración de especificaciones técnicas siguiendo directrices específicas de sistemas operativos de uso común - Elaboración de manual de instalación - Elaboración de manual de uso
Programación concurrente
Programación de procesos e hilos de ejecución: - Gestión de procesos - Hilos y sincronización
Programación de eventos asíncronos: - Señales - Temporizadores
Mecanismos de comunicación entre procesos: - Tuberías (pipes) - Semáforos - Compartición de memoria - Mensajes
Sincronización: - Funciones de sincronización entre hilos - Problemas de sincronización. Bloqueos (Deadlocks)
Acceso a dispositivos: - Funciones de lectura y escritura - Puertos de entrada y salida
Fundamentos de comunicaciones
Modelos de programación en red: - El modelo cliente/servidor - El modelo de objetos distribuidos - Modelos basados en mensajes. Introducción a los Servicios web
El nivel físico: - Dispositivos físicos - Protocolos de nivel físico
El nivel de enlace: - Redes Ethernet - Direcciones físicas
El nivel de transporte: - El protocolo TCP/IP - Esquemas de direccionamiento - El nivel de transporte. Protocolos TCP y UDP. Otros protocolos de uso común. - Puertos - Servicios de red básicos
Programación de servicios de comunicaciones
Aplicaciones y utilidades de comunicaciones. Estándares de comunicaciones: - Organismos de estandarización de comunicaciones - Comunicaciones en sistemas operativos de uso común - Tipos de servicios de comunicaciones - Protocolos de comunicaciones de uso común - Estándares de comunicaciones inalámbricas
Librerías de comunicaciones de uso común: - APIs para entornos Windows - APIs para entornos Unix
Programación de componentes de comunicaciones: - Programación de sockets: * Funciones básicas * Ejemplos de utilización. Sockets TCP y UDP * Programación cliente/servidor mediante sockets - Programación de manejadores de protocolos
Técnicas de depuración de servicios de comunicaciones: - Directrices para el diseño de pruebas - Exploración de vulnerabilidades y puertos - Revisión de logs - Otras técnicas de depuración - Herramientas de prueba y depuración de servicios de comunicaciones
Rendimiento en las comunicaciones: - Calidad de servicio IP - Control del ancho de banda - Herramientas de monitorización de redes
Seguridad en las comunicaciones
Principios de seguridad en las comunicaciones: - Mecanismos de seguridad - Principales vulnerabilidades y amenazas
Herramientas para la gestión de la seguridad en red. Scanners
Seguridad IP
Seguridad en el nivel de aplicación. El protocolo SSL
Seguridad en redes inalámbricas
La orientación a objetos.
Principios de la orientación a objetos. Comparación con la programación estructurada: - Ocultación de información (information hiding). - El tipo abstracto de datos (ADT). Encapsulado de datos. - Paso de mensajes.
Conceptos básicos de orientación a objetos: - Clases: * Atributos, variables de estado y variables de clase. * Métodos. Requisitos e invariantes. * Gestión de excepciones. * Agregación de clases. - Objetos: * Creación y destrucción de objetos. * Llamada a métodos de un objeto. * Visibilidad y uso de las variables de estado. * Referencias a objetos. * Persistencia de objetos. * Optimización de memoria y recolección de basura (garbage collection). - Herencia: * Concepto de herencia. Superclases y subclases. * Herencia múltiple. * Clases abstractas. * Tipos de herencia: herencia de implementación, herencia de interfaces y de tipos y otros tipos de herencia. * Polimorfismo y enlace dinámico (dynamic binding). * Directrices para el uso correcto de la herencia. - Modularidad: * Librerías de clases. Ámbito de utilización de nombres. * Ventajas de la utilización de modulos o paquetes. - Genericidad y sobrecarga: * Concepto de genericidad. * Concepto de Sobrecarga. Tipos de sobrecarga. * Comparación entre genericidad y sobrecarga.
Desarrollo orientado a objetos: - Lenguajes de desarrollo orientado a objetos de uso común. - Herramientas de desarrollo.
Lenguajes de modelización en el desarrollo orientado a objetos: - El lenguaje unificado de modelado (UML). - Diagramas para la modelización de sistemas orientados a objetos.
La orientación a componentes.
Fundamentos conceptuales: - Definición de componente. - Comparación entre componentes y objetos. - Módulos. - Interfaces: * Tipos de interfaces. * Versionado de interfaces. * Interfaces como contratos. - Escalado de componentes. - Estado de componentes.
Arquitecturas de componentes: - Basadas en objetos. Composición y uso de objetos. - Multicapa. - Basadas en middleware. - Basadas en objetos distribuidos.
Diseño de componentes: - Principios de diseño de componentes: * Dependencias no cíclicas. * Principio “open/closed”. * Reusabilidad. * Configurabilidad. * Abstracción. * Dependencias. - Técnicas de reusabilidad: * Patrones. * Librerías. * Interfaces. * Protocolos y esquemas de mensajes. * Uso de lenguajes de programación. * Estructuras y jerarquías de estructuras. * Arquitecturas de sistemas. - Modelo de componente: * Especificación de servicios: transacciones, seguridad, persistencia y acceso remoto. * Especificación de Interface. * Especificación de la implementación. * Especificación de las unidades de despliegue (modulos). - Modelos de integración de componentes: * Referencias e identidad de objetos, componentes e interfaces. * Servicios de localización. * Modelos de intercambio: objetos distribuidos, capa intermedia (Middleware) e interacción e integración mediante servicios web. * Comparación entre métodos de intercambio en las principales infraestructuras de componentes: OMG: CORBA, OMA, Java: JavaBeans, EJBs y Microsoft: COM, OLE/ActiveX, .NET - Diagramación y documentación de componentes: * Modelo de información: diagramas conceptuales, diagramas de arquitectura de componentes y diagramas de despliegue. * Modelo dinámico: diagramas de interacción y de actividad, diagramas de casos de uso y diagramas de estado.
Desarrollo de componentes.
Lenguajes de desarrollo de componentes.: - Comparativa con lenguajes orientados a objetos. - Lenguajes orientados a componentes: * Descripción de intefaces. * Ensamblado. * Descripción de arquitectura.
Requisitos principales del desarrollo orientado a componentes: - Modularidad - Despliegue independiente. - Reemplazabilidad. - Seguridad. - Separación entre interfaz e implementación.
Infraestructuras (frameworks) de componentes: - Modelos de infraestruturas de componentes: * Orientados a conexión. * Orientados a contexto. * Orientados a aspectos. - Descripción de las intraestructuras de componentes de uso común: * OMG: CORBA, OMA. * Java: JavaBeans, EJBs. * Microsoft: COM, OLE/ActiveX, .NET
Métodos de desarrollo de componentes: - Uso de lenguajes orientados a objetos. - Selección de infraestructuras de componentes.
Construcción de software mediante componentes: - Definición de interfaces. Lenguajes de descripción de interfaces. - Reutilización de componentes. - Técnicas de ensamblado en infraestructuras de uso común.
Técnicas específicas de desarrollo: - Componentes en la capa de servidor web. Páginas dinámicas. - Componentes en la capa de servidor de aplicaciones. - Componentes en la capa de aplicación cliente: * Componentes de interfaz gráfico. * Componentes orientados a documento. - Componentes en la capa de servicios web. - Componentes para dispositivos móviles.
Herramientas para el desarrollo de componentes: - Entornos integrados de desarrollo de componentes. - Configuración e instalación de herramientas de uso común: * Entorno Java. * Entorno .NET - Gestión del ciclo de vida en el desarrolo de componentes mediante herramientas de uso común: * Uso de repositorios de componentes. Registro de componentes. * Reutilización de componentes para la construcción de sistemas software. * Definición de metadatos de componente. Descriptores de interfaces. * Modelo de seguridad. * Instalación de componentes. * Depuración y prueba de componentes.
Componentes distribuidos.
Programación distribuida en infraestructuras de uso común: - Programación multihilo (multithreading). - Comunicaciones síncronas y asíncronas.
Modelos de intercambio: - Llamadas a procedimientos remotos. - Orientados a mensajes. - Orientados a recursos.
Despliegue de componentes.
Modelos de despliegue: - Diseño sin repositorio: * Diseño y ejecución sin despliegue. * Ejemplos: UML. - Diseño con repositorio sólo para el depósito de componentes: * Tipos de contenedores. * Ejemplos: EJBs, .NET, CCM, Servicios web. - Despliegue con repositorio: * Composición y depósito de componentes. * Ejemplo: JavaBean. - Diseño con repositorio: * Tipos de conectores. * Ejemplos: Koala.
Selección de componentes.
Tipos: - Componentes comerciales: * Sin posibilidad de modificaciones (COTS). * Con posibilidad de adaptaciones (MOTS). - Componentes de fuente abierta. - Ventajas e inconvenientes.
Métodos de personalización de componentes: - Parametrización. - Uso de extensiones (plugins).
Criterios de selección de componentes reutilizables: - Adaptabilidad. - Auditabilidad. - Estandarización. - Características de concurrencia. - Rendimiento. - Consumo de recursos. - Seguridad. - Características de mantenimiento y actualización.
Proceso de selección de componentes: - Evaluación de componentes según requisitos. - Diseño y codificación (código de enlace): * Enlace de componentes con otros sistemas. * Integración. * Configuración. - Diseño de pruebas. - Detección de fallos. - Mantenimiento y gestión de configuraciones. - Actualización de componentes. - Métodos de selección de uso común: * CAP (COTS Acquisition Process). * RUP (Rational Unified Process).
Control de calidad de componentes.
Métodos de evaluación de calidad de componentes. Estándares de calidad.
Categorías y métricas de evaluación.
Proceso de validación y medición de calidad: - Pruebas de conformidad a requisitos funcionales. - Pruebas de integración con otros sistemas. - Pruebas de aspectos no funcionales: * Rendimiento. * Seguridad. * Integración.
Documentación de componentes.
Descripción funcional.
Descripción de aspectos no funcionales.
Descripción del proceso de instalación y despliegue: - Descripción del empaquetamiento (packaging). - Requisitos de implantación. - Parametrización y ajuste.
Si lo desea, puede dejarme sus datos y un asesor de formación se pondrá en contacto con usted personalmente:
(+34) 958 050 200
Horario de atención al cliente:
lunes a jueves: 09:00h a 20:00h y viernes hasta las 15:00h
formacion@euroinnova.com