Para qué te prepara:
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.
Titulación:
Doble Titulación Expedida por EUROINNOVA BUSINESS SCHOOL y Avalada por la Escuela Superior de Cualificaciones Profesionales
Objetivos:
- 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).
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:
- 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 - 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 - 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 - 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 - Gestión de procesos - Gestión de memoria - Sistemas de ficheros - Control de dispositivos - Comunicaciones - 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 usoUNIDAD 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.
UNIDAD DIDÁCTICA 2. PROGRAMACIÓN DE SISTEMAS OPERATIVOS. LENGUAJES Y LIBRERÍAS DE USO COMÚN.
UNIDAD DIDÁCTICA 3. EL CICLO DE VIDA DEL SOFTWARE DE GESTIÓN DE SISTEMAS.
UNIDAD DIDÁCTICA 4. DESARROLLO DEL SOFTWARE DE GESTIÓN DE SISTEMAS
UNIDAD FORMATIVA 2. DESARROLLO DE COMPONENTES SOFTWARE PARA EL MANEJO DE DISPOSITIVOS (DRIVES)
UNIDAD DIDÁCTICA 1. EL NÚCLEO DEL SISTEMA OPERATIVO
UNIDAD DIDÁCTICA 2. PROGRAMACIÓN DE CONTROLADORES DE DISPOSITIVO