4.5.4 · HinglishSoftware Engineering

UML — use case, class, sequence, activity, state machine, component diagrams

2,507 words11 min readRead in English

4.5.4 · Coding › Software Engineering


Do badi families


1. Use Case Diagram


2. Class Diagram


3. Sequence Diagram


4. Activity Diagram


5. State Machine Diagram


6. Component Diagram


Recall Feynman: ek 12-saal ke bachche ko explain karo

Imagine karo aap ek giant LEGO theme park bana rahe ho.

  • Use case = woh poster jo list karta hai ki visitors kya kar sakte hain ("ride coaster", "buy ticket").
  • Class = parts catalogue: kaunsi bricks exist karti hain aur kaunsi kis par click hoti hai.
  • Sequence = ek comic strip jo step by step dikhata hai kaun kya kisse deta hai aur kis order mein.
  • Activity = workflow ka route map, forks ke saath jahan do cheezein ek saath hoti hain.
  • State machine = ek robot ke moods: locked, unlocked — aur kaunsa button use flip karta hai.
  • Component = bade boxes jisme park ship aata hai, har ek plugs (sockets) ke saath jo ek doosre se snap karte hain. Same park, chhe alag drawings, har ek alag question ka jawab deta hai.

Flashcards

Use Case diagram kaunsa question answer karta hai?
KAUN (actors) system ke saath KYA (goals) kar sakta hai — requirement-level functionality.
<<include>> aur <<extend>> mein kya fark hai?
include = mandatory, hamesha-use hone wala sub-behaviour (base depend karta hai); extend = optional, conditional add-on.
Aggregation vs Composition — deciding test kya hai?
"Agar whole delete ho jaaye, toh kya part bhi marna chahiye?" Haan → composition (filled ◆); Nahi → aggregation (hollow ◇).
Class diagram mein +, -, # ka kya matlab hai?
+ public, - private, # protected (members ki visibility).
Sequence diagram apne do axes par kya rakhta hai?
Objects across phele hote hain (X); time neeche flow karta hai (Y).
Sequence diagram mein Lifeline vs activation bar?
Lifeline (dashed) = object exist karta hai; activation bar = object actively ek method execute kar raha hai.
Activity diagram mein Decision node vs Fork?
Decision (◇) exactly EK guarded branch choose karta hai; Fork (━) SAARI branches parallel mein start karta hai.
Activity diagram mein Join (━) kya karta hai?
Parallel flows ko synchronize karta hai — continue karne se pehle tab tak wait karta hai jab tak saari incoming flows complete na ho jaayein.
State machine mein transition label ke 3 parts kya hote hain?
event [guard] / action — trigger, condition, side-effect.
State (state machine) vs Action (activity) — key difference?
State = ek condition jisme aap baithe rehte hain jab tak koi event na aaye; Action = ek step jo aap karte hain phir immediately chhod dete hain.
Component diagram mein "lollipop" vs "socket" kya hai?
Lollipop (──○) = provided interface (offered); socket (──◗) = required interface (needed).
Kaunse UML diagrams structural vs behavioural hain?
Structural: Class, Component. Behavioural: Use Case, Sequence, Activity, State Machine.

Connections

  • Object-Oriented Programming — class diagrams ↔ classes, inheritance, encapsulation.
  • Design Patterns — aksar class & sequence diagrams ke zariye communicate kiye jaate hain.
  • Requirements Engineering — use case diagrams functional requirements capture karte hain.
  • Software Architecture — component diagrams modular architecture describe karte hain.
  • Finite State Machines — state machine diagrams ka theoretical basis.
  • Flowcharts — activity diagrams unka richer cousin hai (forks, swimlanes).
  • SOLID Principles — "program to an interface" literally component diagrams mein dikhta hai.

Concept Map

splits into

splits into

includes

includes

includes

includes

includes

includes

has

has

include = depends always

extend = optional

UML shared visual vocabulary

Structural static

Behavioural dynamic

Class diagram

Component diagram

Use Case diagram

Sequence diagram

Activity diagram

State Machine diagram

Actor role outside

include vs extend

base needs sub-behaviour

extension reaches into base