Program Design & Development
- Describe the iterative phases of the software development process
- Distinguish a program’s purpose from its function and its inputs/outputs
- Explain how requirements and user needs drive design decisions
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.
A student wants to build a tip calculator. Identify the program’s purpose, its inputs, its processing, and its outputs.
- 1.Purpose: help a user quickly figure out how much tip to leave and the total to pay.
- 2.Inputs: the bill amount and the desired tip percentage entered by the user.
- 3.Processing: multiply the bill by the tip percentage to get the tip, then add it to the bill for the total.
- 4.Output: display the tip amount and the final total to the user.
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:
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.
In the input–process–output model, which of the following is an example of an **input** to a weather app?
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