Cards (20)

  • The Waterfall Development Methodology is a linear design approach that progresses through a defined set of stages (downwards, like a waterfall) with the final product coming out at the end.
  • Iterative - Steps in the cycle can be repeated if necessary.
  • The software specification establishes what the user needs the software to be able to do, as well as a legal contract between the client and developers.
  • A prototype is an early version of the software which allows users to test it and give feedback on how they think it could be improved.
  • Purpose - A description of what the software is intended to do, as well as decisions or validation that will be present in the program
  • Scope - The list of documents and/or programs that will be provided to the end user by the developer
  • User Interface - How the software looks and feels to the user
  • Boundaries - A description of what the program will and will not be able to do based on assumptions in the client’s requirements
  • Functional requirements - Functions that must be  delivered by the software in terms of inputs, processes and outputs
  • Pseudocode - A simple description of each section of the program in English, with each stage and its refinements numbered.
  • Pseudocode can be used to communicate to the client what the program does even if they are not familiar with programming languages, as it is written in plain English.
  • During evaluation, developers assess the program to determine whether or not it fits the client’s requirements and is efficient.
  • Fitness for purpose - Whether or not the software is able to carry out the processes it is required to do, which were established during the analysis phase. (software specification)
  • Usability - How user-friendly the software is.
  • items your program should use to ensure efficient use of coding constructs:
    • Conditional/Fixed loops
    • Arrays
    • Appropriate data types and structures
    • Procedures/functions with parameter passing
    • Nested selections
  • Items which would enhance usability for the user:
    • Simple user interface
    • Sensible screen layouts
    • Understandable prompts
    • Help screens
  • Maintainability - How easily changes can be made to the program.
  • Factors which affect maintainability:
    • Use of modules
    • Readability
  • Robustness - How well the program handles unexpected input.
  • Programs can be made more robust by using input validation to ensure that any invalid inputs are corrected and the software can continue to run.