Design Applications

COMP1312 - Programming I


Overview

This lecture continues the theme of building better software by focusing on software design and application design. These principles apply to any programming language, not just Python.

Software is Special

Software differs from other products (like novels) because it:

<aside> ⚠️

Software Reality

There are only two options for software:

  1. It is continuously maintained ✅
  2. It dies ☠️

If software isn't maintained, it eventually gets thrown away.

</aside>


Part I: Software Design Quality

Three Key Dimensions

We measure software quality using three main criteria:

  1. Duplication (avoid it)
  2. Coupling (keep it loose)