Skip To Content

Athabasca University

Unit 3: Software Design

According to the IEEE Standard Glossary [1990], design is both "the process of defining the architecture, components, interfaces, and other characteristics of a system or component," and "the result of [that] process." Since designs should be verified to satisfy requirements, this phase uses modeling (e.g., UML), to ensure that all designs can be validated (e.g., simulation). The more formally designs are defined, the fewer potential errors will appear, and the potential for automatic software implementation (e.g., code generation) will be greater. Design reusability is one of the main concerns of software design. Design reusability focuses on various aspects of software patterns, such as architecture, security, concurrency, etc.

Unit Purpose

When you complete this unit, you will be able to

  • define the role, scope, and sources of software design;
  • describe the software design process;
  • define the concept of, and explore the most recent advances in software architecture;
  • define the concept of, and explore the most recent advances in software patterns;
  • describe software design processes, methodologies, and notations.

Updated September 29 2016 by FST Course Production Staff