Ouracademy

Ingenieria de software, Ian Sommerville: revision del libro

Este es un libro clásico de ingenieria de software que resume muchos temas de esta carrera, es incluso uno de los libros oficialmente recomendados por ACM.

Junto con el libro de Roger Pressman (titulado Ingenieria de software: un enfoque práctico) es uno de los libros fundamentales para tener una vision panoramica de la ingenieria de software.

Algunos dirán pero el Software Engineering Book of Knowledge (SWEBOK) cubre más aspectos de ingenieria de sofware que este libro. Y esto es cierto, sin embargo al ser una guia (no un libro) la forma en que esta escrita es más formal, lo cual impide la lectura para estudiantes de ingenieria de software incluso prácticantes de este campo.

Mi copia de sommerville
Mi copia del libro. Uno de los libros más importantes que he leido, el 2do libro que lei en la universidad. Gracias a mi madre 🙂

Este libro da un panorama de las distintas etapas del desarrollo de software: requerimientos, análisis, diseño, implementación, testing y mantenimiento. Y de los procesos o métodos de desarrollo de software (planificados y agiles) y como estos afectan a cada una de estas etapas (como el diseño es hecho en agile es distinto a como lo es en procesos dirigidos por un plan).

Además da una introducción a otras areas de especialización en la ingenieria de software (y en general de computación), como es el desarrollo de sistemas basado en el reuso (por que claro cuando desarrollamos software siempre reusamos librerías, frameworks, sistemas enlatados (COTS)...), desarrollo basado en componentes (CBSE) y servicios (SOA), sistemas distribuidos, desarrolo de sistemas embebidos, aseguramiento de la calidad, cotización de proyectos, mejora de procesos y mucho más.

El libro es muy util si eres estudiante o practicas esta carrera. Si eres estudiante te dara la base y la vision panoramica de las areas basicas de esta carrera, esto te ayudara a escoger en que area desenvolverte. Si eres trabajador, además te hará saber que areas se relacionan a la tuya y que puedes hacer para trabajar mejor con ellas y en tu propia area, y si eres jefe de proyectos o director de TI, te dara una visión panoramica de todos los aspectos de la ingenieria de software (técnicos y blandos) que podras tomar en cuenta para mejorar tus proyectos u organización de software (por ejemplo, te dara las bases sobre cuando tomar un enfoque planeado en vez de uno agil o como reusar componentes a escala empresarial y como esto afecta el desarrollo, como lidiar con sistemas heredados, entre otros cientos de ejemplos que podría hacer).

Si eres un estudiante, es altamente recomendable leer el 1er capitulo al iniciar tu carrera pues aclara muchos terminos. Encuentro muy util avanzar cada capitulo a medida que se van llevando los cursos respectivos (si llevas un curso de Modelado de sistemas con UML es recomendable leer el capitulo para eso). Lo interesante es que el libro referencia cada capitulo, es decir puedes saber donde ver más sobre dicho tema...esto me ha sido util docenas de veces.

Si eres un desarrollador de software, jefe de proyectos o director de TI, si recomiendo leerlo todo.. eso sí empezando por la parte 1 (parte que te hace entender todo el proceso de desarrollo de software).

Si diría que el libro tiene sus años y muchas nuevos temas han aparecido, temas que han influenciado el desarrollo de software, entre ellos el mundo del cloud computing, DevOps y Continous Delivery, el boom de la Inteligencia Artificial...todo eso ha impactado a la forma como se desarrollaba y desarrollará la ingeniería de software.

Este es sin duda uno de los mejores libros, particularmente el libro que ha tenido mayor impacto a lo largo de mi carrera, pues me dio la base la raíz para donde seguir avanzando. Espero que te guste leerlo, no dire que es un libro fácil de leer, a mi me costo, pero el retorno de inversión por cada cosa nueva que aprendía fue altisimo. Salud 🍻

Cambios y revisiones:

12/05/2020: fix typos and improve readability

05/05/2020: new post software engineering book review

Si te fue útil este artículo, por favor compártelo. Apreciamos los comentarios y el aliento.
Compartelo por:

Quiza te pueda interesar...

Consejos de lectura

Tips de lectura y aprendizaje, que debes tomar en cuenta antes, mientras, al finalizar de leer un libro, articulo o cualquier cosa

Cuando no seguir un consejo general

Cuando tomamos decisiones siempre seguimos principios, patrones o guias pero cuando deberiamos no seguirlas? traducido de Martin Fowler

Casos de uso y Historias de usuario

diferencias entre casos de uso y historias de usuario traducido de Martin Fowler