ByteSizeNotesChapter 7.1
Chapter 7.1

System Development Lifecycle

What is the System Development Life Cycle?

  • An organised plan of how to create a program — consists of several stages
  • Analysis: identify the problem
  • Design: details of the solution are set out
  • Coding: the program is developed
  • Testing: program is tested for errors

Analysis Phase

Why is it a good idea to perform decomposition?

  • The phase that involves identifying the problem and the requirements
  • Decomposition: break-down of a problem into small manageable parts
  • Abstraction: remove unnecessary parts, simplify, filter irrelevant characteristics
  • Makes the problem simpler to solve
  • Can allow developers to distribute work to different teams

Components after Decomposition

  • INPUTS — what is put into the system
  • OUTPUTS — what is taken out of the system
  • PROCESS — actions taken to achieve the result
  • STORAGE — what needs to be kept for future use

Tasks in the Analysis Phase

  • Decomposition
  • Abstraction
  • Identification of a problem
  • Identification of requirements

Design Phase

  • Construction of a solution using standard methods (e.g. flowcharts)
  • Pseudocode — shows what a program does in plain language
  • Flowchart — a diagram showing the ordered steps to complete a program
  • Structure diagram — hierarchical diagram showing breakdown into sub-programs

Pseudocode — Variables and Constants

  • Variables/constants are used to store items of data
  • Data is accessed using an identifier
  • Value of a variable may change during execution
  • Value of a constant remains the same during execution

Calling vs Defining a Function

  • A function is defined once and called many times
  • Define = setting up a function; Call = using a function

Processes in an Algorithm

  • Initialisation of a variable
  • INPUT of data
  • Storing values in a variable/array
  • Sorting values in an array (Bubble sort)
  • Displaying (output) values
  • Iteration (use of loops)
  • Selection (use of IF/CASE OF)

Types of Iteration

  • Count Controlled — number of iterations is pre-determined
  • Pre-Condition — checks condition at start; loop won't iterate if false
  • Post-Condition — checks condition at end; always iterates at least once

Storing Data in a File

  • Data is stored permanently
  • Data can be moved to another computer
  • Another copy can be made and stored/accessed elsewhere

Global vs Local Variables

  • Local variables — scope is a defined block of code (procedure/function)
  • Global variables — scope is the whole program
  • Local — value cannot be changed elsewhere in the program
  • Global — value can be changed anywhere in the program

Procedures and Parameters

  • Procedures: write a collection of statements under a single identifier
  • Procedures: allow modular programs; can be re-used
  • Procedures: make programs shorter and easier to maintain
  • Parameters: pass values from the main program to a procedure/function
  • Parameters: allow the procedure/function to be re-used with different data

Maintainable Programs

  • Meaningful identifiers — easily recognise the purpose of variables
  • Comments — annotations explaining each section of code
  • Procedures & Functions — make programs modular and easier to update
  • Indentation — makes the program more readable

Coding Phase

  • Program is written
  • Iterative testing takes place

Testing Phase

  • Program is tested for errors
  • Program is tested that it meets requirements

Test Data

  • Check that the program works as expected
  • Check for logic/runtime errors
  • Normal — data the program should accept
  • Abnormal/Erroneous — data the program should reject
  • Extreme — largest/smallest data that should be accepted
  • Boundary — data on the edge of accepted/rejected

Data Validation

  • Automated check to make sure data entered is reasonable
  • Presence Check — checks field is not blank
  • Type Check — checks data type is correct
  • Range Check — checks data is within set range
  • Length Check — checks data is within character limit
  • Format Check — checks data matches required format

Data Verification

  • Ensures data has been accurately copied from one source to another
  • Double Entry — data entered twice; accepted if both inputs are identical
  • Visual Check — data compared against original copy