Design Specification CS Thinking Example 4

Follow the full solution, then compare it with the other examples linked below.

Example 4

hard
Explain the difference between functional requirements and non-functional requirements. Give two examples of each for an online shopping system.

Solution

  1. 1
    Step 1: Functional requirements describe what the system should do: (1) Users can add items to a shopping cart. (2) The system calculates total price including tax.
  2. 2
    Step 2: Non-functional requirements describe how well the system should perform: (1) The system handles 1000 concurrent users without slowing down (performance). (2) All payment data is encrypted using AES-256 (security).
  3. 3
    Step 3: Both types are essential. Functional requirements define features; non-functional requirements define quality attributes like performance, security, reliability, and usability.

Answer

Functional: what it does (add to cart, calculate total). Non-functional: how well it does it (handles 1000 users, encrypts data).
Non-functional requirements are often overlooked but are critical for real-world software. A system that works correctly but is slow, insecure, or unreliable is not fit for purpose.

About Design Specification

A document that describes what a software system should do, how it should behave, and what constraints it must satisfy, before coding begins. A good specification covers functional requirements (what the system does), non-functional requirements (performance, security, usability), and acceptance criteria (how to verify it works).

Learn more about Design Specification โ†’

More Design Specification Examples