Ingeniería del software



FONAMENTS D’INFORMÀTICA.PRÀCTIQUES DE LABORATORI
Els materials d'aquest llibre cobreixen les sessions de laboratori de l'assignatura Fonaments d'Informàtica de les titulacions de les enginyeries industrials. L'objectiu primordial ha estat obtenir, de manera autocontinguda, totes les sessions de laborato

FABRICAS DE SOFTWARE: EXPERIENCIAS, TECNOLOGIAS Y ORGANIZACION. 2ª EDICION ACTUALIZADA . EXPERIENCIAS, TECNOLOGÍAS Y ORGANIZACIÓN (PIATTINI VELTHUIS, MARIO G. / GARZAS PARRA, JAVIER)
La fabricación de software es uno de los sectores de mayor crecimiento en los últimos años y representa, cada vez más, una de las principales actividades económicas tanto en los países desarrollados como para los países en vías de desarrollo. Y es que, en efecto, el software se halla presente en la actualidad en la mayor parte de los sistemas que resultan vitales para el funcionamiento y progreso de las sociedades modernas.El concepto de fábrica de software cumple ya más de cuarenta años, desde que en 1968 Bemer lo mencionara por primera vez y afirmara que: “parece que tenemos pocos entornos específicos (instalaciones de fábrica) para la producción económica de programas…”. Un año después, se crearía la primera fábrica de software: Hitachi Software Works. Desde entonces, el término fábrica de software denota llevar a cabo el desarrollo y mantenimiento de software de forma comparable a la producción de otros productos industriales; eso si, salvando las peculiaridades del propio software. A pesar de ello, industrializar la fabricación de software ha demostrado que sirve para reducir los costes y el ciclo de vida de los productos, mejorando la calidad del software.En la última década se han publicado diversos estudios y estándares en los que se exponen los principios que se deben seguir para la fabricación de software, como modelos de mejora (CMMI, SPICE), desarrollo dirigido por modelos (MDA), líneas de producto (SPL), servicios Web, el desarrollo global de software, etc.; que complementan otras cuestiones más conocidas pero por ello no menos importantes en el desarrollo de software como: la gestión de requisitos, las pruebas, la gestión de la configuración, etc. Todo ello además debe venir complementado por aspectos organizativos y de gestión que resultan clave para el éxito de la fabricación de software.La presente obra reúne las contribuciones de los mayores especialistas en aspectos relacionados con la fabricación de software, por lo que se ofrece una visión amplia sobre diferentes factores que se deben tener en consideración para la puesta en marcha y la gestión de una fábrica de software. Además, incluye la experiencia práctica de 13 fábricas de software, grandes y pequeñas, de España, Argentina, México y Venezuela.Frente a la primera edición, en esta segunda se han revisado y modificado todos los capítulos de acuerdo a los cambios que se han producido a lo largo de los tres últimos años en la “evolutiva” Industria del Software. Además, se ha contado con la colaboración de nuevas empresas en el apartado de experiencias y la aportación del Instituto Nacional de Tecnologías de la Información (INTECO) con su visión sobre las factorías de software en España.El libro va dirigido a directores generales (CEO, Chief Executive Officers) de organizaciones, directores de informática (CIO, Chief Information Officers) y directores de desarrollo de sistemas de información de las mismas, personal informático en general (jefes de proyecto, analistas, consultores, etc.) que esté trabajando en el área de desarrollo y mantenimiento de software, así como responsables de calidad de sistemas de información y mejora de procesos software.

