Detalle del libro
Ver Índice
INTRODUCCIÓN.
CAPÍTULO 1. EL PROCESO DE DESARROLLO DE SOFTWARE.
1.1 MODELOS DEL CICLO DE VIDA DEL SOFTWARE
1.1.1 En Cascada.
1.1.2 Iterativo
1.1.3 Incremental
1.1.4 En V
1.1.5 Basado en componentes (CBSE)
1.1.6 Desarrollo rápido (RAD)
1.1.7 Ventajas e inconvenientes. Pautas para la selección de la metodología más adecuada
1.2 ANALISIS Y ESPECIFICACION DE REQUISITOS.
1.2.1 Tipos de Requisitos.
1.2.2 Modelos para el análisis de requisitos.
1.2.3 Documentación de requisitos.
1.2.4 Validación de Requisitos
1.2.5 Gestión de requisitos27
1.3 DISEÑO.
1.3.1 Modelos para el diseño de sistema
1.3.2 Diagramas de diseño. El estandar UML.
1.4 IMPLEMENTACION. CONCEPTOS GENERALES DE DESARROLLO DE SOFTWARE
1.4.1 Principios básicos del desarrollo de software
1.4.2 Técnicas de desarrollo de software
1.5 VALIDACIÓN Y VERIFICACION DE SISTEMAS.
1.5.1 Planificación
1.5.2 Métodos formales de verificación.
1.5.3 Métodos automatizados de análisis.
1.6 PRUEBAS DE SOFTWARE.
1.6.1 Tipos
1.6.2 Pruebas funcionales (BBT)
1.6.3 Pruebas estructurales (WBT)
1.6.4 Comparativa. Pautas de utilización
1.6.5 Diseño de pruebas
1.6.6 Ámbitos de aplicación.
1.6.7 Pruebas de Sistemas
1.6.8 Pruebas de componentes
1.6.9 Automatización de pruebas. Herramientas
1.6.10 Estandares sobre pruebas de software
1.7 CALIDAD DEL SOFTWARE
1.7.1 Principios de calidad del software.
1.7.2 Métricas y calidad del software.
1.7.3 Concepto de métrica y su importancia en la medición de calidad .
1.7.4 Principales métricas en las fases del ciclo de vida del software.
1.7.5 Estandares para la descripción de los factores de Calidad.
1.7.6 ISO-9126.
1.7.7 Otros estandares. Comparativa.
1.8 HERRAMIENTAS DE USO COMÚN PARA EL DESARROLLO DEL SOFTWARE.
1.8.1 Editores orientados a lenguajes de programación
1.8.2 Compiladores y enlazadores
1.8.3 Generadores de programas .
1.8.4 Depuradores.
1.8.5 De prueba y validación de software.
1.8.6 Optimizadores de código
1.8.7 Empaquetadores
1.8.8 Generadores de documentación de software.
1.9 GESTIÓN DE PROYECTOS
1.9.1 Planificación de proyectos
1.9.2 Control de proyectos.
1.9.3 Ejecución de proyectos.
1.9.4 Herramientas de uso común para la gestión de proyectos.
1.10 TEST DE CONOCIMIENTOS.
CAPÍTULO 2. LA ORIENTACIÓN A OBJETOS
2.1 PROGRAMACIÓN ESTRUCTURADA Y TIPOS ABSTRACTOS DE DATOS (ADT).
2.2 PROGRAMACIÓN ORIENTADA A OBJETOS. CLASES Y OBJETOS
2.2.1 Clase
2.2.2 Gestión de Excepciones
2.2.3 Agregación de Clases
2.3 OBJETO
2.3.1 Creación de objetos.
2.3.2 Paso de Mensajes
2.3.3 Visibilidad de atributos y métodos. Modificadores de acceso.
2.3.4 Referencias a objetos
2.3.5 Persistencia de Objetos
2.3.6 Destrucción de Objetos.
2.4 HERENCIA.
2.4.1 Herencia múltiple.
2.4.2 Clase abstracta.
2.4.3 Modularidad. Librerías de clase
2.5 GENERICIDAD Y SOBRECARGA DE MÉTODOS.
2.5.1 Sobrecarga de métodos.
2.5.2 Comparación entre genericidad y sobrecarga.
2.6 DESARROLLO ORIENTADO A OBJETOS
2.6.1 Herramientas de desarrollo.
2.6.2 Lenguajes de modelización en el desarrollo orientado a objetos
2.7 TEST DE CONOCIMIENTOS.
CAPÍTULO 3. ARQUITECTURAS WEB.
3.1 MODELOS FISICOS DE SEPARACION: ARQUITECTURAS MULTINIVEL
3.2 MODELOS DE SEPARACION LOGICOS
3.2.1 El esquema Modelo-Vista-Controlador (MVC).
3.2.2 La arquitectura de tres capas
3.2.3 Arquitecturas multi-capa.
3.2.4 La Arquitectura Orientada a Servicios (SOA)
3.3 HERRAMIENTAS DE DESARROLLO ORIENTADAS A SERVIDOR DE APLICACIONES WEB
3.3.1 Marcadores de texto.
3.3.2 Herramientas genéricas.
3.3.3 Herramientas específicas.
3.4 TEST DE CONOCIMIENTOS.
CAPÍTULO 4. LENGUAJES DE PROGRAMACIÓN DE APLICACIONES WEB EN EL LADO
SERVIDOR.
4.1 LENGUAJES DE PROGRAMACIÓN WEB EN SERVIDOR.
4.1.1 CGI, Common Gateway Interface
4.1.2 Servlets.
4.1.3 Lenguajes de Script del lado servidor
4.2 CARACTERISTICAS GENERALES.
4.3 VARIABLES Y TIPOS DE DATOS.
4.3.1 Definición y uso
4.3.2 Tipos de datos y variables
4.4 SENTENCIAS CONDICIONALES.
4.4.1 Sentencias If.
4.4.2 Sentencias Switch o Select Case
4.5 BUCLES
4.5.1 Bucle While o Do While…Loop
4.5.2 Bucle Do-While o Do…Loop While
4.5.3 Bucle Do Until…Loop
4.5.4 Bucle Do…Loop Until
4.5.5 Bucle For o For…Next
4.5.6 Bucle Foreach.
4.5.7 Sentencia Break.
4.5.8 Sentencia Continue
4.6 GESTIÓN DE ERRORES
4.7 GESTIÓN DE BIBLIOTECAS.
4.7.1 Tecnologías y librerías relacionadas con ASP.
4.7.2 Tecnologías y librerías relacionadas con PHP.
4.7.3 Tecnologías y librerías relacionadas con JSP
4.8 GESTIÓN DE LA CONFIGURACION Y LA SEGURIDAD.
4.8.1 Lista de Control de Acceso (ACL).
4.8.2 Autenticación de usuarios: OPENID y Oauth.
4.8.3 Técnicas de gestión de sesiones
4.9 TRANSACCIONES Y PERSISTENCIA
4.9.1 Establecimiento de conexiones
4.9.2 Acceso a directorios y otras fuentes de datos.
4.9.3 Utilización de otros orígenes de datos.
4.9.4 Programación de transacciones.
4.9.5 Serializacion o niveles de aislamiento.
4.10 TEST DE CONOCIMIENTOS.
CAPÍTULO 5. MODELOS DE DATOS.
5.1 CONCEPTO DE DATO. CICLO DE VIDA DE LOS DATOS
5.1.1 El ciclo de vida de los datos
5.2 TIPOS DE DATOS
5.2.1 Basicos
5.2.2 Registros.
5.3 DEFINICIÓN DE UN MODELO CONCEPTUAL
5.3.1 Patrones
5.3.2 Modelo genéricos
5.4 EL MODELO RELACIONAL.
5.4.1 Descripción.
5.4.2 Entidades y tipos de entidades
5.4.3 Elementos de datos. Atributos.
5.4.4 Relaciones. Tipos, subtipos. Cardinalidad.
5.4.5 Claves. Tipos de claves.
5.4.6 Normalización. Formas normales
5.5 CONSTRUCCION DEL MODELO LOGICO DE DATOS
5.5.1 Especificación de tablas.
5.5.2 Definición de columnas
5.5.3 Especificación de claves.
5.6 EL MODELO FISICO DE DATOS. FICHEROS DE DATOS.
5.6.1 Descripción de los ficheros de datos.
5.6.2 Tipos de ficheros.
5.6.3 Modos de acceso
5.6.4 Organización de ficheros
5.7 TRANSFORMACION DE UN MODELO LOGICO EN UN MODELO FISICO DE DATOS
5.8 HERRAMIENTAS PARA LA REALIZACION DE MODELOS DE DATOS
5.9 TEST DE CONOCIMIENTOS.
CAPÍTULO 6. SISTEMAS DE GESTIÓN DE BASES DE DATOS
6.1 DEFINICIÓN DE SGBD
6.2 COMPONENTES DE UN SGDB. ESTRUCTURA.
6.2.1 Gestión de almacenamiento.
6.2.2 Gestión de consultas.
6.2.3 Motor de reglas
6.3 TERMINOLOGIA DE SGDB.
6.4 ADMINISTRACION DE UN SGDB.
6.4.1 El papel del DBA
6.4.2 Gestión de índices.
6.4.3 Seguridad
6.4.4 Respaldos y replicación de bases de datos.
6.5 GESTIÓN DE TRANSACCIONES EN UN SGBD
6.5.1 Definición de transacción.
6.5.2 Componentes de un sistema de transacciones
6.5.3 Tipos de protocolos de control de la concurrencia.
6.5.4 Recuperación de transacciones
6.6 SOLUCIONES DE SGBD.
6.6.1 Distribuidas
6.6.2 Orientadas a objetos.
6.6.3 Orientadas a datos estructurados (XML)
6.6.4 Almacenes de datos (datawarehouses)
6.7 CRITERIOS PARA LA SELECCION DE SGBD COMERCIALES
6.8 TEST DE CONOCIMIENTOS.
CAPÍTULO 7. LENGUAJES DE GESTIÓN DE BASES DE DATOS. EL LENGUAJE SQL.
7.1 DESCRIPCION DEL ESTANDAR SQL
7.2 CREACIÓN DE BASES DE DATOS
7.2.1 Creación de tablas. Tipos de datos.
7.2.2 Definición y creación de índices. Claves primarias y externas.
7.2.3 Enlaces entre bases de datos.
7.3 GESTIÓN DE REGISTROS EN TABLAS.
7.3.1 Inserción.
7.3.2 Modificación
7.3.3 Borrado.
7.4 CONSULTAS.
7.4.1 Estructura general de una consulta
7.4.2 Selección de columnas. Obtención de valores unicos
7.4.3 Selección de tablas. Enlaces entre tablas
7.4.4 Condiciones. Funciones útiles en la definición de condiciones.
7.4.5 Significado y uso del valor null
7.4.6 Ordenación del resultado de una consulta
7.5 CONVERSION, GENERACION Y MANIPULACION DE DATOS.
7.5.1 Funciones para la manipulación de cadenas de caracteres
7.5.2 Funciones para la manipulación de números.
7.5.3 Funciones de fecha y hora
7.5.4 Funciones de conversión de datos
7.6 CONSULTAS MULTIPLES. UNIONES (JOINS).
7.6.1 Definición de producto cartesiano aplicado a tablas.
7.6.2 Uniones de tablas (joins). Tipos: inner, outer, self, equi, etc
7.6.3 Sub-consultas.
7.7 AGRUPACIÓNES.
7.7.1 Conceptos de agrupación de datos.
7.7.2 Funciones de agrupación.
7.7.3 Agrupación multi-columna
7.7.4 Agrupación vía expresiones.
7.7.5 Condiciones de filtrado de grupos
7.8 VISTAS
7.8.1 Concepto de vista (view).
7.8.2 Criterios para el uso de vistas
7.8.3 Creación, modificación y borrado de vistas.1
7.8.4 Vistas actualizables
7.9 FUNCIONES AVANZADAS.
7.9.1 Restricciones. Integridad de bases de datos
7.9.2 Disparadores
7.9.3 Gestión de permisos en tablas.
7.9.4 Optimización de consultas.
7.10 TEST DE CONOCIMIENTOS.
CAPÍTULO 8. LENGUAJES DE MARCAS DE USO COMÚN EN EL LADO SERVIDOR.
8.1 ORIGEN E HISTORIA DE LOS LENGUAJES DE MARCAS. EL ESTANDAR XML
8.2 PARTES DE UN DOCUMENTO XML
8.2.1 Elementos en XML.
8.2.2 Sintaxis y semántica de documentos XML: documentos válidos y bien formados
8.2.3 Espacios de Nombres: XML Namespace.
8.3 ESTRUCTURA DE XML
8.3.1 XML Schema
8.4 ANALISIS Y TRANSFORMACION DE XML.
8.4.1 Búsqueda y extracción de información en XML: XQuery y XPath.
8.5 TEST DE CONOCIMIENTOS.
CAPÍTULO 9. ARQUITECTURAS DISTRIBUIDAS ORIENTADAS A SERVICIOS
9.1 CARACTERISTICAS GENERALES DE LAS ARQUITECTURAS DE SERVICIOS DISTRIBUIDOS
9.2 MODELO CONCEPTUAL DE LAS ARQUITECTURAS ORIENTADAS A SERVICIOS
9.2.1 Manifiesto SOA
9.2.2 Características de SOA
9.2.3 Características de los Servicios.
9.2.4 Ciclo de vida de los servicios
9.3 IMPLEMENTACION DE ARQUITECTURAS ORIENTADAS A SERVICIOS MEDIANTE
TECNOLOGÍAS WEB. SERVICIOS WEB
9.3.1 Roles y Operaciones de un Servicio en SOA
9.3.2 Lenguajes y tecnologías de Servicios Web.
9.3.3 Calidad de Servicio (Quality of Service, QoS)
9.3.4 Especificaciones de servicios web de uso común: SOAP, REST, etc
9.3.5 Lenguajes de definición de servicios: el estandar WSDL
9.4 DIRECTORIOS DE SERVICIOS.
9.4.1 Estandares sobre directorios de servicios: UDDI
9.5 TEST DE CONOCIMIENTOS.
CAPÍTULO 10. PROGRAMACIÓN DE SERVICIOS WEB EN ENTORNOS DISTRIBUIDOS.
10.1 TIPOS DE SERVICIOS A IMPLEMENTAR DENTRO DE UNA ARQUITECTURA SOA
10.2 ESCENARIOS DE IMPLEMENTACION SOA.
10.3 HERRAMIENTAS PARA LA PROGRAMACIÓN DE SERVICIOS WEB.
10.3.1 Frameworks para la generación de Servicios Web
10.4 FACILITADORES TECNOLOGICOS PARA COMPLEMENTAR EL DESARROLLO DE SERVICIOS
10.5 TEST DE CONOCIMIENTOS.
SOLUCIONARIO DE LOS TEST DE CONOCIMIENTOS.
ÍNDICE ALFABÉTICO
La presente obra está dirigida a los estudiantes de certificados de profesionalidad de nivel 3, en concreto a los del módulo formativo Programación web en el entorno servidor, que está incluido dentro del certificado de profesionalidad Desarrollo de aplicaciones con tecnologías web.
Los contenidos incluidos en este libro abarcan conceptos relacionados con los procesos
y paradigmas propios del desarrollo de aplicaciones web de servidor así como los lenguajes y tecnologías involucradas en el soporte de gestión y manipulación en el lado del servidor, pasando por la definición de soluciones arquitectónicas dinámicas y multiplataforma como son las tecnologías de servicios.
Los capítulos incluyen todo tipo de ejemplos, imágenes, tablas y casos prácticos con el propósito de facilitar la asimilación de los conocimientos tratados.