Design Specification CS Thinking Example 4
Follow the full solution, then compare it with the other examples linked below.
Example 4
hardExplain the difference between functional requirements and non-functional requirements. Give two examples of each for an online shopping system.
Solution
- 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 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 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
Example 1 easy
What is a design specification and what should it include for a simple calculator app?
Example 2 mediumA client asks for a 'fast and user-friendly website'. Explain why this is insufficient as a design s
Example 3 mediumWrite a brief design specification for a school library book search system. Include at least: purpos