University of Sydney · FACULTY OF COMPUTER SCIENCE

INFO1111 Chap.6 Problem Solving and Requirements

- one subject, every graph, every model, every mark
8 Chapters4-page Bible
Our own words - no uploaded lecturer files
Updated for this semester
Chapter 6 of 11 · INFO1111

Problem Solving and Requirements

This chapter covers the Week 3 problem-solving lecture and the requirements example that supports the Skills assignments. It starts with the principle that you must understand a problem before solving it, which in professional computing means problem and requirement specifications and a clear view of constraints, illustrated by the story of hotel guests whose complaint about slow lifts hid a different problem.

It lists five kinds of computing problem, from making something to persuading people, and explains how to elicit requirements from stakeholders who cannot always say what they need. It separates functional requirements, what a system does, from non-functional qualities such as performance, usability, cost and security, and insists that every requirement be paired with a way to evaluate it.

It then works through turning a vague request into a precise requirement and a state-based test, and ends with six common flaws and a self-check for missing cases, undo actions, edge cases and testability.

In this chapter

What this chapter covers

  • 01

    Understanding the problem before solving it

  • 02

    Reframing a complaint into the real need

  • 03

    Five kinds of computing problem

  • 04

    Eliciting requirements from stakeholders

  • 05

    Functional requirements and non-functional qualities

  • 06

    Pairing each requirement with an evaluation

  • 07

    Writing state-based tests with refusals and edge cases

  • 08

    Six flaws and the self-check

Worked example · free

Making a ticket-refund requirement testable

Q [4 marks]. A theatre's website requirement reads: "Customers can get refunds." Rewrite it precisely and give one test, one refusal case and one edge case. The practice weighting is assigned by AskSia and is not an official assessment scheme.
  • +1Question it: which tickets, until when, how much is returned, and what does the customer see?
  • +1Rewrite: a customer may request a refund for an unused ticket up to 48 hours before the show; the system returns the full price to the original card and confirms the amount and date.
  • +1Test: a $60 ticket for a show 72 hours away is refunded; the confirmation shows $60, and the seat returns to sale.
  • +1Refusal: a request 24 hours before the show is refused with the 48-hour rule shown. Edge: a request at exactly 48 hours succeeds.
The precise version names the condition, the amount, the destination of the money and the response, so a tester can judge it. The three cases cover the normal path, a refusal and the exact boundary. The weighting is for revision only.
Sia tip — Write "up to 48 hours" or "more than 48 hours", never "around two days"; the boundary word decides your edge-case test.
Glossary

Key terms

Functional Requirement
A statement of what a system does, often as an input and output relationship at the level of user needs.
Non-functional Requirement
A quality the system must have, such as performance, ease of use, cost, security or ease of change.
Stakeholder
A person or group affected by a system or problem whose needs must be found out and considered.
Edge Case
An unusual or boundary situation, such as a value exactly at a limit or a search with no matches.
Problem Specification
A clear statement of the problem to be solved, including its constraints, written before solutions are chosen.
FAQ

Problem Solving and Requirements FAQ

What is the difference between functional and non-functional requirements?

A functional requirement states what the system does, usually as inputs and outputs. A non-functional requirement states a quality, such as how fast, how secure, how easy to use or how costly the system is.

Why should every requirement have an evaluation?

Without a way to check it, nobody can tell whether the requirement was met. The lecture pairs every requirement with an evaluation plan, usually a test for a system.

What makes a requirement bad?

The lecture lists six flaws: incorrect, incomplete, vague, conflicting, missing and solution-focused. Statements such as good usability or error-free cannot be tested as written, so a tester could never say whether they passed.

What should a test for a requirement include?

The starting state, the request, the expected response and the state afterwards, plus cases where the request should be refused and cases exactly at a limit.

What kinds of problems do computing professionals solve?

Building something that meets a need, repairing something that works badly, judging whether something works, deciding what to make or do, and persuading people to make or do something.

Study strategy

Exam move

Take three everyday systems you use, such as a library catalogue, a food-ordering app and a timetable site, and write two functional requirements and one non-functional requirement for each, with a measurable target for the quality. For every requirement, write the test before you move on: starting state, request, expected response and final state.

Then attack your own list with the self-check: is there a way to undo each action, what happens with no results or several, and could a stranger decide pass or fail from your words alone? Practise reframing too: each time you hear a complaint about a system this week, write the stated problem and the need underneath.

For the Skills Foundation assignment, keep your requirements about what the system ought to do, not what it currently does. When you review a classmate's requirements, swap roles: you act as the tester and they defend each line, which quickly shows which statements a tester could never judge. Keep a personal list of the vague words you catch yourself using, and ban them from your next draft.

Working through Problem Solving and Requirements in INFO1111? Sia is AskSia’s AI Computer Science tutor — ask any INFO1111 Problem Solving and Requirements question and get a clear, step-by-step explanation grounded in how INFO1111 is taught and assessed. Read this chapter free, then take your hardest questions to Sia.

A+Everything unlocked
Unlocks this Bible + all 134 of your University of Sydney subjects - and 1,000+ Bibles across every Australian university.
Sia - your INFO1111 tutor, unlimited, worked the way the exam marks it
The full 4-page Bible + practice bank with worked solutions
Chrome extension - sync your LMS so Sia knows your deadlines
Bilingual EN / Chinese on every Bible and every Sia answer
$0.99 Trial
30-day money-back · cancel in one tap · how it works