Download Free Modulo Web Para La Gestion De Proyectos Software Book in PDF and EPUB Free Download. You can read online Modulo Web Para La Gestion De Proyectos Software and write the review.

Para desempeñar de forma efectiva las actividades de planificación y seguimiento y control de la Dirección de Proyectos es crucial disponer de herramientas software. En esta obra se aborda cómo usar diferentes técnicas de programación y seguimiento de proyectos, y también de análisis de riesgos, utilizando ejemplos y resolviendo problemas utilizando el software MS Project y MS Excel. Se explica detalladamente la programación de proyectos y carteras de proyectos, las metodologías del valor ganado, la programación ganada y la duración ganada, y el análisis cuantitativo de los riesgos del proyecto recurriendo a la simulación de Montecarlo. [Resumen del editor].
Este Manual es el más adecuado para impartir la UF1844 "Desarrollo de aplicaciones web en el entorno servidor" de los Certificados de Profesionalidad, y cumple fielmente con los contenidos del Real Decreto. Puede solicitar gratuitamente las soluciones a todas las actividades y al examen final en el email [email protected] Capacidades que se adquieren con este Manual: Crear componentes software con tecnologías de desarrollo orientadas a objetos: 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. Crear objetos, clases y métodos adecuados a la funcionalidad del componente software a desarrollar utilizando lenguajes de programación orientados a objetos. 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. Documentar el componente software desarrollado. 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. Índice: Introducción 8 El proceso del desarrollo de software 13 1. Modelos del ciclo de vida del software. 14 1.1. En cascada (waterfall). 14 1.2. Iterativo. 15 1.3. Incremental. 15 1.4. En V. 16 1.5. Basado en componentes (CBSE). 16 1.6. Desarrollo rápido (RAD). 17 1.7. Ventajas e inconvenientes. Pautas para la selección de la metodología más adecuada. 19 2. Análisis y especificación de requisitos. 22 2.1. Tipos de requisitos. 22 2.2. Modelos para el análisis de requisitos. 24 2.3. Documentación de requisitos. 25 2.4. Validación de requisitos. 26 2.5. Gestión de requisitos. 27 3. Diseño. 29 3.1. Modelos para el diseño de sistemas. 30 3.2. Diagramas de diseño. El estándar UML 35 3.3. Documentación 36 4. Implementación. 39 4.1. Conceptos generales de desarrollo de software. 39 4.2. Principios básicos del desarrollo de software. 40 4.3. Técnicas de desarrollo de software. 40 5. Validación y verificación de sistemas. 42 5.1. Planificación. 42 5.2. Métodos formales de verificación. 42 5.3. Métodos automatizados de análisis. 43 6. Pruebas de software. 45 6.1. Tipos. 45 6.2. Pruebas funcionales (BBT). 46 6.3. Pruebas estructurales (WBT). 47 6.4. Comparativa. Pautas de utilización. 47 6.5. Diseño de pruebas. 48 6.6. Ámbitos de aplicación. 49 6.7. Pruebas de Sistemas. 50 6.8. Pruebas de componentes. 50 6.9. Automatización de pruebas. Herramientas. 50 6.10. Estándares sobre pruebas de software. 51 7. Calidad del software. 52 7.1. Principios de calidad del software. 52 7.2. Métricas y calidad del software. 52 7.3. Concepto de métrica y su importancia en la medición de la calidad. 53 7.4. Principales métricas en las fases del ciclo de vida software. 53 7.5. Estándares para la descripción de los factores de Calidad. ISO-9126 y otros estándares. Comparativa. 56 8. Herramientas de uso común para el desarrollo de software. 58 8.1. Editores orientados a lenguajes de programación. 58 8.2. Compiladores y enlazadores. 68 8.3. Generadores de programas 69 8.4. Depuradores. 69 8.5. Herramientas de prueba y validación de software. 69 8.6. Optimizadores de código. 70 8.7. Empaquetadores. 70 8.8. Generadores de documentación de software. 70 8.9. Gestores y repositorios de paquetes. Versionado y control de dependencias. 71 8.10. Distribución de software. 71 8.11. Gestores de actualización de software. 71 8.12. Control de versiones. 72 8.13. Entornos integrados de desarrollo (IDE) de uso común. 72 9. Gestión de proyectos de desarrollo de software. 73 9.1. Planificación de proyectos. 73 9.2. Control de proyectos. 74 9.3. Ejecución de proyectos. 75 9.4. Herramientas de uso común para la gestión de proyectos. 76 10. Prueba de autoevaluación. 77 La orientación a objetos 78 1. Principios de la orientación a objetos. 79 1.1. Comparación con la programación estructurada. 79 1.2. Ocultación de información (information hiding). 81 1.3. El tipo abstracto de datos (ADT). Encapsulado de datos. 82 1.4. Paso de mensajes. 83 2. Clases de objetos. 85 2.1. Atributos, variables de estado y variables de clase. 85 2.2. Métodos. Requisitos e invariantes. 87 2.3. Gestión de excepciones. 88 2.4. Agregación de clases. 90 3. Objetos. 92 3.1. Creación y destrucción de objetos. 92 3.2. Llamada a métodos de un objeto. 92 3.3. Visibilidad y uso de las variables de estado. 92 3.4. Referencias a objetos. 94 3.5. Persistencia de objetos. 94 3.6. Optimización de memoria y recolección de basura (garbage collection). 94 4. Herencia. 95 4.1. Concepto de herencia. Superclases y subclases. 95 4.2. Herencia múltiple. 95 4.3. Clases abstractas. 95 4.4. Tipos de herencia. 95 4.5. Polimorfismo y enlace dinámico (dynamic binding). 96 4.6. Directrices para el uso correcto de la herencia. 96 5. Modularidad. 97 5.1. Librerías de clases. Ámbito de utilización de nombres. 97 5.2. Ventajas de la utilización de módulos o paquetes. 97 6. Generalización y sobrecarga. 98 6.1. Concepto de generalización. 98 6.2. Generalización y sobrecarga. 98 6.3. Concepto de herencia generalizada y módulos. 98 7. Desarrollo orientado a objetos. 100 7.1. Lenguajes de desarrollo orientado a objetos de uso común. 100 7.2. Herramientas de desarrollo. 102 8. Lenguajes de modelización en el desarrollo orientado a objetos. 103 8.1. Uso del lenguaje unificado de modelado (UML) en el desarrollo orientado a objetos. 103 8.2. Diagramas para la modelización de sistemas orientados a objetos. 103 9. Prueba de autoevaluación. 105 Arquitecturas web 106 1. Concepto de arquitectura web. 107 2. El modelo de capas. 108 3. Plataformas para el desarrollo en las capas servidor. 110 4. Herramientas de desarrollo orientadas a servidor de aplicaciones web. 111 4.1. Tipos de herramientas. 111 4.2. Extensibilidad. Instalación de módulos. 111 4.3. Técnicas de configuración de los entornos de desarrollo, preproducción y producción. 112 4.4. Funcionalidades de depuración. 113 5. Prueba de autoevaluación. 114 Lenguajes de programación de aplicaciones web en el lado servidor 115 1. Características de los lenguajes de programación web en servidor. 116 2. Tipos y características de los lenguajes de uso común. 117 2.1. Interpretados orientados a servidor. 117 2.2. Lenguajes de cliente interpretados en servidor. 119 2.3. Lenguajes compilados. 119 3. Criterios en la elección de un lenguaje de programación web en servidor. Ventajas e inconvenientes. 121 4. Características generales. 123 4.1. Tipos de datos. 123 4.2. Clases. 123 4.3. Operadores básicos. Manipulación de cadenas de caracteres. 127 4.4. Estructuras de control. Bucles y condicionales. 132 4.5. Módulos o paquetes. 133 4.6. Herencia. 135 4.7. Gestión de bibliotecas (libraries). 137 5. Gestión de la configuración. 138 5.1. Configuración de descriptores. 138 5.2. Configuración de ficheros. 142 6. Gestión de la seguridad 143 6.1. Conceptos de identificación, autenticación y autorización. 143 6.2. Técnicas para la gestión de sesiones. 143 7. Gestión de errores. 146 7.1. Técnicas de recuperación de errores. 146 7.2. Programación de excepciones. 146 8. Transacciones y persistencia. 147 8.1. Acceso a bases de datos. Conectores. 147 8.2. Estándares para el acceso a bases de datos. 147 8.3. Gestión de la configuración de acceso a bases de datos. 148 8.4. Acceso a directorios y otras fuentes de datos. 149 8.5. Programación de transacciones. 149 9. Componentes en servidor. Ventajas e inconvenientes en el uso de contenedores de componentes. 151 10. Modelos de desarrollo. El modelo vista controlador. 152 10.1. Modelo: programación de acceso a datos. 152 10.2. Vista: desarrollo de aplicaciones en cliente. Eventos e interfaz de usuario. 152 10.3. Programación del controlador. 152 10.4. Documentación del software. Inclusión en código fuente. Generadores de documentación 153 11. Prueba de autoevaluación. 155 Resumen 156 Prueba de evaluación final 157
Con el incremento del uso de internet y de los dispositivos móviles, el desarrollo web ha cobrado vital importancia a la hora publicar contenidos para los medios digitales. Durante muchos el desarrollo de páginas web era bastante tedioso, y si las páginas web incluían muchas funcionalidad, el grado de complejidad iba creciendo de manera exponencial. En la actualidad, un desarrollador web puede desarrollar sitios web de alta complejidad gracias a los Sistemas Gestores de Contenido o CMS (Content Management Systems), ya que son sistemas que nos proveen de muchas funcionalidades ya preprogramadas y de fácil implementación, lo cual nos ahorra muchas horas de programación y test. En este libro se tratarán los CMS Drupal y Joomla, por ser dos de principales CMS del mercado. Drupal es uno de los CMS más complejos del mercado, pero también es el más flexible, escalable y tiene un rendimiento espectacular, es, seguramente, el más recomendable si se va construir un Sitio Web con funcionalidades más complejas. Joomla es un CMS con un manejo sencillo, y con una gran comunidad de desarrolladores, que aportan numerosas extensiones y temas para este CMS. La desventaja que tiene tener un manejo sencillo es tener una menor flexilidad, pero Joomla es un gran CMS para desarrollar Sitios web de tamaño medio y grande que no impliquen funcionalidades de excepcional complejidad.
Este libro porpone un Ideario que ayude a gestionar los proyectos software.
Se ha querido realizar un proyecto de desarrollo web con el propósito de integrarse en el mercado laboral de dicho sector en el futuro. Para realizar un proyecto con aspiraciones profesionales y con una funcionalidad que se pueda ir ampliando durante el tiempo, se ha elegido el desarrollo de un aplicativo para la gestión de proyectos. Los requisitos de diseño se han evaluado haciendo un análisis de las posibles necesidades de los usuarios de la web, discriminando las mismas de acuerdo a los roles que podrán tener y por sus características. Se ha tenido en cuenta la legislación en materia de protección de datos. Para llevar a cabo dicho aplicativo, se han seleccionado herramientas con una amplia proyección laboral, modernas y eficaces en ladefinición del entorno de trabajo, lo que condiciona el resto del desarrollo. Posteriormente se ha decidido la estructura de carpetas y de rutas que tendrá el sitio web para así empezar ya con el desarrollo del aplicativo. Primeramente, se ha programado la lógica del back-endo servidor de la web, decantándose por la creación de una API de tipo REST, una de las técnicas más presentes en la industria a día de hoy. Después se ha desarrollado el cliente, intentando en todo momento que se trate de una aplicación de una sola página, de manera que el usuario no experimente refrescos de la web y su experiencia sea mucho más positiva. También se ha tenido en cuenta la seguridad del sitio web, se ha resumido qué software se ha usado dando las justificaciones adecuadas y, finalmente, se ha calculado el presupuesto para el proyecto. En definitiva, se ha conseguido crear un sitio web que cumpliese con los objetivos iniciales, aprendiendo por el caminolas principales tecnologías y prácticas de las que se hace uso en la industria del desarrollo web, para de esta manera tener una proyección laboral en dicho campo.