SoftwarePractice.org: Home | Courseware | Wiki | Archive

Module 3: Conceptual Architecture

From SoftwarePractice.org

Module 3 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 conceptual architecture for?
  2. What is a conceptual component?
  3. What is a responsibility?
  4. What is a connector?
  5. Name three cases in which you would use an external interface.
  6. Describe the overall conceptual architecture design process.
  7. What is the first step to take in producing an initial conceptual architecture?
  8. Name three stereotypes useful in conceptual architecture. Describe each briefly.
  9. What occurs with careful use of stereotypes? Draw a diagram to illustrate.
  10. Give an example of a situation in which one might create a custom stereotype. (Try to think of one different than the textbook.)
  11. What is a data model, and why is it useful?
  12. Draw a simple data model for student grades.
  13. Give three ways in which you might respond to a conceptual architecture that is getting detailed or complex.
  14. What is a Blob, and what do you do about it?

Exploration questions

  1. Write a system narrative for a system of your choosing. (Some examples: UTSOnline gradebook; Traffic Control System; The Matrix).
  2. Create an initial conceptual architecture using your narrative and the method described in the textbook. Discuss: in what ways does the architecture meet or not meet what you would have expected? How would you write the narrative better?
  3. Identify stereotypes in your architecture. Discuss whether the architecture is any cleaner.
  4. Identify connectors that carry complex data, and draw a data model or models. Is your understanding of the functioning of the architecture improved?
  5. Draw a data model for one of your persistent components. After completing it, discuss whether the model you have created could or should be made simpler. Or should it be more detailed? Why?
  6. Discuss the three different stereotypes presented in the text. Can you think of other types of stereotypes? Modify your architecture to use it/them.

Related articles

  • (None listed.)
Personal tools