CP317 | Week 8 | Iterative Models

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 characteristic is a notable disadvantage of the waterfall model?

  • Early production of working software.
  • Low risk and uncertainty due to detailed planning.
  • High adaptability to changing project requirements.
  • Integration is performed only at the end. (correct)

In the context of software development models, what is the primary focus of the iterative model?

  • Initial, simplified software implementation. (correct)
  • A detailed plan covering the entire project lifecycle upfront.
  • Delivery of a complete and fully featured system in a single release.
  • Comprehensive documentation before any coding.

For an online banking system, which feature is most suitable for the first iteration using the iterative model?

  • Online investments (buy and sell stocks).
  • Full integration with all international banking systems.
  • Complex fraud detection and prevention algorithms.
  • Data capture and authentication (login and view information only). (correct)

Which of the following is an advantage of the iterative model in software development?

<p>Working software produced early and quickly. (D)</p> Signup and view all the answers

What potential problem is most likely to arise from using the iterative model?

<p>Architectural issues because requirements are not fully defined at the start. (B)</p> Signup and view all the answers

When comparing the iterative model to the waterfall model, what is a key difference in how progress is measured?

<p>Waterfall uses subjective measures; iterative uses objective measures. (A)</p> Signup and view all the answers

According to the comparison of iterative and waterfall models, which statement accurately reflects their approach to integration and testing?

<p>Iterative employs continuous integration, while Waterfall delays it. (B)</p> Signup and view all the answers

In contrasting the iterative and incremental models, which statement accurately describes the nature of feature delivery in the initial stages?

<p>Iterative: all features with low fidelity; Incremental: fewer features with full fidelity. (A)</p> Signup and view all the answers

What characteristic distinguishes the iterative model from the incremental model regarding the number of steps in the development process?

<p>Iterative has no fixed number of steps; incremental follows linear paths. (C)</p> Signup and view all the answers

Which statement best describes the core difference between 'increment' and 'iteration' in software development?

<p>Increment is about making something bigger through accretion; iteration is about making something better through repetition. (C)</p> Signup and view all the answers

Which of the following models is described as using the word 'increment' in its guide?

<p>Scrum. (D)</p> Signup and view all the answers

What is the main purpose of a prototype in the prototype model?

<p>To create a rudimentary representation of the final product. (C)</p> Signup and view all the answers

Which of the following is an advantage of using prototypes during software development?

<p>Improved requirements through user feedback and active engagement. (D)</p> Signup and view all the answers

Which of the following is a potential disadvantage of using the prototype model in software development?

<p>May lead to a narrowing of the project vision. (A)</p> Signup and view all the answers

In the prototype model, what role does the 'Evaluation by customer' phase serve?

<p>To determine how to refine the prototype based on customer feedback. (B)</p> Signup and view all the answers

Which of the following is a similarity between the prototype and iterative models?

<p>Both models initially provide all possible features with low fidelity. (D)</p> Signup and view all the answers

What is a primary difference between the prototype and iterative models?

<p>The prototype model involves customers explicitly; the iterative model may not. (C)</p> Signup and view all the answers

In which scenario would the Iterative model be most appropriate over the Waterfall model?

<p>When there is a high probability of changes to the system requirements. (B)</p> Signup and view all the answers

What outcome can be expected earlier in the Iterative model compared to the Waterfall model?

<p>Working, but not fully featured, sections of the software. (C)</p> Signup and view all the answers

Which model emphasizes a linear path of progression with fewer features in full fidelity?

<p>The Incremental model. (A)</p> Signup and view all the answers

Flashcards

Iterative Model

A process model focusing on initial, simplified software implementation, then progressively gaining complexity and features until complete.

Advantages of Iterative Model

Working software is produced quickly and early. It's more flexible, easier to test, and manage risk in smaller iterations.

Disadvantages of Iterative Model

Each phase is rigid, system architecture problems may arise due to incomplete upfront requirement gathering.

Iterative vs. Waterfall (Progress)

Waterfall has subjective progress measurement and delays integration; iterative uses objective measures and continuous integration.

Signup and view all the flashcards

Iterative vs. Waterfall Difficulties

Waterfall faces difficulties at the end, while Iterative faces them at the start.

Signup and view all the flashcards

Iterative vs. Incremental (Features)

Incremental delivers fewer features with full fidelity; iterative delivers all features with low fidelity.

Signup and view all the flashcards

Iterative vs. Incremental (Steps)

Incremental follows linear steps; iterative develops in cycles.

Signup and view all the flashcards

Increment vs. Iteration

Increment is about making something bigger, iteration is about making something better through repetition.

Signup and view all the flashcards

Prototype

A rudimentary, incomplete software product that is representational of the final product.

Signup and view all the flashcards

Prototype Model

Software engineering process where a prototype is built, and features are added until it is acceptable.

Signup and view all the flashcards

Advantages of Prototypes

Improved requirements, active user participation, common vision, early discrepancy resolution.

