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