1. A method for designing an architectural solution, the method comprising: receiving, by a computer, functional requirements and nonfunctional requirements; responsive to receiving the functional requirements and nonfunctional requirements, producing, by the computer, first level outputs; receiving, by the computer, further input through a guided questionnaire, wherein the guided questionnaire is based on the first level outputs; and responsive to receiving the further input, producing, by the computer, a list of client specific components and subcomponents, a client specific solution reference architecture, and a set of reference links.