0% found this document useful (0 votes)
48 views54 pages

Krishna Mohan. G

This document provides an overview of software engineering processes and process models. It discusses that software engineering is a layered technology that encompasses processes, methods, tools, and a generic view. It also describes common process frameworks and the key process areas defined by the Software Engineering Institute for different maturity levels. Finally, it summarizes several software process models including the linear sequential model, prototype model, RAD model, evolutionary models, and component-based development model.

Uploaded by

Pavan Kumar
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views54 pages

Krishna Mohan. G

This document provides an overview of software engineering processes and process models. It discusses that software engineering is a layered technology that encompasses processes, methods, tools, and a generic view. It also describes common process frameworks and the key process areas defined by the Software Engineering Institute for different maturity levels. Finally, it summarizes several software process models including the linear sequential model, prototype model, RAD model, evolutionary models, and component-based development model.

Uploaded by

Pavan Kumar
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 54

Chapter 2

Krishna mohan. G 1
••Software
Softwareengineering:
engineering:AALayered
Layeredtechnology
technology
••Process,
Process,methods,
methods,tools
tools
••AAGeneric
Genericview
viewof
ofsoftware
softwareengineering
engineering
••The
Thesoftware
softwareprocess
process
••software
software process
process models
models
••The
TheLinear
Linearsequential
sequentialmodel
model
••The
ThePrototype
Prototypemodel
model
••The
TheRAD
RADmodel
model
••Evolutionary
Evolutionarysoftware
softwareprocess
processmodels
models
••The
TheIncremental
Incrementalmodel
model
••The
TheSpiral
Spiralmodel
model
••The
The WINWINSpiral
WINWIN Spiralmodel
model
••The
TheConcurrent
Concurrentdevelopment
developmentmodel
model
••Component
Componentbased
baseddevelopment
development
••The
TheFormal
Formalmethods
methodsmodel
model
••Fourth
Fourthgeneration
generationtechniques
techniques
••Process technology
Process technology
••Product
Productand
andprocess
process
Krishna mohan. G 2
What is process ?
 A series of steps that we follow to create a timely,
high-quality product is called process.

Who does it ?
Software engineers and their managers adapt
the process to their needs and then follow it.

Krishna mohan. G 3
Why is it important ?

It provides
stability
control
& organization to an activity

otherwise

becomes uncontrolled and chaotic

Krishna mohan. G 4
What are the steps ?
Depends on the software you are building

What is the work product ?


Programs
Documents
Data

How do I ensure that I have done it right ?


Quality
Timeliness Are the indicators of the
Long-term viability efficacy of the process
Krishna mohan. G 5
Process Vs S/W engineering

Process defines
the approach that is taken as software is engineered

S/W engineering
encompasses …
Process
Methods
Tools

Krishna mohan. G 6
A Layered Technology
Software Engineering
Encompasses a broad array
of tasks that include…
Provide Requirement analysis
automated / semi automated support Design
for the process and methods Program construction
Testing and
tools Support

methods
process model (foundation)
a “quality” focus (bedrock)

Defines a frame work for a set of Key Process Areas

Krishna mohan. G 7
Generic view ofWhat
S/W
what function
How data
engineering
information
and
are to
is to be processed
beperformance
structured are desired
what system behavior
How function can be expected
is to be implemented
what
How interfaces
withare
procedural
.Associated to be
details
error established
are to be implemented
correction
 Work associated with s/w
what
How engineering
interfaces
.Adaptations are tocan
design constraints
required besoftware’s
asexist
be characterized
the
categorized into 3 generic
How phases.
testing will
environment be performed
evolves
.Changes due to enhancements

 Definition phase “focuses on WHAT”


 Development phase “focuses on HOW”
 Support phase “focuses on CHANGE”
 4 types of changes encountered during the support phase
• Correction
• Adaptation
• enhancement
• prevention

Krishna mohan. G 8
Umbrella Activities
 Software project management
 Formal technical reviews
 Software quality assurance
 Software configuration management
 Document preparation and production
 Reusability management
 Measurement
 Risk management

Krishna mohan. G 9
Process

Common process framework

Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints

Umbrella Activities

Krishna mohan. G 10
SEI (Software Engineering Institute)

provides a measure of the global effectiveness of a


company’s software engineering practices and establishes five
process maturity levels.

Level 1
Level 2
Level 3
Level 4
Level 5

