Skip To Content

Athabasca University

Section 2

Section Goals

  • To describe software structure and architecture.
  • To describe the process of designing user interfaces.
  • To describe the scope of software design quality.

Learning Objectives

Learning Objective 1

  • Describe software structure and architecture.
  • Define the '4+1 View Model' of software architecture, and describe the main research challenges in software architecture.
  • Define software patterns, and describe the main research challenges in software patterns.

Objective Leading Questions

  • Define architectural structure, and architectural viewpoint.
  • What are architectural styles, and why are they useful?
  • Describe the concepts that are important to architectural styles.
  • What is the '4+1 Model View' of software architecture, and why is it important?
  • How would you describe the current research in software architecture?
  • What are the main research challenges in software architecture?
  • What are software patterns?
  • What is commonly misunderstood about software patterns?
  • What types of software patterns do you know about?
  • What do software pattern languages represent?
  • What areas of software pattern research do you think will be the most important?
  • What are families of programs? What are frameworks? Why are they used?

Objective Readings

Required Readings

Chapter 2: "Section 3: Software Structure and Architecture" of SWEBOK [Bourque and Fairley 2014].

Kruchten, P.B. (1995), "The 4+1 View Model of Architecture," IEEE Software 12, 6, 42-50. https://doi.org/10.1109/52.469759

Kruchten, P., H. Obbink and J. Stafford (2006a), "The Past, Present, and Future for Software Architecture," IEEE Software 23, 2, 22-30. https://doi.org/10.1109/MS.2006.59

Kircher, M. and M. Völter (2007a), "Software Patterns," IEEE Software 24, 4, 28-30. https://doi.org/10.1109/MS.2007.109

Buschmann, F., K. Henney and D.C. Schmidt (2007), "Past, Present, and Future Trends in Software Patterns," IEEE Software 24, 4, 31-37. https://doi.org/10.1109/MS.2007.115

Supplemental Readings

Kircher, M. and M. Völter, Eds. (2007b), Software Patterns [Special issue], IEEE Software 24, 4.

Kruchten, P., H. Obbink and J. Stafford, Eds. (2006b), Software Architecture [Special issue], IEEE Software 23, 2.

Cline, M.P. (1996), "The Pros and Cons of Adopting and Applying Design Patterns in the Real World," Communications of the ACM 39, 10, 47-49, https://doi.org/10.1145/236156.236167

Schmidt, D.C., R.E. Johnson and M. Fayad, Eds. (1996), Software Patterns [Special issue], Communications of the ACM 39, 10. http://portal.acm.org/toc.cfm?id=236156

Meyer, B. and K. Arnout (2006), "Componentization: The Visitor Example," Computer 39, 7, 23-30. https://doi.org/10.1109/MC.2006.227

Garzás, J. and M. Piattini (2005), "An Ontology for Microarchitectural Design Knowledge," IEEE Software 22, 2, 28-33. https://doi.org/10.1109/MS.2005.26

Objective Activities

Relevant Conferences/Publications

Learning Objective 2

  • Describe the process of designing user interfaces.

Objective Leading Questions

  • What are the general user interface design principles?
  • Which two key issues should user interface design solve?
  • How are user interface modalities defined?
  • How can information be effectively presented?
  • What is the user interface design process?
  • What is localization and internationalization of user interfaces?
  • How can metaphors and conceptual models be used for user interface design?

Objective Readings

Required Readings

Chapter 2: "Section 4: User Interface Design" of SWEBOK [Bourque and Fairley 2014].

Objective Summary

Note

AU offers a graduate course in Human Computer Interactions and, therefore, we do not discuss this topic in detail here. This learning objective provides only an overview of this important aspect of software engineering.

Learning Objective 3

  • Describe the scope of software design quality.

Objective Leading Questions

  • What is the purpose of quality analysis and evaluation in software design?
  • What are the typical attributes of software design quality?
  • Describe quality analysis in software design and what it entails.
  • What evaluation techniques are used to measure software design quality?

Objective Readings

Required Readings

Chapter 2: "Section 5: Software Design Quality Analysis and Evaluation" of SWEBOK [Bourque and Fairley 2014].

Supplemental Readings

Bansiya, J. and C.G. Davis (2002), "A Hierarchical Model for Object-Oriented Design Quality Assessment," IEEE Transactions on Software Engineering 28, 1, 4-17. https://doi.org/10.1109/32.979986

Objective Summary

Note

AU offers a graduate course in Software Testing and Quality Assurance and, therefore, we do not discuss this topic in detail here. This learning objective provides only an overview of this important aspect of software engineering.

Updated August 28 2023 by FST Course Production Staff