ITSE == Introduction To Software Engineering ...

ITSE == Introduction To Software Engineering

NCTUCS 2013-Fall Introduction to Software Engineering by Professor Feng-Jian Wang

Ch2 - Process Models

Process Patterns

  • A process pattern
    • describes a process-related problem that is encountered during software engineering work
    • identifies the environment in which the problem has been encountered
    • suggests one or more proven solutions to the problem.
  • A process pattern provides you with a template - a consistent method for describing problem solutions within the context of the software process.
  • Patterns can be defined at any level of abstraction. In some cases, a pattern might be used to describe a problem (and solution) associated with a complete process model.
  • patterns can be used to describe a problem (and solution) associated with a framework activity (e.g., planning) or an action within a framework activity (e.g., project estimating).
  • Ambler [Amb98] has proposed a template for describing a process pattern:
    • Pattern Name
    • Forces - The environment in which the pattern is encountered and the issues that make the problem visible and may affect its solution.
    • Type
      • Stage pattern - defines a problem associated with a framework activity for the process.
      • Task pattern - defines a problem associated with a software engineering action or work task and relevant to successful software engineering practice.
      • Phase pattern - define the sequence of framework activities that occurs within the process, even when the overall flow of activities is iterative in nature.
    • Initial context - Describes the conditions under which the pattern applies.
      1. What organizational or team-related activities have already occurred?
      2. What is the entry state for the process?
      3. What software engineering information or project information already exists?
    • Problem - The specific problem to be solved by the pattern
    • Solution - Describes how to implement the pattern successfully
    • Resulting Context - Describes the conditions that will result once the pattern has been successfully implemented.
    • Related Patterns - Provide a list of all process patterns that are directly related to this one.
    • Known Uses and Examples - Indicate the specific instances in which the pattern is applicable.

Prescriptive Process Models

The Waterfall Model


The V-Model


Incremental Process Models


Evolutionary Process Models

Evolutionary models are iterative.
They are characterized in a manner that enables you to develop increasingly more complete versions of the software.

  • Prototyping

  • The Spiral Model

  • Concurrent Models

The Unified Process (UP)

  • UP Phases
  • UP Work Products
  • Personal Software Process (PSP)
  • Team Software Process (TSP)



如果覺得這篇文章對你有幫助, 除了留言讓我知道外, 或許也可以考慮請我喝杯咖啡, 不論金額多寡我都會非常感激且能鼓勵我繼續寫出對你有幫助的文章。

If this blog post happens to be helpful to you, besides of leaving a reply, you may consider buy me a cup of coffee to support me. It would help me write more articles helpful to you in the future and I would really appreciate it.

Related Posts