Signup and view all the flashcards

Customer Involvement (Prototype Model)

Customers are explicitly involved in prototype model, providing direct feedback on the design.

Signup and view all the flashcards

Similarities: Prototype & Iterative

Initially provides all possible features with low fidelity and involves iterative processes.

Signup and view all the flashcards

Disadvantages of prototypes

Prototype development can suffer from a narrowing vision, schedule pressure, and lead to foregoing proper procedures.

Signup and view all the flashcards

Study Notes

  • CP317 Software Engineering focuses on iterative models.

Agenda

  • Review of the waterfall model
  • Introduction to iterative models
  • Comparisons of iterative models with waterfall and incremental models
  • Discussion of the prototype model and its comparison with the iterative model

Review of Week 8-1 Topics

  • Software engineering process models
  • Software development life cycle
  • Predictive model vs. adaptive model
  • Waterfall model and variations
  • Waterfall with feedback model
  • Sashimi model: waterfall with overlapping phases
  • Incremental waterfall model
  • V-model

Introduction - Disadvantages of the Waterfall Model

  • It is inflexible
  • No working software is produced until late in the life cycle
  • High amounts of risk and uncertainty are involved
  • Poor model for long and ongoing projects
  • It cannot accommodate changing requirements
  • Integration occurs at the very end, hindering early identification of bottlenecks or challenges

Iterative Model

  • It involves initial, simplified software implementation
  • It progressively gains complexity and a broader feature set until complete
  • It includes initialization, planning, requirements, design, implementation, verification, evaluation, and deployment stages.

Iterative Model Example

  • An online banking system can be developed using this model
  • Data communication and authentication with login and information views is included
  • It includes online money transfer and online investments

Advantages of the Iterative Model

  • It generates working software quickly and early
  • It is more flexible and less costly to accommodate requirement changes
  • Testing and debugging are easier because of smaller iterations
  • Risks are easier to manage due to the identification and handling of risky pieces during iteration
  • Each iteration is an easily-managed milestone

Disadvantages of the Iterative Model

  • Each phase of an iteration is rigid
  • Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle

Iterative Model vs. Waterfall Model

  • Waterfall models use subjective measurement of progress while iterative models use objective measurement.
  • Waterfall models involve delayed integration and testing
  • Iterative models have continuous integration and testing
  • Waterfall models deliver nothing until the end, whereas iterative models produce something runnable every iteration
  • Waterfall models face difficulties at the end of the project, iterative models face difficulties at the start of the project
  • Subjectivity is based on personal opinion, assumptions, and interpretations
  • Objectivity is based upon observation of measurable facts

Iterative Model vs. Incremental Model

  • The Iterative model initially features all features with low fidelity
  • Incremental model initially offers fewer features with full fidelity
  • Incremental model follows linear paths of progression with a fixed number of steps, ending at completion
  • Iterative is completed in cycles or loops

Increment vs Iteration

  • Increment: makes something bigger through accretion
  • Iteration: makes something better through repetition
  • Increment is an increase or addition, especially one of a series
  • Iteration is the process of doing something again and again, usually to improve it
  • Scrum is incremental, Lean is iterative

Prototype Model

  • A prototype is a rudimentary software product, not complete, but representative of the final product
  • This is a process where a prototype is designed, built, and features are added to achieve an acceptable product.
  • Prototypes demonstrate the features of a system

Advantages of Prototypes

  • Improved Requirements
  • Encourages Active User Participation
  • Common Vision
  • Helps Resolve Discrepancies between the client and the company
  • Gives Users a Feel for the Final System
  • Helps Determine Technical Feasibility
  • Helps Sell the Idea of a Proposed System

Disadvantages of Prototypes

  • Narrowing Vision
  • Schedule Pressure
  • Leads People to Believe the Final System Will Follow
  • Gives No Indication of Performance under Operational Conditions
  • Leads the Project Team to forgo Proper Testing and Documentation

Prototype Model vs. Iterative Model

  • Prototype model involves Requirement Analysis, Design, Building and Prototyping, Refining Prototype, and Evaluation by customer
  • Iterative model involves Initialization, Planning, Requirements, Design, Implementation, Verification, Evaluation, and Deployment

Similarities of Prototype and Iterative Models

  • Both models initially provide all possible features with low fidelity
  • Both models employ iterative processes

Differences of Prototype and Iterative Models

  • The prototype model requires direct customer involvement

Summary

  • An overview of concepts, advantages and disadvantages of iterative models
  • Comparisons between the iterative model and the waterfall model
  • Comparisons between the iterative model and the incremental model
  • An overview of the prototype model and comparisons between the prototype model and the iterative model

Announcement

  • Test 2 is scheduled for the next Monday (March 10) and will cover topics for weeks 5-8
  • Bring a laptop to the test, which will be in LH3094.
  • Stay after the test for drawing lots
  • Group project software design document is due March 21.

Studying That Suits You

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

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser