SDD

    Cards (32)

    • Development methodologies
      Iterative and agile
    • Client Interaction
      Iterative - Client involvment at the start and end, specification is fixed
      Agile - Client involvment and feeback throughout development, goals can change throughout
    • Teamwork
      Iterative - Teams work independently with minimal communication
      Agile - Teams collaborate with frequent meetings
    • Documentation
      Iterative - Detailed specification created at the beginning
      Agile - Reduced documentation with small cycles of implementing, testing and evaluating
    • Measuring progress
      Iterative - Strict plan with timescales set in the beginning
      Agile - Broken down into short development goals
    • Adaptive vs Predictive
      Iterative - Plans in advance for known risks found in early phase analysis
      Agile - Makes changes as issues are encountered
    • Testing
      Iterative - Tesing occurs when implementation is complete
      Agile - Testing occurs alongside implementation
    • Purpose
      A general description of the purpose of the software
    • Scope
      A list of the deliverables that the project will hand over to the client
    • Boundaries
      The limits that help to define what is in the project and what is not
    • Functional requirements
      The features and functions that must be delivered by the system in terms of inputs, processes and outputs.
    • Creating substrings
      use slice
    • Converting to ASCII
      ord()
    • Convert to character
      chr()
    • Convert to integer
      int()
    • Find modulous
      %
    • Standard Algorithims
      • Input validation
      • Linear search
      • Finding maximum
      • Finding minimum
      • Counting occurences
    • Formal parameters stand in place for the value that will be passed in
    • Actual parameters are the actual values passed into a subroutine
    • A global variable means it is accessible in every sub-routine
    • Local variables only exist in the subroutine in which they are declare
    • Testing should be both systematic and comprehensive
    • Testing shows if a program meets the functional requirements
    • Types of test data
      Normal, Extreme, Exceptional
    • Dry runs manually step through each line of code and not the values of the variables
    • Breakpoints and watch points with stop execution and watch specific lines or variables
    • Benifits of modularity
      • Less code has to be written and can be reused
      • Teams can work on seperate parts of the code
      • Code is easier to read and debug
    • Fitness for purpose establishes whether or not the software fulfils all the functional and user requirements
    • Efficiency
      • Suitable Data Types
      • Conditional or Fixed Loops
      • Arrays
      • Nested Selection Statements
      • Procedures/functions with parameter passing
    • Usability
      Accsessible, customisable and consistent user interface
    • Maintainability
      • Modularity
      • Meaningful variable names
      • Indentation
      • Comments
      • Whitespace
    • Robustness
      • Input validation
      • try...except
    See similar decks