[INF43] Lecture 15 Pr

软件工程 SoftwareEngineering


@ZYX 写于2020年06月02日


Process are rememdies

  1. Process can help but not silver bullet

What is model

  1. an ideal version of process: an ideal simplified representation

What is model for

  1. see ppt

Software Life Cycle Models



  1. Simple
    • Strength
    • Good for small programs that do not require much maintenance or many developers
    • Weaknesses
    • Not rigorous enough for non-trivial projects


  1. Very linear and very sequential
  2. Very ideal: all the requirements are written at the beginning, nothing will change
  3. Can create a lot of documentation
    • for the programs that are highly regulated like Space
    • Strength
    • Promotes understanding of requirements first
    • Disciplined, rigorous, formal
    • Lots of documentation
    • Good for projects with well-understood requirements that are unlikely to change
    • Provided a starting point for other software process models
    • Weakness
    • Rigid, not amenable to change
    • Limited user input
    • Bad for projects with any ambiguity in requirements or technology
    • Often run out of time for testing
    • “The waterfall model amounts to a pledge by all parties not to learn anything while doing the actual work.”

Rapid Prototyping

  1. “People don’t know what they want until they see what they don’t want.” – Humphrey’s Law
  2. “People don’t know what they want until you show it to them.” – Steve Jobs


  1. Software becomes more complex as the time going