Module 5: Implementation Architecture
From SoftwarePractice.org
Module 2 of the Foundations of Software Architecture course, based on A Software Architecture Primer by John Reekie and Rohan McAdam.
Contents |
[edit]
Text-reading questions
- What is the implementation architecture?
- What is an application component?
- What is an infrastructure component?
- Give an example of the use of a passive component in an implementation architecture (draw a diagram).
- Why is it important to distinguish between different types of communication?
- What is the ideal relationship between an application component and a conceptual component? Why?
- What is a pragmatic approach to the actual relationship between application components and conceptual component?
- How is a connector different from an interface?
- Why is it not necessary that every connection to a component (in an implementation architecture diagram) be shown through an interface?
- Why are interfaces important? Phrase your answer in architectural terms.
- How is a sequence diagram related to a use-case map?
- What is a technical prototype? Give an example of one that you have built.
- What is an executable prototype? When do you think an executable prototype would be a bad idea?
- What is a throwaway prototype? Why would you build one?
- What is a prototype used for in other, more established, branches of engineering?
- What is a component framework?
- How can use-case maps be used for initial analysis of architectural quality attributes? Give a short example.
[edit]
Exploration questions
- What is a product line architecture? Compare the concept with your current understanding of the term ``reusability.
- What is a variation point? Compare the concept with your current understanding of the term ``interface.
- Characterize the difference between conceptual, application, and infrastructure components.
- In an implemented system, how might components be realized? Suggest some constraints and enablers that would affect the choice of implementation.
- For a small set of the components in your architecture, draw a sequence diagram for a typical usage scenario. What do you now understand that you did not before?
- You have been working on an architectural design in class. What possibilities can you identify for the (re-)use of ``off the shelf components in your architecture?
- Identify several products that may form a product line, of which your system is one product. Which parts of your architecture are re-usable across the product line?
[edit]
Related articles
- (None listed.)
