- The goal of software architecture is to minimize the human resources required to build and maintain the required system.
- The only way to go fast, is to go well.
- Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure. (Conway's law)
-
SRP: Each software module has one, and only one, reason to change. (This is NOT "A function should do one, and only one, thing, and do it well.") A module should be responsible to one, and only one, actor. (actor == user or stakeholder)
-
OCP: For software systems to be easy to change, they must be designed to allow the behavior of those systems to be changed by adding new code, rather than changing existing code. A software artifact should be open for extension but closed for modification.