Software Engineering II Lecture 3 Fakhar Lodhi. Software Life-Cycle Steps Life-cycle model...

Preview:

Citation preview

Software Engineering II

Lecture 3

Fakhar Lodhi

Software Life-Cycle Steps

Life-cycle model (formerly, process model)

– Requirements phase– Specification phase– Design phase– Implementation phase– Integration phase– Maintenance phase– Retirement

Different Lifecycle Models• Build-and-fix model• Waterfall model• Rapid prototyping model• Incremental model• Extreme programming• Synchronize-and-stabilize model• Spiral model• Object-oriented life-cycle models• Comparison of life-cycle models

Build and Fix ModelBuild first

version

Modify until client is satisfied

Maintenance phase

RetirementDevelopment

Maintenance

Waterfall ModelRequirement

Definition

System and Software Design

Implementationand Unit Testing

Integration andSystem Testing

Operation andMaintenance

Waterfall ModelRequirement

Definition

System and Software Design

Implementationand Unit Testing

Integration andSystem Testing

Operation andMaintenance

Rapid Prototyping

ModelRequirementDefinition

System and Software Design

Implementationand Unit Testing

Integration andSystem Testing

Operation andMaintenance

Rapid Prototyping

The Process

• A software process is a road map that helps you create a timely, high quality result.

• It is the way we produce software• Provides stability and control• Work Product

– Programs, documents, and data produced as a consequence of the software engineering activities

INITIAL – Ad hoc Process

REPEATABLE – Project Management

DEFINED – Process Definition

MANAGED – Process Measurement

OPTIMIZED – Process Improvement

CMM Maturity Levels

1. Vision – focus on why2. Definition – focus on what2. Development – focus on how3. Maintenance – focus on change

Software Engineering Phases

Vision Definition Development Maintenance

Software Lifecycle Models

• The way you organize your activities• Lifecycle model is a series of steps through which

the product progresses

Incremental Model

For each build:Perform detailed design, implementation and integration,test, deliver to client

Maintenance phase

Requirements phase

Verify

Specification phase

Verify

Architectural design

Verify

Retirement

Development

Maintenance

Incremental Development

Model

Recap

Recommended