CALIDAD DEL PRODUCTO Y PROCESO SOFTWARE (PIATTINI VELTHUIS, MARIO G. / CALERO MUÑOZ, CORAL / MORAGA DE LA RUBIA, MARÍA ÁNGELES)
La calidad del software es un tema cada vez más en boga y al que se presta mayor atención, no sólo desde el punto de vista investigador, sino también desde el punto de vista empresarial. Cada vez más las empresas pretenden diferenciarse de sus competidores basándose en la calidad de los productos que ofrecen a sus clientes.Este texto tiene como objetivo ayudar a consolidar, unificar y divulgar conocimientos sobre la calidad de los Sistemas de Información y fomentar el desarrollo y uso de nuevas técnicas y metodologías para garantizar la calidad de los productos y los procesos software.El libro está dividido en tres partes. La primera de ellas cubre aspectos generales de calidad del software: el uso de estándares, los nuevos aspectos de normalización de la calidad en los que ISO está trabajando, la familia SQuaRe (Software Quality Requirements), lenguajes para modelar la medición de la calidad del software, técnicas utilizables para la validación en ingeniería del software, visualización de la calidad y la relación entre la calidad externa de un producto software y su calidad en uso.La segunda parte del libro versa entorno a modelos, métodos, metodologías y medición de calidad: calidad en DSDM (Desarrollo de Software Dirigido por Modelos), en líneas de producto y en componentes software, procesos ETL (Extract, Transform, Load) en almacenes de datos, un plan de medición de calidad de datos, cómo tratar aspectos de calidad en la documentación técnica en un entorno de desarrollo centrado en documentos, como mejorar la calidad software mediante una metodología basada en gestión del conocimiento y la seguridad en ingeniería del software como parte fundamental de la calidad.La tercera y última parte de este libro particulariza algunos de los contenidos expuestos anteriormente, y muestra su aplicación a contextos determinados, o su implementación en herramientas.Teniendo en cuenta la estructura y contenidos de este libro, creemos que puede servir tanto a investigadores como a profesionales de la calidad del software. También podrá servir de referencia en asignaturas de Ingeniería Informática, así como en doctorados y másters dónde se incluyan contenidos de calidad de software.

DISEÑO DE PROGRAMAS (MENCHEN PEÑUELA,ANTONIO)
Tal vez éste debería ser el primer libro de programación que todo el mundo debería leer. Aquí se trata la problemática fundamental de la algoritmia: resolver un problema encontrando la solución (o soluciones) que mejor aprovechan los recursos del computador (el tiempo de CPU y el espacio en memoria).Muchos creen que saber programar es conocer el último lenguaje de programación o los entresijos de los más potentes (C, Java, C++, entre otros). Este libro persigue romper con esa idea errónea. Saber programar es (además de buscar la implementación más eficaz) conocer las técnicas de diseño más usuales. En este libro se tratan: la recursiva, divide y vencerás, programación dinámica, backtracking, voraz, ramificación y acotación, y los algoritmos probabilistas.Este libro le enseñará, con múltiples ejemplos desarrollados y una detallada descripción de los razonamientos seguidos en cada paso, a mejorar su capacidad para resolver y enfrentarse a un problema algorítmico.