SEI
has associated KPAs (Key Process Areas ) with each of the maturity levels.

18- KPA describes


Software engineering functions that must be present to satisfy good practice
at a particular level.
Krishna mohan. G 11
KPA s that should be achieved at each process maturity level.

Level 2 :
Software Configuration Management.
Software Quality Assurance.
Software Sub control Management.
Software Project tracking and Oversight.
Software Project Planning.
Requirements Management.

Krishna mohan. G 12
Level 3 :
Peer reviews.
Inter group Co-ordination.
Software Product engineering.
Integrated S/W Management.
Training Program.
Organization Process Definition.
Organization Process focus.
Level 4 :
Software Quality Management.
Quantitative Process Management.
Level 5 :
Process Change Management.
Technology change Management.
Defect Prevention
Krishna mohan. G 13
SOFTWARE PROCESS MODELS
Process model or Software Engineering paradigm:
The strategy followed by a team of engineers that encompasses
the Process, Methods, Tools and the generic phases to solve a
problem is called Process model.

Choosing a process model depends on?


- nature of the project and application.
- methods and tools to be used.
- controls and deliverables that are required.

Krishna mohan. G 14
Process as Problem Solving
Identifies the specific
Problem to be solved

problem
definition
Represents the current
State of affairs
status technical
quo development

solution
integration
Solves the problem Through
the application of some
technology

Delivers the results

Krishna mohan. G 15
The Linear sequential Model

System/information
engineering

analysis design code test

Also called as “Classic life cycle” or “Waterfall model”

Krishna mohan. G 16
Follows systematic and sequential approach, begins at system level &
Progress through Analysis, Design, Coding, Testing and Support.

Encompasses the following activities…

 System / information engineering and modeling

 Software requirement analysis

 Design

 Code generation

 Testing

 Support
Krishna mohan. G 17
 System / information engineering and modeling

Software is part of a larger system, which interact with other elements


such as H/W, People & Databases
 system level is essential

System engineering and analysis


encompasses requirements gathering at the system level
with a small amount of top level design and analysis.

Information engineering
encompasses requirements gathering at the strategic business
level & at the business area level.

Krishna mohan. G 18
 Software requirement analysis
• Focus is on software requirements gathering.

• To understand the nature of programs to be built software


engineer(ANALYST) must understand
information domain for the software
required function
required behavior
required performance
required interface etc…

• Requirements for system & software are documented and


reviewed with customer.

Krishna mohan. G 19
 Design
• Is a multi step process that focuses on 4 distinct attributes of
a program
data structure
software architecture
interface representations
procedural(algorithmic) detail

• Translates requirements into a representation of the


software that can be
assessed for quality before coding begins.

• Design is documented.

Krishna mohan. G 20
 Code generation
• The design is translated into a machine readable form.

Krishna mohan. G 21
 Testing
• Focuses on the logical internals of the software, ensuring
that all statements have been tested.

• Conduct tests to uncover errors and ensure that defined


input will produce actual results that agree with required
results.

Krishna mohan. G 22
 Support
• Software will undergo change
correction
adaption
enhancement
prevention

• Reapplies each of the preceding phases to an existing


program rather than a new one.

Krishna mohan. G 23
Problems ?
1. Changes can cause confusion as the project team proceeds.

2. It is often difficult for the customer to state all the


requirements explicitly.

3. A working version of the program will not be available until


late in the project time span.

4. Leads to blocking states.

Krishna mohan. G 24
Prototyping Model

listen
to build/revise
customer mock-up

customer
test-drives
mock-up

Krishna mohan. G 25
Is used when…

1. The customer defines a set of general objectives &


unaware of detailed input, processing or output
requirements.

2. The developer may be unsure of the efficiency of an


algorithm, adaptability of an operating system, or the
form that human machine interaction should take.

Krishna mohan. G 26
Begins with…
 Requirements gathering.
developer & customer meet and define the overall objectives
for the software, identify what ever requirements are
known, and outline areas where further definition is
mandatory.

 This leads to Quick design.The Quick design leads to the


construction of prototype.

It is easily acceptable to real life projects bacause of its


itarative nature.

 Iteration occurs …

Krishna mohan. G 27
Problems ?
1. 1. THE CUSTOMER DOESN’T KNOW THE DISTINGUISTION
BETWEEN THE ROUGH MODELS AND ACTUAL SOFTWARE. IT
LEADS TO CUSTOMER DISSATISFACTION.

