The specifications for the architecture are defined by the requirements from the previous analysis . The steps for creating an architecture are composed of:
- finding the components of the object of observation,
- defining the interfaces between the components,
- and the defining the tasks of the components, which are derived from the requirements of the analysis.
There are many architectural patterns for these steps, but they are highly dependent on the given domain. The results of these steps can serve as a starting point for a more detailed analysis of the considered component. Regarding software, the results of the architectural steps can be used as a starting point for a fine design, e.g. as a class diagram, and when it comes to hardware components, they can be used for creating a layout, as well as for the selection of components. These and other cross-component determinations are an inherent part of architectural activities. Also the integration and communication with the involved component developers should not be ignored. Their knowledge is often needed for profound decisions on the architectural level.