- 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