2. 2. SOME TIMES REQUIRED STANDARDS ARE NOT MET.

SOME TIMES WHILE DEVELOPING ROUGH MODEL LOW


STANDARD IS CHOSED. BY THINKING THAT IT CAN BE
CONVERTED TO THE REQUIRED STANDARDS, BUT
AFTERWARDS BEING USED TO IT, REQUIRED STANDARD ARE
NOT MET

Krishna mohan. G 28
RAD Model
team #3
team #2
business
modeling

team #1 business dat a


modeling mode ling

process
business mode ling

modeling data
modeling application
generat ion

testing
&
process turnover

data modeling
modeling

application
generation
process
modeling testing
&
turnover

application
generation

testing
&
turnover

60 - 90 days

Krishna mohan. G 29
Is an incremental s/w development process that emphasizes an
extremely short development cycle(60-90 days).

Krishna mohan. G 30
1) Business modeling:
The information flow among business functions is modeled,
which answers the following questions.
What information drives the business process?
What information is generated?
Who generates it?
Where does the information go?
Who processes it?

Krishna mohan. G 31
2) Data Modeling:
The information flow defined in business modeling phase
is refined into a set of data objects that are needed to support
the business.
The characteristics of each object are identified and the
relationship between these objects defined.

3) Process Modeling:
Data objects defined in the data modeling phase are
transformed to achieve the information flow necessary to
implement a business function.
Krishna mohan. G 32
4) Application generation:
uses 4th generation techniques i.e works to reuse existing program
components of create reusable components.
Automated tools are used.

5) Testing and Turnover:


Reduces overall Testing time.
(:.it emphasizes reuse) which are already tested
new components must be tested,all interfaces must be exercised.

Krishna mohan. G 33
Problems ?
1. For large projects, requires sufficient human resources to
create the right no.of RAD Teams.
2. Requires developers and customers to be committed.
3. Not suitable for non modularized and high performance
system, where the performance is achieved through tuning
interfaces.
4. Not appropriate when technical risks are high.(i.e when, heavy
use of new technology)

Krishna mohan. G 34
Evolutionary
Evolutionarysoftware
softwareprocess
processmodels
models

are
areiterative
iterative&&enables
enabless/w
s/wengineers
engineerstotodevelop
developincreasingly
increasingly
more complete versions of the software
more complete versions of the software
1.1.Incremental
Incrementalmodel
model
2.2.Spiral model
Spiral model
3.3.WINWIN
WINWINspiral
spiralmodel
model
4.4.Concurrent
Concurrent developmentmodel
development model

Krishna mohan. G 35
The Incremental Model
System/information increment 1
engineering

analysis design code test delivery of


1st increment

increment 2 analysis design code test delivery of


2nd increment

increment 3 analysis design code test delivery of


3rd increment

increment 4 analysis design code test

delivery of
4th increment

calendar time

Krishna mohan. G 36
Follows
Follows
elements
elementsofoflinear
linearsequential
sequentialmodel
model
&&
Iterative
Iterativenature
natureofofprototyping
prototypingmodel
model
each
eachlinear
linearsequence
sequenceproduces
producesaadeliverable
deliverable‘increment’
‘increment’ofofthe
the
software.
software.
It
It isis useful
usefulwhen
whenstaffing
staffingisisunavailable
unavailablefor
foraacomplete
complete
implementation
implementationby bythe
thebusiness
businessdeadline
deadlinethat
thathas
hasbeen
beenestablished
established
for
forthe
theproject.
project.
Ex:
Ex: Word
Word processing
processingsoftware
software
11st: :file
st
filemanagement,
management, editing,
editing,document
document production.
production.
22ndnd: :more
more sophisticated
sophisticatedediting, document
editing, document production.
production.
33rdrd: :grammar checking, spell checking.
grammar checking, spell checking.
44thth: :advanced
advancedpage
pagelayout
layoutcapabilities.
capabilities.
Krishna mohan. G 37
Spiral Model
Pla n n in g
Risk Ana lysis

C usto m e r
C o m m unic a tio n

Eng in e e rin g

C usto m e r
Eva lua tio n C o nstruc tio n & Re le a se

Krishna mohan. G 38
It follows the

Iterative nature of prototyping


+
Controlled and systematic aspects of linear sequential model

The spiral model is divided into a number of frame work activities,


also called task regions.

