Skip To Content

Athabasca University

Section 3

Section Goals

  • To describe the notations used in software design.
  • To describe software design strategies and methods.

Learning Objectives

Learning Objective 1

  • Describe software design notation.

Objective Leading Questions

  • What are the main software design notations used to describe software structure and software functionality?
  • Why are software design notations used in software design? How would you describe their current state?
  • Name some of the problems associated with the software notation that is currently being used.
  • What aspects of software design are described by software design notation?
  • What is the Unified Modelling LanguageTM (UML®) and why is it important for software design?
  • Do you think UML is useful? Explain.
  • What are the main challenges to the future development of UML?

Objective Readings

Required Readings

Chapter 2: "Section 6: Software Design Notations" of SWEBOK [Bourque and Fairley 2014].

France, R.B., S. Ghosh, T. Dinh-Trong and A. Solberg (2006), "Model-Driven Development using UML 2.0: Promises and Pitfalls," Computer 39, 2, 59-66. https://doi.org/10.1109/MC.2006.65

Supplemental Readings

Object Management Group, Inc. (2007, April 3), "Introduction to OMG's Unified Modeling LanguageTM (UML®)." Retrieved November 5, 2007, from https://www.uml.org/what-is-uml.htm

Jackson, D. (2002), "Alloy: A Lightweight Object Modelling Notation," ACM Transactions on Software Engineering and Methodology (TOSEM) 11, 2, 256-290. https://doi.org/10.1145/505145.505149

Glass, R.L. (2004), "The Mystery of Formal Methods Disuse," Communications of the ACM 47, 8, 15-17. https://doi.org/10.1145/1012037.1012052

Sparx Systems (2023), "UML Tutorial." Retrieved August 28, 2023, from https://sparxsystems.com/resources/tutorials/uml/part1.html

Sparx Systems (2023), "UML 2.0 Tutorial." Retrieved August 28, 2023, from https://sparxsystems.com/resources/tutorials/uml2/index.html

Selic, B. (2006), "Tutorial: An Overview of UML 2," In Proceedings of the 28th International Conference on Software Engineering, Association for Computing Machinery, New York, pp. 1069-1070. https://doi.org/10.1145/1134285.1134510

Tutorialspoint (2023), "UML Tutorial." Retrieved August 28, 2023, from https://www.tutorialspoint.com/uml/index.htm (please read through the different pages on this website)

Learning Objective 2

  • Describe software design strategies and methods.
  • Describe object-oriented development.
  • Describe software design tools.

Objective Leading Questions

  • What are the main strategies used in software design?
  • Briefly describe function-oriented design methods, object-oriented design methods, data-structure-centered design, and component-based design.
  • What are the main advantages of using the object-oriented design to design software?
  • Is it possible to develop large software projects based solely on object-oriented principles? What would be the main shortcomings of using the object-oriented design for large scale software projects?
  • What are commonly used software design tools?

Objective Readings

Required Readings

Chapter 2: "Section 7: Software Design Strategies and Methods" and "Section 8: Software Design Tools" of SWEBOK [Bourque and Fairley 2014].

Maring, B. (1996), "Object-Oriented Development of Large Applications," IEEE Software 13, 3, 33-40. https://doi.org/10.1109/52.493018

Supplemental Readings

Meservy, T.O. and K.D. Fenstermacher (2005), "Transforming Software Development: An MDA Road Map," IEEE Computer 38, 9, 52-58. https://doi.org/10.1109/MC.2005.316

Objective Activities

Relevant Conferences/Publications

Updated August 28 2023 by FST Course Production Staff