Software Processes Overview
9 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which of the following is NOT one of the activities involved in a software process?

  • Testing (correct)
  • Evolution
  • Specification
  • Design and implementation
  • What is a software process model?

    An abstract representation of a process that presents a description from a particular perspective.

    In agile processes, planning is typically done in advance.

    False

    What is the main drawback of the waterfall model?

    <p>It is difficult to accommodate changes after the process is underway</p> Signup and view all the answers

    List the phases of the waterfall model.

    <p>Requirements analysis and definition, System and software design, Implementation and unit testing, Integration and system testing, Operation and maintenance.</p> Signup and view all the answers

    Incremental development is beneficial because it allows for _____.

    <p>Faster delivery of useful software</p> Signup and view all the answers

    Plan-driven processes are characterized by a lack of planning.

    <p>False</p> Signup and view all the answers

    Which development model interleaves specification, development, and validation?

    <p>Incremental development</p> Signup and view all the answers

    What is a significant advantage of incremental development compared to the waterfall model?

    <p>Reduced cost of accommodating changing customer requirements.</p> Signup and view all the answers

    Study Notes

    Software Processes

    • A structured set of activities required to develop a software system
    • All software processes involve:
      • Specification
      • Design and implementation
      • Validation
      • Evolution
    • A software process model is an abstract representation of a software process. It describes a process from a particular perspective.

    Software Process Descriptions

    • Include activities like:
      • Specifying a data model
      • Designing a user interface
    • Include:
      • Products, which are the outcomes of a process activity
      • Roles, which reflect the responsibilities of those involved
      • Pre- and post-conditions, which are statements true before and after a process activity

    Plan-Driven and Agile Processes

    • Plan-driven processes plan all activities in advance and measure progress against the plan.
    • Agile processes have incremental planning, making it easier to change the process to reflect changing customer requirements.
    • Most practical processes include elements of both plan-driven and agile approaches.
    • There are no right or wrong software processes.

    Software Process Models

    • The waterfall model:
      • Plan-driven
      • Separate and distinct phases of specification and development
    • Incremental development:
      • Specification, development, and validation are interleaved
      • May be plan-driven or agile
    • Reuse-oriented software engineering:
      • The system is assembled from existing components
      • May be plan-driven or agile
    • Most large systems are developed using a process combining aspects of all these models.

    The Waterfall Model

    • Has separate identified phases:
      • Requirements analysis and definition
      • System and software design
      • Implementation and unit testing
      • Integration and system testing
      • Operation and maintenance
    • The main drawback of the waterfall model is the difficulty accommodating change once the process is underway.
    • In theory, a stage has to be complete before moving onto the next.

    Waterfall Model Problems

    • Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements.
    • Only appropriate when requirements are well-understood and changes will be limited during the design process.
    • Few business systems have stable requirements.
    • Mostly used for large systems engineering projects developed at multiple sites.
    • The plan-driven nature of the model helps coordinate work in these situations.

    Incremental Development

    • Reduces the cost of accommodating changing customer requirements.
    • Less analysis and documentation need to be redone compared to the waterfall model.
    • Easier to get customer feedback on completed development work:
      • Demonstrations can show customers what has been implemented.
    • Enables more rapid delivery and deployment of useful software to the customer.
    • Customers can use and gain value from the software earlier.

    Incremental Development Problems

    • The process is not visible.
    • Managers need regular deliveries to demonstrate progress.
    • Can be difficult to estimate the overall costs and schedule, especially for large projects.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    Explore the essential concepts of software processes, including specification, design, implementation, and validation. This quiz covers both plan-driven and agile models, highlighting their characteristics and fundamental activities. Test your understanding of how software processes are structured and executed.

    More Like This

    Software and Web Applications Quiz
    10 questions
    Software Engineering Process Models Quiz
    5 questions
    Use Quizgecko on...
    Browser
    Browser