REAL DECRETO 1597/1997, de 17 de Octubre, por el que se establece el Certificado de Profesionalidad de la Ocupacion de Programador de Aplicaciones informaticas.

Fecha de Entrada en Vigor: 6 de Noviembre de 1997
Marginal:BOE-A-1997-23480
Sección:I - Disposiciones Generales
Emisor:Ministerio de Trabajo y Asuntos Sociales
Rango de Ley:Real Decreto
 
ÍNDICE
CONTENIDO

El Real Decreto 797/1995, de 19 de mayo, por el que se establecen directrices sobre los certificados de profesionalidad y los correspondientes contenidos mínimos de formación profesional ocupacional, ha instituido y delimitado el marco al que deben ajustarse los certificados de profesionalidad por referencia a sus características formales y materiales, a la par que ha definido reglamentariamente su naturaleza esencial, su significado, su alcance y validez territorial, y, entre otras previsiones, las vías de acceso para su obtención. El establecimiento de ciertas reglas uniformadoras encuentra su razón de ser en la necesidad de garantizar, respecto a todas las ocupaciones susceptibles de certificación, los objetivos que se reclaman de los certificados de profesionalidad. En sustancia esos objetivos podrían considerarse referidos a la puesta en práctica de una efectiva política activa de empleo, como ayuda a la colocación y a la satisfacción de la demanda de cualificaciones por las empresas, como apoyo a la planificación y gestión de los recursos humanos en cualquier ámbito productivo, como medio de asegurar un nivel de calidad aceptable y uniforme de la formación profesional ocupacional, coherente además con la situación y requerimientos del mercado laboral, y, para, por último, propiciar las mejores coordinación e integración entre las enseñanzas y conocimientos adquiridos a través de la formación profesional reglada, la formación profesional ocupacional y la práctica laboral.

El Real Decreto 797/1995 concibe además a la norma de creación del certificado de profesionalidad como un acto del Gobierno de la Nación y resultante de su potestad reglamentaria, de acuerdo con su alcance y validez nacionales, y, respetando el reparto de competencias, permite la adecuación de los contenidos mínimos formativos a la realidad socio-productiva de cada Comunidad Autónoma competente en formación profesional ocupacional, sin perjuicio, en cualquier caso, de la unidad del sistema por relación a las cualificaciones profesionales y de la competencia estatal en la emanación de los certificados de profesionalidad.

El presente Real Decreto regula el certificado de profesionalidad correspondiente a la ocupación de programador de aplicaciones informáticas, perteneciente a la familia profesional de Servicios a las Empresas y contiene las menciones configuradoras de la referida ocupación, tales como las unidades de competencia que conforman su perfil profesional, y los contenidos mínimos de formación idóneos para la adquisición de la competencia profesional de la misma ocupación, junto con las especificaciones necesarias para el desarrollo de la acción formativa; todo ello de acuerdo al Real Decreto 797/1995, varias veces citado.

En su virtud, en base al artículo 1, apartado 2, del Real Decreto 797/1995, de 19 de mayo, previo informe de las Comunidades Autónomas que han recibido el traspaso de la gestión de la formación profesional ocupacional y del Consejo General de la Formación Profesional, a propuesta del Ministro de Trabajo y Asuntos Sociales y previa deliberación del Consejo de Ministros en su reunión del día 17 de octubre de 1997,

D I S P O N G O :

Artículo 1 Establecimiento.

Se establece el certificado de profesionalidad correspondiente a la ocupación de programador de aplicaciones informáticas, de la familia profesional de Servicios a las Empresas, que tendrá carácter oficial y validez en todo el territorio nacional.

Artículo 2 Especificaciones del certificado de profesionalidad.
  1. Los datos generales de la ocupación y de su perfil profesional figuran en el anexo 1.

  2. El itinerario formativo, su duración y la relación de los módulos que lo integran, así como las características fundamentales de cada uno de los módulos figuran en el anexo II, apartados 1 y 2.

  3. Los requisitos del profesorado y los requisitos de acceso del alumnado a los módulos del itinerario formativo figuran en el anexo II, apartado 3.

  4. Los requisitos básicos de instalaciones, equipos y maquinaria, herramientas y utillaje, figuran en el anexo II, apartado 4.

Artículo 3 Acreditación del contrato para la formación.

Las competencias profesionales adquiridas mediante el contrato para la formación se acreditarán por relación a una, varias o todas las unidades de competencia que conforman el perfil profesional de la ocupación, a las que se refiere el presente Real Decreto, según el ámbito de la prestación laboral pactada que constituya el objeto del contrato, de conformidad con los artículos 3.3 y 4.2 del Real Decreto 797/1995, de 19 de mayo.

Disposición transitoria única Adaptación al Plan Nacional de Formación e Inserción Profesional.

Los centros autorizados para dispensar la formación profesional ocupacional a través del Plan Nacional de Formación e Inserción Profesional, regulado por el Real Decreto 631/1993, de 3 de mayo, deberán adecuar la impartición de las especialidades formativas homologadas a los requisitos de instalaciones, materiales y equipos, recogidos en el anexo II, apartado 4, de este Real Decreto, en el plazo de un año, comunicándolo inmediatamente a la Administración competente.

Disposiciones Finales
Disposición final primera Facultad de desarrollo.

Se autoriza al Ministro de Trabajo y Asuntos Sociales para dictar cuantas disposiciones sean precisas para desarrollar el presente Real Decreto.

Disposición final segunda Entrada en vigor.

El presente Real Decreto entrará en vigor el día siguiente al de su publicación en el «Boletín Oficial del Estado».

Dado en Madrid a 17 de octubre de 1997.

JUAN CARLOS R.

El Ministro de Trabajo y Asuntos Sociales,

JAVIER ARENAS BOCANEGRA

ANEXO I
  1. REFERENTE OCUPACIONAL

  1. Datos de la ocupación

    1. Denominación: programador de aplicaciones informáticas.

    2. Familia profesional: Servicios a las Empresas.

  2. Perfil profesional de la ocupación

    1. Competencia general: desarrolla o adapta aplicaciones informáticas siguiendo las pautas del analista o el cliente; instala y prueba la aplicación para garantizar su correcto funcionamiento; redacta la documentación técnica y el manual de usuario; e implementa posibles mejoras.

    2. Unidades de competencia:

  3. Analizar los requerimientos de la aplicación.

  4. Elaborar o adaptar la aplicación, aportando la documentación técnica y manual de usuario.

  5. Implantar la solución informática.

  6. Realizar el mantenimiento de la aplicación.

    1. Realizaciones profesionales y criterios de ejecución.

    Unidad de competencia 1: analizar los requerimientos de la aplicación

    REALIZACIONES PROFESIONALES / CRITERIOS DE EJECUCIÓN

    1.1 Estudiar las especificaciones de la aplicación o adaptación a desarrollar, siguiendo las indicaciones del analista o cliente. / 1.1.1 Asegurándose de la perfecta comprensión del análisis facilitado por el analista y/o cliente.

    1.1.2 Manteniendo reuniones con el cliente y/o usuarios para conocer sus necesidades.

    1.1.3 Analizando el «hardware» y «software» del cliente.

    1.2 Realizar, en las pequeñas modificaciones o adaptaciones, el análisis funcional, orgánico y los cuadernos de carga, partiendo de las pautas proporcionadas por el cliente, para optimizar la solución informática. / 1.2.1 Reuniendo la documentación disponible de las aplicaciones existentes.

    1.2.2 Estudiando y analizando el «software» ya existente y todas las interrelaciones entre las distintas aplicaciones.

    1.2.3 Realizando el análisis funcional de todos los procesos a desarrollar.

    1.2.4 Esquematizando todos los procesos a programar.

    1.2.5 Cumplimentando los cuadernos de carga de cada uno de los procesos.

    1.3 Escoger la herramienta de desarrollo y el «hardware» necesario, teniendo en cuenta las necesidades, «hardware» del cliente y estudiando su funcionalidad, facilidad de uso y documentación disponible, para poder obtener el máximo rendimiento de la aplicación. / 1.3.1 Comparando las características de cada una de las herramientas de desarrollo disponibles en el mercado. 1.3.2 Asegurándose de que la herramienta de programación cumple con los requisitos de:

    Adecuación para el desarrollo a efectuar.

    Compatibilidad con el «hardware» disponible.

    Potencia, rapidez y fiabilidad reconocidas.

    Facilidad de uso y/o adaptación a la misma.

    1.3.3 Comprobando que con la herramienta escogida se suministra toda la documentación necesaria.

    1.3.4 Definiendo todas las características del «hardware» necesario para el correcto funcionamiento de la aplicación.

    1.4 Fijar los plazos de entrega y realizar los presupuestos, considerando la dificultad y medios disponibles para poder cubrir las necesidades del cliente. / 1.4.1 Conociendo y respetando las necesidades y prioridades del cliente.

    1.4.2 Planificando el calendario de inicio y fin de cada uno de los procesos.

    1.4.3 Estableciendo los recursos humanos y medios técnicos necesarios para poder cumplir los plazos previstos.

    Unidad de competencia 2: elaborar o adaptar la aplicación, aportando la documentación técnica y manual de usuario

    REALIZACIONES PROFESIONALES / CRITERIOS DE EJECUCIÓN

    2.1 Elaborar la solución informática, de acuerdo con los estándares de programación y con las especificaciones del análisis para la consecución de la funcionalidad prevista. / 2.1.1 Definiendo los algoritmos, procedimientos y subrutinas más eficaces de forma clara y estructurada.

    2.1.2 Optimizando el código y evitando redundancias.

    2.1.3 Documentando de forma clara, precisa y metódica los programas realizados.

    2.1.4 Comprobando la correcta compilación de las fuentes generadas; esto es, creando los programas objeto.

    2.1.5 Interpretando de forma correcta los posibles mensajes de error que aparezcan, tanto en la fase de compilación como en la de enlace.

    2.1.6 Identificando y subsanando errores y efectuando las correcciones oportunas de forma rápida y fiable.

    2.2 Efectuar el control de calidad, realizando pruebas de todos los programas, para identificar errores y garantizar el correcto funcionamiento de la aplicación. / 2.2.1 Creando un entorno que permita probar todas las opciones de los programas.

    2.2.2 Asegurándose de que todos y cada uno de los programas se ejecutan sin error.

    2.2.3 Comprobando que en condiciones adversas, como corte de luz, avería del equipo o desconocimiento del usuario, la información no ha quedado dañada y que se puede recuperar fácilmente (robustez del programa).

    2.2.4 Asegurándose de que todos los programas, además de ejecutarse sin errores, satisfacen la funcionalidad reque rida.

    2.3 Crear medios de instalación de la aplicación, considerando los diferentes soportes para la distribución del «software». / 2.3.1 Escogiendo el soporte magnético (disquete, CD-ROM, «streamer») que cumpla los requisitos de:

    Fiabilidad.

    Facilidad de conservación.

    Facilidad de uso.

    Rapidez de escritura/lectura.

    Capacidad de almacenamiento necesaria.

    2.3.2 Realizando pruebas de compactación con diferentes «softwares» de empaquetado que permitan escoger el más adecuado por su seguridad, capacidad de comprensión y rapidez.

    2.3.3 Organizando adecuadamente los ficheros y los programas de instalación en los soportes magnéticos escogidos.

    2.3.4 Asegurándose de que la restauración efectuada a partir del medio escogido es completa, fiable y segura.

    2.4 Realizar el manual técnico de la aplicación de forma clara, didáctica y pedagógica para facilitar y simplificar las futuras modificaciones que puedan realizarse. / 2.4.1 Estructurando el manual en capítulos, siguiendo un orden lógico de forma que facilite la comprensión del mismo.

    2.4.2 Redactando de forma clara y comprensible la descripción de todos los programas y las funciones concretas de cada uno de ellos, así como las limitaciones de funcio namiento.

    2.4.3 Describiendo las relaciones cruzadas existentes entre los datos, ficheros y programas que los mantienen.

    2.4.4 Relacionando y documentando todas las rutinas y parámetros de cada uno de los programas.

    2.4.5 Asegurándose de que se incluyen las referencias a las marcas registradas de los nombres comerciales que se citan en el manual, así como de que se especifican los derechos de uso de la licencia de «software» (propiedad intelectual).

    2.4.6 Indicando todos los requisitos mínimos necesarios para la correcta instalación y funcionamiento del «software».

    2.4.7 Creando un índice que permita el fácil seguimiento del manual.

    2.5 Realizar el manual de usuario de la aplicación de forma clara, didáctica y pedagógica, para facilitar a los usuarios el uso de la misma. / 2.5.1 Estructurando el manual en capítulos, siguiendo un orden lógico de forma que facilite la comprensión del mismo.

    2.5.2 Redactando de forma clara y comprensible la descripción de todos los programas y las funciones concretas de cada uno de ellos, así como la interacción del usuario con el programa y las limitaciones de funcionamiento del mismo.

    2.5.3 Asegurándose de que se incluyen las referencias a las marcas registradas de los nombres comerciales que se citan en el manual, así como de que se especifican los derechos de uso de la licencia de «software» (propiedad intelectual).

    2.5.4 Indicando todos los requisitos mínimos necesarios para la correcta instalación y funcionamiento del «software».

    2.5.5 Creando un índice que permita el fácil seguimiento del manual.

    Unidad de competencia 3: implantar la solución informática

    REALIZACIONES PROFESIONALES / CRITERIOS DE EJECUCIÓN

    3.1 Instalar las aplicaciones o adaptaciones desarrolladas en el «hardware» correspondiente, mediante el uso de los medios establecidos y las indicaciones del responsable de la aplicación, para dejarlas operativas a los usuarios. / 3.1.1 Comprobando, si procede, que se han restaurado todos y cada uno de los ficheros y programas.

    3.1.2 Comprobando el correcto funcionamiento de todos y cada uno de los programas en el nuevo ordenador.

    3.1.3 Siguiendo las indicaciones, que facilite el responsable de la aplicación, para la creación de «passwords» y perfiles de usuario y configuración de la aplicación.

    3.2 Formar a los usuarios en el funcionamiento de la aplicación, mediante la documentación disponible y la asistencia durante la puesta en marcha, para asegurar el buen uso y explotar todas las posibilidades de la misma. / 3.2.1 Mostrando de forma clara los pasos necesarios para entrar en el sistema y acceder a la aplicación.

    3.2.2 Cumplimentando, si procede, junto con el usuario de la aplicación, y según sus indicaciones, los ficheros maestros (tablas auxiliares) de la aplicación.

    3.2.3 Explicando de forma operativa y mediante ejemplos, las opciones principales del menú de la aplicación.

    3.2.4 Resolviendo eficazmente posibles dudas planteadas por los usuarios acerca del funcionamiento de los programas.

    Unidad de competencia 4: realizar el mantenimiento de la aplicación

    REALIZACIONES PROFESIONALES / CRITERIOS DE EJECUCIÓN

    4.1 Realizar el mantenimiento de los programas, recogiendo las sugerencias aportadas por el analista o cliente, para corregir posibles errores y/o implementar las posibles mejoras, que permitan aumentar el rendimiento de la aplicación. / 4.1.1 Atendiendo a las nuevas necesidades que pueda manifestar el analista y/o cliente.

    4.1.2 Estudiando mejoras técnicas a incorporar a los programas, para que éstos se ejecuten de forma más rápida.

    4.1.3 Detectando y corrigiendo la causa del funcionamiento erróneo de los programas.

    4.1.4 Estableciendo un calendario de reuniones periódicas con los usuarios para conocer sus necesidades.

    4.1.5 Atendiendo amablemente y con presteza las incidencias reportadas por los usuarios («hot-line»).

    4.2 Identificar el sistema de seguridad a utilizar para asegurar la salvaguardia de los datos. / 4.2.1 Desarrollando todos aquellos procesos necesarios para llevar a cabo la operación de salvaguardia de los datos (copias de seguridad de los ficheros).

    4.2.2 Realizando las comprobaciones oportunas que permitan garantizar que los procesos son los adecuados para la recuperación y salvaguardia de los datos, ante posibles incidencias.

    4.2.3 Siguiendo una metodología de diseño de sistemas de seguridad.

    4.2.4 Preparando el sistema de recuperación de los datos más fiable y rápido.

    4.2.5 Comprobando su correcto funcionamiento en caso de avería, realizando las simulaciones pertinentes de acuerdo al manual de usuario.

