Professional Documents
Culture Documents
Unit No 2 Slides (Full)
Unit No 2 Slides (Full)
Unit No 2 Slides (Full)
Course Outline:
Software Process
Both aim at satisfying the cost and quality objectives of the project.
Components of Software Process
Software
Software Project
Configuration
Development Management
Management
Process Process
Process
Characteristics of Software Process
The goal of this process is to reduce the cost of testing and maintenance.
Both testing and maintenance depend heavily on the design and coding
of software.
Characteristics of Software Process (contd…)
The greater the delay in detecting an error after it occurs, the more
expensive it is to correct it.
Characteristics of Software Process (contd…)
Process Improvement
The process must learn from previous experiences, and each project
done using the existing process must feed information back into the
process itself, which can then use this information for self-improvement.
Components of Software Process
Software Process
Software
Software Project
Configuration
Development Management
Management
Process Process
Process
Software Development Process
Software Development Process (contd…)
The process should aim to detect defects in the phase in which they
are introduced.
Waterfall Model
Prototyping Model
Spiral Model
Software Development Process Model (contd…)
Waterfall Model
Software Development Process Model (contd…)
• This model works well for smaller projects and projects where
requirements are well understood.
Software Development Process Model (contd…)
Limitations of Waterfall Model
The requirements of the system can be frozen (i.e., baselined) before
the design begins.
Prototyping Model
Prototyping Model
Software Development Process Model (contd…)
Prototyping Model
• Errors can be detected much earlier thereby saving a lot of effort and cost, besides
enhancing the quality of the software.
• The developed prototype can be reused by the developer for more complicated
projects in the future.
• Flexibility in design.
Software Development Process Model (contd…)
• There may be too much variation in requirements each time the prototype is evaluated by
the customer.
• The customer might lose interest in the product if he/she is not satisfied with the initial
prototype
Software Development Process Model (contd…)
Software Development Process Model (contd…)
• Early feedback is generated because implementation occurs rapidly for a small subset of the software.
• Becomes invalid when there is time constraint on the project schedule or when
the users cannot accept the phased deliverables.
• System architecture or design issues may arise because not all requirements are
gathered in the beginning of the entire life cycle.
Spiral Model
Requirements are gathered from the
customers and the objectives are identified,
elaborated and analyzed at the start of every
phase. Then alternative solutions possible
for the phase are proposed in this quadrant.
Software Development Process Model (contd…)
Spiral Model
All the possible solutions are evaluated to
select the best possible solution. Then the
risks associated with that solution is identified
and the risks are resolved using the best
possible strategy. At the end of this quadrant,
Prototype is built for the best possible solution.
Software Development Process Model (contd…)
Spiral Model
Spiral Model
Spiral Model
All the possible solutions are
Requirements are gathered from
evaluated to select the best possible
the customers and the objectives
solution. Then the risks associated
are identified, elaborated and
with that solution is identified and the
analyzed at the start of every phase.
risks are resolved using the best
Then alternative solutions possible
possible strategy. At the end of this
for the phase are proposed in this
quadrant, Prototype is built for the best
quadrant.
possible solution.
Spiral Model
• Radial Dimension – the cumulative cost incurred in accomplishing the
steps done so far.
• The exact number of loops of the spiral is unknown and can vary from project to
project.
• Each loop of the spiral is called a Phase of the software development process.
• One of the most important SDLC models, which provides support for Risk Handling.
Software Development Process Model (contd…)
Spiral Model
Meta Model
Software Development Process Model (contd…)
• Good for large projects: It is recommended to use in large and complex projects.
• Customer Satisfaction: Customer can see the development of the product at the early phase
of the software development and thus, they habituated with the system by using it before
completion of the total product.
Software Development Process Model (contd…)
• Complex: This Model is much more complex than other SDLC models.
• Too much dependable on Risk Analysis: The successful completion of the project is
very much dependent on Risk Analysis. Without very highly experienced expertise,
it is going to be a failure to develop a project using this model.
Other Models
• V Model
• Timeboxing Model
• V Model
Software Development Process Model (contd…)
• Timeboxing Model
Software Development Process Model (contd…)
Software
Software Project
Configuration
Development Management
Management
Process Process
Process
Project Management Process
Project Management Process
Planning
Termination Analysis
Project Management Process (contd…)
Cost Estimation
Project Staffing
Termination Analysis
IEEE Defines:
SCM is the process of identifying and defining the items in the system,
controlling the change of these items throughout their life cycle,
recording and reporting the status of items and change requests, and
verifying the completeness and correctness of items.
Change Control
Change Control
Change control is applicable once the SCIs are identified and their
dependencies understood.
• Requirement Change
• Changes due to Bugs
• Platform Change
• Enhancement Change
Software Configuration Management Process (contd…)
CR ID
About the Change Request
Items to be Changed
Description of Change
Reasons for Change
Priority of Change
Originator
Software Configuration Management Process (contd…)
CCB Comments
CR Approved/Rejected
Actions Needed
Comments
Implementation Information
Status of Change Implementation
Comments
Software Configuration Management Process (contd…)
CR ID
About the Change Request
Items to be Changed
Description of Change
Reasons for Change
Priority of Change
Originator
CCB Comments
CR Approved/Rejected
Actions Needed
Comments
Implementation Information
Status of Change Implementation
Comments
Software Configuration Management Process (contd…)
FR ID
Fault Information
Description of the Fault
Severity of the Fault
Item suspected of being faulty
Effect of the Fault
Circumstances and Environment data that caused the fault to
manifest itself.
Possible fixes
Originator
Software Configuration Management Process (contd…)
CCB Comments
CR Approved/Rejected
Priority
Comments
FR ID
Fault Information
Description of the Fault
Severity of the Fault
Item suspected of being faulty
Effect of the Fault
Circumstances and Environment data that caused the fault to
manifest itself.
Possible fixes
Originator
CCB Comments
CR Approved/Rejected
Priority
Comments
Fault Fixing Information
Items Changed
Comments
Software Configuration Management Process (contd…)
Software
Software Project
Configuration
Development Management
Management
Process Process
Process
Process Management Process
Basic objective is to improve the software process i.e., to improve
those process which produces good quality at low cost.
Common Framework:
Capability Maturity Model
The basic idea behind QIP is to understand the current process, set
objectives for improvement, and then plan and execute the
improvement actions.
The QIP consists of six basic steps:
Characterize
Set Goals
Choose Process
Execute
Analyze
Package
Process Management Process (contd…)
ISO 9002: Organizations which do not design products but are only
involved in production.