Skip To Content

Athabasca University

Section 1

Section Goals

  • To define the scope, sources, and characteristics of software design.
  • To discuss the key issues in software engineering.

Learning Objectives

Learning Objective 1

  • Define the role and scope of software design.
  • Define the sources of the software design process for large systems.
  • Define continuous design in software.

Objective Leading Questions

  • Define the role and the scope of software design.
  • What is the software design process?
  • Which enabling techniques are primarily used in software design?
  • Why is software design used to develop large software systems?
  • Explain continuous software design, and its main challenges.

Objective Readings

Required Readings

Chapter 2: "Introduction" and "Section 1: Software Design Fundamentals" of SWEBOK [Bourque and Fairley 2014].

Curtis, B., H. Krasner and N. Iscoe (1988), "A Field Study of the Software Design Process for Large Systems," Communications of the ACM 31, 11, 1268-1287. https://doi.org/10.1145/50087.50089

Shore, J. (2004), "Continuous Design," IEEE Software 21, 1, 20-22. https://doi.org/10.1109/MS.2004.1259183

Learning Objective 2

  • Define the key concepts of software design, including concurrency, control and handling of events, distribution of components, error and exception handling, fault tolerance, interaction and presentation, and data persistence.

Objective Leading Questions

  • Explain the key concepts of software design, and describe why these concepts are important to software design.

Objective Readings

Required Readings

Chapter 2: "Section 2: Key Issues in Software Design" of SWEBOK [Bourque and Fairley 2014].

Updated August 25 2021 by FST Course Production Staff