Catálogo / Informática y Comunicaciones

EIN-02459

Curso de programación para gestión de sistemas

Bonificable
hasta el 100%
Teleformación
Modalidad
Con tutor
Seguimiento experto
180 h
Duración

Descripción

Este Curso de Programación para Gestión de Sistemas le ofrece una formación especializada en la materia. Debemos saber que 2n la actualidad, en el mundo de la informática y las comunicaciones, es muy importante conocer la programación de sistemas informáticos, dentro del área profesional de sistemas y telemática. Por ello, con el presente curso se trata de aportar los conocimientos necesarios para conocer el desarrollo y optimización de componentes software para tareas administrativas de sistemas y el desarrollo de componentes software para el manejo de dispositivos (Drivers).

180 horas · Teleformación · con tutor. Formación bonificable para empresas vía FUNDAE.


Programa detallado

UNIDAD FORMATIVA 1. DESARROLLO Y OPTIMIZACIÓN DE COMPONENTES SOFTWARE PARA TAREAS ADMINISTRATIVAS DE SISTEMAS

1. 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

2. 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

3. 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

4. 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

UNIDAD FORMATIVA 2. DESARROLLO DE COMPONENTES SOFTWARE PARA EL MANEJO DE DISPOSITIVOS (DRIVES)

1. 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

2. 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

¿Quieres formar a tu equipo en este curso?

Bonificable hasta el 100% de la cuota vía FUNDAE. Déjanos tu email y te enviamos la información de este curso junto con el crédito que tu empresa puede aprovechar.

o calcula primero cuánto crédito genera tu empresa →

Scroll al inicio