Software Development

    Cards (29)

    • Explain what is meant by Extreme Programming
      software development methodology that focuses on good quality code
      agile paradigm designed to allow development to respond to changing user requirements
      regularly reviewed/iterative process
    • Describe the Rapid Application Development Process

      prototype created
      evaluated and feedback is used to inform the next iteration
      any changes needed to be made are made
      process repeated until prototype becomes final product
    • Waterfall Lifecycle

      linear stages, structured development
      establishes requirments in the early stages and subsequent stages focus on these requirements
      development phase focuses on code that meets requirments/design focuses on the end
      user at the start and then they may be consulted at different points throughout the project
      inflexible and limits changing requirements
    • XP Programming
      takes on an agile iterative approach
      new requirements can be adopted throughout XP
      an end user is integral throughout XP
      the quality of code is an important factor
    • Spiral Model

      relies on frequent client feedback, informs future development/revisions
      produces functional prototype where features are added incrementally
      more focus on risk, projects can be modified
    • Library
      sections of code written by other authors containing useful routines
    • What happens when the CPU receives an interrupt?

      completes the current FDE cycle
      checks the priority of the incoming interrupt
      if it's higher than current task the contents of registers is stored in memory in a stack
      relevant interrupt service is loaded by loading relevant value into PC previous instructions popped from stack and loaded into registers
    • embedded operating system
      system software used to manage a device built into device, stored in ROM specific to hardware
    • Scheduling
      The method by which central processor time is allocated in a multi-access system.
    • Define utility
      A program with one purpose/piece of system software that is used for maintenance of a system
    • State how an application differs from a utility
      Application performs tasks for the user (rather than computer)
      Performs generic (rather than specific) tasks
    • disadvantage of spiral model
      spiral model is risk driven. If risk analysis is done badly the project will suffer
    • What is an advantage of the spiral methodology?

      Best suited for projects which contain a high level of risk or uncertainty
    • Define the term real-time
      The system gives a response within a guaranteed time frame
    • Describe paging
      The organisation of memory into physical, fixed-sized units, called pages, used for virtual memory
    • What is included in the stages of waterfall model?
      • analysis
      • design
      • implementation
      • testing
      • evaluation
    • What is the waterfall model?

      Software development method where one stage moves to the next but can also return to a previous stage.
    • What is RAD?

      Software developement strategy that includes repeated prototyping and sharing each prototype with the user to inform the next stage of development
    • Example of an agile methodology

      Extreme programming
    • What is an agile methodology?

      software development that has an iterative nature, which allows for flexible responses to change
    • What is an advantage of the agile methodology?
      allows teams to adjust their work based on feedback and changing requirements, making it easier to handle unexpected changes
    • What type of projects is waterfall ususally used for?
      large scale with stable/unlikely to change requirements
    • Disadvantage of waterfall?
      If there is a change in the requirements the lifecycle cannot respond easily, often at the cost of time and money
    • Black-box testing
      checks whether an input produces the expected output
      code efficiency is not important as long as input returns desired output
    • White-box testing

      involves testing the algorithms in the code and making sure all parts of those algorithms function as intended
    • How is white-box different to black-box?
      white box checks the overall efficiency of the code
    • When is alpha and beta testing carried out?
      when software is nearly ready for release and can be tested as a complete solution
    • How is alpha testing different to beta testing?
      alpha testing occurs first and is limited to internal employees. It is a very early version of the finished software, that will contain number of bugs.
      Whereas, beta testing is opened up to a wider community where programme is in an almost finished state
    • State what is meant by alpha testing

      Testing done by the programmer
    See similar decks