Identifying Requirements (DDD) (SQA National 5 Computing Science): Revision Note

Exam code: X816 75

Robert Hampton

Written by: Robert Hampton

Reviewed by: James Woodhouse

Updated on

Examiner Tips and Tricks

  • In this course, DDD refers to Database design and development and WDD refers to Web design and development

  • Make sure you do not mix these up when revising or answering exam questions

End-user requirements (DDD)

What are end-user requirements?

  • End-user requirements describe what the user needs to achieve with the database

  • They focus entirely on the user’s tasks and goals

  • Written from the point of view of the user

  • Describe what the user wants to achieve using the database

  • Do not mention tables, fields, validation or technical detail

  • Usually gathered by interviewing or observing the users

  • Used to understand what the final system must allow the user to do

Example end-user requirements

Scenario

End-user requirement (what the user needs to do)

Car dealership database

The user needs to search for cars by make and model

Library system

The librarian needs to find books by title or author

Property listings site

The user needs to filter properties by price range

School system

Teachers need to view student details for a selected class

Music store

Staff need to search for albums by artist name

Fitness club

Staff need to view all members with overdue payments

Holiday booking

The user needs to see all available destinations for chosen dates

  • These examples focus only on tasks and goals

  • No tables, no fields, no SQL, no validation

  • These requirements never mention how the database will achieve the task

Functional requirements (DDD)

What are functional requirements?

  • Functional requirements describe the processes and data the system must contain to satisfy the end-user needs

  • They define the technical features, data, and processes the system must include

  • Used to design and build the database and check if it is fit for purpose

Key aspects of database functional requirements

Data structures

  • This describes how the database is organised

  • It specifies tables and relationships

  • Example:

    • The database will have two tables, Cars and Branches, linked using branchID as a foreign key

Data fields

  • Specify attributes

  • They describe the exact pieces of data the system must record

  • Example:

    • The system must store carMake, carModel, colour, fuelType, price and mileage

Processing

  • This describes the operations the database must carry out

  • Specifies required queries, sorts, filters

  • Example:

    • The system must run simple and complex queries to search for cars using multiple criteria

    • The system must sort results in ascending order of price

Validation and constraints

Examiner Tips and Tricks

When writing requirements, test them like this:

  • If it mentions what the user does, it is end-user

  • If it mentions what the system stores or processes, it is functional

Example functional requirements

Scenario

Functional requirement (what the system must do)

Car dealership database

The system must store fields for make, model, colour, price, fuelType and mileage

Library system

The database must include a Books table with ISBN as primary key and a query to filter by author

Property listings site

The system must enforce a range check ensuring property price is between the minimum and maximum allowed values

School system

The system must support a query that returns all students sorted alphabetically by surname

Music store

The database must include two linked tables, Artists and Albums, using a primary key and foreign key

Fitness club

The system must validate the membership type using restricted choice

Holiday booking

The system must run a complex query that filters by destination and date, then sorts by price

  • These are technical

  • These requirements directly define the data dictionary and SQL needed during implementation

Worked Example

A local amateur theatre company, "The Curtain Call," wants a new website.

The management states the website must clearly display details of their four upcoming shows, including ticket prices and show dates. The members of the public (end-users) need a quick way to find the closest venue, and they want to be able to download a PDF flyer for each show. The website must also allow staff to easily update the show data when prices or dates change.

Using the scenario above, identify the following requirements for the website:

(i) State one end-user requirement

[1]

(ii) State two functional requirements

[2]

Answers

(i)

  • The user needs:

    • to be able to download a PDF flyer for each show [1 mark]

    • a quick way to find the closest venue [1 mark]

    • to view the show dates and ticket prices [1 mark]

(ii)

  • Must relate to what the system must do or the data it must contain

    •  Functional Requirement 1: The system must be able to store and display the ticket prices and show dates for the four upcoming shows [1 mark]

    • Functional Requirement 2: The system must include links/functionality to allow the download of a PDF flyer for each show [1 mark]

    • Functional Requirement 3 (Alternative): The system must include a function (e.g., a form or login) that allows staff to update the show data (prices/dates) [1 mark]

Unlock more, it's free!

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Robert Hampton

Author: Robert Hampton

Expertise: Computer Science Content Creator

Rob has over 16 years' experience teaching Computer Science and ICT at KS3 & GCSE levels. Rob has demonstrated strong leadership as Head of Department since 2012 and previously supported teacher development as a Specialist Leader of Education, empowering departments to excel in Computer Science. Beyond his tech expertise, Robert embraces the virtual world as an avid gamer, conquering digital battlefields when he's not coding.

James Woodhouse

Reviewer: James Woodhouse

Expertise: Computer Science & English Subject Lead

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.