Les comento que me acaba de llegar la Novena Edición del famoso libro de Roger Pressman subtitulado: “Un Enfoque Práctico”. ¡¡¡Haciendo memoria la primera vez que lo compré fue en 1989, o sea 35 años atrás!!! 😊
¿En qué ha cambiado?
Lo primero y evidente es que la nueva edición es un poco más grande que la anterior y con más páginas (671 versus 628).
La segunda edición tenía 15 capítulos, ordenados según la siguiente lógica:
Introducción: capítulo 1.
Ingeniería de Sistemas: capítulos 2 y 3.
Análisis: capítulos 4 y 5.
Diseño: capítulos 6, 7, 8, 9 y 10.
Codificación: capítulo 11.
Prueba: capítulos 13 y 14.
Y finalmente Mantención: capítulo 15.
La novena edición por su parte tiene 5 partes a saber:
Introducción: capítulo 1.
Parte 1: El proceso de software, con los capítulos 2, 3, 4 y 5.
Parte 2: Modelado, con los capítulos 6, 7, 8, 9, 10, 11, 12, 13 y 14.
Parte 3: Calidad y Seguridad, con los capítulos 15, 16, 17, 18, 19, 20, 21, 22 y 23.
Parte 4: Gestión de Proyectos de software, con los capítulos 24, 25, 26 y 27.
Parte 5: Temas Avanzados, con los capítulos 28, 29 y 30.
Además, incluye dos Apéndices (anexos): Una introducción a UML (llama la atención porque en los últimos años este tema no ha sido muy popular) y Ciencia de Datos para Ingenieros de Software (tema emergente y muy oportuno de ser incluido).
Una mirada rápida me muestra que:
- El famoso autor ha recurrido al apoyo a un colaborador más joven llamado Bruce R. Maxim quien es presentado en LinkedIn como:
profesor de Ciencias de la Información y la Computación y profesor colegiado de ingeniería en la Universidad de Michigan - Dearborn. Con intereses de investigación que incluyen ingeniería de software, experiencia de usuario, diseño, desarrollo de “juegos serios” (serious game development lo que quiere decir que son aplicaciones que usan los principios de los juegos creados con software, pero cuya finalidad no es la entretención sino un objetivo diferente. Cabe destacar que este tipo de software se usa para cuidar distintos tipos de fobias como la agorafobia utilizando la realidad virtual), realidad virtual, redes sociales, inteligencia artificial y educación en informática. Se indica además que ha publicado varios artículos sobre animación de algoritmos informáticos, control de calidad del software, desarrollo de juegos y aplicaciones informáticas educativas. Destaca que es coautor del texto de introducción a la informática más vendido y del texto de ingeniería de software más popular del mundo. También que se ha desempeñado como coeditor de tres colecciones de artículos de investigación en ingeniería de software y que sus actividades de investigación recientes se han centrado en las áreas de desarrollo de “juegos serios”, análisis de software y educación en ingeniería.
- Mantiene un sólido primer capítulo donde presenta los principales conceptos asociados al software: la naturaleza del software, la definición de la disciplina, el proceso del software, la práctica de ingeniería de software, cómo empieza todo, un resumen y problemas y puntos a ponderar. En resumen, es una útil introducción para cualquier persona que quiera conocer lo básico de la ingeniería de software.
- En el segundo capítulo llamado “Modelos del proceso” se muestra un modelo de proceso genérico para luego presentar una definición de una actividad estructural, la identificación de un conjunto de tareas, la evaluación y mejora del proceso hasta llegar a la clásica sección llamada “modelos de proceso prescriptivo”. En ésta se presenta el modelo de cascada, el de prototipos de modelo de proceso, el de modelo de proceso evolutivo y el de modelo de proceso unificado. Luego se comparan las fortalezas y debilidades de los modelos de procesos ya presentados. Resulta así en un práctico capítulo que permite tener una visión general de cómo se podría construir el software usando los principios de la ingeniería.
- En el tercer capítulo llamado “agilidad y proceso” se presenta de buena forma el concepto de agilidad, el costo del cambio, lo que es un proceso ágil para pasar luego a una formalización del modelo Scrum, XP, Kanban y DevOps. Cabe destacar que pese a la brevedad de dicho capítulo se logra una correcta presentación tanto de los conceptos como de los modelos de desarrollo ágiles siendo muy útil para quién quiero saber lo básico de este tema.
Por último quisiera compartir en esta primera revisión la importancia que se le ha dado al tema de la calidad y seguridad. Esto porque la tercera parte se incluyen capítulos que hablan tanto del concepto de calidad como del enfoque de revisiones, el aseguramiento de la calidad del software, la ingeniería de seguridad, la prueba de software a nivel de componente, también la prueba a nivel de integración, las pruebas especializadas para dispositivos móviles, la gestión de configuración del software y por último las métricas y análisis de software. En este último tema quisiera destacar la sección donde se presenta y explica la complejidad del sistema entendiendo como tal la suma de la complejidad estructural y de datos. Este tipo de contenidos facilita la gestión de la complejidad de un proyecto de desarrollo de software. En esta línea también es digno mencionar que se incluyan métricas de diseño para software orientado objetos y también métricas de diseño de interfaces de usuario.
Para finalizar este breve primero análisis quisiera destacar que el libro incluye un código para acceder a un sitio web que proporciona la editorial y que permite tener acceso a contenido que ayuda tanto el rol de profesor como de estudiante sobre estos temas. Quiero destacar que me encuentro satisfecho con la calidad del libro recibido y que a mi entender justifica el precio pagado.
¿Alguno de ustedes ha usado este libro? ¿Qué les ha parecido? Por favor pongan los comentarios a continuación del artículo para saber al respecto.
Saludos cordiales.
Profesor Gerardo Cerda Neumann, Editor del Blog.
Commenti