Book cover

Software Engineering: A Modern Approach

This textbook is designed for undergraduate software engineering courses. Additionally, it can be used by junior developers looking to consolidate their knowledge in the field. The book has 350 pages, 10 chapters, and includes 120 exercises. A Portuguese edition is also available here.

Podcast

AI-generated podcast featuring chapter summaries for a quick and effective review of the book’s content.

Listen on Spotify, Apple Podcasts, Pocket Casts, or subscribe to the podcast feed.

E-book

Buy on Leanpub (pdf and epub)

Web Version

Preface

Chapter 1: Introduction

Historical Context, Topics of Study

Chapter 2: Processes

Agile Manifesto, XP, Scrum, Kanban

Chapter 3: Requirements

User Stories, Use Cases, MVP, A/B Testing

Chapter 4: Models

Class, Package, Sequence, Activity Diagrams

Chapter 5: Design Principles

Conceptual Integrity, Information Hiding, Cohesion, Coupling, SOLID

Chapter 6: Design Patterns

Factory, Singleton, Proxy, Adapter, Facade, Decorator, Strategy, Observer, Template Method, Visitor

Chapter 7: Architecture

MVC, Microservices, Message-Oriented, Pub/Sub

Chapter 8: Testing

Unit Tests, Principles and Smells, Coverage, Testability, Mocks, TDD, Integration Tests, E2E Tests

Chapter 9: Refactoring

Examples, Refactoring Practice, Automated Refactorings, Code Smells

Chapter 10: DevOps

Version Control, Continuous Integration, Continuous Deployment

Appendix: Git

License: Version for personal use only. Redistribution or modifications are prohibited.

Resources

Instructors

If you're an instructor, use this form to request the exercise answers and links to the slides in Google Slides.

Short Articles

These articles complement the content of the book:

Universities Using Our Book