This thesis explores how non-functional requirements (NFRs) can drive software architecture design. It proposes a model-driven development framework that fully integrates NFRs. Empirical studies show that architects consider NFRs just as important as functional requirements when making decisions. The thesis also presents Arteon, an ontology for architectural knowledge; Quark, a method for decision-making based on NFRs; and ArchiTech, a tool that implements Arteon and Quark.