Students who complete this unit will demonstrate that they can:
- Explain the nature of software design.
- Explain the nature and use of basic design patterns.
- Articulate design principles including separation of concerns, information hiding, coupling
and cohesion, and encapsulation.
- Use a design paradigm to design a simple software system, and explain how system design
principles have been applied in this design.
- Construct models of the design of a simple software system that are appropriate for the
paradigm used to design it.
- Within the context of a single design paradigm, describe one or more design patterns that
could be applicable to the design of a simple software system.
- Use UML class modeling to specify the domain model for a substantive software system.