Life Cycle and Process Models in Software Engineering

Introduction

Classic Software Life Cycle Activities

What is a Software Life Cycle model?

Why Model the Software Life Cycle?

What is a Software Process model ?

Traditional Software Life Cycle Models Classic Software Life Cycle (graphic)

Stepwise Refinement

Incremental Development and Release (graphic)

Industrial and Military Standards, and Capability Models (graphic)

Software Product Development Models Rapid Prototyping and Joint Application Development

Assembling Reusable Components

Application Generation

Software Documentation Support Environments (in this example, see Figures 2, 3, and 4)

Rapid Iteration, Incremental Evolution, and Evolutionary Delivery (graphic)

Program Evolution Models

Software Production Process Models Non-Operational Process Models The Spiral Model (graphic) Operational Process Models Operational specifications for rapid prototyping

Software automation or Automated Software Engineering (in this example, see Figures 2-8; here is another example)

Software process automation and process programming

Emerging Trends and New Directions Software process simulation Discrete-event process simulation

System Dynamics process simulation

Rule-based or knowledge-based simulation

Multi-agent process simulation

Process simulators

Web-based software process models and process engineering environments Process Markup Language (PML)

PML-based process life cycle environment (graphic) (demo)

Software process and business process reengineering (Re)Designing software processes to improve efficiency, effectiveness, or optimality

Example of very large software process architecture

Open source software development process models How and why are open source development processes different from those traditional to software engineering? Examples include: