SoftwarePractice.org: Home | Courseware | Wiki | Archive

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

Text-reading questions

  1. What is the implementation architecture?
  2. What is an application component?
  3. What is an infrastructure component?
  4. Give an example of the use of a passive component in an implementation architecture (draw a diagram).
  5. Why is it important to distinguish between different types of communication?
  6. What is the ideal relationship between an application component and a conceptual component? Why?
  7. What is a pragmatic approach to the actual relationship between application components and conceptual component?
  8. How is a connector different from an interface?
  9. Why is it not necessary that every connection to a component (in an implementation architecture diagram) be shown through an interface?
  10. Why are interfaces important? Phrase your answer in architectural terms.
  11. How is a sequence diagram related to a use-case map?
  12. What is a technical prototype? Give an example of one that you have built.
  13. What is an executable prototype? When do you think an executable prototype would be a bad idea?
  14. What is a throwaway prototype? Why would you build one?
  15. What is a prototype used for in other, more established, branches of engineering?
  16. What is a component framework?
  17. How can use-case maps be used for initial analysis of architectural quality attributes? Give a short example.

Exploration questions

  1. What is a product line architecture? Compare the concept with your current understanding of the term ``reusability.
  2. What is a variation point? Compare the concept with your current understanding of the term ``interface.
  3. Characterize the difference between conceptual, application, and infrastructure components.
  4. In an implemented system, how might components be realized? Suggest some constraints and enablers that would affect the choice of implementation.
  5. 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?
  6. 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?
  7. 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?

Related articles

  • (None listed.)
Personal tools