software design and development

Cards (23)

  • analysis - Given a problem, identify what a program is meant to do.
  • design - Use tools such as pseudocode, structure diagrams, flowcharts and wireframes to set out the functionality and interface of the program.
  • Implementation - Write the program.
  • testing - Check that the program works as expected and has no errors.
  • documentation - Collect the documents which are generated at each phase of the software development process.
  • evaluation - Review the program to check if it:
    • is fit for purpose
    • makes efficient use of code
    • is robust
    • is readable
  • A program is fit for purpose if it meets the requirements specification set out during the analysis phase. the final program should match the purpose and functional requirements.
  • Efficient code uses less resources (processor, RAM) and executes more quickly.
  • Code can be made more efficient by:
    • Using repeat loops wherever possible
    • Using complex conditions instead of simple conditions
    • Using arrays instead of multiple variables
  • A program is robust if it can handle a range of different inputs without crashing.
  • A program is made more readable by using the following techniques:
    • ​​internal commentary
    • meaningful variable names
    • indentation
    • white space
  • readability
    A) internal commentary
    B) indentation
    C) meaningful variable names
    D) white space
  • A logic error does not cause the program to crash, but it will produce unexpected results.
  • Execution errors (also called run-time errors) will cause the program to crash unexpectedly.
  • Syntax errors are errors in code such as mis-spelled keywords or incorrect use of the programming language rules.
  • Normal test data will show that the program works as expected.
  • Extreme test data is used to test the boundary limits of a program.
  • Exceptional test data is used to test that the program can handle unexpected inputs.
  • structure diagram
    A) process
    B) loop
    C) predefined function
    D) selection
    E) process
    F) process
  • flowchart
    A) terminal
    B) represents start and end of a problem
  • flowchart
    A) initialisation
    B) used to show declaration of variables
  • flowchart
    A) input/output
    B) shows data input or output
  • flowchart
    A) Decision
    B) problem may branch or repeat if conditions are not met