Upload
vivek-patel
View
222
Download
2
Embed Size (px)
Citation preview
8/11/2019 Lecture 2 Software Process & Models
1/21
Chapter : Software Process
8/11/2019 Lecture 2 Software Process & Models
2/21
The Software Challenge
8/11/2019 Lecture 2 Software Process & Models
3/21
Q : If you have to write a 10,000 line program in C to solve a problem, how long will it
take?A: Generally range from 24 months
Let us analyze the productivity
Productivity = Output/Input resources
In SW
Output = LoC
Input resources = effort
= person months;
[overhead cost modeled in rate for person month]The productivity is 2.55 KLOC/PM.
Q: What is the productivity in a typical commercial SW organization?
A:Between 100 to 1000 LOC/PM. So, need to raise the productivity.
Introduction Jaypee Institute of Information Technology
The Software Challenge
8/11/2019 Lecture 2 Software Process & Models
4/21
Rough cost estimate
Productivity = 500 LOC/PM Cost to the company = $10K/PM
Cost per LOC = $20
So each line of delivered code costs about $20.
A simple application for a business may have 20KLOC to 50KLOC
Cost = $100K to $1Million
Can easily run on $10K$20K hardware
So HW costs
8/11/2019 Lecture 2 Software Process & Models
5/21
Introduction Jaypee Institute of Information Technology
Software is Expensive
8/11/2019 Lecture 2 Software Process & Models
6/21
Introduction Jaypee Institute of Information Technology
Software is Expensive
Moores law:processor speed/memory capacitydoubles every two years.
8/11/2019 Lecture 2 Software Process & Models
7/21
As per the IBM report,
31%of the project get cancelled before they are completed,
53% overruntheir cost estimates by an average of 189% and
for every 100 projects, there are 94 restarts.
Introduction Jaypee Institute of Information Technology
Software Crisis
8/11/2019 Lecture 2 Software Process & Models
8/21
Introduction Jaypee Institute of Information Technology
Software Failure Curve
8/11/2019 Lecture 2 Software Process & Models
9/21
The problem of producing software to satisfy user-needs drives the approaches used in SE
SE (IEEE): Systematic approach to development,., of software.
Systematic approach: Methodologies and practices that can be used to solve a
problem from problem domain
Q:What other factors that drive the selection of a SE approach?
1. scale,2. productivity,
3. quality,
4. consistency,
5. rate of change,
Introduction Jaypee Institute of Information Technology
What is Software Engineering
(1) The application of a systematic, disciplined, quantifiable approach to the development,
operation, and maintenance of software; that is, the application of engineering to
software.
(2) The study of approaches as in (1). - IEEE Definition
8/11/2019 Lecture 2 Software Process & Models
10/21
Introduction Jaypee Institute of Information Technology
Iron Triangle
8/11/2019 Lecture 2 Software Process & Models
11/21
Introduction Jaypee Institute of Information Technology
Iron Triangle - Violation
What happens when you break the triangle?
1) The project gets canceled.
2) The Project is deliver late, over budget, or both
3) The Project delivers poor quality software.
When development teams are forced to deliver more functionality than they have timeor resources for, they are often motivated to take short cuts which inevitably result in
poor quality.
4) The project under delivers.
The team fails to deliver all of the required functionality.
Recognize that the iron triangle must be respected.
8/11/2019 Lecture 2 Software Process & Models
12/21
The Software Engineering Institute (SEI) has developed process meta-model to
measure organizationslevel of process capability and maturity.
CMMIdeveloped by SEI
The CMMI defines each process area in terms of specific goals and the specific
practicesrequired to achieve these goals.
Specific goalsestablish the characteristics that must exist if the activities implied
by a process area are to be effective.
Specific practicesrefine a goal into a set of process-related activities.
Capability Maturity Model Integration (CMMI)
Introduction Jaypee Institute of Information Technology
8/11/2019 Lecture 2 Software Process & Models
13/21
Level 1 (Initial)
Characterized as ad hoc, and occasionally even chaotic Few processes are defined, and success depends on individual effort
Level 2 (Repeatable / Managed)
Basic project management processes are established to track cost, schedule, and
functionality
The necessary process discipline is in place to repeat earlier successes on projects
with similar applications
Level 3 (Defined)
The software process for both management and engineering activities is
documented, standardized, and integrated into a standard software processfor the
organization
All projects use an approved, tailored version of the organization's standard
software process for developing and maintaining software
Introduction Jaypee Institute of Information Technology
Capability Maturity Model Integration (CMMI)
8/11/2019 Lecture 2 Software Process & Models
14/21
Level 4 (Quantitatively Managed)-
All level 3 criteria have been satisfied.
Detailed measures of the software process and product quality are collected
Both the software process and products are quantitatively understood and controlled
Level 5 (Optimized)
Continuous process improvement is enabled by quantitative feedback from the process and
testing innovative ideas.
http://en.wikipedia.org/wiki/Capability_Maturity_Model_Integration
Introduction Jaypee Institute of Information Technology
Capability Maturity Model Integration (CMMI)
http://en.wikipedia.org/wiki/Capability_Maturity_Model_Integrationhttp://en.wikipedia.org/wiki/Capability_Maturity_Model_Integrationhttp://en.wikipedia.org/wiki/Capability_Maturity_Model_Integrationhttp://en.wikipedia.org/wiki/Capability_Maturity_Model_Integrationhttp://en.wikipedia.org/wiki/Capability_Maturity_Model_Integrationhttp://en.wikipedia.org/wiki/Capability_Maturity_Model_Integrationhttp://en.wikipedia.org/wiki/Capability_Maturity_Model_Integrationhttp://en.wikipedia.org/wiki/Capability_Maturity_Model_Integration8/11/2019 Lecture 2 Software Process & Models
15/21
Introduction Jaypee Institute of Information Technology
Capability Maturity Model Integration (CMMI)
8/11/2019 Lecture 2 Software Process & Models
16/21
Software Process
(IEEE) A sequence of steps (activities, methods, practices, and transformations)performed
for a given purpose(develop and maintain software)
Steps:
Specification
Design and Implementation
Validation
Evolution
A softwareprocess modelis an abstract representation of a process.
It presents a description of a process from some particular perspective
8/11/2019 Lecture 2 Software Process & Models
17/21
SOFTWARE PROCESS MODELS
8/11/2019 Lecture 2 Software Process & Models
18/21
Self Study - Terminologies
8/11/2019 Lecture 2 Software Process & Models
19/21
Self Study - Terminologies
8/11/2019 Lecture 2 Software Process & Models
20/21
Self Study - Terminologies
8/11/2019 Lecture 2 Software Process & Models
21/21
Self Study - Terminologies