OO Design & UML Methodology
Further resources and reading for this lecture.
Session 1: What is Software Systems Design About?
Software Systems Design Intro
Requirements Engineering
Systems Thinking
Session 2: Key OO Concepts Adopted by UML
OO Paradigm
Abstraction & Encapsulation
Inheritance & Polymorphism
UML in OO Design
specificationUML Spec v2.5.1 — OMG
The official UML specification from the Object Management Group.
articleUML 2.5 Diagram Types — uml-diagrams.org
Reference for all 14 UML 2.5 diagram types with descriptions.
tutorialUML Introduction — Lucidchart
Beginner-friendly introduction to UML with interactive diagram examples.
Session 3: UML Methodology and UML Techniques
Use Case Diagrams
Activity Diagrams
Class Diagrams
State Transition Diagrams
Sequence Diagrams
Five-Step Process
Recommended Textbooks
Course Textbooks
bookUML Distilled — Fowler
A Brief Guide to the Standard Object Modeling Language (3rd Edition).
bookApplying UML and Patterns — Larman
An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition).
bookSoftware Engineering — Pressman & Maxim
A Practitioner's Approach (9th Edition) — comprehensive SE textbook.
bookSoftware Engineering — Sommerville
Classic textbook covering all major areas of software engineering (10th Edition).
bookThe Unified Modeling Language User Guide — Booch, Rumbaugh, Jacobson
Definitive guide to UML by its original creators (2nd Edition).
bookDesign Patterns — Gamma, Helm, Johnson, Vlissides (GoF)
Elements of Reusable Object-Oriented Software — the foundational patterns book.