Appendix. Discussion Questions
Chapter 1: Introduction
-
What are the four dimensions that define software architecture?
-
What is the difference between an architecture decision and a design principle?
-
List the eight core expectations of a software architect.
-
What is the First Law of Software Architecture?
Chapter 2: Architectural Thinking
-
Name three criteria for determining whether a decision is more about architecture or more about design.
-
List the three levels of knowledge in the knowledge triangle and provide an example of each.
-
Why is it more important for an architect to focus on technical breadth rather than technical depth?
-
What are some of the ways of maintaining your technical depth and remaining hands-on as an architect?
Chapter 3: Modularity
-
Describe the difference between modularity and granularity, and provide an example of each.
-
What is the difference between coupling and cohesion?
-
What does the term connascence mean?
-
What is the difference between static and dynamic connascence?
-
What is the strongest form of connascence?
-
What is the weakest form of connascence?
-
Which is preferable within a code base: static or dynamic connascence?
Chapter 4: Architecture Characteristics Defined
-
What three criteria must an attribute meet to be considered an architecture characteristic?
-
What is the difference between an implicit characteristic and an explicit one? Provide an example of each.
-
Provide an example of an operational characteristic. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access