Desarrollo de elementos software para gestión de sistemas
MF0964_3
MF0964_3: Desarrollo de elementos software para gestión de sistemas
210 horas
C1: Analizar las especificaciones técnicas proporcionadas para el desarrollo a realizar, comprobando su validez y optimización.
CE1.1 Clasificar las principales arquitecturas de sistemas operativos (monolítico, modular,
‘microkernel’, sistemas distribuidos) y sus características, para identificar las necesidades de
gestión y administración de dichos sistemas según especificaciones técnicas.
CE1.2 Explicar los apartados de un análisis de requisitos, detallando los diagramas básicos
utilizados para la especificación funcional y de datos según metodologías y estándares de
diseño.
CE1.3 Analizar las especificaciones técnicas del servicio o herramienta de gestión que se desea implementar, para identificar los recursos requeridos del componente según las
especificaciones funcionales dadas.
CE1.4 Realizar los diagramas previos a la fase de desarrollo siguiendo las especificaciones
técnicas y criterios de calidad especificados.
CE1.5 En un supuesto práctico, de interpretación de un análisis de requisitos dado para el
desarrollo de un elemento software, teniendo en cuenta las necesidades de administración de
los recursos del sistema informático:
? Definir los módulos software a realizar a partir de las especificaciones técnicas y el catálogo de requisitos.
? Establecer las relaciones entre módulos determinando entradas, salidas y flujos de datos según el diseño funcional y las especificaciones del sistema.
? Determinar las estructuras necesarias para representar la información especificada en los
requisitos.
? Crear las estructuras necesarias para realizar el seguimiento de requisitos durante la
codificación del elemento software según unos criterios de calidad especificados.
C2: Desarrollar elementos software destinados a la gestión de los recursos del sistema, mediante herramientas y lenguajes de programación de sistemas.
CE2.1 Enumerar las herramientas y lenguajes estructurados, orientados al desarrollo de
programas para la gestión de recursos del sistema, detallando sus características.
CE2.2 Describir las técnicas de funcionamiento y principios de los sistemas de memoria,
detallando su organización en jerarquías, para desarrollar elementos software que las utilicen
según las especificaciones funcionales aportadas.
CE2.3 Clasificar las arquitecturas de entrada/salida, de buses y de microprocesadores en
sistemas, explicando las técnicas y procesos funcionales utilizados para el desarrollo de los
elementos software, según unas especificaciones funcionales dadas.
CE2.4 Distinguir las funciones de las librerías del sistema para la elaboración de nuevos
componentes software, reutilizando el código ya desarrollado.
CE2.5 Describir como incorporar nuevos elementos en las librerías del sistema, según unos
criterios de optimización y calidad especificados.
CE2.6 Describir los tipos de pruebas, tanto funcionales como estructurales, y los procesos de
depuración a los que debe ser sometido un componente desarrollado y las herramientas
utilizadas, para verificar su funcionalidad e integración con el resto de componentes del
sistema, según unos criterios de calidad especificados.
CE2.7 Clasificar las herramientas utilizadas en las fases de desarrollo: generación del código,
creación de los módulos ejecutables, control de versiones, depuración y pruebas,
documentación y empaquetado para su distribución para optimizar la generación y asegurar la calidad de los productos del desarrollo, según unos criterios de seguridad y calidad
especificados.
CE2.8 En varios supuestos prácticos de diseño y codificación de elementos software para la
gestión de los recursos del sistema, dadas unas especificaciones técnicas:
? Diseñar los algoritmos asociados al elemento software utilizando técnicas de desarrollo
estructurado.
? Codificar los módulos software a partir de los algoritmos diseñados utilizando herramientas y lenguajes estructurados.
? Codificar estructuras de datos utilizando las funcionalidades proporcionadas por el lenguaje
estructurado y utilizando los recursos y librerías disponibles en las herramientas de desarrollo
para realizar la codificación de los algoritmos.
? Diseñar y codificar los manejadores de errores necesarios para garantizar el óptimo
funcionamiento del módulo software.
? Diseñar y codificar componentes que permitan el acceso concurrente a los recursos del
sistema.
? Documentar los módulos desarrollados para facilitar su revisión y futuras modificaciones y
ampliaciones.
CE2.9 En varios supuestos prácticos de prueba y modificación de elementos software para la
gestión de los recursos del sistema, dado un elemento codificado, la documentación del mismo y unas especificaciones técnicas:
? Depurar los módulos desarrollados utilizando las herramientas disponibles.
? Diseñar y aplicar baterías de pruebas sobre los módulos desarrollados para comprobar su
correcto funcionamiento y documentar los resultados obtenidos.
? Desarrollar los cambios necesarios en la codificación del elemento para solucionar los posibles errores de funcionamiento encontrados.
? Documentar los cambios realizados en los módulos desarrollados para facilitar su revisión y
futuras modificaciones y ampliaciones.
? Realizar la implantación de los módulos documentando el proceso y las incidencias detectadas.
C3: 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.
CE3.1 Utilizar las técnicas, estándares y herramientas de programación para desarrollar el
manejador de dispositivo y depurar los posibles errores en el código desarrollado, según
especificaciones técnicas de las herramientas y necesidades funcionales dadas.
CE3.2 Realizar las pruebas del manejador del dispositivo elaborado en los posibles escenarios
en los que puede ser implantado, para asegurar su funcionalidad y la ausencia de conflictos con el resto de los elementos del sistema según especificaciones técnicas y normativa de calidad dadas.
CE3.3 Confeccionar la documentación técnica y de usuario del manejador desarrollado según
unos parámetros y una normativa dadas.
CE3.4 En un supuesto práctico de modificación de un manejador de dispositivo en el que se va a realizar un cambio en su diseño, según unas especificaciones funcionales dadas:
? Modificar el código para incorporar los cambios necesarios siguiendo los criterios de calidad
especificados.
? Comprobar, mediante la realización de pruebas, que la modificación ha sido incorporada con
éxito y que no ha alterado la funcionalidad del resto de manejadores, en particular, y del
sistema en general.
? Realizar la actualización de toda la documentación que se vea afectada por el cambio
propuesto.
CE3.5 En un supuesto práctico, debidamente caracterizado, de desarrollo de un manejador de dispositivo a partir de unas especificaciones funcionales dadas:
? Diseñar el manejador del dispositivo utilizando técnicas de desarrollo estructurado y los
estándares adecuados para el tipo de dispositivo.
? Codificar el manejador de dispositivo utilizando la herramienta seleccionada, aplicando el
diseño previamente obtenido y utilizando lenguajes estructurados.
? Implantar el manejador del dispositivo documentando el código generado, los resultados
obtenidos y las incidencias detectados.
C4: Implementar servicios de comunicaciones entre sistemas aplicando las técnicas y estándares de desarrollo de elementos software, de acuerdo a con unas especificaciones técnicas y funcionales dadas.
CE4.1 Clasificar las arquitecturas de servicios de comunicaciones para distinguir servicios
prestados en entornos cliente/servidor de entornos entre iguales (punto a punto).
CE4.2 Describir los protocolos y puertos utilizados para la comunicación entre sistemas,
teniendo en cuenta el soporte que ofrecen a los servicios de comunicaciones.
CE4.3 Identificar las principales API’s (Aplication Program Interface) y librerías y su uso para el
desarrollo mediante programación estructurada.
CE4.4 Codificar el componente utilizando herramientas de programación y depuración
adecuadas para optimizar la fase de desarrollo según unas especificaciones técnicas dadas.
CE4.5 Someter al componente a baterías de pruebas en réplicas de los posibles escenarios de su implantación posterior, para verificar la ausencia de conflictos y su integración con el resto de componentes del sistema, según unos criterios de calidad y seguridad dados.
CE4.6 Clasificar los estándares definidos para el desarrollo de servicios de comunicaciones entre sistemas según diferentes criterios: organizaciones de estandarización, tipos de servicios y protocolos soportados, entre otros.
CE4.7 Enumerar los principales problemas de seguridad en el ámbito de las comunicaciones y
describir las estrategias a aplicar, para el desarrollo de componentes que implementen servicios seguros según estándares y especificaciones dadas.
CE4.8 En varios supuestos prácticos de desarrollo de componentes para el establecimiento de servicios de comunicaciones entre sistemas, dadas unas especificaciones técnicas:
? Diseñar el componente utilizando técnicas de desarrollo estructurado y los estándares
definidos.
? Codificar el elemento software utilizando la herramienta idónea, aplicando el diseño
previamente obtenido y utilizando lenguajes estructurados.
? Depurar y probar el componente garantizando su óptimo funcionamiento.
? Diseñar baterías de posibles ataques contra el servicio y probarlas para detectar posibles
vulnerabilidades.
? Implantar los componentes para verificar el servicio de comunicaciones documentando los
resultados e incidencias detectados.
? Documentar el código desarrollado, las pruebas realizadas y el resultado de los procesos de
implantación de los componentes.
1 Características de la arquitectura de sistemas operativos
Principales arquitecturas de sistemas operativos y sus características.
Gestión de los recursos.
Librerías y funciones del sistema.
2 Análisis de requisitos del desarrollo
El ciclo de desarrollo del software en gestión de sistemas.
Análisis, diseño y programación para la gestión de sistemas.
Modelos de procesos: nomenclatura y representación.
Modelos de datos: nomenclatura y representación.
Herramientas de diagramación y documentación.
Métricas y estándares de calidad para desarrollo de software.
3 Desarrollo de elementos software para la gestión del sistema y sus recursos
Herramientas de desarrollo: editores, compiladores.
Técnicas y herramientas de programación estructurada orientadas a la programación de sistemas:
tipos y estructuras de datos, operadores, estructuras lógicas, sentencias, recursividad,
programación concurrente, excepciones.
Llamadas a funciones del sistema.
4 Pruebas y documentación de elementos software para la gestión del sistema y sus recursos
Planificación y diseño de pruebas.
Técnicas y herramientas de depuración de software.
Pruebas y verificación del desarrollo.
Técnicas y herramientas de documentación del software desarrollado.
Herramientas de compresión y empaquetamiento de software.
Técnicas y sistemas de distribución y despliegue de software.
Sistemas de control de desarrollo (CVS).
5 Manejadores de dispositivos (drivers)
Arquitectura de los subsistemas del equipo informático.
Gestión de buses y puertos de los sistemas operativos.
Gestión de los dispositivos de los sistemas operativos.
Modos específicos y estándares de desarrollo de manejadores de dispositivos.
Herramientas de desarrollo y verificación de manejadores de dispositivos.
Procedimientos de distribución e instalación de manejadores de dispositivos en sistemas
operativos.
6 Desarrollo de procesos de comunicaciones entre sistemas
Acceso concurrente a los recursos del sistema.
Protocolos de comunicación.
Dispositivos físicos y puertos de comunicación.
Servicios de comunicaciones.
Rendimientos de los servicios de comunicaciones.
Programación en red.
Aplicaciones cliente/servidor.
‘Sockets’.
TE LLAMAMOS Y TE LO EXPLICAMOS TODO
