This eBook includes the following formats, accessible from your Account page after purchase:
EPUB
The open industry format known for its reflowable content and usability on supported mobile devices.
PDF
The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB
The open industry format known for its reflowable content and usability on supported mobile devices.
PDF
The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
From Coder to Designer: The Art and Science of Building Better Software with AI
AI is transforming software development, making it easier than ever to generate code. But generating code is not the same as designing good software. As AI accelerates coding, the ability to make sound design decisions becomes more important than ever. Software Design in the Age of AI helps students and practicing developers move beyond merely writing code to become thoughtful software designers who can reason about complexity, make informed decisions, and create high-quality, evolvable software systems.
Drawing on decades of research, authors Yuanfang Cai and Rick Kazman bring together foundational design principles and quantifiable techniques that make software design concrete, actionable, and measurable. Through five essential categories of design decisions--components, data, logic, modules, and naming--readers learn to analyze alternatives, manage complexity, and improve software quality. Throughout the book, AI serves as a knowledgeable design partner, helping designers explore alternatives, evaluate tradeoffs, and translate designs into working software while improving quality and productivity.
In this book, readers will learn practical and proven techniques to
Learn the principles. Master the decisions. Think like a designer.
Preface
About the Authors
Chapter 1: Software Design Defined
Chapter 2: Categories of Essential Design Decisions
Chapter 3: Modeling Design Structures
Chapter 4: Design Principles in Action
Chapter 5: Patterns: How They Help and How They Are Abused
Chapter 6: Measuring and Monitoring Your Project
Chapter 7: Design Anti-Patterns: Symptoms of Debt
Chapter 8: Design Over Time: Growth and Debt
Chapter 9: Managing Software Designs in Practice
Chapter 10: Design in the Future: Partnering with AI
Index
