Also, all phases of software development are affected by software architecture,
i.e. tthroughout the whole life-cycle of a system, there is (some form of) architecture, and it
can be used beneficially from the elicitation of requirements, through the definition of the
systems boundaries, the initial development, the maintenance and evolution of a system,
but also to integrate legacies, or scavenge them for other applications.