Los sistemas software son elementos complejos que han de cumplir estrictamente los requisitos para los que han sido diseñados. La creación de sistemas totalmente seguros y previsibles es un de los objetivos que se presiguen en la industria informática y a la que cada día se destinan más recursos, desarrollándose nuevas metodologías, librerías y herramientas con este objetivo.
Se ha producido una evolución desde los inicios de la industria como tal, a finaes de los años sesenta del siglo pasado, donde casi no se destinaban tiempo y recursos al análisis y la realización de pruebas, y que influyó en la llamada crisis del software, a la actualidad en el que el tiempo y los recursos en la elección del lenguaje, las harramientas y especialmente las pruebas de software se han visto incrementados de forma significativa.
En esta unidad se da una visión global de los fundamentos del desarrollo de programas, en especial los lenguajes de programación, sus características principales como la posibilidad de ejecución en entornos seguros y las principales herramientas de desarrollo. Destacar además el tratamiento de los diferentes tipos de prueba de software y herramientas disponibles para aplicaicones web y nativas.
FUNDAMENTOS DE LA PROGRAMACIÓN
El funcionamiento de un equipo informático es relativamente sencillo. En una área de la memoria principal se tiene un conjunto de bits agrupados en unidades denominadas instrucciones, que son potencias de 2 y cuyo tamaño depende de la arquitectura del equipo: 8 bits, 16 bits, 32 bits, 64 bits, 128 bits. El procesador obtiene la siguiente instrucción a ejecutar, la interpreta y manda "órdenes" a los diferentes elementos del equipo como registros, memoria principal, ALU o periféricos, una vez finalizada la instrucción pasa a la siguiente instrucción de la memoria principal.
TEMARIO
- Prueba de aplicaciones web y para dispositivos
- -Fundamentos de la programación
- -Lenguajes de programación interpretados y compilados
- -Código fuente y entornos de desarrollo
- Determinación del nivel de seguridad requerido por las aplicaciones
- -Fuentes abiertas paa el desarrollo seguro
- -Listas de riesgos de seguridad habituales: OWASP TOP TEN (WEB Y MÓVIL)
- -Requisitos de verificación necesarios asociados al nivel de seguridad establecido
- Detección y corrección de vulnerabilidades de aplicaciones web
- -Protocolo HTTO
- -Desarrollo seguro de aplicaciones web
- -Listas públicas de vulnerabilidades de aplicaciones web. OWASP TOP TEN
- Detección de problemas de seguridad en aplicaciones para dispositivos móviles
- -Modelos de permisos en plataformas móviles
- -Firma y verificación de aplicaciones
- -Almacenamiento seguro de datos
- Implementación de sistemas seguros de desplegado de software
- -Prácticas unificadas para el desarrollo y operación del software (DEVOPS)
- -Sistemas de control de versiones
- -Sistemas de automatización de construcción (BUILD)
- Etc..