Denominación: DESARROLLO DE APLICACIONES WEB EN EL ENTORNO SERVIDOR
Código: UF1844
Duración: 90 horas
Referente de competencia: Esta unidad formativa se corresponde con la RP1
Capacidades y criterios de evaluaciones
C1: Crear componentes software con tecnologías de desarrollo orientadas a objetos.
CE1.1 En un supuesto práctico en el que se pide gestionar componentes software en el entorno del servidor mediante herramientas de desarrollo y lenguajes de
programación contando con documentación de diseño detallado:
-
- Crear y archivar componentes software.
- Modificar y eliminar componentes software.
- Depurar y verificar los componentes software elaborados.
CE1.2 Crear objetos, clases y métodos adecuados a la funcionalidad del componente software a desarrollar utilizando lenguajes de programación orientados a objetos.
CE1.3 Formular estructuras de datos y flujo de control mediante lenguajes de programación orientados a objetos según la funcionalidad del componente Software a desarrollar.
CE1.4 Documentar el componente software desarrollado.
CE1.5 En un supuesto práctico en el que se pide construir componentes de software mediante herramientas de desarrollo y lenguajes de programación orientados a objetos a
partir de documentación de diseño detallado:
-
- Integrar componentes software de control del contenido de los documentos ubicados en el servidor para ser utilizados en el entorno del cliente tipo servlet.
- Integrar gestión de ficheros en el componente software a desarrollar.
- Integrar gestión de errores en el componente software a desarrollar.
- Utilizar variables de servidor en el componente software a desarrollar para proporcionar acceso a las propiedades del servidor.
- Integrar seguimiento de sesiones de usuario y propiedades de la aplicación
web a desarrollar en el componente software a construir. - Crear componentes software con la funcionalidad de aplicación de cliente
para ser utilizado en el entorno cliente tipo applet. - Crear componentes software que puedan ofrecer su funcionalidad a otros
componentes software del mismo servidor u otros servidores de la red.
Contenidos
1. El proceso del desarrollo de software
– Modelos del ciclo de vida del software .
– En cascada (waterfall).
– Iterativo.
– Incremental.
– En V.
– Basado en componentes (CBSE).
– Desarrollo rápido (RAD).
– Ventajas e inconvenientes. Pautas para la selección de la metodología
más adecuada.
– Análisis y especificación de requisitos.
– Tipos de requisitos.
– Modelos para el análisis de requisitos.
– Documentación de requisitos.
– Validación de requisitos.
– Gestión de requisitos.
– Diseño.
– Modelos para el diseño de sistemas.
– Diagramas de diseño. El estándar UML.
– Documentación.
– Implementación. Conceptos generales de desarrollo de software.
– Principios básicos del desarrollo de software.
– Técnicas de desarrollo de software.
– Validación y verificación de sistemas.
– Planificación.
– Métodos formales de verificación.
– Métodos automatizados de análisis.
– Pruebas de software.
– Tipos.
– Pruebas funcionales (BBT).
– Pruebas estructurales (WBT).
– Comparativa. Pautas de utilización.
– Diseño de pruebas.
– Ámbitos de aplicación.
– Pruebas de Sistemas.
– Pruebas de componentes.
– Automatización de pruebas. Herramientas.
– Estándares sobre pruebas de software.
– Calidad del software.
– Principios de calidad del software.
– Métricas y calidad del software.
– Concepto de métrica y su importancia en la medición de la calidad.
– Lenguajes de desarrollo orientado a objetos de uso común.
– Herramientas de desarrollo.
– Lenguajes de modelización en el desarrollo orientado a objetos.
– Uso del lenguaje unificado de modelado (UML) en el desarrollo orientado
a objetos.
– Diagramas para la modelización de sistemas orientados a objetos.
2. La orientación a objetos
– Principios de la orientación a objetos. Comparación con la programación
estructurada.
– Ocultación de información (information hiding).
– El tipo abstracto de datos (ADT). Encapsulado de datos.
– Paso de mensajes.
– Clases de objetos.
– Atributos, variables de estado y variables de clase.
– Métodos. Requisitos e invariantes.
– Gestión de excepciones.
– Agregación de clases.
– Objetos.
– Creación y destrucción de objetos.
– Llamada a métodos de un objeto.
– Visibilidad y uso de las variables de estado.
– Referencias a objetos.
– Persistencia de objetos.
– Optimización de memoria y recolección de basura (garbage collection).
– Herencia.
– Concepto de herencia. Superclases y subclases.
– Herencia múltiple.
– Clases abstractas.
– Tipos de herencia.
– Polimorfismo y enlace dinámico (dynamic binding).
– Directrices para el uso correcto de la herencia.
– Modularidad.
– Librerías de clases. Ámbito de utilización de nombres.
– Ventajas de la utilización de modulos o paquetes.
– Genericidad y sobrecarga.
– Concepto de genericidad.
– Concepto de Sobrecarga. Tipos de sobrecarga.
– Comparación entre genericidad y sobrecarga.
– Principios básicos del desarrollo de software.
– Técnicas de desarrollo de software.
– Validación y verificación de sistemas.
– Planificación.
– Métodos formales de verificación.
– Métodos automatizados de análisis.
– Pruebas de software.
– Tipos.
– Pruebas funcionales (BBT).
– Pruebas estructurales (WBT).
– Comparativa. Pautas de utilización.
– Diseño de pruebas.
– Ámbitos de aplicación.
– Pruebas de Sistemas.
– Pruebas de componentes.
– Automatización de pruebas. Herramientas.
– Estándares sobre pruebas de software.
– Calidad del software.
– Principios de calidad del software.
– Métricas y calidad del software.
– Concepto de métrica y su importancia en la medición de la calidad.
3. Arquitecturas web
– Concepto de arquitectura web.
– El modelo de capas.
– Plataformas para el desarrollo en las capas servidor.
– Herramientas de desarrollo orientadas a servidor de aplicaciones web.
– Tipos de herramientas.
– Extensibilidad. Instalación de módulos.
– Técnicas de configuración de los entornos de desarrollo, preproducción y
producción.
– Funcionalidades de depuración.
4. Lenguajes de programación de aplicaciones web en el lado servidor
– Características de los lenguajes de programación web en servidor.
– Tipos y características de los lenguajes de uso común.
– Interpretados orientados a servidor.
– Lenguajes de cliente interpretados en servidor.
– Lenguajes compilados.
– Criterios en la elección de un lenguaje de programación web en servidor.
_ Ventajas e inconvenientes.
– Características generales.
– Tipos de datos.
– Clases.
– Operadores básicos. Manipulación de cadenas de caracteres.
– Estructuras de control. Bucles y condicionales.
– Módulos o paquetes.
– Herencia.
– Gestión de bibliotecas (libraries).
– Gestión de la configuración.
– Configuración de descriptores.
– Configuración de ficheros.
– Gestión de la seguridad.
– Conceptos de identificación, autenticación y autorización.
– Técnicas para la gestión de sesiones.
– Gestión de errores.
– Técnicas de recuperación de errores.
– Programación de excepciones.
– Transacciones y persistencia.
– Acceso a bases de datos. Conectores.
– Estándares para el acceso a bases de datos.
– Gestión de la configuración de acceso a bases de datos.
– Acceso a directorios y otras fuentes de datos.
– Programación de transacciones.
– Componentes en servidor. Ventajas e inconvenientes en el uso de contenedores
de componentes.
– Modelos de desarrollo. El modelo vista controlador.
– Modelo: programación de acceso a datos.
– Vista: Desarrollo de aplicaciones en cliente. Eventos e interfaz de usuario.
– Programación del controlador.