SlideShare uma empresa Scribd logo
1 de 41
SE-381
Software Engineering
BEIT-V
Lecture no. 11
Software Process Models – 3 of 4
Incremental, Iterative
Software Process Models
Commonly used SDLC Models
– Build-n-Fix Model
– Classical and Water Fall Model
– Prototyping (Rapid and Evolutionary) Model
– Incremental Model
– Timeboxing Model
– Risk Based Models
• Spiral Model
– eXtreme Programming
– Synchronise and Stabilize Model Object Oriented Life
Cycle Models - Fountain Model
– Unified Process Model
– Open Source Software Development Model
Incremental Model
• Real-life
– Artifacts or buildings, large
projects are built
incrementally
• In this Model we
– Design an Open-ended
architecture in mind to
support incremental growth
– Compile a “Project Control
List” (PCL) containing all
tasks or functions
– Different functions/parts
supported in different ‘builds’
• The Product is
– Designed, implemented, integ
rated and tested as series of
incremental ‘Builds’ where a
build consists of code pieces
from various modules
interacting to provide a
specific functional capability
– Product goes through the
cycle of
Design, Implementation and
Analysis
– In Analysis you decide what is
to be included from PCL into
the next build or Iteration
Incremental or Iterative Process
Design0
Implementation0
Analysis0
Design1
Implementation1
Analysis1
Designn
Implementationn
Analysisn
Iterations
.
.
.
Build 0 Build 1 Build n
Formulate Project Control List (PCL)
Decide the Contents of Different Builds
Incremental Model
Incremental Model ..
• Pros
• Software Products are models of Real-life which is prone to
Change, Incremental Model has in-built capability to handle
change
• Early delivery of Operational product
• Smooth transition of Users of the Product from manual to
automated system
• Simple and financially/functionally crucial builds can be developed
earlier and complex ones later
• All, to be supported tasks, are listed, prioritized and high priority
tasks are put in earlier builds and more complex tasks are included
in later builds (Millers law – At any one time, we humans are
capable of concentrating on 5 ± 2 chunks of information 1956)
• Lesser financial burden on the client as it is developed and
delivered incrementally, the benefits from use of the product start
pouring in early
Incremental Model …
• Cons
– Incomplete system as compared to well tested/documented product
produced by WF or RP models
– Well thought and flexible architectural design needed
– Each new build has to strengthen, co-exist and conform to the already
built system
– Too many builds may blur the boundaries or configurations of the
product and can loosen the developers control on the
product, whereas too few builds can also transform the model to
Build-n-fix or Waterfall model by de-linking the development process
from the client for a longer time. Hence a balance on number of builds
is to be maintained.
– Two different views for Design and Development are confusing
• Can the skill-set specific to different phases be shared ?
Incremental Model ….
• Skill-set specific to different phases can be
shared!
• After Requirements and specification, a team can be assigned
to specify the Build1
• As they finish the Specification of Build 1, the second team
can be assigned to Design Build 1, and the first team can start
specifying Build 2, and so on
• The work on multiple Builds can be taken in Parallel, and
experience/skills learnt by the teams from previous Builds can
be used in the development of subsequent builds
• What are possible problems?
Concurrent Incremental Model
Incremental or Iterative Enhancement
Model Contd.
• Douglas Bell 2005 has emphasized the
implementation part of Incremental Model
– Architectural Design has to be done thoroughly and
should be flexible and open ended
– Can be implemented using several approaches
• Top Down Approach
• Bottom Up Approach
• Middle Out Approach
• Use Case Based Approach
– The implementation approach to SD is like scaffolding
to building construction
– Scaffolding provides
» Support to structure and
» Access to structure, like an Arch Stone in an
Arch, similarly
– Test bed has to provide support and Access to the Sw
components
Test Drivers and Test Harnesses/Oracles are the programs
which are used to call the other component programs so
as if these are called and used in the actual environment
Stubs are dummies, written with the same interface and
name, for the program components which are still not
ready
Top Down Approach for Software
Development
Bottom Up Approach for Software
Development - 1
Bottom Up Approach for Software
Development - 2
• Middle Out Approach
– We take components from the middle of the
hierarchy (Architectural Design) and develop and
test them and then their related ones and so
proceed on.
• Use Case Based Approach
– We write Use Cases for the respective system and
start developing Use Case by Use Case
– ‘Use Case’ is Usage Case, how the user will be
interacting with the system, and usually it is the
implementation of some Functional Requirement
of the system.
– Use Cases can also help in Project
Management, Tracking and Control
Incremental Model
• Pros
• Product is made available (though with limited
functionality) within weeks as compared to
Waterfall or Rapid Prototyping Models output
which might take months or years
• Slow and productive transition of users/clients
working environment with the evolution of
developed product
• Phased delivery relieves client from high initial
capital costs and gives higher RoI (Return on
Investment) due to early use of product
Incremental Model
• Cons
• Too few builds degenerate the Incremental Model into
Build-n-Fix model or WF Model
• Too many builds will waste more time on Integration
testing, and blur configuration boundaries
• Open ended Architectural Design needed for required
flexibility, demands expertise which is scarce,
• More effort is required to support all sorts of
maintenance and extension in the later builds
• Concurrent Incremental model is risky, more than one
builds constructed simultaneously without stabilising the
lower level builds.
SE-381
Software Engineering
BEIT-V
Lecture no. 12
Software Process Models – 4 of 4
Time Boxing Model & Summary
Software Process Models
Commonly used SDLC Models
– Build-n-Fix Model
– Classical and Water Fall Model
– Prototyping (Rapid and Evolutionary) Model
– Incremental Model
– Timeboxing Model
– Risk Based Models
• Spiral Model
– eXtreme Programming
– Synchronise and Stabilize Model Object Oriented Life
Cycle Models - Fountain Model
– Unified Process Model
– Open Source Software Development Model
Timeboxing
• Is iterative, has linear sequence of iterations
• Each iteration is a mini waterfall – decide the
specs, then plan the iteration
• Time boxing – fix an iteration duration, then
determine the specs
• Divide iteration in a few equal stages
• Use pipelining concepts to execute iterations
in parallel
Time Boxed Iterations
• General iterative development – fix the
functionality for each iteration, then plan and
execute it
• In time boxed iterations – fix the duration of
iteration and adjust the functionality to fit-in
• Completion time is fixed, the functionality to
be delivered is flexible
Time boxed Iteration
• Useful in many situations
• Has predictable delivery times
• Overall product release and marketing can be
better planned
• Makes time a non-negotiable parameter and
helps focus attention on schedule
• Prevents requirements bloating / freezing
• Overall development time is still
unchanged, instead improved i.e. cycle time
Timeboxing Model – Taking Time
Boxed Iterations Further
• What if we have multiple iterations executing
in parallel
• Can reduce the average completion time by
exploiting parallelism
• For parallel execution, can borrow pipelining
concepts from hardware
• This leads to Timeboxing Process Model
Timeboxing Model – Basics
• Development is done iteratively in fixed duration
time boxes
• Each time box divided in fixed stages
• Each stage performs a clearly defined task that can
be done independently
• Each stage approximately equal in duration
• There is a dedicated team for each stage
• When one stage team finishes, it hands over the
project to the next team
Timeboxing
• With this type of time boxes, can use
pipelining to reduce cycle time
• Like hardware pipelining – view each iteration
as set of instructions being executed on an
artifact
• As stages have dedicated teams, simultaneous
execution of different iterations is possible
Example
• An iteration with three stages –
Analysis, Build, Deploy
– These stages are approximately equal in many
situations
– Can adjust durations by determining the
boundaries suitably
– Can adjust duration by adjusting the team size for
each stage
• Have separate teams for A - Analysis, B -
Build, and D - Design
Pipelined Execution
• AT (Analysis Team) starts executing it-1
• AT finishes, hands over it-1 to BT (Build
Team), starts executing it-2
• AT finishes it-2, hands over to BT; BT finishes
it-1, hands over to DT (Design Team); AT starts
it-3, BT starts it-2 (and DT, it-1)
• …
Timeboxing Execution
Software
Requirements Build Deploy
TB1
TB2
Requirements Build Deploy
TB2
Requirements Build Deploy
TB3
Requirements Build Deploy
TB4
Timeboxing execution
• First iteration finishes at time T
• Second finishes at T+T/3; third at T+2 T/3, and
so on
• In steady state, delivery every T/3 time
• If T is 3 weeks, first delivery after 3 wks, 2nd
after 4 wks, 3rd after 5 wks,…
• In linear execution, delivery times will be 3
wks, 6 wks, 9 wks,…
Timeboxing execution
• Duration of each iteration still the same
• Total work done in a time box is also the same
• Productivity of a time box is same
• Yet, average cycle time or delivery time has
reduced to a third
Team Size
• In linear execution of iterations, the same
team performs all stages
• If each stage has a team of size S, in linear
execution the team size is S
• In pipelined execution, the team size is three
times (one for each stage)
• That is, the total team size in timeboxing is
larger; and this reduces cycle time
Team Size
• Merely by increasing the team size we cannot
reduce cycle time - Brook’s law
• Time boxing allows structured way to add
manpower to reduce cycle time
• Note that we cannot change the time of an
iteration – Brook’s law still holds
• Work allocation different to allow larger team
to function properly
Work Allocation of Teams
Requirements
Team
Requirements
Analysis for TB1
Requirements
Analysis for TB3
Requirements
Analysis for TB2
Requirements
Analysis for TB4
Build Team
Deployment
Team
Build for TB1 Build for TB2 Build for TB3
Deployment for TB1Deployment for TB2
Build for TB4
Deployment for TB3
Requirements
Team
Requirements
Analysis for TB1
Requirements
Analysis for TB3
Requirements
Analysis for TB2
Requirements
Analysis for TB4
Build Team
Deployment
Team
Build for TB1 Build for TB2 Build for TB3
Deployment for TB1Deployment for TB2
Build for TB4
Deployment for TB3
Timeboxing
• Advantages: Shortened delivery times, other
advantage of iterative and distributed
execution
• Disadvantages: Larger teams, project mgmt is
harder, high synchronization
needed, Configuration Management is harder
• Applicability:
– When short delivery times is emphasized;
– Architecture is stable;
– Flexibility in feature grouping is possible
Summary
• Process is a means to achieve project
objectives of high Quality and Productivity
• Process models define generic process, which
can form basis of project process
• Process typically has stages, each stage
focusing on an identifiable task
• Many models for development process have
been proposed
Summary – waterfall
Strength Weakness Types of Projects
Simple
Easy to execute
Intuitive and logical
Easy to sign contracts
All or nothing – too
risky
Requirements frozen
early
May chose outdated
hardware/technology
Disallows changes
No feedback from
users
Encourages requirem-
ents bloating
Well understood
problems, short
duration projects,
automation of existing
manual systems
Summary – Prototyping
Strength Weakness Types of Projects
• Helps
Requirements
elicitation
• Stabilized User
Requirements
• Reduces risk
• Better and more
stable final
system
•Front heavy
•Possibly higher cost and
schedule
•Disallows later change
•Encourages requirements
bloating
•Systems with novice
users; or areas with
requirements
uncertainty.
•Heavy reporting based
systems can benefit
from UI prototypes
Summary – Iterative
Strength Weakness Types of Projects
•Regular deliveries,
leading to business
benefit
•Can accommodate
changes naturally
•Allows user feedback
•Avoids req bloating
•Naturally prioritizes
req
•Allows reasonable exit
points
•Reduces risks
•Overhead of planning
each iteration
•Total cost may
increase
•System architecture
and design may suffer
•Rework may increase
•For businesses where
time is important;
•risk of long projects
cannot be taken;
Requirements not
known and evolve with
time
Summary – Timeboxing
Strength Weakness Types of Projects
•All benefits of iterative
•Planning for iterations
somewhat easier
•Very short delivery
times
•PM becomes more
complex
•Team size is larger
•Complicated – lapses
can lead to losses
•Where very short
delivery times are very
important
•Where there is
flexibility in grouping
features
•Architecture is stable
References
[Bel05] Douglas Bell (2005); Software Engineering for
Students, 4th Edition, Pearson Education, New Delhi – Ch 21
The Waterfall Model and Ch 23 Prototyping
[Jal97/05] Pankaj Jalote (1997,2005); An Integrated Approach
to Software Engineering; 2nd /3rd Edition, Narosa Publishing
House, New Delhi – Ch 2 Software Processes
[Sch96] Stephen R Schach (1996);Classical and OO Software
Engineering; Irwin McGraw Hill, Boston – Ch 3 Software Life-
Cycle Models
The relevant parts of the above chapters to be read at home.
Assignment no 1
Deadline to be handed in on March 24, 2012 (Friday)
Individual Assignment, 3-paged preferably hand-
written, Cheated will earn Zero marks, delayed
submissions will loose 1 mark per delayed working
day, will be evaluated by viva, if required.
Choose the topic on the basis of your registration
no, [mod(Reg#,5)+1=n where n has a value given
below]
1. Spiral Model
2. eXtreme Programming
3. Synchronise and Stabilize Model
4. Unified Process Model
5. Open Source Software Development Model

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Incremental model
Incremental modelIncremental model
Incremental model
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Incremental and iterative stratergy
Incremental and iterative stratergyIncremental and iterative stratergy
Incremental and iterative stratergy
 
Increment model
Increment modelIncrement model
Increment model
 
Incremental process model
Incremental  process  modelIncremental  process  model
Incremental process model
 
Iterative model
Iterative modelIterative model
Iterative model
 
What is iterative model
What is iterative modelWhat is iterative model
What is iterative model
 
Peculiarities of RAD Model Development
Peculiarities of RAD Model DevelopmentPeculiarities of RAD Model Development
Peculiarities of RAD Model Development
 
V model
V modelV model
V model
 
What is v model
What is v modelWhat is v model
What is v model
 
Waterfall, Spiral and iterative model
Waterfall, Spiral and iterative modelWaterfall, Spiral and iterative model
Waterfall, Spiral and iterative model
 
Spiral model of SDLC
Spiral model of SDLCSpiral model of SDLC
Spiral model of SDLC
 
An Introduction to Iterative Software Development
An Introduction to Iterative Software DevelopmentAn Introduction to Iterative Software Development
An Introduction to Iterative Software Development
 
Iterative software development
Iterative software developmentIterative software development
Iterative software development
 
Edu+Presentation
Edu+PresentationEdu+Presentation
Edu+Presentation
 
Process models
Process modelsProcess models
Process models
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Fountain model
Fountain modelFountain model
Fountain model
 
Software engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall modelSoftware engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall model
 
Prototype Model
Prototype ModelPrototype Model
Prototype Model
 

Semelhante a Beit 381 se lec 11,12 - 41 - 12 mar16 - 3 & 4 of 4 - sdlc incremental and tb models

Softeng
SoftengSofteng
Softengralrez
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slidesvenkatasubramanianSr5
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.pptloloka1
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
04. Project Management
04. Project Management04. Project Management
04. Project ManagementBhuWan Khadka
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notesAruna M
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process ModelsAjit Nayak
 
SE 1a SDLC Session BCU.ppt
SE 1a SDLC Session BCU.pptSE 1a SDLC Session BCU.ppt
SE 1a SDLC Session BCU.pptMahiDivya
 
CISSP - Software Development Security
CISSP - Software Development SecurityCISSP - Software Development Security
CISSP - Software Development SecurityKarthikeyan Dhayalan
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptxAmna Ch
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleAashima Wadhwa
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdfBinNguynVn3
 

Semelhante a Beit 381 se lec 11,12 - 41 - 12 mar16 - 3 & 4 of 4 - sdlc incremental and tb models (20)

Softeng
SoftengSofteng
Softeng
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slides
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
 
Software process models
Software process modelsSoftware process models
Software process models
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
04. Project Management
04. Project Management04. Project Management
04. Project Management
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notes
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process Models
 
SE 1a SDLC Session BCU.ppt
SE 1a SDLC Session BCU.pptSE 1a SDLC Session BCU.ppt
SE 1a SDLC Session BCU.ppt
 
CISSP - Software Development Security
CISSP - Software Development SecurityCISSP - Software Development Security
CISSP - Software Development Security
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
2-SE Process Models.pptx
2-SE Process Models.pptx2-SE Process Models.pptx
2-SE Process Models.pptx
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
Process models
Process modelsProcess models
Process models
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
 
1 sdlc model
1 sdlc model1 sdlc model
1 sdlc model
 

Mais de babak danyal

Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Socketsbabak danyal
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streamsbabak danyal
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Javababak danyal
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the desbabak danyal
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network securitybabak danyal
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systemsbabak danyal
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systemsbabak danyal
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systemsbabak danyal
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systemsbabak danyal
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systemsbabak danyal
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systemsbabak danyal
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systemsbabak danyal
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systemsbabak danyal
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signababak danyal
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systemsbabak danyal
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniquesbabak danyal
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Securitybabak danyal
 

Mais de babak danyal (20)

applist
applistapplist
applist
 
Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Sockets
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streams
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Java
 
Tcp sockets
Tcp socketsTcp sockets
Tcp sockets
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the des
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systems
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systems
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systems
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systems
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systems
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systems
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systems
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systems
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signa
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systems
 
Lecture9
Lecture9Lecture9
Lecture9
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniques
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
 

Último

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 

Último (20)

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 

Beit 381 se lec 11,12 - 41 - 12 mar16 - 3 & 4 of 4 - sdlc incremental and tb models

  • 1. SE-381 Software Engineering BEIT-V Lecture no. 11 Software Process Models – 3 of 4 Incremental, Iterative
  • 2. Software Process Models Commonly used SDLC Models – Build-n-Fix Model – Classical and Water Fall Model – Prototyping (Rapid and Evolutionary) Model – Incremental Model – Timeboxing Model – Risk Based Models • Spiral Model – eXtreme Programming – Synchronise and Stabilize Model Object Oriented Life Cycle Models - Fountain Model – Unified Process Model – Open Source Software Development Model
  • 3. Incremental Model • Real-life – Artifacts or buildings, large projects are built incrementally • In this Model we – Design an Open-ended architecture in mind to support incremental growth – Compile a “Project Control List” (PCL) containing all tasks or functions – Different functions/parts supported in different ‘builds’ • The Product is – Designed, implemented, integ rated and tested as series of incremental ‘Builds’ where a build consists of code pieces from various modules interacting to provide a specific functional capability – Product goes through the cycle of Design, Implementation and Analysis – In Analysis you decide what is to be included from PCL into the next build or Iteration
  • 4. Incremental or Iterative Process Design0 Implementation0 Analysis0 Design1 Implementation1 Analysis1 Designn Implementationn Analysisn Iterations . . . Build 0 Build 1 Build n Formulate Project Control List (PCL) Decide the Contents of Different Builds
  • 6. Incremental Model .. • Pros • Software Products are models of Real-life which is prone to Change, Incremental Model has in-built capability to handle change • Early delivery of Operational product • Smooth transition of Users of the Product from manual to automated system • Simple and financially/functionally crucial builds can be developed earlier and complex ones later • All, to be supported tasks, are listed, prioritized and high priority tasks are put in earlier builds and more complex tasks are included in later builds (Millers law – At any one time, we humans are capable of concentrating on 5 ± 2 chunks of information 1956) • Lesser financial burden on the client as it is developed and delivered incrementally, the benefits from use of the product start pouring in early
  • 7. Incremental Model … • Cons – Incomplete system as compared to well tested/documented product produced by WF or RP models – Well thought and flexible architectural design needed – Each new build has to strengthen, co-exist and conform to the already built system – Too many builds may blur the boundaries or configurations of the product and can loosen the developers control on the product, whereas too few builds can also transform the model to Build-n-fix or Waterfall model by de-linking the development process from the client for a longer time. Hence a balance on number of builds is to be maintained. – Two different views for Design and Development are confusing • Can the skill-set specific to different phases be shared ?
  • 8. Incremental Model …. • Skill-set specific to different phases can be shared! • After Requirements and specification, a team can be assigned to specify the Build1 • As they finish the Specification of Build 1, the second team can be assigned to Design Build 1, and the first team can start specifying Build 2, and so on • The work on multiple Builds can be taken in Parallel, and experience/skills learnt by the teams from previous Builds can be used in the development of subsequent builds • What are possible problems?
  • 10. Incremental or Iterative Enhancement Model Contd. • Douglas Bell 2005 has emphasized the implementation part of Incremental Model – Architectural Design has to be done thoroughly and should be flexible and open ended – Can be implemented using several approaches • Top Down Approach • Bottom Up Approach • Middle Out Approach • Use Case Based Approach – The implementation approach to SD is like scaffolding to building construction
  • 11. – Scaffolding provides » Support to structure and » Access to structure, like an Arch Stone in an Arch, similarly – Test bed has to provide support and Access to the Sw components Test Drivers and Test Harnesses/Oracles are the programs which are used to call the other component programs so as if these are called and used in the actual environment Stubs are dummies, written with the same interface and name, for the program components which are still not ready
  • 12. Top Down Approach for Software Development
  • 13. Bottom Up Approach for Software Development - 1
  • 14. Bottom Up Approach for Software Development - 2
  • 15. • Middle Out Approach – We take components from the middle of the hierarchy (Architectural Design) and develop and test them and then their related ones and so proceed on. • Use Case Based Approach – We write Use Cases for the respective system and start developing Use Case by Use Case – ‘Use Case’ is Usage Case, how the user will be interacting with the system, and usually it is the implementation of some Functional Requirement of the system. – Use Cases can also help in Project Management, Tracking and Control
  • 16. Incremental Model • Pros • Product is made available (though with limited functionality) within weeks as compared to Waterfall or Rapid Prototyping Models output which might take months or years • Slow and productive transition of users/clients working environment with the evolution of developed product • Phased delivery relieves client from high initial capital costs and gives higher RoI (Return on Investment) due to early use of product
  • 17. Incremental Model • Cons • Too few builds degenerate the Incremental Model into Build-n-Fix model or WF Model • Too many builds will waste more time on Integration testing, and blur configuration boundaries • Open ended Architectural Design needed for required flexibility, demands expertise which is scarce, • More effort is required to support all sorts of maintenance and extension in the later builds • Concurrent Incremental model is risky, more than one builds constructed simultaneously without stabilising the lower level builds.
  • 18. SE-381 Software Engineering BEIT-V Lecture no. 12 Software Process Models – 4 of 4 Time Boxing Model & Summary
  • 19. Software Process Models Commonly used SDLC Models – Build-n-Fix Model – Classical and Water Fall Model – Prototyping (Rapid and Evolutionary) Model – Incremental Model – Timeboxing Model – Risk Based Models • Spiral Model – eXtreme Programming – Synchronise and Stabilize Model Object Oriented Life Cycle Models - Fountain Model – Unified Process Model – Open Source Software Development Model
  • 20. Timeboxing • Is iterative, has linear sequence of iterations • Each iteration is a mini waterfall – decide the specs, then plan the iteration • Time boxing – fix an iteration duration, then determine the specs • Divide iteration in a few equal stages • Use pipelining concepts to execute iterations in parallel
  • 21. Time Boxed Iterations • General iterative development – fix the functionality for each iteration, then plan and execute it • In time boxed iterations – fix the duration of iteration and adjust the functionality to fit-in • Completion time is fixed, the functionality to be delivered is flexible
  • 22. Time boxed Iteration • Useful in many situations • Has predictable delivery times • Overall product release and marketing can be better planned • Makes time a non-negotiable parameter and helps focus attention on schedule • Prevents requirements bloating / freezing • Overall development time is still unchanged, instead improved i.e. cycle time
  • 23. Timeboxing Model – Taking Time Boxed Iterations Further • What if we have multiple iterations executing in parallel • Can reduce the average completion time by exploiting parallelism • For parallel execution, can borrow pipelining concepts from hardware • This leads to Timeboxing Process Model
  • 24. Timeboxing Model – Basics • Development is done iteratively in fixed duration time boxes • Each time box divided in fixed stages • Each stage performs a clearly defined task that can be done independently • Each stage approximately equal in duration • There is a dedicated team for each stage • When one stage team finishes, it hands over the project to the next team
  • 25. Timeboxing • With this type of time boxes, can use pipelining to reduce cycle time • Like hardware pipelining – view each iteration as set of instructions being executed on an artifact • As stages have dedicated teams, simultaneous execution of different iterations is possible
  • 26. Example • An iteration with three stages – Analysis, Build, Deploy – These stages are approximately equal in many situations – Can adjust durations by determining the boundaries suitably – Can adjust duration by adjusting the team size for each stage • Have separate teams for A - Analysis, B - Build, and D - Design
  • 27. Pipelined Execution • AT (Analysis Team) starts executing it-1 • AT finishes, hands over it-1 to BT (Build Team), starts executing it-2 • AT finishes it-2, hands over to BT; BT finishes it-1, hands over to DT (Design Team); AT starts it-3, BT starts it-2 (and DT, it-1) • …
  • 28. Timeboxing Execution Software Requirements Build Deploy TB1 TB2 Requirements Build Deploy TB2 Requirements Build Deploy TB3 Requirements Build Deploy TB4
  • 29. Timeboxing execution • First iteration finishes at time T • Second finishes at T+T/3; third at T+2 T/3, and so on • In steady state, delivery every T/3 time • If T is 3 weeks, first delivery after 3 wks, 2nd after 4 wks, 3rd after 5 wks,… • In linear execution, delivery times will be 3 wks, 6 wks, 9 wks,…
  • 30. Timeboxing execution • Duration of each iteration still the same • Total work done in a time box is also the same • Productivity of a time box is same • Yet, average cycle time or delivery time has reduced to a third
  • 31. Team Size • In linear execution of iterations, the same team performs all stages • If each stage has a team of size S, in linear execution the team size is S • In pipelined execution, the team size is three times (one for each stage) • That is, the total team size in timeboxing is larger; and this reduces cycle time
  • 32. Team Size • Merely by increasing the team size we cannot reduce cycle time - Brook’s law • Time boxing allows structured way to add manpower to reduce cycle time • Note that we cannot change the time of an iteration – Brook’s law still holds • Work allocation different to allow larger team to function properly
  • 33. Work Allocation of Teams Requirements Team Requirements Analysis for TB1 Requirements Analysis for TB3 Requirements Analysis for TB2 Requirements Analysis for TB4 Build Team Deployment Team Build for TB1 Build for TB2 Build for TB3 Deployment for TB1Deployment for TB2 Build for TB4 Deployment for TB3 Requirements Team Requirements Analysis for TB1 Requirements Analysis for TB3 Requirements Analysis for TB2 Requirements Analysis for TB4 Build Team Deployment Team Build for TB1 Build for TB2 Build for TB3 Deployment for TB1Deployment for TB2 Build for TB4 Deployment for TB3
  • 34. Timeboxing • Advantages: Shortened delivery times, other advantage of iterative and distributed execution • Disadvantages: Larger teams, project mgmt is harder, high synchronization needed, Configuration Management is harder • Applicability: – When short delivery times is emphasized; – Architecture is stable; – Flexibility in feature grouping is possible
  • 35. Summary • Process is a means to achieve project objectives of high Quality and Productivity • Process models define generic process, which can form basis of project process • Process typically has stages, each stage focusing on an identifiable task • Many models for development process have been proposed
  • 36. Summary – waterfall Strength Weakness Types of Projects Simple Easy to execute Intuitive and logical Easy to sign contracts All or nothing – too risky Requirements frozen early May chose outdated hardware/technology Disallows changes No feedback from users Encourages requirem- ents bloating Well understood problems, short duration projects, automation of existing manual systems
  • 37. Summary – Prototyping Strength Weakness Types of Projects • Helps Requirements elicitation • Stabilized User Requirements • Reduces risk • Better and more stable final system •Front heavy •Possibly higher cost and schedule •Disallows later change •Encourages requirements bloating •Systems with novice users; or areas with requirements uncertainty. •Heavy reporting based systems can benefit from UI prototypes
  • 38. Summary – Iterative Strength Weakness Types of Projects •Regular deliveries, leading to business benefit •Can accommodate changes naturally •Allows user feedback •Avoids req bloating •Naturally prioritizes req •Allows reasonable exit points •Reduces risks •Overhead of planning each iteration •Total cost may increase •System architecture and design may suffer •Rework may increase •For businesses where time is important; •risk of long projects cannot be taken; Requirements not known and evolve with time
  • 39. Summary – Timeboxing Strength Weakness Types of Projects •All benefits of iterative •Planning for iterations somewhat easier •Very short delivery times •PM becomes more complex •Team size is larger •Complicated – lapses can lead to losses •Where very short delivery times are very important •Where there is flexibility in grouping features •Architecture is stable
  • 40. References [Bel05] Douglas Bell (2005); Software Engineering for Students, 4th Edition, Pearson Education, New Delhi – Ch 21 The Waterfall Model and Ch 23 Prototyping [Jal97/05] Pankaj Jalote (1997,2005); An Integrated Approach to Software Engineering; 2nd /3rd Edition, Narosa Publishing House, New Delhi – Ch 2 Software Processes [Sch96] Stephen R Schach (1996);Classical and OO Software Engineering; Irwin McGraw Hill, Boston – Ch 3 Software Life- Cycle Models The relevant parts of the above chapters to be read at home.
  • 41. Assignment no 1 Deadline to be handed in on March 24, 2012 (Friday) Individual Assignment, 3-paged preferably hand- written, Cheated will earn Zero marks, delayed submissions will loose 1 mark per delayed working day, will be evaluated by viva, if required. Choose the topic on the basis of your registration no, [mod(Reg#,5)+1=n where n has a value given below] 1. Spiral Model 2. eXtreme Programming 3. Synchronise and Stabilize Model 4. Unified Process Model 5. Open Source Software Development Model