Krishna mohan. G 39
1. Customer Communication :
Task required to establish effective communication
between developer and customer

2. Planning :
Tasks required to define resources,timelines and other
projected related information

3. Risk Analysis :
Tasks required to assess both technical and
management risks

4. Engineering :
Tasks required to build one /more representations of
the application

Krishna mohan. G 40
5. Construction and Release :
Tasks required to construct , Test, install and provide
user support

6. Customer Evaluation :
Tasks required to obtain customer feedback based on
evolution of the software representations created during
the engg stage and implemented during the installation stage.

Each of the regions is populated by a set of work tasks


called “Task Set”.

Krishna mohan. G 41
1st CIRCUIT: Results in the development of a product
specification

Subsequent Passes : Used to develop a prototype and then


progressively more sophisticated versions of the software.

project entry points


1. Concept Development
2. New Procuct Development
3. Product Enhancement
4. Product Maintaince

Krishna mohan. G 42
WinWin Spiral Model
Identify stake a) Reconcile win conditions
holders win b) establish next-level
conditions objectives constraints and
alternatives
Identify next
level stake
holders Evaluate process
and product
alternatives and
resolve risks

Review & document


validate product & Define next level of
process definitions product and process
including partitions

Krishna mohan. G 43
Note: stakeholder is a responsible person to built the product
and rewarded for a successful outcome and criticized if the
effort fails.
Here the customer may be asked to balance functionality,
performance, and other product or system characteristics
against cost and time to market.
CUSTOMER WINS BY: Getting the system or product that
satisfies the majority of the customer needs.

•DEVELOPER WINS BY: Working to realistic and achievable


budgets and deadlines.

Krishna mohan. G 44
Concurrent Development Model
recognizes that different part of the project will be at
different places in the process

•Called “Concurrent Engineering”


•represented schematically as a series of major technical
activities, tasks, and their associated states.
•Used especially for Client/Server applications.

•System dimension(server) is done in 3 activities


-design , assembly , use
•Component dimension(client) is done in 2 activities
•-design and realization

Krishna mohan. G 45
None

Under
development

Awaiting
changes

Under Represents a state of a software


Under review engineered activity
revision

Baselined

Done

Krishna mohan. G 46
Component Based Development
the process to apply when reuse is a development objective
Incorporates many of the characteristics of the spiral model
i.e evolutionary in nature & demanding an iterative approach.

Composes applications from prepackaged s/w components.

Activity begins with


identification of candidate classes
examining the data to be manipulated .
Examining algorithms to be applied to accomplish the
manipulation.

(Data + Algs) packed into a class.

Reusability reducesKrishna
timemohan.
by 70%
G and cost by 84%. 47
Pla nn in g
Risk Ana lysis

Custo m e r
Co m m unic a tio n

Eng ine e ring


Identify Candidate
components

C usto m e r
Eva lua tio n Co nstruc tio n & Re le a seConstruct
Nth iteration Look up
Of system Components
In library

Put new
Components Extract
In library Components
If available

Build
Components
If unavailable
Krishna mohan. G 48
Formal methods Model
the process to apply when a mathematical specification is to be
developed

Encompasses a set of activities that leads to formal


mathematical specification of computer software.

This eliminates ambiguity, incompleteness and


inconsistency can be discovered and corrected more easily.

Krishna mohan. G 49
Problems ?
1. Development of formal model is Time consuming &
expensive

2. Extensive training is required for developers.

3. Difficult to use models as communication mechanism for


customers

Krishna mohan. G 50
4GT: Fourth generation techniques
Encompasses a broad array of tools, (Eg: Non Procedural
Languages ) each enables the S/W engineer to specify some
characteristics of S/W at a high level. The tool then
automatically generates code based on the developer’s
specification.

 Focuses on the ability to specify S/W using specialized


language forms or a graphic natation.

STATE OF 4GT:
1. Offers credible solution to many S/W problems.
2. Time required is greatly reduced.
3. For large developments, demands analysis, design
for testing.
Krishna mohan. G 51
PROCESS TECHNOLOGY : ( TOOLS )
•Process technology tools help S/W organizations
- Analyze their current process
- Organize work tasks
- Control and Monitor progress
- Manage technical quality

Krishna mohan. G 52
PRODUCT & PROCESS
• If the process we adopt to develop is weak, then the
end product will suffer undoubtedly.

Krishna mohan. G 53
Krishna mohan. G 54

You might also like