O documento discute projeto e arquitetura de software, incluindo projeto preliminar e detalhado. O projeto preliminar foca na arquitetura enquanto o detalhado especifica os componentes a serem implementados de acordo com a arquitetura definida. Vários padrões de projeto como os padrões GRASP e os padrões de projeto de Gamma são discutidos como uma forma de uniformizar a especificação dos componentes.