Steps: 1. Analyze non functional requirements and identify the most relevant 2. Based on relevance create a priorized list of non functional requirements 3. Analyze architectural patterns and their characteristics 4. Identify the best suitable patterns by mapping patterns characteristics to be priorized non-functional requirements Inputs: 1. Non functional requirements 2. Use cases Outputs: 1. Decision on the architectural pattern to use 2. Design