Software Development

Cards (37)

  • What methodologies should be understood in software development?
    Waterfall, agile, extreme programming, spiral, RAD
  • What are the stages of the System Life Cycle?
    • Definition of problem
    • Feasibility study
    • Information collection
    • Analysis of information
    • Design of solution
  • Why is accurately defining the problem crucial in the System Life Cycle?
    To ensure the correct problem is solved
  • What is assessed during the feasibility study?
    Whether the problem can be solved
  • What does the analysis of information collected lead to?
    Formulation of requirements specification
  • What is created during the design of the solution stage?
    Design specification and data structures
  • What is the main idea of the waterfall method?
    Sequentially passing from one stage to the next
  • How does each stage in the waterfall lifecycle interact with the next?
    Each stage feeds information to the next
  • What happens if more information is needed during the waterfall method?
    Return to previous stages to collect data
  • What is a disadvantage of the waterfall method?
    It is inflexible to changing circumstances
  • What is the main focus of the spiral model?
    Regular evaluation and refinement of stages
  • What does the spiral model emphasize in its process?
    Frequent client feedback and risk management
  • What are the four quadrants of the spiral model?
    Determine objectives, manage risk, develop, plan
  • How does the spiral model differ from the waterfall model in terms of client feedback?
    Spiral relies on frequent client feedback
  • What is a key advantage of the spiral model over the waterfall model?
    Faster feedback cycle than waterfall approach
  • What is the purpose of Rapid Application Development (RAD)?
    To produce a solution quickly
  • What are the steps in the Rapid Application Development process?
    1. Create a prototype
    2. Evaluate and gather feedback
    3. Make changes
    4. Repeat until final product
  • What is a prototype in software development?
    A simple version to illustrate features
  • What is the purpose of prototyping?
    To show managers how the system will look
  • What is extreme programming focused on?
    Producing high-quality code
  • What is a key characteristic of extreme programming?
    It allows development to respond to changing requirements
  • What is a disadvantage of extreme programming?
    Hard to manage large teams of developers
  • What are the different testing methods in software development?
    • Blackbox testing
    • Whitebox testing
    • Alpha testing
    • Beta testing
  • What is blackbox testing used for?
    Testing functionality without inner knowledge
  • What does whitebox testing focus on?
    Testing algorithms to ensure they work
  • What is alpha testing?
    Internal testing by programmers
  • What is beta testing?
    Testing by third parties or end users
  • How should alpha testing be used during software creation?
    To check the process being created
  • How should blackbox testing be applied?
    To ensure expected outputs are produced
  • How should whitebox testing be applied?
    To ensure algorithms function correctly
  • How should acceptance testing be conducted?
    By showing software to end users
  • What are the stages of problem identification in the System Life Cycle?
    • Different ideas of the problem
    • Agreement on the problem to solve
    • Importance of analyst and manager roles
  • What are the components of requirement specification?
    • Input requirements
    • Output requirements
    • Processing requirements
    • Client agreement
    • Hardware and software needs
  • What does the design specification include?
    • Input and output design
    • Data structure design
    • Overall system diagram
    • Algorithms and flowcharts
  • What is included in the installation strategy?
    • Method of implementation
    • Training program
    • File creation and adaptation
    • Hardware installation
    • System testing
  • What is involved in the evaluation stage of the System Life Cycle?
    • Client evaluation of requirements
    • Analyst evaluation for payment
    • Rigorous testing with normal and abnormal data
  • What are the types of maintenance in software development?
    • Corrective maintenance for errors
    • Adaptive maintenance for changing parameters
    • Perfective maintenance for performance improvement