DEV Community

Md Abu Sayem
Md Abu Sayem

Posted on

🚀 System Design: Functional vs Non-Functional Requirements

System design-āĻ functional āĻāĻŦāĻ‚ non-functional requirements āĻŦā§‹āĻāĻž āϖ⧁āĻŦāχ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āϝāĻžāϤ⧇ scalable āĻāĻŦāĻ‚ robust application āĻŦāĻžāύāĻžāύ⧋ āϝāĻžāϝāĻŧāĨ¤ āϚāϞ⧁āύ WhatsApp-āĻāϰ āϏāĻžāĻĨ⧇ compare āĻ•āϰ⧇ āĻĻ⧇āĻ–āĻŋ:

1ī¸âƒŖ Functional Requirements (āĻĢāĻžāĻ‚āĻļāύāĻžāϞ āϰāĻŋāϕ⧋āϝāĻŧāĻžāϰāĻŽā§‡āĻ¨ā§āϟ)

āĻāϗ⧁āϞ⧋ define āĻ•āϰ⧇ system āĻ•āĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āĨ¤
Example – WhatsApp:

  • Send āĻāĻŦāĻ‚ receive text messages ✅

  • Make voice āĻāĻŦāĻ‚ video calls ✅

  • Share multimedia (images, videos, documents) ✅

  • Create āĻāĻŦāĻ‚ manage groups ✅

**

2ī¸âƒŖ Non-Functional Requirements (āύāύ-āĻĢāĻžāĻ‚āĻļāύāĻžāϞ āϰāĻŋāϕ⧋āϝāĻŧāĻžāϰāĻŽā§‡āĻ¨ā§āϟ)

**
āĻāϗ⧁āϞ⧋ define āĻ•āϰ⧇ system āϕ⧇āĻŽāύ perform āĻ•āϰāĻŦ⧇ āĻāĻŦāĻ‚ quality attributesāĨ¤
Example – WhatsApp:

  • Performance: Messages āĻ•āϝāĻŧ⧇āĻ• āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§‡āϰ āĻŽāĻ§ā§āϝ⧇ deliver āĻšāĻŦ⧇ ⚡

  • Scalability: Millions of concurrent users support āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇ 🌐

  • Security: End-to-end encryption āĻĨāĻžāĻ•āĻŦ⧇ 🔒

  • Availability: 99.99% uptime ⏱

  • Usability: Simple āĻāĻŦāĻ‚ intuitive interface đŸ–Ĩ

💡 Key takeaway:

WhatsApp-āĻāϰ āĻŽāϤ⧋ āϏāĻĢāϞ apps āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇, Functional requirements āĻšāϞ⧋ features, āφāϰ Non-functional requirements āĻšāϞ⧋ experience & qualityāĨ¤ āĻĻ⧁āĻŸā§‹āχ āϏāĻŽāĻžāύ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤

Top comments (0)