SoftwarePractice.org: Home | Courseware | Wiki | Archive

Module 9: Quality Attributes

From SoftwarePractice.org

Module 9 of the Foundations of Software Architecture course, based on A Software Architecture Primer by John Reekie and Rohan McAdam.


Contents

Text-reading questions

  1. Explain the difference between performance and scalability.
  2. In what ways are usability and architecture inter-related?
  3. How is a reliability scenario different from a usage narrative?
  4. What do you think the difference between reliability and availability is?
  5. Give two example scenarios or narratives that illustrate the importance of availability.
  6. What is ``security?
  7. Suggest some ways in which you might increase the testability of a complex software system.

Exploration questions

  1. Name three networking strategies that aid security. Which is the most secure?
  2. Describe some additional tactics or patterns for enhancing security.
  3. Explain how a system could use XML or an RDBMS to enhance configurability. What are the trade-offs between the two?
  4. Why is logging important? What are some issues with logs?
  5. In what ways, that are not related to software architecture, can maintainability be enhanced?
  6. Have you ever successfully re-used software code written by other people? Explain why or why not, and how.
  7. What configuration would Blackboard (the software behind UTSOnline) need in each installation?
  8. What is wrong with this statement: "The FooBar system has reliability as its most important quality attribute, followed closely by performance."
  9. What are some ways in which usability can be enhanced? Focus specifically on techniques that have architectural impact or are supported by the architecture.

Related articles

  • (None listed.)
Personal tools