Para qué te prepara este curso subvencionado Curso Gratuito Curso de Programación para Gestión de Sistemas:
Este Curso de Programación para Gestión de Sistemas le prepara para adquirir 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).
A quién va dirigido:
Este Curso de Programación para Gestión de Sistemas está dirigido a todas aquellas personas que se dedican al mundo de la informática y las comunicaciones, concretamente en programación de sistemas informáticos, dentro del área profesional de sistemas y telemática y a todas aquellas personas interesadas en adquirir conocimientos relacionados con la Programación para Gestión de Sistemas.
Objetivos de este curso subvencionado Curso Gratuito Curso de Programación para Gestión de Sistemas:
- Analizar las especificaciones técnicas proporcionadas para el desarrollo a realizar, comprobando su validez y optimización. - Desarrollar elementos software destinados a la gestión de los recursos del sistema, mediante herramientas y lenguajes de programación de sistemas. - Utilizar las técnicas y estándares utilizadas en el desarrollo, distribución e implantación de manejadores de dispositivos (drivers), para la integración de periféricos en el sistema informático según especificaciones técnicas y funcionales dadas.
Salidas Laborales:
Desarrolla su actividad profesional tanto por cuenta propia, como por cuenta ajena en empresas o entidades públicas o privadas de cualquier tamaño, que dispongan de equipos informáticos para su gestión, en el área de sistemas o de desarrollo del departamento de informática.
Resumen:
Este Curso de Programación para Gestión de Sistemas le ofrece una formación especializada en la materia. Debemos saber que en 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).
Titulación:
Doble Titulación Expedida por EUROINNOVA BUSINESS SCHOOL y Avalada por la Escuela Superior de Cualificaciones Profesionales
Metodología:
Entre el material entregado en este curso se adjunta un documento llamado Guía del Alumno dónde aparece un horario de tutorías telefónicas y una dirección de e-mail dónde podrá enviar sus consultas, dudas y ejercicios. La metodología a seguir es ir avanzando a lo largo del itinerario de aprendizaje online, que cuenta con una serie de temas y ejercicios. Para su evaluación, el alumno/a deberá completar todos los ejercicios propuestos en el curso. La titulación será remitida al alumno/a por correo una vez se haya comprobado que ha completado el itinerario de aprendizaje satisfactoriamente.
Temario:
UNIDAD FORMATIVA 1. DESARROLLO Y OPTIMIZACIÓN DE COMPONENTES SOFTWARE PARA TAREAS ADMINISTRATIVAS DE SISTEMAS
UNIDAD DIDÁCTICA 1. DESCRIPCIÓN DE LOS SERVICIOS, ESTRUCTURA Y ADMINISTRACIÓN DE SISTEMAS OPERATIVOS.
- Definición y conceptos básicos sobre Sistemas Operativos:
- Características estructurales de los Sistemas Operativos:
- Herramientas administrativas de uso común en 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)
- Sistemas monolíticos
- Microkernels
- Sistemas modulares y por capas
- Máquinas virtuales
- Sistemas distribuidos
- Interfaces de usuario gráficos
- Intérpretes de comandos
UNIDAD DIDÁCTICA 2. PROGRAMACIÓN DE SISTEMAS OPERATIVOS. LENGUAJES Y LIBRERÍAS DE USO COMÚN.
- Las llamadas al sistema (System Calls):
- Programas de utilidades y comandos del sistema:
- Edición y manipulación de ficheros
- 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)
- Principales tipos:
Operaciones con ficheros y directorios
Funciones de estado
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
UNIDAD DIDÁCTICA 3. EL CICLO DE VIDA DEL SOFTWARE DE GESTIÓN DE SISTEMAS.
- Modelos del ciclo de vida del software.
- Descripción de las fases en el ciclo de vida del software:
- Calidad 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.
- 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.
- 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
UNIDAD DIDÁCTICA 4. DESARROLLO DEL SOFTWARE DE GESTIÓN DE SISTEMAS
- Análisis de especificaciones para el desarrollo de software de gestión de sistemas:
- Técnicas de programación presentes en lenguajes de uso común aplicables al desarrollo de software de gestión de sistemas:
- Técnicas de programación de software de gestión de sistemas:
- Control de calidad del desarrollo del software de gestión de sistemas:
- Herramientas de uso común para el desarrollo de software 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
- 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
- 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
- Métricas aplicables
- Verificación de requisitos
- Proceso de mejora continua
- 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)
UNIDAD DIDÁCTICA 1. EL NÚCLEO DEL SISTEMA OPERATIVO
- Arquitectura general del núcleo
- Subsistemas del núcleo:
- Aspectos de seguridad sobre el desarrollo de elementos del núcleo
- Consideraciones sobre compatibilidad de versiones del núcleo
- Gestión de procesos
- Gestión de memoria
- Sistemas de ficheros
- Control de dispositivos
- Comunicaciones
UNIDAD DIDÁCTICA 2. PROGRAMACIÓN DE CONTROLADORES DE DISPOSITIVO
- Funcionamiento general de un controlador de dispositivo
- Principales tipos de controladores de dispositivo:
- Técnicas básicas de programación de controladores de dispositivos
- Técnicas de depuración y prueba:
- 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:
- Herramientas:
- Documentación de manejadores de dispositivo:
- Carácter
- Bloque
- Paquete
- 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
- 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
- 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
- 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
- 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