Module 2: Architectural Analysis and Design
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 criticality? Give examples of different levels of criticality.
- How does organizational structure affect software architecture?
- Sketch the relation between customer need and architectural response.
- What is a contextual factor? Explain each of its components.
- In what four categories should we look for context factors?
- What is a technical requirement? Give examples.
- What is a persona? Why it is useful?
- What is a usage narrative? Why is it useful for software architecture?
- How do you know that you have a good set of usage narratives?
- List the PURS quality attributes. What kind of quality attribute are they?
- List the MeTRiCS quality attributes. What kind of quality attribute are they?
- What is (architectural) behavior? Give an example that illustrates how it is different from functionality.
- What is a use-case map?
- How is a use-case map used to explore behavior?
- What triggers a use-case map? Suggest a number of ways in which you can locate these.
- What is an architectural view? What is its purpose?
- Name the three viewtypes used in this course. What is the key difference between them?
[edit]
Exploratory questions
- What is a typical set of stakeholders that most systems would have? What kinds of system properties do you think each of them would be most interested in?
- UTSOnline (the Blackboard software) allows students to obtain course materials and check their grades. Write a representative set of usage narratives for the student stakeholder of this system.
- In what way does system software (such as operating systems) constrain and/or enable architecture? What are some other technological constraint, enablers, and risks?
- What kinds of constraints/enablers/risks do you think will commonly occur in the organizational and policy categories?
- Why do quality needs need to be prioritized?
- Write one or two narratives for your architecture that highlight one or more of the MeTRiCS quality attributes.
- Discuss the PURS and MeTRiCS quality attributes for each of the following. Prioritize the most important ones, and note in what way each is important to that particular system:
- The Blackboard system (aka UTSOnline)
- An airline reservation system
- Microsoft Word
[edit]
Related articles
(None listed)