COMPETISOFT. MEJORA DE PROCESOS SOFTWARE PARA PEQUEÑAS Y MEDIANAS EMPRESAS Y PROYECTOS (PIATTINI, MARIO/OKTABA, HANNA)
En los últimos años, las empresas han visto la mejora de procesos software como una buena estrategia para el aseguramiento de la calidad de los productos software, ya que la calidad de los productos está íntimamente ligada con la calidad de los procesos utilizados para desarrollarlos y mantenerlos.En la actualidad, la mejora de procesos software es una práctica de interés para las pequeñas y medianas empresas y proyectos software. Estas organizaciones pretenden asegurar la calidad de sus productos a través de la evaluación y mejora de sus procesos, acreditándose en modelos reconocidos por la industria del software. Cuando entidades de este tipo pretenden llevar a cabo la mejora de sus procesos software utilizando modelos como CMMI, SCAMPI, IDEAL e ISO/IEC 15504, se enfrentan a un riesgo muy elevado ya que estos modelos difícilmente pueden ser aplicados a pequeñas y medianas empresas y proyectos sin más.Esta obra reúne los aspectos relacionados con la mejora de procesos software para pequeñas empresas y proyectos desde el enfoque desarrollado por el Proyecto COMPETISOFT (Mejora de Procesos para Fomentar la Competitividad de la Pequeña y Mediana Industria del Software de Iberoamérica), financiado por CYTED (Programa Iberoamericano de Ciencia y Tecnología para el Desarrollo), una iniciativa integradora de diferentes propuestas de mejora de procesos software aplicable a pequeñas y medianas empresas y proyectos.Se ofrece una visión amplia sobre los tres componentes de su marco metodológico: el modelo de referencia de procesos, el método de evaluación de procesos y el modelo que gestiona y guía la mejora de procesos. Además se presenta su aplicación práctica en la industria del software y otros aspectos de interés para la puesta en marcha de la mejora de procesos software para pequeñas y medianas empresas y proyectos software, como son: estrategias para empezar un programa de mejora, gestión de proyectos, verificación y validación, mantenimiento del software, medición de procesos, etc.A lo largo de esta obra se ha combinado el rigor científico con la experiencia práctica, que aportan sus treinta autores, todos ellos profesionales de reconocido prestigio, proporcionando así una panorámica actual y completa para abordar la mejora de procesos software para pequeñas y medianas empresas y proyectos software.El libro va dirigido tanto a los responsables de la mejora de procesos software como a especialistas en calidad, así como a directivos de pequeñas y medianas empresas de desarrollo y mantenimiento de software que quieran mejorar su competitividad.

INTEGRACIÓN DE COMPONENTES SOFTWARE EN PÁGINAS WEB (MF0951_2) (RODRÍGUEZ DIÉGUEZ, FERNANDO)
En la presente obra se estudian los aspectos fundamentales relacionados con el lenguaje JavaScript y su integración en páginas web. El texto se divide en los siguientes capítulos: o Capítulo 1. Metodología de la programación. o Capítulo 2. El lenguaje de script. o Capítulo 3. Desarrollo de scripts. o Capítulo 4. Elementos básicos de JavaScript. o Capítulo 5. Gestión de objetos en JavaScript. o Capítulo 6. Los eventos en JavaScript. o Capítulo 7. Búsqueda y análisis de scripts. o Capítulo 8. Validación de datos en páginas web. o Capítulo 9. Efectos especiales en páginas web. o Capítulo 10. Pruebas y verificación en páginas web. Los capítulos incluyen actividades y ejemplos con el propósito de facilitar la asimilación de los conocimientos tratados. Así mismo, se incorporan test de conocimientos con sus soluciones, y ejercicios propuestos con la finalidad de comprobar que los objetivos de cada capítulo se han asimilado correctamente. En la web www.adminso.es se encuentran disponibles todos los scripts mostrados en cada capítulo.

SYSTEMS ENGINEERING . THEORY AND PRACTICE (SOLS RODRÍGUEZ-CANDELA, ALBERTO)
This book is structured around the systems engineering framework, the backbone of the systems approach. It goes from the identification of a need or opportunity to the disposal, at the end of its operational life, of the system designed to deliver the needed or expected capabilities. A number of things in this book differ from the majority of the textbooks available on systems engineering. First of all, the relationships between science and engineering are shown, and the origins of systems engineering are summarized. Second, there is a differentiation between the systems approach and how it is implemented; this difference between the what and the how is addressed in detail. The steps of the systems engineering framework are described in detail and in their natural order to better facilitate their understanding. Fourth, the operational life of the system is addressed, together with the main strategies that can be implemented to bridge the capabilities gap that all systems exhibit in it. Fifth, the book explains what federations of systems and systems of systems are, and to what extent and how the systems engineering framework is to be modified. Systems engineering is about engineered systems, or human-made artifacts, and it is applicable to all industrial sectors. This book is aimed at helping practitioners get a better understanding of the concept of systems approach to engineering systems and on how to actually implement it.