Vous êtes sur la page 1sur 25

Software Engineering II

Lecture 2
Outline
Software development process
Software process models
Project Management Concepts
Software Project Planning
Risk Analysis and Management
Project Schedules and Tracking
Software Quality Assurance
Software Configuration Management
Software Process and Project Metrics
Requirement Engineering Processes
Verification and Validation
Process Improvement
Legacy Systems
Software Change
Software Re-engineering
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
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


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
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
Key Process Areas (KPAs)
Goals Commitments
Abilities Activities

Methods for monitoring Methods for verifying


implementation 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 4 KPAs
Software quality management

Quantitative process management


Level 5 KPAs
Process change management
Technology change management
Defect prevention
Software Engineering Phases

1. Vision focus on why


2. Definition focus on what
2. Development focus on how
3. Maintenance focus on change

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
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
Build first Model
version

Modify until
client is satisfied

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

Vous aimerez peut-être aussi