← Back to course

Program Design & Development

You’ll be able to

Development is a cycle, not a straight line

Building a program follows a development process with recurring phases: investigating the problem and users’ needs, designing a plan, implementing (writing the code), and testing and refining. The key word is iterative — you loop back through these phases repeatedly rather than marching through once. A test reveals a flaw, so you return to design; a user’s feedback changes a requirement, so you re-implement. Programs improve through many small cycles, not one perfect pass.

Purpose, then behavior

Every program has a purpose — the problem it solves or the need it meets — and it is worth stating that purpose in one sentence before writing any code. From the purpose flows the program’s function: what it actually does, described through its inputs (data it receives, from a user, a device, a file, or another program), its processing (the computation), and its outputs (what it produces — a display, a sound, stored data, or a signal to a device). Designing means deciding these before you code so the pieces fit together.

Requirements come from users

A program requirement is a specific thing the program must do to meet its purpose. Requirements come from understanding users and their context: who they are, what they are trying to accomplish, and what constraints they face. Investigating user needs — through surveys, interviews, or simply imagining the range of people who will use the tool — keeps designers from building for themselves alone. Well-chosen requirements make later phases concrete: you know what to build and how to tell when it works.

The input–process–output model
INPUT → PROCESSING → OUTPUT
Every program can be described this way. Identifying the inputs a program accepts and the outputs it produces is the fastest way to describe its function.
Worked example

A student wants to build a tip calculator. Identify the program’s purpose, its inputs, its processing, and its outputs.

  1. 1.Purpose: help a user quickly figure out how much tip to leave and the total to pay.
  2. 2.Inputs: the bill amount and the desired tip percentage entered by the user.
  3. 3.Processing: multiply the bill by the tip percentage to get the tip, then add it to the bill for the total.
  4. 4.Output: display the tip amount and the final total to the user.
Answer: Purpose = compute a tip and total; Inputs = bill amount and tip percent; Processing = tip = bill × percent, total = bill + tip; Output = display the tip and total. Naming these four things fully describes the program’s function.
Checkpoint

A team finishes coding a feature, tests it, discovers a problem, and returns to redesign that feature before coding again. This best illustrates that the development process is:

Watch out

Do not confuse a program’s purpose with its function. Purpose is why it exists (the need it meets); function is what it does (its inputs, processing, and outputs). An exam prompt may ask for one specifically.

Checkpoint

In the input–process–output model, which of the following is an example of an **input** to a weather app?

Tip

When you meet an unfamiliar program on the exam, immediately ask: What are its inputs? What does it output? Those two answers describe most of what the program does and anchor the harder questions.

Answer the 2 checkpoints as you read.

Sign in to save your progress