Lecture 1: Introduction to Software Development and Design

Overview

This lecture introduces the fundamentals of Software Development and Design, covering the Coupling, Cohesion, DRY principles, SOLID principles, and various design patterns. Understanding these concepts is crucial for creating maintainable and efficient software systems.

Exam Tip: Focus on understanding the principles of Coupling and Cohesion, as well as the DRY principle.

Lecture Material (PDF)


Key Concepts & Notes

  • Coupling

    Degree of interdependence between software modules.

  • Cohesion

    Degree to which the elements of a module belong together.

  • DRY Principles

    Don't Repeat Yourself - a principle aimed at reducing repetition of software patterns.

  • SOLID Principles

    A set of design principles for object-oriented programming to create more maintainable software.


Tools & Further Reading

Moodle Logo

VLE Page

Course management and resources.

Link
PDF Logo

Design Principles and Design Patterns

Additional reading on software design.

Link
PDF Logo

Coupling and Cohesion Metrics

Research paper on measuring coupling and cohesion.

Link