Software Development Cycle (SDC)

What is the SDC?

The Software Development Cycle is a structured process for creating a software solution. Strong theory answers do not just list the stages; they explain what happens at the stage and apply it to the scenario.

SDC Stages

  1. 1. State the Problem

    Define the issue, purpose, target users, current problems, constraints and required outcome.

    Evidence: problem statement, target users, requirements list, interview notes, current-system issues.

  2. 2. Plan and Design

    Decide how the solution will work before building it, including screens, inputs, outputs, data, navigation, algorithms, success criteria and tests.

    Evidence: wireframes, field lists, screen plans, pseudocode, flowcharts, test plan, success criteria.

  3. 3. Develop the Solution

    Build, configure or program the planned solution.

    Evidence: working screens, code, configured forms, views, features, version history.

  4. 4. Test the Solution

    Check that the solution works as expected using normal, boundary and invalid data.

    Evidence: test table with test data, expected result, actual result and fixes made.

  5. 5. Evaluate the Solution

    Judge whether the finished solution meets requirements, user needs and success criteria.

    Evidence: evaluation paragraph, user feedback, comparison against success criteria, limitations and improvements.

Problem → Plan/Design → Develop → Test → Evaluate → (revise if needed)
      

Teaching Scenario: Canteen Ordering App

Use one scenario across the whole cycle so the stages connect. The school canteen currently takes lunch orders on paper bags. Orders are sometimes hard to read, students forget to pay, and staff manually count each item before recess.

Stage What it could look like in this scenario
State the problemPaper orders are hard to read, payment can be missed, and staff need faster item totals. Users are students and canteen staff.
Plan and designDesign an order form, payment-status field, confirmation screen, staff summary view, required data and test cases.
DevelopBuild the screens, fields, buttons and summary output from the design.
TestTest valid orders, missing names, invalid quantities and payment status to compare expected and actual results.
EvaluateUse test evidence and canteen staff feedback to judge whether orders are clearer and item totals are faster.

User Needs and User Interface

User interface decisions should be justified by user needs. A strong answer links the feature to the user, task, device or environment.

Identify user needs

  • Who will use the software?
  • What task do they need to complete?
  • What device will they use?
  • Where will they use it?
  • What mistakes would cause problems?

Justify interface choices

  • Large touch controls because an iPad user needs quick input.
  • High contrast because outdoor or kiosk screens must be readable.
  • Required fields because missing names or dates cause inaccurate records.
  • Confirmation messages because users need to know an action saved.

Do and Don't

Do

  • Name the correct SDC stage.
  • Explain the purpose of that stage.
  • Use the scenario details in the answer.
  • Separate testing from evaluation.
  • Justify interface choices using user needs.

Don't

  • Only list the five stages without explaining them.
  • Say testing and evaluation are the same thing.
  • Use vague interface answers such as "make it easy".
  • Ignore the user, device or environment in the scenario.

Comparison: SDC vs SDLC

SDC (Programming) SDLC (Systems)
Focus on individual programsFocus on entire systems
5 stages6 stages
Used in Unit 4Used in Unit 3

Possible Theory Questions and Model Answers

Question 1

Explain how the first three stages of the SDC could be applied to a canteen ordering app.

Model answer: First, the developer would state the problem by identifying that paper orders are hard to read, payment can be missed and staff need faster item totals. Next, in plan and design, the developer would plan screens for placing orders, confirming payment and showing staff a daily summary. During development, the planned screens, data fields and summary view would be built into the app or prototype.

Question 2

A room booking system accepts a booking in the past. Which SDC stage should identify this problem?

Model answer: Testing should identify the problem by using invalid test data, such as yesterday as the booking date, and comparing the actual result with the expected result. The expected result should be an error message or rejection because bookings must be for future dates.

Question 3

Recommend two interface features for sports teachers marking attendance on an iPad outside.

Model answer: Large touch-sized present and absent buttons are suitable because teachers need to mark students quickly on an iPad before games begin. High-contrast text and colours are also suitable because the screen may be used outdoors in bright light.