This document provides an overview of the software design process. It discusses that design is where creativity and technical considerations come together to model a product or system. Software engineers conduct design tasks to create a design model that provides architectural and implementation details needed to build the system. The design model is important because it can be assessed before development to improve quality. The design process involves modeling the architecture, interfaces, and components. The primary work product is a design model representing these views. Throughout the iterative design process, quality is evaluated against requirements and guidelines.