For any software project, large or small, architecture is key to managing the intrinsic complexity of software. The design of a system includes its architecture, so, more broadly, design is key to managing software complexity. Informally, architecture partitions a system into parts that are easier to work with than the system as a whole. Let us refer to the parts as architectural elements, or simply elements. With a clean architecture, we can reason about the system in terms of the properties of its elements, without worrying about how the elements are implemented.
Review the options below to login to check your access.
Log in with your Cambridge Higher Education account to check access.
If you believe you should have access to this content, please contact your institutional librarian or consult our FAQ page for further information about accessing our content.