Kyūkei Master Hub
SCS2108 | Phase Study Card
👁️ -- opens | 0%

Phase 2: UML Modeling & Diagrams

UML (Unified Modeling Language) accounts for nearly 30% of exam marks. Learn the strict distinction between Static and Dynamic modeling and exact arrow notations.

1. Static (Structural) vs Dynamic (Behavioral) Diagrams

Category What it Models Key UML Diagrams
Static (Structural) The permanent structure, components, and relationships of software at rest (no time execution). Class Diagram, Package Diagram, Component Diagram, Deployment Diagram.
Dynamic (Behavioral) How objects interact over time during program execution and state transitions. Use Case Diagram, Sequence Diagram, Activity Diagram, State Machine Diagram.

2. Class Diagrams: Notation Rules

A Class Diagram box consists of 3 compartments: Class Name, Attributes, and Operations (Methods).

Visibility Modifiers:

Relationship Arrows (Crucial for Exams):

1. Inheritance (Generalization): [Subclass] ───────▷ [Superclass] (Solid line, Hollow Triangle arrowhead) 2. Interface Realization: [Class] -- -- --▷ [Interface] (Dashed line, Hollow Triangle arrowhead) 3. Aggregation (Weak HAS-A): [Child] ────────◇ [Parent] (Solid line, Hollow Diamond) 4. Composition (Strong PART-OF): [Child] ────────◆ [Parent] (Solid line, Solid/Filled Diamond) 5. Dependency (USES): [Client] -- -- --→ [Supplier] (Dashed line, Open Arrowhead)
💡 Examiner Distinction Tip
Do NOT confuse Generalization (Inheritance: solid line ───▷) with Realization (Interface: dashed line - - -▷). Using a solid line for an interface loses full points!

3. Use Case & Sequence Diagrams

A. Use Case Diagrams

B. Sequence Diagrams (Chronological Interaction)

4. Object Constraint Language (OCL)

OCL is a formal declarative language used to specify constraints on UML models that cannot be shown visually.

⚡ Quick Self-Test

Q: In a Use Case Diagram, if Log Error is triggered only when an exception occurs during Process Transaction, is the relationship <<include>> or <<extend>>?

Answer: <<extend>>.
Because logging the error is a conditional, optional execution branch that extends the base Process Transaction use case under specific conditions.