-
Notifications
You must be signed in to change notification settings - Fork 0
Understanding the SDLC
IT 140 uses a simplified Software Development Life Cycle (SDLC):
Analyze → Design → Construct → Test
Module Four exposes all four phases, but only the Design artifact is graded.
The required assignment path is:
Analyze → Design → Submit
Construct and Test are optional practice after the graded pseudocode is complete.
Analyze focuses on requirements, not implementation.
For the Higher/Lower Game, this means understanding behaviors such as:
- obtaining lower and upper bounds;
- validating the relationship between those bounds;
- generating the target number;
- obtaining and validating guesses;
- distinguishing too-low, too-high, and correct guesses; and
- continuing until the correct guess.
The official Guidelines and Rubric is the authority. The repository SRS reorganizes those requirements so you can review them systematically.
During Analyze, avoid jumping immediately to finished pseudocode or Python.
First be able to explain:
- what information is needed;
- what makes input valid;
- what decisions the program must make;
- what work repeats; and
- what causes repetition to stop.
Design turns requirements into a planned algorithm.
In Module Four, the graded design is:
design/hilow_game.pseudo
Pseudocode should be detailed enough that another programmer could follow the logic, while remaining independent of exact Python syntax.
A strong design makes clear:
- sequence;
- input and output;
- validation;
- decision branching;
- loops; and
- stopping conditions.
You can trace a scenario through pseudocode by hand.
For example:
- choose a behavior from the SRS verification table;
- follow the pseudocode one statement at a time;
- note each decision and loop condition; and
- confirm that the required result or next action occurs.
This is design verification. It can reveal logic problems before you debug Python syntax.
Construct translates a design into executable code.
For Module Four, this phase is optional. If you choose to complete it:
- finish the graded pseudocode first;
- open it beside
src/hilow_game.py; - translate one design step at a time; and
- run after small changes.
A key principle is:
The code should implement the design, not replace it.
If coding reveals that the pseudocode is incomplete, return to Design and correct the graded design first.
Testing compares actual behavior with expected behavior.
For the optional Higher/Lower Game implementation, useful checks include:
- valid and invalid bounds;
- guesses outside the selected range;
- too-low and too-high valid guesses;
- a correct guess; and
- several guesses before success.
Testing is iterative:
Test → Find a problem → Correct → Retest
Software development is not always one-way.
You may discover during:
- Design that a requirement was misunderstood → return to Analyze.
- Construct that the design is incomplete → return to Design.
- Test that code and design disagree → correct the appropriate earlier artifact.
Returning to an earlier phase is part of incremental development.
Traceability means connecting a requirement to the artifact that addresses it.
A simple Module Four trace might look like:
Assignment requirement → SRS requirement → pseudocode step/branch/loop → optional Python code → optional test behavior
You do not need an enterprise traceability system. The SRS, SDD, and SDW simply introduce the habit of checking that requirements do not disappear as work moves forward.
The optional Software Development Worksheet helps you:
- explain requirements in your own words;
- separate inputs, outputs, validation, decisions, and loops;
- identify stopping conditions;
- plan before writing detailed pseudocode;
- map requirements to your design; and
- trace behavior through the design.
The SDW is not the graded design itself.
For Module Four:
Understand first. Design second. Submit the pseudocode. Code and test only if you want the additional practice.
Return to Home or continue to Understanding the Assignment Documents.