You are on page 1of 23

Level 1

Level 1 Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends upon individual effort

Software Engineering II
Lecture 2

Fakhar Lodhi

Level 2
Level 2 Repeatable: Basic project management processes are established to track cost, schedule, and functionality. The necessary project discipline is in place to repeat earlier successes on projects with similar applications

Level 3
Level 3 Defined: The software process for both management and engineering activities is documented, standardized, and integrated into an organizational software process. All projects use a documented and approved version of the organizations processes for developing and supporting software

Level 4
Level 4 Managed: Detailed measures for software process and product quality are controlled. Both the software process and products are quantitatively understood and controlled using detailed measures

Level 5
Level 5 Optimizing: Continuous process improvement is enabled by qualitative feedback from the process and from testing innovative ideas and technologies

Key Process Areas (KPAs)


The KPAs describe those software engineering functions that must be present to satisfy good practice at a particular level. Each KPA is described by identifying the following characteristics

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 first version Modify until client is satisfied

Build and Fix Model

Maintenance phase
Development Maintenance

Retirement

Requirement Definition

Waterfall Model

System and Software Design


Implementation and Unit Testing Integration and System Testing Operation and Maintenance

Requirement Definition

Waterfall Model

System and Software Design


Implementation and Unit Testing Integration and System Testing Operation and Maintenance

Rapid Prototyping Requirement Definition System and Software Design

Rapid Prototyping Model

Implementation and Unit Testing Integration and System Testing Operation and Maintenance

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 o the software engineering activities

Process Maturity
SEI Software Engineering Institute 5 maturity levels Capability Maturity Model (CMM)

CMM Maturity Levels


OPTIMIZED Process Improvement MANAGED Process Measurement DEFINED Process Definition REPEATABLE Project Management INITIAL Ad hoc Process

Key Process Areas (KPAs)


Goals Abilities Methods for monitoring implementation Commitments Activities Methods for verifying implementation

Level 2 KPAs
Software Configuration Management Software Quality Assurance Software subcontract Management

Level 2 KPAs - Continued


Software project tracking and oversight Software project planning Requirement management

Level 3 KPAs
Peer reviews Inter-group coordination Software product Engineering Integrated software management

Level 3 KPAs - Continued


Training program Organization process management Organization process focus

Level 5 KPAs
Process change management Technology change management Defect prevention

Software Engineering Phases


1. Vision 2. Definition 2. Development 3. Maintenance focus focus focus focus on on on on

why what how change

Vision

Definition

Development

Maintenance