Importance of modelling software design. Software design in software engineering. Current techniques, notations, methods, processes and tools used in software design. Software system design, object design, design patterns; UML modelling. Quality assurance of designs. Modelling state-based behaviour. Precludes additional credit for SYSC 3020. Prerequisite(s): SYSC 3120.Lectures three hours a week, laboratory three hours alternate weeks.