Software Engineering Process Model
Software Engineering Process Model
Software is defined as
1. Instructions
- Programs that when executed provide
function
2. Data structures
-Enable the programs to adequately
manipulate information
3. Documents
-Describe the operation and use of the
programs.
desired
Failure rate
CHARACTERISTICS OF HARDWARE
Infant
mortality
Wear out
Time
CHARACTERISTICS OF SOFTWARE
LEGACY SOFTWARE
Legacy software are older programs that are developed
decades ago
quality of legacy software is poor
inextensible design , convoluted code
poor and nonexistent documentation,
test cases and results that are not achieved.
10
11
Software Evolution
Software evolves due to changes
Changes occur due to correction,adaption and enhancement
8 Laws of unified theory
The Law of Continuing Change.
The Law of Increasing Complexity.
The Law of Self-Regulation
The Law of Conservation of Organizational Stability.
The Law of Conservation of Familiarity
The Law of Continuing Growth
The Law of Declining Quality
The Feedback System Law
12
13
14
15
17
An activity
strives to achieve a broad objective and
applied regardless of the application domain
and size of the project
An action
encompasses a set of tasks that produce a
major work product
(e.g., architectural design)
A task
focuses on a small, but well-defined objective
that produces a tangible outcome
(e.g., conducting a unit test
18
19
Methods
-
software
Tools
- Provide semi-automatic and automatic support for
process and methods
21
A PROCESS FRAMEWORK
Establishes the foundation for a complete software process
Identifies a number of framework activities applicable to all
software projects
Also include a set of umbrella activities that are applicable
across the entire software process.
22
23
24
25
Communication
Heavy Communication and collaboration with customer
Encompasses requirement gathering and other related
activity
Planning
Establishes plan for software engineering work
It describe the technical task to be conducted
Risk that are likely to occur and the resource requirement
The work product to be produce and work schedule
26
Modeling
encompasses the creation of model that allow the developer
and customer to better understand software requirement
The deign that will achieve those requirement
Construction
code generation
Testing required to un cover error in a code
Deployment
The software is delivered to customer
Customers evaluate and give feedback based on evaluation
27
process flow
Describes how the framework activities and the actions and
tasks that occur within each framework activity are organized
with respect to sequence and time
A linear process flow executes each of the five framework
activities in sequence, beginning with communication and
culminating with deployment
28
29
30
31
32
33
Risk management
assesses risks that may affect the outcome of the
project or the quality of the product.
Steps
Risk identification
Risk prioritization
Risk treatment
34
35
Measurement
defines and collects process, project, and product
measures that assist the team in delivering
software that meets stakeholders needs; can be
used in conjunction with all other framework and
umbrella activities.
Software configuration management
manages the effects of change throughout the
software process.
36
Reusability management
defines criteria for work product reuse (including
software components) and establishes mechanisms
to achieve reusable components.
Work product preparation and production
encompasses the activities required to create work
products such as models, documents, logs,
forms,and lists.
37
(CMMI)
Developed by SEI(Software Engineering institute)
CMMI process meta model that defines the process
characteristics that should exist if an organization wants to
establish a software process that is complete
CMMI can be represented in different ways
1.A continuous model
2.A staged model
39
Focus of CMMI
40
41
Staged Representation
Provides a proven sequence of improvements, each serving
as a foundation for the next
Permits comparisons across and among organizations by the
use of maturity levels
43
Maturity Levels
A maturity level is a well-defined evolutionary
plateau of process improvement.
There are five maturity levels.
Each level is a layer in the foundation for continuous
process improvement using a proven sequence of
improvements, beginning with basic management
practices and progressing through a predefined and
proven path of successive levels.
44
Focus on continuous
process improvement
Quantitatively
Managed
Process measured
and controlled
Defined
3
Process characterized
for the organization and
is proactive
Managed
2
1
45
Initial
Continuous model:
Lets organization select specific improvement that
best meet its business objectives and minimize risk
Levels are called capability levels.
Describes a process in 2 dimensions
Each process area is assessed against specific goals
and practices and is rated according to the following
capability levels.
46
Continuous Representation
Allows you to select the order of improvement that best meets
your organizations business objectives and mitigates your
organizations areas of risk
Enables comparisons across and among organizations on a
process-area-by-process-area basis
Provides an easy migration from other models with a
continuous representation to CMMI
Indicates improvement within a single
process area -- to answer,
What is a good order for approaching
improvement of this process area?
47
48
Capability Levels
A capability level is a well-defined evolutionary plateau
describing the organizations capability relative to a
process area.
There are six capability levels.
For capability levels 1-5, there is an associated generic
goal.
Each level is a layer in the foundation for continuous
process improvement.
Thus, capability levels are cumulative, i.e., a higher
capability level includes the attributes of the lower
levels.
49
Model Components
Process Areas (PA)
Specific Goals (SG)
Specific Practices (SP)
Required
Expected
Informative
Informative
Informative
Informative
Informative
Required
Expected
Informative
PP - Capability Level 1
Project Planning
Specific Practices (CL1 - Base
Practices)
CMMI
INCOMPLETE
-Process is adhoc.Objective and goal of process areas are not
known
Performed
-Goal,objective,work tasks,work products and other activities of
software process are carried out
Managed
-Activities are monitored, reviewed, evaluated and controlled
Defined
-Activities are standardized, integrated and documented
53
Quantitatively Managed
-Metrics and indicators are available to measure the process
and quality
- Defect Prevention
Optimized
- Continuous process improvement based on quantitative feed
back from the user
-Use of innovative ideas and techniques, statistical quality
control and other methods for process improvement.
54
Maturity levels
LEVEL
FOCUS
PROCESS AREA
Optimizing
Continuous process
Improvement
Quantitatively
managed
Quantitative
management
Defined
Process standardized
Requirements Development
Technical Solution
Product Integration
Verification
Validation
Organizational Process Focus
Organizational Process Definition
Organizational Training
Integrated Project Management
Risk Management
55
Integrated Teaming
Integrated Supplier
Management
Decision Analysis and
Resolution
Organizational
Environment for Integration
Managed
Requirements Management
Project Planning
Project Monitoring and
Control
Supplier Agreement
Measurement and Analysis
Process and Product
Quality Assurance
Configuration Management
Performed
56
Defect Prevention
Technology Change Mgmt
Process Change Management
LEVEL 3
DEFINED
LEVEL 2
REPEATABLE
Intergroup Coordination
Peer Reviews
Requirements Management
Software Project Planning
Software Project Tracking & Oversight
Software Subcontract Mgmt
Software Quality Assurance
Software Configuration Mgmt
Requirements Management
Project Planning
Project Monitoring and Control
Supplier Agreement Management
Product & Process Quality Assurance
Configuration Management
Measurement and Analysis
57
PROCESS ASSESSMENT
Does not specify the quality of the software or whether the
software will be delivered on time or will it stand up to the
user requirements.
It attempts to keep a check on the current state of the software
process with the intention of improving it.
58
PROCESS ASSESSMENT
Software Process
to
tio
Software Process
Assessment
ca
M
od
i fi
Ca
pa
bi
lit
ds
a
Le
Le
a
to
Software Process
improvement
Motivates
Id
e
n
ti
f
i
e
s
es
i
f
ti
n
e
Id
Ex
by am
in
ed
ds
t
ie
s
&
Ri
sk
Capability determination
60
61
62
CLASSICAL WATERFALL
MODEL
By Royce:
Communication
project initiation
requirement gathering
Planning
estimating
scheduling
tracking
Modeling
analysis
design
Construction
code
test
Deployment
delivery
support
feedback
63
Sl
no
advantages
disadvantages
When to use
It
allows
departmentalization
managerial control.
for
and
Requirements are
well understood
Simple
and
easy
understand and use
to
Automation
of
existing
manual
system
Short
project
duration
64
65
66
advantages
disadvantages
When to use
Generates working
software quickly and
early during the software
life cycle.
67
Team # n
Mo de lin g
business modeling
data modeling
process modeling
RAD
Co n st ru ct io n
component reuse
automatic code
generation
testing
Team # 2
Communication
Modeling
business modeling
data modeling
process modeling
Planning
Construction
Team # 1
component reuse
automatic code
generation
testing
Modeling
Deployment
integration
delivery
feedback
business modeling
dat a modeling
process modeling
Construction
component reuse
automatic code
generation
testing
68
60 - 90 days
Sl
advantages
disadvantages
When to use
Suitable for
project requiring
shorter
development
times.
Requirements are
understood and
project scope is
constrained
Fully functional
system is to be
delivered in short
span of time
69
70
Prototype
71
Prototype
Quick plan
Communication
Modeling
Quick design
Deployment
Delivery
& Feedback
Construction
of
prototype
72
Sl
advantages
disadvantages
When to use
User
requirements
are not
complete
Technical
issues are not
clear
73
communication
modeling
analysis
design
start
deployment
delivery
feedback
construction
code
test
74
Sl
advantages
disadvantages
When to use
suitable for
development of
technically
challenging
software products
that are prone to
several kinds of
risks
Projects build on
untested
assumptions
Is utilized by
complex and
dynamic projects
75
76
none
Modeling activity
Under
development
A waiting
changes
Under review
Under
revision
Baselined
Done
77
78