The architecture of a software system.

It is the first result of the software design activity and the answer of the engineering team to the requirements.

Properly managed architecture evolution is an important and challenging aspects of component software engineering.