Krishna Mohan. G
Krishna Mohan. G
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
Krishna mohan. G 4
What are the steps ?
Depends on the software you are building
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)
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
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
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints
Umbrella Activities
Krishna mohan. G 10
SEI (Software Engineering Institute)
Level 1
Level 2
Level 3
Level 4
Level 5
SEI
has associated KPAs (Key Process Areas ) with each of the maturity levels.
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.
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
Krishna mohan. G 15
The Linear sequential Model
System/information
engineering
Krishna mohan. G 16
Follows systematic and sequential approach, begins at system level &
Progress through Analysis, Design, Coding, Testing and Support.
Design
Code generation
Testing
Support
Krishna mohan. G 17
System / information engineering and modeling
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.
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
• 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.
Krishna mohan. G 22
Support
• Software will undergo change
correction
adaption
enhancement
prevention
Krishna mohan. G 23
Problems ?
1. Changes can cause confusion as the project team proceeds.
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…
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.
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.
Krishna mohan. G 28
RAD Model
team #3
team #2
business
modeling
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.
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
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
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.
Krishna mohan. G 41
1st CIRCUIT: Results in the development of a product
specification
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
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.
Krishna mohan. G 44
Concurrent Development Model
recognizes that different part of the project will be at
different places in the process
Krishna mohan. G 45
None
Under
development
Awaiting
changes
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.
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
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
Krishna mohan. G 49
Problems ?
1. Development of formal model is Time consuming &
expensive
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.
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