SE201 · Chapter 2 · Annotated SlidesSoftware Processes
Original
Overview

Software Processes

Software process descriptions, plan-driven vs. agile processes, the waterfall and modified waterfall models, incremental development, evolutionary models (prototyping, spiral), component-based and reuse-oriented development, the Unified Process, and the Agile manifesto values and principles.

How to read this page

Every original slide is shown unchanged. Yellow marks on a slide point to a numbered note: hover or tap a mark to jump to its note, and hover a note to see its marks. Questions tagged Past exam appeared on a real paper; Prediction questions are likely angles, not confirmed. Pick an answer to each question: a wrong pick tells you why it is wrong, so you can try again.

All 49 slides
  1. 1 Software Engineering
  2. 2 Course Learning Outcome
  3. 3 The Software Process
  4. 4 Software Process Descriptions
  5. 5 Plan-Driven and Agile Processes
  6. 6 Traditional/Planned
  7. 7 Software Process Models
  8. 8 The waterfall model
  9. 9 Waterfall model phases
  10. 10 When to Use Waterfall Model
  11. 11 Waterfall Model drawback
  12. 12 Modified Waterfall
  13. 13 Incremental Model
  14. 14 Incremental Model
  15. 15 Incremental Model Activities
  16. 16 Incremental Model Benefits
  17. 17 Incremental Model Problems
  18. 18 Evolutionary Model
  19. 19 Evolutionary Models - Prototyping
  20. 20 Evolutionary Models - Prototyping
  21. 21 Evolutionary Models - Prototyping
  22. 22 Evolutionary Models - Prototyping
  23. 23 Evolutionary Models - Spiral
  24. 24 Evolutionary Models - Spiral
  25. 25 Evolutionary Models - Spiral
  26. 26 Slide 26
  27. 27 Component-Based Development
  28. 28 Component based development
  29. 29 Types of reusable software
  30. 30 Reuse-oriented software engineering
  31. 31 Reusability Advantages and disadvantages
  32. 32 The Unified Process (UP)
  33. 33 The Unified Process (UP)
  34. 34 The Unified Process (UP)
  35. 35 The Unified Process (UP)
  36. 36 Agile
  37. 37 Agile software engineering
  38. 38 Agile Manifesto Values, Principles, and Common Practices
  39. 39 Agile Manifesto and Mindset
  40. 40 Slide 40
  41. 41 The Four Values of the Agile Manifesto
  42. 42 Slide 42
  43. 43 The Twelve Principles Behind the Agile Manifesto
  44. 44 The Twelve Principles Behind the Agile Manifesto
  45. 45 Agile is a Blanket Term for Many Approaches
  46. 46 Key points
  47. 47 Key points
  48. 48 Processes Feature Matrix
  49. 49 Key points
Slide 1 / 49

Software Engineering

Slide 1: Software Engineering
Slide 2 / 49

Course Learning Outcome

Slide 2: Course Learning Outcome
Slide 3 / 49

The Software Process

Slide 3: The Software Process
Slide 4 / 49

Software Process Descriptions

Slide 4: Software Process Descriptions
Slide 5 / 49

Plan-Driven and Agile Processes

Slide 5: Plan-Driven and Agile Processes
Slide 6 / 49

Traditional/Planned

Slide 6: Traditional/Planned
Slide 7 / 49

Software Process Models

Slide 7: Software Process Models
Slide 8 / 49

The waterfall model

Slide 8: The waterfall model

Notes

  1. Waterfall: separate sequential phases; each must finish before the next. Good when requirements are well understood and stable.

Exam angle

PredictionQ1

The waterfall model is most appropriate when:

Slide 9 / 49

Waterfall model phases

Slide 9: Waterfall model phases
Slide 10 / 49

When to Use Waterfall Model

Slide 10: When to Use Waterfall Model
Slide 11 / 49

Waterfall Model drawback

Slide 11: Waterfall Model drawback

Notes

  1. Drawback: inflexible partitioning makes it hard to respond to changing requirements; working software appears late.

Slide 12 / 49

Modified Waterfall

Slide 12: Modified Waterfall
Slide 13 / 49

Incremental Model

Slide 13: Incremental Model

Notes

  1. Incremental: deliver the system in increments; each adds functionality. Combines linear sequences applied in parallel (staggered).

Exam angle

PredictionQ1

The incremental model combines elements of linear and parallel process flow.

Slide 14 / 49

Incremental Model

Slide 14: Incremental Model
Slide 15 / 49