ANEXO II
  1. REFERENTE FORMATIVO

  1. Itinerario formativo

    Métodos y lengua-

    jes de programación / Arquitectura de

    ordenadores / Metodología de

    análisis

    Comunicaciones,

    redes y sistemas

    multimedia / Control de proyec-

    tos y gestión empre-

    sarial / Mantenimiento de

    aplicaciones

    1. Duración:

      Contenidos prácticos: 520 horas.

      Contenidos teóricos: 380 horas.

      Evaluaciones: 50 horas.

      Duración total: 950 horas.

    2. Módulos que lo componen:

  2. Arquitectura de ordenadores.

  3. Metodologías de análisis.

  4. Métodos y lenguajes de programación.

  5. Comunicaciones, redes y sistemas multimedia.

  6. Control de proyectos y gestión empresarial.

  7. Mantenimiento de aplicaciones.

  8. Módulos formativos

    Módulo 1. Arquitectura de ordenadores (asociado al perfil profesional)

    Objetivo general del módulo: conocer e identificar los elementos que conforman el «software» de base de un ordenador y los sistemas operativos, así como los tipos y características definidoras de los lenguajes de programación.

    Duración: 100 horas.

    OBJETIVOS ESPECÍFICOS / CRITERIOS DE EVALUACIÓN

    1.1 Conocer y diferenciar el «software» de base de un ordenador, las características de los sistemas operativos y el manejo avanzado del MS-DOS. / 1.1.1 Identificar los diferentes tipos de «software» utilizados en un ordenador, en función de sus características y su utilidad.

    1.1.2 Enumerar todos los métodos de administración de la CPU.

    1.1.3 Especificar los distintos métodos de administración de la memoria de un ordenador.

    1.1.4 Describir la evolución sufrida por los sistemas operativos, explicando las innovaciones introducidas.

    1.1.5 Determinar los métodos de administración de las entradas y salidas, en función de determinados periféricos.

    1.1.6 Exponer los módulos que componen un sistema operativo, diferenciando las distintas funciones que realizan cada uno de ellos.

    1.1.7 Explicar la arquitectura interna del MS-DOS, describiendo las técnicas utilizadas para la gestión del «hardware».

    1.1.8 Comentar diferentes ficheros por lotes, indicando la función que realiza cada una de las sentencias de los mismos.

    1.1.9 Describir los distintos controladores de dispositivos del MS-DOS, comentando las funciones que realizan.

    1.2 Comprender los diversos tipos y características de los lenguajes de programación. / 1.2.1 Enumerar las fases de ejecución de un programa.

    1.2.2 Establecer las principales diferencias entre el lenguaje máquina y el lenguaje de alto nivel.

    1.2.3 Establecer las principales diferencias entre compiladores e intérpretes.

    1.2.4 Establecer las principales diferencias entre programa fuente y programa objeto.

    1.2.5 Explicar la evolución de los lenguajes de programación diferenciando las innovaciones y mejoras aportadas.

    1.2.6 Describir y diferenciar las características de los principales lenguajes de programación.

    Contenidos teórico-prácticos:

    Software

    de una computadora. «Software» de control o sistema de explotación. «Software» de tratamiento: «software» de programación o de servicio y «software» de aplicación. «Software» de diagnóstico y mantenimiento.

    Sistemas operativos. Definición de un sistema operativo. Evolución de los sistemas operativos. Técnicas de «hardware» utilizadas por los sistemas operativos. Interrupciones. Unidades de procesamiento o de control de entradas/salidas. Administración de la CPU. Multiprogramación; tiempo compartido. Secuencias múltiples. Administración de la memoria. Particiones estáticas. Particiones dinámicas. Paginación. Segmentación. Apoyo de la memoria principal en la memoria auxiliar. Intercambiabilidad de memoria («swapping»). Gestión por capas («overlays»). Memoria virtual: gestión de memoria por páginas, gestión de memoria segmentada y gestión de memoria segmentada-paginada.

    Administración de entradas/salidas. Gestión de entradas y salidas. Sistemas operativos con dispositivos de E/S virtuales («spool»). Gestión de archivos. Módulos que contiene un sistema operativo. Cargador inicial o cebador («bootstrap»). Núcleo («kernel»). Administrador de la memoria principal. Administrador de periféricos y de E/S. Administrador de archivos. Intérprete de las órdenes del lenguaje de control. Planificador de la cola de trabajos.

    Manejo avanzado y programación en MS-DOS. Arquitectura interna de MS-DOS. Ficheros de proceso por lotes. Controladores de dispositivos.

    Lenguaje de programación. Lenguaje máquina. Traductores. Ensambladores y microensambladores. Lenguajes de alto nivel: compiladores, intérpretes. Traductores cruzados, emuladores. Fases de la ejecución por la computadora de un programa escrito en lenguaje de alto nivel.

    Realizar un esquema de las fases y herramientas utilizadas para escribir, ejecutar y depurar un programa.

    Poner ejemplos de cada uno de los tipos de «software».

    Explicar la evolución sufrida por los sistemas operativos.

    Describir las técnicas de «hardware» utilizadas por los sistemas operativos.

    Explicar la función de cada uno de los módulos que componen el sistema operativo.

    Crear diferentes ficheros de proceso por lotes.

    Crear, en pseudocódigo, controladores de dispositivos.

    Realizar cronogramas de la ocupación de CPU por diferentes programas.

    Realizar ejercicios de intercambio de páginas de memoria, mediante diferentes algoritmos.

    Módulo 2. Metodologías de análisis (asociado a las unidades de competencia 1: analizar los requerimientos de la aplicación, y 2: elaborar o adaptar la aplicación, aportando la documentación técnica y manual del usuario)

    Objetivo general del módulo: aplicar las técnicas básicas para realizar el análisis de un problema, por medio de diagramas de flujo o pseudocódigo, y traducirlo a una estructura capaz de ser interpretada por cualquier lenguaje de programación, como paso previo a la codificación.

    Duración: 100 horas.

    OBJETIVOS ESPECÍFICOS / CRITERIOS DE EVALUACIÓN

    2.1 Conocer los métodos y técnicas empleados para la realización del análisis de un problema planteado. / 2.1.1 Describir las ventajas e inconvenientes de los principales métodos de análisis estudiados.

    2.1.2 Enumerar los principales métodos de análisis, describiendo su evolución.

    2.1.3 Describir las diferentes metodologías de análisis aplicándolas en la resolución de un caso práctico.

    2.1.4 Explicar las técnicas utilizadas para la realización de un análisis, funcional y de un análisis orgánico.

    2.1.5 Determinar el diseño Entidad-Relación más adecuado a utilizar en la solución de un problema.

    2.1.6 Describir diferentes modelos de bases de datos, relacionando sus características generales.

    2.1.7 Aplicar el modelo Entidad-Relación en un ejemplo de una base de datos relacional determinada.

    2.2 Realizar el análisis de un supuesto planteado. / 2.2.1 Proponer una solución de forma organizada y estructurada, para un determinado problema planteado utilizando la narrativa, pseudocódigo y diagrama de flujo.

    2.2.2 Realizar el análisis sobre un supuesto planteado, utilizando diferentes métodos.

    2.2.3 Realizar el mismo análisis utilizando la herramienta CASE escogida.

    2.2.4 Realizar la documentación de un análisis funcional y orgánico.

    Contenidos teórico-prácticos:

    Concepto y sentido del uso de una metodología.

    Algoritmos.

    Estructura general de un programa (partes de un programa, descomposición del problema, tipos de instrucciones y de programas).

    Modo de realización e interpretación de un esquema.

    Métodos Jackson, Bertini y Warnier.

    Modelo entidad-relación de Chen.

    Paso del esquema a un lenguaje convencional.

    Análisis funcional y orgánico.

    Introducción a las herramientas CASE.

    Confeccionar algoritmos por medio de diagramas de flujo para poder resolver problemas determinados.

    Marcar los propósitos y fines de una aplicación.

    Estudiar los diferentes tipos de instrucciones (asignación, bifurcación, etc.) y los diferentes tipos de programas (lineales, cíclicos, alternativos).

    Realizar ejercicios sobre las estructuras básicas de programación (alternativas, repetitivas).

    Definir los canales de entrada de datos y los dispositivos a utilizar en el sistema.

    Realizar un diagrama de tipo jerárquico, donde se vean las funciones a realizar.

    Descomponer la descripción de procesos en programas.

    Realizar un juego de pruebas para comprobar el uso del programa.

    Realizar el modelo entidad-relación de un supuesto planteado.

    Realizar el análisis funcional y orgánico de un supuesto planteado.

    Módulo 3. Métodos y lenguajes de programación (asociado a la unidad de competencia 2: elaborar o adaptar la aplicación, aportando la documentación técnica y manual de usuario)

    Objetivo general del módulo: aplicar las metodologías de programación y confeccionar programas en lenguajes de programación usuales. Elaborar la documentación técnica y el manual de usuario.

    Duración: 400 horas.

    OBJETIVOS ESPECÍFICOS / CRITERIOS DE EVALUACIÓN

    3.1 Conocer y aplicar las diferentes metodologías de programación. / 3.1.1 Definir los conceptos de variable y los diferentes tipos de variables.

    3.1.2 Enumerar las instrucciones para trabajar con distintos tipos de variables.

    3.1.3 Identificar en un programa determinado las instrucciones de entrada y salida de datos.

    3.1.4 Escribir las principales diferencias entre un registro, un fichero y una base de datos.

    3.1.5 Describir los diferentes tipos de organización de los ficheros.

    3.1.6 Enumerar las principales fases del diseño de un programa determinado, relacionando en cada una de ellas sus funciones.

    3.1.7 Definir los tipos de datos y las instrucciones que permiten el manejo de los mismos dentro de un programa determinado.

    3.1.8 Establecer los registros, ficheros y bases de datos necesarios en función de la finalidad de un programa a desarrollar.

    3.1.9 Definir las partes componentes de un programa determinado relacionando su estructura básica.

    3.2 Realizar programas en distintos Lenguajes de Programación (Clipper, C, Visual Basic). / 3.2.1 Definir los elementos característicos de un determinado lenguaje de programación.

    3.2.2 Enumerar todas las palabras reservadas de un determinado lenguaje.

    3.2.3 Describir todos los procesos de compilación y enlace de un programa codificado en un determinado lenguaje (codificación, compilación y/o enlace).

    3.2.4 Describir los pasos de ejecución para un programa de un lenguaje interpretado.

    3.2.5 Identificar si se han utilizado correctamente las reglas de sintaxis de un determinado lenguaje, a partir de ejemplos de líneas de programa.

    3.2.6 Identificar las instrucciones de Entrada/Salida utilizadas en un determinado lenguaje, describiendo su función.

    3.2.7 Identificar y describir las instrucciones de manipulación de datos y algoritmos de un determinado lenguaje.

    3.2.8 Realizar los procesos de depuración y corrección de errores en un programa con deficiencias de funcionamiento.

    3.2.9 Implementar un programa sencillo en un lenguaje determinado, a partir de un supuesto debidamente planteado, utilizando las herramientas adecuadas.

    3.3 Desarrollar programas con Herramientas CASE y Lenguajes de 4GL. / 3.3.1 Definir los conceptos de Herramientas CASE y Lenguajes de 4GL, describiendo las principales diferencias entre los mismos.

    3.3.2 Rehacer, utilizando un Lenguaje de 4GL, un programa previamente realizado en un lenguaje tradicional.

    3.3.3 Rehacer, utilizando una Herramienta CASE, un programa previamente realizado en un lenguaje tradicional.

    3.4 Elaborar la documentación técnica y el manual de usuario. / 3.4.1 Determinar la estructuración en capítulos en función de una secuencia lógica y de dificultad de aprendizaje.

    3.4.2 Relacionar los contenidos de un capítulo, siguiendo un orden que permita al usuario su perfecta comprensión.

    3.4.3 Indicar las limitaciones de funcionamiento de la aplicación, así como los requisitos mínimos de «hardware» y «software» necesarios.

    3.4.4 Referenciar las marcas comerciales registradas utilizadas en el manual, indicando la propiedad de cada una de ellas.

    Conocimientos teórico-prácticos:

    Metodologías de programación. Ciclo de vida de un sistema informático. Construcción de un sistema informático: definición de la aplicación, diseño tecnológico y prueba del sistema. Diseño tecnológico: diseño de la aplicación, diseño de la cadena, diseño del programa. Técnicas descriptivas de especificaciones funcionales. Descripción oral. Descripción narrativa. Tablas de decisión. HIPO. Técnicas descriptivas de aspectos técnicos. Diagramas de proceso. Técnicas de diseño de programas. Ordinograma. Pseudocódigo. Los datos y su manejo. Concepto de variable y tipo de una variable. Instrucciones de manejo de una variable. Instrucciones de entrada/salida de datos. Registros. Ficheros/archivos. Estructuras. Organización de los ficheros. Tablas.

    Estructura de los programas. Flujo de instrucciones. Programación estructurada. Pseudocódigo. Las estructuras básicas. Explicación y pseudocódigo. Diseños básicos. Consideraciones generales de programación. Sistemática de resolución de programas. Tratamiento de un fichero con organización consecutiva. Roturas de control. Emparejamiento de ficheros. Proceso de actualización. Resolución de segmentos. Programación de tablas/matrices. Programación de tablas de decisión. Desarrollo de programas. Pasos a seguir. Ampliación de conceptos: referentes al diseño, referentes a la revisión del diseño y referentes a la codificación y pruebas.

    Clipper. Generalidades de Clipper. Conceptos sobre una base de datos. Estructura de un programa en Clipper. Instrucciones de control de programa. Componentes principales del lenguaje (librerías, módulos de ejemplo). Variables, constantes y operadores. Funciones desarrolladas por el programador. E/S y manipulación de ficheros. Uso de macros. Estudio de las diferentes funciones de «Hashing» o dispersión.

    Lenguaje C. Programación de sistemas mediante el lenguaje C. El C como lenguaje estructurado. Las palabras clave de C. Uso de la indentación y reglas gramaticales. Librerías estándar de C. Variables, constantes, operadores y expresiones. Tipos de datos. Declaración de variables. Parámetros formales. Variables globales, registro y estáticas. Sentencias de asignación. Constantes. Operadores. Expresiones. Sentencia de control. Sentencias condicionales. Sentencias alternativas. Bucles. Funciones en C. Funciones o subrutinas. Forma genérica y argumentos de las funciones en C. Recursión. Ficheros y librerías. E/S y ficheros en disco (lectura y escritura de ficheros). Punteros. Asignación de punteros. Expresiones con punteros. Punteros y arrays. Puntero a puntero. Puntero a funciones. Arrays: unidimensionales, bidimensionales y multidimensionales. Estructuras, uniones y tipos definidos por el usuario. Tratamiento de objetos en C.

    Visual BASIC. Conocimiento del Visual BASIC. Generalidades. Instalación y arranque de la aplicación. Compatibilidad y especificaciones. Consideraciones generales. Palabras clave no soportadas. Especificaciones y limitaciones. Características del lenguaje. Constantes: numéricas y de caracteres. Variables. Operadores. Sentencias; sentencias de control. Procedimientos y funciones. Arrays. Estructuras. Constantes simbólicas. Objetos; variables que representan objetos; tipos de variable objeto. Colecciones de formularios y controles. Objetos del sistema. Controles más comunes. Arrays de controles. Diseño de menús. Cajas de diálogo. Cajas de diálogo comunes. Tablas de información. Ficheros de datos. Impresión de texto. Efectos gráficos. Sucesos del ratón. Depurar una aplicación. Técnicas avanzadas. Ficheros indexados. Acceso a una base de datos. Aplicaciones MDI. Llamadas a las funciones API de Windows. El sistema y su entorno. Comunicaciones. Intercambio dinámico de datos. Enlace e inclusión de objetos. Librerías dinámicas. Características profesionales. CDK.

    Herramientas CASE. Métodos de análisis y diseño de sistemas. Análisis y diseño estructurado (SADT) de Ross. Su variante IDEF. Diagramas de flujo de datos (Yourdon/DeMarco). Diagramas estructurados (Yourdon/ Constantine). Diagramas de Gane y Sarson. Métodos de diseño y programación de Jackson (JSD y JSP). Diseño de datos: diagramas de Entidad-Relación de Chen. Diseño de diagramas. Diccionario de datos y diseño de estructuras de datos. Diseño de pantallas. Diseño de menús. Generación de informes. Documentación: tratamiento de textos y ayuda a la publicación (formatos, etc.).

    Nota: se recomienda el uso de la herramienta Excelerator de Index Technology (USA), que opera bajo sistema operativo MS-DOS.

    Elaboración de manuales. Estructuración de los manuales: el manual técnico y el manual de usuario. Descripción de funciones, relaciones y limitaciones de funcionamiento. Instalación del programa: requisitos mínimos. Marcas registradas: licencias. Prácticas de metodologías de programación. Confeccionar algoritmos por medio de diagramas de flujo para resolver una problemática planteada. Marcar los propósitos y fines de la aplicación y la delimitación de cada uno. Realizar un diagrama de tipo jerárquico, en donde se vean las funciones a realizar. Practicar con ejercicios sobre distintas estructuras básicas (alternativas, repetitivas, etc.). Definir los canales de entrada/salida de datos y los dispositivos a utilizar en el sistema. Descomponer la descripción de los procesos en programas. Confeccionar programas sencillos de tipo lineal, cíclico, alternativo, etc. Crear un juego de pruebas y comprobar el correcto funcionamiento del programa.

    Prácticas de CLIPPER. Instalar y configurar el paquete. Utilizar los diferentes tipos de variables y operadores (aritméticos, lógicos, relacionales de cadena y de asignación ), sobre pequeños programas. Anidar estructuras de control así como sencillos bucles y bifurcaciones múltiples. Realizar un programa que permita cambiar los colores de la pantalla, así como la creación de diferentes tipos de cajas con tamaños diferentes. Incluir las cláusulas GET/READ. Crear menús (MENU TO PROMPT). Diseñar una base de datos con enfoque jerárquico, relacional o en red. Manejar el DBU, con las DBF's ya realizadas. Desarrollar una pequeña aplicación de gestión empresarial donde intervengan varias bases de datos. Analizar un programa de ejemplo.

    Prácticas de C. Realizar la instalación del paquete. Utilizar el editor de turbo C++. Utilizar variables, constantes, operadores y expresiones, así como sentencias de control de programa. Diferenciar los tipos de datos predefinidos por C. Utilizar las sentencias de control de los programas para realizar determinadas funciones. Crear matrices, cadenas y punteros en pequeños programas. Examinar detalladamente las funciones de E/S y las funciones de lectura y grabación de archivos de disco. Efectuar ejercicios de funciones, con varios tipos de argumentos, en los que se especifique que la función propuesta devuelva un valor determinado. Escribir funciones recursivas que tengan un argumento entero y que impriman en la pantalla los números de 1 a N, en donde N sea el valor de un argumento. Utilizar funciones de control de pantalla, así como de operadores avanzados. Crear funciones donde se trabaje con objetos, clases y herencias. Escribir una función que cargue de dos formas distintas un array de caracteres de 10 bytes: primero utilizando la indexación de arrays y posteriormente utilizando punteros. Codificar una función que intercambie el valor de dos números entre sí, únicamente si el primer argumento es mayor que el segundo. Comprobar la sobrecarga de funciones, operadores, herencia, funciones virtuales y polimorfismo. Utilizar funciones comunes de la biblioteca de C, así como el «debugger» de C y el compilador. Crear funciones que implementen estructuras de datos. Realizar la práctica anterior utilizando técnicas de objetos. Confeccionar un editor de textos.

    Prácticas de Visual BASIC. Realizar los siguientes programas. Gestión de «stocks» de un almacén. Distribución de ficheros para el control de pedidos en una empresa tipo de suministros. Utilización de un fichero como tabla y establecer las referencias cruzadas entre diferentes ficheros para un proceso de cálculo de nóminas.

    Prácticas con herramientas CASE. Realizar la gestión de «stocks» de un almacén.

    Elaborar el manual técnico y de usuario de una aplicación. Estructurar mediante un índice los diferentes apartados del manual. Describir las funciones, relaciones cruzadas entre datos, ficheros y programas que lo mantienen. Relacionar las limitaciones de funcionamiento. Relacionar los requisitos mínimos para la correcta instalación y funcionamiento del «software». Indicar las referencias a las marcas registradas y los derechos de uso de la licencia de «software». Elaborar la documentación técnica y el manual de usuario de alguna de las aplicaciones realizadas en prácticas anteriores.

    Módulo 4. Comunicaciones, redes y sistemas multimedia (asociado a las unidades de competencia 2: elaborar o adaptar la aplicación, aportando la documentación técnica y manual de usuario; 3: implantar la solución informática, y 4: realizar el mantenimiento de la aplicación)

    Objetivo general del módulo: analizar los conceptos y técnicas empleadas en las comunicaciones de datos, los entornos de red y los sistemas multimedia.

    Duración: 150 horas.

    OBJETIVOS ESPECÍFICOS / CRITERIOS DE EVALUACIÓN

    4.1 Instalar una red de ordenadores, configurando los perfiles de los usuarios. / 4.1.1 Describir las diferentes tipologías de red más utilizadas en función de su aplicación.

    4.1.2 Explicar las diferentes capas a utilizar en un entorno de red.

    4.1.3 Explicar los archivos principales de configuración de una red.

    4.1.4 Establecer una cola de trabajos de impresión y modificarla, según indicaciones preestablecidas, desde el servidor de la red.

    4.1.5 Establecer el conexionado en red y la instalación del «software» correspondiente de un equipo, comprobando que no se producen conflictos ni caídas en la red.

    4.1.6 Establecer un número determinado de usuarios configurando grupos de trabajo según unos parámetros determinados.

    4.1.7 Realizar la configuración y conexión de diversos periféricos para su funcionamiento con la red.

    4.2 Administrar y mantener una red de ordenadores. / 4.2.1 Describir el tipo de conexiones utilizadas más comúnmente en una red.

    4.2.2 Señalar el tipo de cableado apropiado para cada tipo de red.

    4.2.3 Crear un sistema de intercambio de correo entre los distintos usuarios de la red.

    4.2.4 Realizar la instalación de «drivers» pertenecientes a otros dispositivos diferentes de los instalados.

    Conocimientos teórico-prácticos:

    Introducción a las comunicaciones de datos. Concepto de comunicaciones de datos. Utilizaciones de las comunicaciones de datos. Partes de un sistema de comunicaciones de datos. Redes de ordenadores. Sistemas distribuidos. Conexiones asíncronas. Protocolo. Interfaces: RS-232C (o V.24) y RS-422. Conexiones síncronas. Protocolos: BSYNC, DCMP y HDLC. Interfaces: X.21 y X.25.

    Redes de comunicaciones.

    Topología de redes: línea «punto a punto» y líneas multipunto, bipunto, lineal, estrella, árbol, anillo, malla, bus.

    Transmisión de datos.

    Módems.

    Redes de datos digitales.

    Redes de datos de comunicación de paquetes.

    Programación vía módem.

    Redes de área local (LAN) y de área amplia (WAN).

    Red Ethernet.

    Red Token-Ring.

    Red Internet.

    Programación en entorno de red.

    Sistemas multimedia.

    Conceptos generales: imagen, sonido, vídeo.

    Programación en entornos multimedia.

    Instalar terminales.

    Conectar y desconectar terminales.

    Visualizar archivos relativos a la configuración de terminales.

    Instalar impresoras compartidas y comprobar el funcionamiento de la cola de impresión.

    Instalar placas multibase.

    Crear y borrar usuarios.

    Visualizar los permisos de cada usuario y realizar cambios en ellos.

    Transmitir correo electrónico a través de la red.

    Enviar y recibir mensajes.

    Instalar varios tipos de «drivers».

    Adaptar la aplicación de gestión de «stocks» (realizada en la práctica anterior) para su funcionamiento en entorno de red.

    Adaptar la aplicación de gestión de «stocks» (realizada en Visual Basic, en una práctica anterior) para que permita manejar ficheros de imágenes de artículos.

    Transferir ficheros de datos entre dos ordenadores remotos.

    Módulo 5. Control de proyectos y gestión empresarial (asociado al perfil profesional)

    Objetivo general del módulo: realizar el diseño, la planificación y el control del desarrollo de un proyecto informático.

    Duración: 80 horas.

    OBJETIVOS ESPECÍFICOS / CRITERIOS DE EVALUACIÓN

    5.1 Conocer y comprender la estructura organizativa de una empresa. / 5.1.1 Identificar las diferentes áreas funcionales de una empresa u organización debidamente caracterizada.

    5.1.2 Dibujar el organigrama funcional de una empresa u organización tipo.

    5.1.3 Determinar los diferentes circuitos de información dentro de una empresa u organización tipo.

    5.2 Marcar los objetivos y las etapas de un proyecto. / 5.2.1 Identificar los objetivos generales de un proyecto debidamente caracterizado.

    5.2.2 Identificar las etapas u objetivos parciales de un proyecto debidamente caracterizado.

    5.2.3 Dibujar utilizando el diagrama Pert, la planificación de un proyecto determinado.

    5.2.4 Dibujar utilizando el diagrama de Gantt, la planificación de un proyecto determinado.

    5.3 Valorar los costes y determinar los plazos de un proyecto. / 5.3.1 Identificar el camino crítico y especificar los puntos de control de un proyecto.

    5.3.2 Asignar los recursos, tanto humanos como de materiales, a cada etapa de un proyecto.

    5.3.3 Determinar, en costes y en tiempo, las necesidades de las diferentes etapas de un proyecto debidamente caracterizado.

    Conocimientos teórico-prácticos:

    Concepto de empresa.

    Organización de la empresa y tipos de estructuras organizativas.

    Desarrollo y gestión de proyectos.

    Planificación y control de proyectos.

    Identificar la estructura organizativa de una empresa.

    Distinguir las diferentes funciones empresariales.

    Marcar los objetivos y las etapas de un proyecto.

    Dibujar los diagramas de Gantt y Pert de un proyecto.

    Valorar los recursos necesarios para un proyecto.

    Determinar los plazos de cumplimiento del proyecto.

    Identificar el camino crítico y especificar los puntos de control.

    Ante un supuesto práctico (organización de la empresa y requerimientos planteados) determinado, realizar trabajando en equipo las siguientes fases. Distinguir las diferentes funciones y departamentos empresariales. Mantener reuniones con los usuarios del departamento/s implicado/s para la recogida de datos y especificaciones necesarias. Realizar el análisis funcional y orgánico de la aplicación a desarrollar, teniendo en cuenta el equipo («hardware» y «software») disponible y las necesidades manifestadas por el cliente. Revisar con los usuarios el diseño realizado y realizar las modificaciones oportunas. Redactar el documento del análisis funcional y orgánico de la aplicación y someterlo a la aprobación por parte de los responsables de la empresa o departamento. Marcar los objetivos y las etapas del proyecto. Dibujar los diagramas de Gantt y Pert del proyecto: identificar el camino crítico y especificar los puntos de control. Determinar los plazos de cumplimiento del proyecto. Analizar los recursos necesarios para el cumplimiento de los objetivos marcados. Calcular los costes del proyecto. Presentar el diseño final del proyecto.

    Módulo 6. Mantenimiento de aplicaciones (asociado a la unidad de competencia 4: realizar el mantenimiento de la aplicación)

    Objetivo general del módulo: realizar el mantenimiento de programas corrigiendo errores e implementar posibles mejoras.

    Duración: 120 horas.

    OBJETIVOS ESPECÍFICOS / CRITERIOS DE EVALUACIÓN

    6.1 Corregir errores detectados en los programas. / 6.1.1 Interpretar los distintos tipos de mensajes de error que proporciona el sistema informático.

    6.1.2 Establecer alternativas posibles para la solución de un determinado error.

    6.1.3 Implementar las correcciones en un programa, verificando su correcto funcionamiento.

    6.2 Implantar mejoras técnicas y funcionales a una aplicación. / 6.2.1 Describir las ventajas e inconvenientes de los cambios a realizar para la mejora de un programa determinado.

    6.2.2 Determinar los cambios a realizar en los programas para que los mismos puedan soportar las mejoras a implantar.

    6.2.3 Interpretar correctamente indicaciones de nuevas funcionalidades o mejoras planteadas en un programa.

    6.2.4 Realizar los cambios para la implantación de una mejora determinada en un programa existente, de la forma más rápida y eficaz posible.

    Conocimientos teórico-prácticos:

    Metodología para la detección de errores.

    La corrección de errores: interpretación de los mensajes de error.

    Modificación de programas existentes.

    Incorporación de mejoras en programas informáticos.

    La acogida al cliente. La acogida y la espera: trato al cliente habitual y trato al cliente difícil. Prestación del servicio: centrar, asesorar, hacer o pedir. Situaciones de tensión: quejas y objeciones. La técnica de hacer preguntas: tipos de preguntas.

    El servicio y la atención al cliente: factores relevantes y estrategias. La identificación en las necesidades del cliente. La fijación de prioridades en el servicio y atención al cliente. Factores que inciden en la toma de decisiones: el entorno, la actividad y la situación.

    A partir de un programa ya diseñado pero con deficiencias en su funcionamiento. Identificar y clasificar los diferentes tipos de incidencias del programa. Establecer un orden de prioridad de actuación. Planificar la realización de las modificaciones oportunas. Analizar la causa de las modificaciones e interpretar mensajes de error. Diseñar las correcciones o mejoras a introducir. Programar dichas correcciones o mejoras. Realizar pruebas de verificación de las correcciones o mejoras efectuadas. Preparar copias para la instalación del nuevo programa. Redactar instrucciones de aplicación de las correcciones o mejoras.

    Añadir al programa de cálculo de nóminas (realizado en una práctica anterior) la nueva funcionalidad de elaboración de impresos TC's.

  9. Requisitos personales

    1. Requisitos del profesorado:

      Nivel académico: titulación universitaria.

      Experiencia profesional: deberá tener tres años de experiencia en la ocupación.

      Nivel pedagógico: formación metodológica o experiencia docente.

    2. Requisitos de acceso del alumnado:

      Nivel académico o de conocimientos generales: BUP, Bachiller o nivel de conocimientos equivalente.

      Nivel profesional/técnico: conocimientos de informática básica.

  10. Requisitos materiales

    1. Instalaciones:

      Aula de clases teóricas: superficie: el aula deberá tener un mínimo de 60 metros cuadrados para grupos de 15 alumnos (4 metros cuadrados por alumno). Mobiliario: el aula estará equipada con mobiliario docente para 15 plazas, además de los elementos auxiliares.

      Instalaciones para prácticas: superficie: para el desarrollo de las prácticas descritas se usará indistintamente el aula de clases teóricas. Iluminación: uniforme, de 250 a 300 lux aproximadamente. Condiciones ambientales: temperatura climatizada (20-22o C). Ventilación: natural o controlada asegurando un mínimo de cuatro seis renovaciones/hora. Mobiliario: estarán equipadas con mobiliario para 15 plazas, además de los elementos auxiliares.

      Otras instalaciones: un espacio mínimo de 50 metros cuadrados para despachos de dirección, sala de profesores y actividades de coordinación. Una secretaría. Aseos y servicios higiénico-sanitarios en número adecuado a la capacidad del centro.

      Los centros deberán reunir las condiciones higiénicas, acústicas, de habitabilidad y de seguridad, exigidas por la legislación vigente, y disponer de licencia municipal de apertura como centro de formación.

    2. Equipo y maquinaria:

      Un ordenador Pentium 100 Mhz, 64 Mb de RAM y 4 Gb de HD, monitor VGA color, teclado español y ratón compatible, lector de CD ROM (mínimo cuádruple velocidad) y disquetera de 3,5''.

      Ocho ordenadores Pentium 100 Mhz, 8 Mb de RAM y 1 Gb de HD, monitor VGA color, teclado español y ratón compatible y disquetera de 3,5''.

      Cableado y conexiones para red.

      Tres impresoras láser (o inyección de tinta) con resolución mínima de 300 X 300 dpi.

      Sistema de alimentación ininterrumpida de 800W.

      Disponer del «software» de base para los ordenadores: sistema operativo (prever varias opciones: MS DOS 6.2, Windows NT, OS/2, UNIX, XENIX, etc.), así como del «software» requerido por cada tipo de red.

      Disponer del «software» de ofimática disponible para los diferentes sistemas operativos (Microsoft Office, que incluye procesador de textos Word, base de datos Acces, hoja de cálculo Excel, etc.).

      Editores y compiladores de los diversos lenguajes de programación y herramientas CASE que se usarán en el curso: C, Clipper, Visual C, Excelerator, etc.

    3. Herramientas y utillaje:

      Maletín de mantenimiento equipado.

      Manuales.

    4. Material de consumo:

      Disquetes u otros soportes de almacenamiento.

      Papel de impresora.

      Recambios de tinta o de toner para impresora.

      Impresos de intervención técnica.