Desarrollo de Aplicaciones Informáticas
| Grado: | FP de Grado
Superior |
| Familia: | Informática |
| Título: | Técnico Superior en Desarrollo de Aplicaciones Informáticas |
| Referencia: | RD 1661/1994 de 22 de julio; 1676/1994 de 22 de julio |
| Duración: | 2000 horas |
Cursos relacionados
Temario oficial
-
Sistemas informáticos: en este tema se estudian los diferentes componentes de un sistema informático. El programador de aplicaciones debe tener conocimientos de sistemas hardware y software de sistema operativo. Se estudiarán conceptos teóricos de información, almacenamiento de información, transmisión de datos, etc.
-
Utilidades del sistema operativo: Los sistemas operativos proporcionan al programador de aplicaciones un conjunto de servicios que el titulado debe conocer. Los programas se ejecutan en un entorno aislado llamado proceso, este proceso puede comunicarse con otros procesos y con el sistema operativo, recoger y guardar datos mediante sistemas de entrada/salida, etc. El sistema operativo proporciona mediante la API, los servicios que los programas de aplicación necesitan para realizar estas tareas.
-
Interfaz del sistema operativo: Además de conocer la API del sistema operativo, el programador también debe conocer los servicios que el sistema operativo aporta a los usuarios, y diversas técnicas de automatización de tareas, como los lenguajes de scripting.
-
UNIX: El Real Decreto 1676/1994 que especifica esta titulación, hace mención explícita de que el alumno deberá aprender a manejar un sistema operativo UNIX. Esto implica conocer las instrucciones de la shell de UNIX, su sistema de ficheros, su filosofía de entrada/salida, etc. Existen diversas variantes de UNIX: GNU/Linux, AIX, Solaris, HP-UX, IRIX... todas ellas comparten la misma filosofía y la mayoría de las instrucciones son comunes. Debido a la gran popularidad de GNU/Linux, es muy posible que el alumno realice prácticas con este sistema.
-
Análisis y diseño: Este tema profundiza en desarrollo de aplicaciones como tal. Se estudiará todo el proceso de desarrollo de un programa, lo que se conoce como ciclo de vida de una aplicación. Esto incluye saber como documentar y especificar los requerimientos funcionales de la aplicación, así como conocer diferentes metodologías de desarrollo, como la orientación a objetos, orientación a datos, etc.
-
Programación: Se estudiará metodología de la programación, esto es, la manera correcta de escribir programas. En este tema se estudiarán los temas clásicos de un curso de programación: tipos de datos, estructuras de control de flujo de un programa, diseño modular, análisis descendente, recursividad, estructuras de datos (estáticas y dinámicas), etc. Se estudiará a nivel introductorio la programación orientada a objetos, este paradigma de programación es una extensión de la programación estructurada, que organiza los programas en clases. No sustituye la programación estructurada, pues el código que se escriba dentro de las clases deberá ser estructurado, es solamente una manera de organizar los programas, que presenta ciertas ventajas frente al diseño tradicional: reutilización, escalabilidad, abstracción directa, etc.
-
Pruebas y depuración: La fase de diseño de una aplicación informática debe incluir subfases dedicadas a probar el software. Existen diversas metodologías y técnicas para realizar pruebas, algunas son específicas de un lenguaje de programación (como JUnit en Java), otras son modelos teóricos que se pueden utilizar en cualquier lenguaje y sistema. El estudiante aprenderá a realizar estas pruebas y diversas técnicas y herramientas que le pueden facilitar el trabajo.
-
Bases de datos: Se estudiarán diversos modelos de datos, con énfasis en los modelos de datos relacionales. Se hace referencia en el Real Decreto al lenguaje SQL, este lenguaje se usa en consulta y actualización de bases de datos relacionales, está estandarizado y lo implementan prácticamente todos los sistemas gestores de bases de datos o SGBD.
-
Entornos gráficos: La interfaz gráfica de usuario o GUI, es la capa de software que permite que el usuario interactue con la aplicación. En contraste con las interfaces gráficas, están las interfaces de comandos (o lineas de comandos). En este tema el alumno aprenderá conceptos como la usabiliad, como se comunica un usuario con el ordenador, la programación basada en eventos, visualización y obtención de información, cuadros de diálogo y formularios, etc.
Los conocimientos teóricos adquiridos deberán consolidarse con prácticas. Esto es especialmente importante en los temas de programación, como mencionan Brian Kernighan y Dennis Ritchie: la única forma de aprender un lenguaje de programación es escribiendo programas con él
.
Capacidades profesionales
El trabajo de un titulado en formación profesional, especializado en “Desarrollo de Aplicaciones Informáticas” consistirá principalmente en implementar, vía un lenguaje de programación de alto nivel, y vía un sistema de bases de datos, los requerimientos funcionales de un sistema de software. Derivado del trabajo de obtención de información y análisis, los consultores y arquitectos de software generan una documentación que se suele conocer por diseño funcional. El desarrollador de aplicaciones informáticas debe ser capaz de comprender esta documentación, y saber como implementar aquellos puntos que especifica, usando el lenguaje de programación que indique la documentación de requerimientos.
Habitualmente, y sobretodo en aplicaciones grandes, el desarrollador o programador no creará directamente la aplicación, sino que extenderá clases de un marco de trabajo o framework. Este framework habrá sido desarrollado previamente por arquitectos e ingenieros de software. Por lo que el titulado en desarrollo de aplicaciones informáticas deberá estar familiarizado con estas técnicas de desarrollo.
Además del desarrollo de programas, también deberá conocer la teoría de bases de datos, especialmente las base de datos relacionales, y el sistema gestor de bases de datos que se requiera en la documentación técnica de desarrollo. Muy frecuentemente, el programador deberá crear o ampliar una base de datos SQL, y escribir el código o programa que accede a esta base de datos para recuperar o actualizar información.
Debido a la dificultad intrínseca del desarrollo de software, el proceso de prueba y depuración del software suele acaparar una parte importante del tiempo de desarrollo de un proyecto. El programador deberá conocer y utilizar diversas técnicas de pruebas unitarias, muestreo de errores, juegos de pruebas y demás tácticas que ayuden a asegurar la calidad del software que desarrolla. La depuración es el proceso por el cual se intenta localizar el origen de un error en el software, existen muchas herramientas de depuración (debuggers), el programador deberá conocer las que sean más apropiadas al lenguaje y al proyecto que desarrolla, y utilizarlas eficazmente.
Una cualidad importante en todo programador es la resolutividad. Un programador resolutivo es capaz de resolver los problemas que se le plantean de manera autónoma y eficaz. Un buen programador deberá conocer las fuentes de información más adecuadas del lenguaje y sistema que utiliza, así como fuentes de ejemplos online y libros que le puedan ser de ayuda durante su trabajo.
Debido a la rápida evolución y cambios en las tecnologías de la información, el programador es un buen candidato a la formación profesional continuada y a la autoformación. Como programador, deberá mantenerse al día de los cambios, nuevas versiones y otros sucesos que acontezcan en su especialidad, la formación continuada y a distancia son buenas compañeras del programador a lo largo de su carrera profesional.
Acceso a la Universidad
El título de Técnico Superior en Administración de Sistemas Informáticos, permite el acceso a los siguientes estudios Universitarios:
- Diplomatura en Estadística
- Diplomatura en Ciencias Empresariales
- Diplomatura en Biblioteconomía y Documentación
- Diplomatura en Educación Social
- Diplomatura en Relaciones Laborales
- Diplomatura en Trabajo Social
- Diplomatura en Gestión y Administración Pública
- Diplomatura en Turismo
- Diplomaturas en Magisterio
- Ingeniería Técnica en Informática de Sistemas
- Ingeniería Técnica en Informática de Gestión
- Ingeniería Técnica en Telecomunicaciones
- Ingeniería en Informática
- Ingeniería en Telecomunicaciones
- Licenciatura en Matemáticas
- Licenciatura en Física