Incremental Model Activities

Slide 15: Incremental Model Activities
Slide 16 / 49

Incremental Model Benefits

Slide 16: Incremental Model Benefits
Slide 17 / 49

Incremental Model Problems

Slide 17: Incremental Model Problems
Slide 18 / 49

Evolutionary Model

Slide 18: Evolutionary Model
Slide 19 / 49

Evolutionary Models - Prototyping

Slide 19: Evolutionary Models - Prototyping

Notes

  1. Prototyping: build a quick version to clarify requirements when they are fuzzy. Risk: customers think the prototype is the product.

Exam angle

PredictionQ1

Prototyping is most useful when:

Slide 20 / 49

Evolutionary Models - Prototyping

Slide 20: Evolutionary Models - Prototyping
Slide 21 / 49

Evolutionary Models - Prototyping

Slide 21: Evolutionary Models - Prototyping
Slide 22 / 49

Evolutionary Models - Prototyping

Slide 22: Evolutionary Models - Prototyping
Slide 23 / 49

Evolutionary Models - Spiral

Slide 23: Evolutionary Models - Spiral

Notes

  1. Spiral (Boehm): iterative loops of planning, RISK ANALYSIS, engineering and evaluation. Risk-driven.

  2. Memory trick Spiral = risk-driven.

Exam angle

PredictionQ1

Which process model is explicitly risk-driven?

Slide 24 / 49

Evolutionary Models - Spiral

Slide 24: Evolutionary Models - Spiral
Slide 25 / 49

Evolutionary Models - Spiral

Slide 25: Evolutionary Models - Spiral
Slide 26 / 49

Slide 26

Slide 26: Slide 26
Slide 27 / 49

Component-Based Development

Slide 27: Component-Based Development
Slide 28 / 49

Component based development

Slide 28: Component based development
Slide 29 / 49

Types of reusable software

Slide 29: Types of reusable software
Slide 30 / 49

Reuse-oriented software engineering

Slide 30: Reuse-oriented software engineering
Slide 31 / 49

Reusability Advantages and disadvantages

Slide 31: Reusability Advantages and disadvantages
Slide 32 / 49

The Unified Process (UP)

Slide 32: The Unified Process (UP)

Notes

  1. Unified Process: use-case driven, architecture-centric, iterative and incremental. Phases: inception, elaboration, construction, transition. Requirements are refined across phases.

Exam angle

PredictionQ1

The four phases of the Unified Process are:

Slide 33 / 49

The Unified Process (UP)

Slide 33: The Unified Process (UP)
Slide 34 / 49

The Unified Process (UP)

Slide 34: The Unified Process (UP)
Slide 35 / 49

The Unified Process (UP)

Slide 35: The Unified Process (UP)
Slide 36 / 49

Agile

Slide 36: Agile
Slide 37 / 49

Agile software engineering

Slide 37: Agile software engineering
Slide 38 / 49

Agile Manifesto Values, Principles, and Common Practices

Slide 38: Agile Manifesto Values, Principles, and Common Practices
Slide 39 / 49

Agile Manifesto and Mindset

Slide 39: Agile Manifesto and Mindset
Slide 40 / 49

Slide 40

Slide 40: Slide 40

Notes

  1. Agile values: individuals and interactions over processes and tools; working software over documentation; customer collaboration over contract negotiation; responding to change over following a plan.

  2. Trap The manifesto says the items on the right still have value; the left is valued MORE.

Exam angle

PredictionQ1

Which is an Agile Manifesto value?

Slide 41 / 49

The Four Values of the Agile Manifesto

Slide 41: The Four Values of the Agile Manifesto
Slide 42 / 49

Slide 42

Slide 42: Slide 42
Slide 43 / 49

The Twelve Principles Behind the Agile Manifesto

Slide 43: The Twelve Principles Behind the Agile Manifesto
Slide 44 / 49

The Twelve Principles Behind the Agile Manifesto

Slide 44: The Twelve Principles Behind the Agile Manifesto
Slide 45 / 49

Agile is a Blanket Term for Many Approaches

Slide 45: Agile is a Blanket Term for Many Approaches
Slide 46 / 49

Key points

Slide 46: Key points
Slide 47 / 49

Key points

Slide 47: Key points
Slide 48 / 49

Processes Feature Matrix

Slide 48: Processes Feature Matrix

Notes

  1. Feature matrix: compare models by requirements stability, customer involvement, risk, delivery speed.

Slide 49 / 49

Key points

Slide 49: Key points