
Software Development, Design and Coding, 2nd Edition
John F. Dooley
- Editorial
- Apress
- Año
- 2017
- Páginas
- ~320
- Nivel
- Intermedio
De qué trata
Texto formativo a cargo del profesor John F. Dooley diseñado para tender un puente sólido entre la programación académica elemental y la ingeniería de software profesional en equipo. Está orientado a estudiantes de informática y programadores de nivel intermedio que dominan los fundamentos de la programación orientada a objetos (con código centrado en Java) y necesitan asimilar cómo se concibe, construye, depura y prueba el software con estándares de calidad industrial.
El contenido recorre de forma sistemática el ciclo de vida del desarrollo de software, contraponiendo modelos tradicionales guiados por planes con marcos ágiles modernos como Scrum, Kanban y principios Lean. Enseña principios de modularidad y arquitectura (SOLID, cohesión y acoplamiento), el catálogo fundamental de patrones de diseño de GoF (Singleton, Factory, Observer, Decorator, Strategy), patrones para programación paralela y concurrente, estándares de codificación defensiva, metodologías de depuración, pruebas unitarias automatizadas con JUnit, técnicas de refactorización de código y protocolos para revisiones e inspecciones formales de código, complementado con directrices de ética profesional (ACM/IEEE).
A lo largo de los capítulos se practican escenarios de depuración, refactorización y creación de suites de prueba unitaria en Java, complementados con preguntas de revisión y ejercicios analíticos al final de cada tema. Su principal virtud es ofrecer una panorámica balanceada y accesible de las disciplinas indispensables para integrarse en un equipo de desarrollo sin dispersarse en complejidades innecesarias; no construye una aplicación empresarial unificada de extremo a extremo, por lo que resulta más formativo como guía de buenas prácticas y fundamentos de construcción que como taller de desarrollo de productos completos.
- Ingeniería de software
- Java
- Patrones de diseño GoF
- Pruebas unitarias (JUnit)
- Refactorización
- Depuración de código
- Metodologías ágiles (Scrum)
- Principios SOLID
- Programación paralela
- Revisión de código e inspecciones
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✗ Sin proyectos

