SlideShare a Scribd company logo
1 of 32
Download to read offline
Software Development
Processes
spm
The Processes
• Software Development Process: a
structured and progressive refinement
from idea to an actual system
• Processes
– Waterfall
– Prototype
– Incremental
– Spiral
– V-Model
– Cleanroom
– RUP
– XP
– SCRUM
– RAD
– ASAP
– MSF
– DFDM
• Waterfall defined by Royce (seventies)
• Introduced to address the “software
crisis”
• New processes proposed to:
– Increase flexibility in the organization of
development activities
– Improve:
* User satisfaction (building systems that are closer to user
needs)
* Efficiency (building systems faster)
* Time and costs (being more reliable with estimations)
* Quality
• Heavy-weight vs. Agile
!2
spm
Waterfall Model
!3
I SYSTE
M
I ANALYSIS
PROGRAM
DESIGN
I coo,.o
TESTING
I OPERATIONS
Figure 2. Implementation steps to develop a large computer program for delivery to a customer.
I believe in this concept, but the implementation described above is risky and invites failure. The
problem is illustrated in Figure 4. The testing phase which occurs at the end of the development cycle is the
• Managing the development of
large software systems
(Winston W. Royce)
spm
Waterfall Model
!4
/,
I0:
w
Z
/oo
i
,~
g
~
Irl
.
.
o
i0
.
i
IIII
~,-
,,*,1
=
•
.
~
illl
~
$
~
m
z
~
_
~
u,
E
X
E
8
"
0
Ill
N
~
,
.~-
r"
.2
/
"
z_
,,,.
~
~
E
~OLU
a
.
.
~
N
N
I
Z
,
~
,
-
w
i
-
,
<
~
t
-
LL
333
• Managing the development of
large software systems
(Winston W. Royce)
spm
Waterfall Model
• Inflexible partitioning of the project into distinct stages
• This makes it difficult to respond to changing customer
requirements
• This model is only appropriate when:
– The requirements are well-understood and/or
– The level of formality is high (e.g. it is essential to “freeze” the
requirement document)
!5
spm
Waterfall Model
!6
I SYSTEM !
REQUIREMENTSIBI~
~"'i so,w.,~ I
ANALYSIS
~1111~
II pRI~OGRAM
~lll I CODING Ii
TESTING
OPERATIONS
Figure3. Hopefully,the ~terat=ve
interact=onbetweenthevariousphasesisconfinedto successivesteps.
I SYSTEM "1
.~oo,.~-,..Sl.,~
• Managing the development of
large software systems
(Winston W. Royce)
spm
Waterfall Variations
• Sashimi waterfall: activities are allowed to overlap
• Waterfall with sub projects: implementation of
different components proceeds in parallel
• Waterfall with risk reduction: an initial risk analysis
helps mitigate risks in later phases of implementation
!7
spm
V-Cycle
!8
Requirements
Specification
Architectural
Design
Coding Unit Testing
Integration
Testing
System
Testing
Acceptance
Testing
• Structural support
for backtracking
• Focus on testing
• German standard
spm
Rational Unified Process
!9
spm
Rational Unified Process
• Process introduced by Rational in the eighties
(the same company of UML) [Rational is now IBM]
!
• Process organized in two dimension:
– phases, organized in iterations, correspond to different levels of
maturity
– workflows, focusing on a specific software development concern
• Phases are organized in iterations
• Workflows are overlapping and characterized by levels of
intensity
!10
spm
Rational Unified Process Best Practices
• Six main practices define guiding principles of RUP:
– Develop software iteratively
– Manage requirements (including evaluation of product
alternatives)
– Use component-based architectures (robust components)
– Visually model software (simple and unambiguous
representation to build a shared vision)
– Verify software quality
– Control changes to the software (both for quality and
management)
!11
spm
Open Unified Process
• The evolution of RUP
• Open source
• “Agile”
• http://epf.eclipse.org/
wikis/openup/
!12
spm
Spiral
!13
Review
Evaluate alternatives,
risks
Commitment
partition
  DeveloD- 1 Reauirements besign /T---i
Plan next phases
!‘,“I’p-y 1 Design validation
verify
I next-level product
Figure 2. Spiral model of the software process.
• A Spiral Model of Software
Development and Enhancement
(Barry W. Boehm)
spm
Spiral
• Defined by Barry W. Boehm (end of the ‘80s)
• Iterative: software is developed in cycles
• Each loop in the spiral represents a phase in the process.
• No fixed phases such as specification or design - loops in the
spiral are chosen depending on what is required
• Alternative and risk-aware: first phases include an evaluation of
possible alternatives and an assessment of the risks
• The paper includes a list of common project risks (*)(not only
process, also practices)
(*) which we will look at during the Risk Management lessons
!14
spm
Spiral
• Advantages
– Alternative and Risk driven
– It accommodates different
software development
practices (among which
reuse and automatic code
generation)
– Intrinsically fit for software
evolution (maintenance is
another loop in the spiral)
• Disadvantages
– Matching to contract
software
– Difficulties in coming out
with estimations at the
beginning
– Flexibility
!15
spm
Prototype Approach
• Once the high level requirements are fixed, a prototype
of the application is developed (e.g. the GUI) and
evaluated with the client
• Breadth and depth of the prototype
– Horizontal prototype: focus on the application
– Vertical prototype: focus on a specific function
• Types of prototypes:
– Throw-away: the prototype demonstrates the system (but it is
not the system!)
– Evolutionary: the prototype evolves to become the system
!16
spm
Prototype Approach
!17
High Level
Requirements
Architectural
Design
Implementation
Detailed
Requirements
Evaluation
Prototype
Testing (V&V)
spm
Prototype Approach
• Advantages
– Shared view on
requirements: the client has
a better understanding of the
final product and can provide
more specific comments.
– Difficult and risky
components can be
developed early to verify the
feasibility of critical parts of
the system
!
• Disadvantages
– Lack of process visibility
– Re-work (and frustration)
– The evolutionary approach
leads to poor architectures
(because they are built with
incomplete information)
• Applicability
– For small or medium-size
interactive systems
– For parts of large systems
(e.g. the user interface)
– For short-lifetime systems
!18
spm
Incremental
• Development and delivery is broken down into
increments
• Each increment delivers part of the required
functionality
• Requirements are prioritized and the highest priority
requirements are included in early increments
• Once the development of an increment is started, the
requirements are frozen
• Requirements for later increments can continue to
evolve
!19
spm
Incremental
!20
Requirements
Allocate
Requirements
to Increments
Define
Architecture
Implement
Increment
Validate
Increment
Integrate
Increment
Validate
System
System
spm
Incremental
• Advantages
– System functionality is available
earlier and customer does not
have to wait as long
– Early increments act as a
prototype to help elicit
requirements for later increments
– Lower risk of overall project
failure
– The highest priority system
services tend to receive the most
testing
!
!
• Disadvantages
– System architecture tends to
degrade (as with other evolutive
approaches)
– Some increments might cause
significant re-work
!21
spm
Clean Room Software Engineering
• A process for zero-defect
software
• Based on formal methods
and statistical testing
• Quick and clean … an
incremental done right
!22
Specification
Increments
Planning
Formal Design &
Implementation
Random Test
Case Generation
Statistical Testing
Quality
Certification
Testing Results
(Estimation of MTTF)
Process Improvement
Suggestions
[system not finished yet]
[system
built]
Functional Specification Usage Specification
Customer Requirements
spm
Open Source Development Process
• The development of open source software has various
distinguishing features:
– The project often starts from an existing code based
(sometimes large)
– Community of developers working on a volunteer-basis (not all);
with different experience; geographically distributed
– Some challenges: involvement with different roles; quality
control; difficult to plan releases
!23
spm
Open Source Development Process
• General model:
– A roadmap defines software
evolution
– Coding starts from a
product backlog and is
released as a patch
– Code review ensures quality
• Two models:
– fix features (deliver when
ready)
– deliver at fixed dates (with
the features you have)
!24
Develop
Project Artifacts
Initial
Release
Code
Release
Steer
System
Roadmap
Product
Backlog
Source
Code
Packaged
Relase
Review
Incorporate
Patch
spm
Firefox Release Schedule
!25
1
2
3
4
5
6
7
8
Task Name
mozilla-central
mozilla-aurora
mozilla-beta
firefox
check compatibility
with extension
security check
quality assurance
go/no go decision
W52 W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11 W12 W13 W14 W15 W16 W17 W18 W19 W20 W21
Some Additional
Concerns
spm
spm
Project Management/SW Development
• All development processes need to integrate
development and management workflows
• For instance:
!27
Requirements Design
Implementation
& Testing
Deployment
Requirement
s Document
System
Architecture
System System in
Production
High Level
Planning
Management
Documents
System Sizing
and Detailed
Plan
Management
Documents
Monitoring
and Control
Closing
Project Data
Development
Activities
Management
Activities
spm
System Organization and Decomposition
• Complex systems are
structured in more elementary
components
• Different strategies:
– Top-down decomposition
(system/component/item): the
development of upper levels is
achieved by composing more
elementary components
– Bottom-up Composition
(different components can be
developed independently and
then integrated)
!28
System
Component N
...
Component 1
Item 1 ... Item M
Hierarchical
decomposition
Components
Component 1
Component 2 Component N
spm
Product Families
• Issues
– Operating System
– User experience on different platforms
– Devices (screen sizes, capabilities)
– Available technologies
• Approaches
– Single architecture (e.g. Java)
– “Adaptable” components (e.g.
responsive designs)
– Different products with shared
components
– Independent development with
common interfaces/APIs
!29
Core Components
(Business Logic/Model)
Views for OS1
Views for OS2
Adaptors for OS1
Adaptors for OS1
Support
Artifacts
(e.g. docs)
Support
Artifacts
(e.g. docs)
Different products with
shared components
spm
Some Consequences
• For complex systems:
– software development activities are “recursive” and carried at
increasing levels of granularity
– software development is composed of various development
processes running in parallel
!30
V&V
Implementation
Design
Requirements
Design
Implementation
V&V
Requirements
System 1
V&V
Implementation
Design
Requirements
System 2
...
Requirements
Design
Implementation
V&V
Requirements
Design
Implementation
V&V
Requirements
Design
Implementation
V&V
System
Reqquirements
Exercise
spm
Customizing a Process
• We want to build a web application for managing the
books of small businesses
• Questions
– What process?
– What activities?
– What products?
!32

More Related Content

Similar to C07.01-02-SW-DevelopmentProcess.key.pdf

Session2.ppt
Session2.pptSession2.ppt
Session2.pptMehuk1
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)EveryThing68
 
Life cycle models cccccccccccccccccccccccccccccccccccccccccccccccc.pdf
Life cycle models cccccccccccccccccccccccccccccccccccccccccccccccc.pdfLife cycle models cccccccccccccccccccccccccccccccccccccccccccccccc.pdf
Life cycle models cccccccccccccccccccccccccccccccccccccccccccccccc.pdfSohamChatterjee47
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.pptNyamburaKinyua
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Iscope Digital Media Offshore Software Development Company
Iscope Digital Media Offshore Software Development CompanyIscope Digital Media Offshore Software Development Company
Iscope Digital Media Offshore Software Development CompanyIscope Digital
 
software development life cycle
software development life cyclesoftware development life cycle
software development life cycleAnanthachethan
 
Offshore Software Development company India
Offshore Software Development company IndiaOffshore Software Development company India
Offshore Software Development company Indiarahulkwebvirtue
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleGurban Daniel
 

Similar to C07.01-02-SW-DevelopmentProcess.key.pdf (20)

Session2.pptx.ppt
Session2.pptx.pptSession2.pptx.ppt
Session2.pptx.ppt
 
SDLC.PPT
SDLC.PPTSDLC.PPT
SDLC.PPT
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)presentation ofSoftware Development Life Cycle (SDLC)
presentation ofSoftware Development Life Cycle (SDLC)
 
SDLC.ppt
SDLC.pptSDLC.ppt
SDLC.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
Session2 (1).ppt
Session2 (1).pptSession2 (1).ppt
Session2 (1).ppt
 
Session2
Session2Session2
Session2
 
SDLC
SDLCSDLC
SDLC
 
Life cycle models cccccccccccccccccccccccccccccccccccccccccccccccc.pdf
Life cycle models cccccccccccccccccccccccccccccccccccccccccccccccc.pdfLife cycle models cccccccccccccccccccccccccccccccccccccccccccccccc.pdf
Life cycle models cccccccccccccccccccccccccccccccccccccccccccccccc.pdf
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.ppt
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Iscope Digital Media Offshore Software Development Company
Iscope Digital Media Offshore Software Development CompanyIscope Digital Media Offshore Software Development Company
Iscope Digital Media Offshore Software Development Company
 
software development life cycle
software development life cyclesoftware development life cycle
software development life cycle
 
Offshore Software Development company India
Offshore Software Development company IndiaOffshore Software Development company India
Offshore Software Development company India
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Sdlc
SdlcSdlc
Sdlc
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 

More from ssuser8babb7

C03.04c-InDepth-OP.key.pdf
C03.04c-InDepth-OP.key.pdfC03.04c-InDepth-OP.key.pdf
C03.04c-InDepth-OP.key.pdfssuser8babb7
 
C07.03-05-SW-DevelopmentProcess-Agile.key.pdf
C07.03-05-SW-DevelopmentProcess-Agile.key.pdfC07.03-05-SW-DevelopmentProcess-Agile.key.pdf
C07.03-05-SW-DevelopmentProcess-Agile.key.pdfssuser8babb7
 
C06.00-ProjectPricing.key.pdf
C06.00-ProjectPricing.key.pdfC06.00-ProjectPricing.key.pdf
C06.00-ProjectPricing.key.pdfssuser8babb7
 
C05.03-Communication.key.pdf
C05.03-Communication.key.pdfC05.03-Communication.key.pdf
C05.03-Communication.key.pdfssuser8babb7
 
C05.02-OrganizationalStructures.key.pdf
C05.02-OrganizationalStructures.key.pdfC05.02-OrganizationalStructures.key.pdf
C05.02-OrganizationalStructures.key.pdfssuser8babb7
 
C04.02-RiskManagement.key.pdf
C04.02-RiskManagement.key.pdfC04.02-RiskManagement.key.pdf
C04.02-RiskManagement.key.pdfssuser8babb7
 
C03.09-AgileMonitoringAndControl.key.pdf
C03.09-AgileMonitoringAndControl.key.pdfC03.09-AgileMonitoringAndControl.key.pdf
C03.09-AgileMonitoringAndControl.key.pdfssuser8babb7
 
C04.01-ManagingChanges.key.pdf
C04.01-ManagingChanges.key.pdfC04.01-ManagingChanges.key.pdf
C04.01-ManagingChanges.key.pdfssuser8babb7
 
C03.10-ProjectClosing.key.pdf
C03.10-ProjectClosing.key.pdfC03.10-ProjectClosing.key.pdf
C03.10-ProjectClosing.key.pdfssuser8babb7
 
C03.08-09-ExecutionMonitoringControl.key.pdf
C03.08-09-ExecutionMonitoringControl.key.pdfC03.08-09-ExecutionMonitoringControl.key.pdf
C03.08-09-ExecutionMonitoringControl.key.pdfssuser8babb7
 
C03.07-BudgetingAndAccounting.key.pdf
C03.07-BudgetingAndAccounting.key.pdfC03.07-BudgetingAndAccounting.key.pdf
C03.07-BudgetingAndAccounting.key.pdfssuser8babb7
 
C03.06-OptimizingThePlan.key.pdf
C03.06-OptimizingThePlan.key.pdfC03.06-OptimizingThePlan.key.pdf
C03.06-OptimizingThePlan.key.pdfssuser8babb7
 
C03.05-Scheduling.key.pdf
C03.05-Scheduling.key.pdfC03.05-Scheduling.key.pdf
C03.05-Scheduling.key.pdfssuser8babb7
 
C03.04-Estimating.key.pdf
C03.04-Estimating.key.pdfC03.04-Estimating.key.pdf
C03.04-Estimating.key.pdfssuser8babb7
 

More from ssuser8babb7 (14)

C03.04c-InDepth-OP.key.pdf
C03.04c-InDepth-OP.key.pdfC03.04c-InDepth-OP.key.pdf
C03.04c-InDepth-OP.key.pdf
 
C07.03-05-SW-DevelopmentProcess-Agile.key.pdf
C07.03-05-SW-DevelopmentProcess-Agile.key.pdfC07.03-05-SW-DevelopmentProcess-Agile.key.pdf
C07.03-05-SW-DevelopmentProcess-Agile.key.pdf
 
C06.00-ProjectPricing.key.pdf
C06.00-ProjectPricing.key.pdfC06.00-ProjectPricing.key.pdf
C06.00-ProjectPricing.key.pdf
 
C05.03-Communication.key.pdf
C05.03-Communication.key.pdfC05.03-Communication.key.pdf
C05.03-Communication.key.pdf
 
C05.02-OrganizationalStructures.key.pdf
C05.02-OrganizationalStructures.key.pdfC05.02-OrganizationalStructures.key.pdf
C05.02-OrganizationalStructures.key.pdf
 
C04.02-RiskManagement.key.pdf
C04.02-RiskManagement.key.pdfC04.02-RiskManagement.key.pdf
C04.02-RiskManagement.key.pdf
 
C03.09-AgileMonitoringAndControl.key.pdf
C03.09-AgileMonitoringAndControl.key.pdfC03.09-AgileMonitoringAndControl.key.pdf
C03.09-AgileMonitoringAndControl.key.pdf
 
C04.01-ManagingChanges.key.pdf
C04.01-ManagingChanges.key.pdfC04.01-ManagingChanges.key.pdf
C04.01-ManagingChanges.key.pdf
 
C03.10-ProjectClosing.key.pdf
C03.10-ProjectClosing.key.pdfC03.10-ProjectClosing.key.pdf
C03.10-ProjectClosing.key.pdf
 
C03.08-09-ExecutionMonitoringControl.key.pdf
C03.08-09-ExecutionMonitoringControl.key.pdfC03.08-09-ExecutionMonitoringControl.key.pdf
C03.08-09-ExecutionMonitoringControl.key.pdf
 
C03.07-BudgetingAndAccounting.key.pdf
C03.07-BudgetingAndAccounting.key.pdfC03.07-BudgetingAndAccounting.key.pdf
C03.07-BudgetingAndAccounting.key.pdf
 
C03.06-OptimizingThePlan.key.pdf
C03.06-OptimizingThePlan.key.pdfC03.06-OptimizingThePlan.key.pdf
C03.06-OptimizingThePlan.key.pdf
 
C03.05-Scheduling.key.pdf
C03.05-Scheduling.key.pdfC03.05-Scheduling.key.pdf
C03.05-Scheduling.key.pdf
 
C03.04-Estimating.key.pdf
C03.04-Estimating.key.pdfC03.04-Estimating.key.pdf
C03.04-Estimating.key.pdf
 

Recently uploaded

KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 

Recently uploaded (20)

KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 

C07.01-02-SW-DevelopmentProcess.key.pdf

  • 2. spm The Processes • Software Development Process: a structured and progressive refinement from idea to an actual system • Processes – Waterfall – Prototype – Incremental – Spiral – V-Model – Cleanroom – RUP – XP – SCRUM – RAD – ASAP – MSF – DFDM • Waterfall defined by Royce (seventies) • Introduced to address the “software crisis” • New processes proposed to: – Increase flexibility in the organization of development activities – Improve: * User satisfaction (building systems that are closer to user needs) * Efficiency (building systems faster) * Time and costs (being more reliable with estimations) * Quality • Heavy-weight vs. Agile !2
  • 3. spm Waterfall Model !3 I SYSTE M I ANALYSIS PROGRAM DESIGN I coo,.o TESTING I OPERATIONS Figure 2. Implementation steps to develop a large computer program for delivery to a customer. I believe in this concept, but the implementation described above is risky and invites failure. The problem is illustrated in Figure 4. The testing phase which occurs at the end of the development cycle is the • Managing the development of large software systems (Winston W. Royce)
  • 5. spm Waterfall Model • Inflexible partitioning of the project into distinct stages • This makes it difficult to respond to changing customer requirements • This model is only appropriate when: – The requirements are well-understood and/or – The level of formality is high (e.g. it is essential to “freeze” the requirement document) !5
  • 6. spm Waterfall Model !6 I SYSTEM ! REQUIREMENTSIBI~ ~"'i so,w.,~ I ANALYSIS ~1111~ II pRI~OGRAM ~lll I CODING Ii TESTING OPERATIONS Figure3. Hopefully,the ~terat=ve interact=onbetweenthevariousphasesisconfinedto successivesteps. I SYSTEM "1 .~oo,.~-,..Sl.,~ • Managing the development of large software systems (Winston W. Royce)
  • 7. spm Waterfall Variations • Sashimi waterfall: activities are allowed to overlap • Waterfall with sub projects: implementation of different components proceeds in parallel • Waterfall with risk reduction: an initial risk analysis helps mitigate risks in later phases of implementation !7
  • 10. spm Rational Unified Process • Process introduced by Rational in the eighties (the same company of UML) [Rational is now IBM] ! • Process organized in two dimension: – phases, organized in iterations, correspond to different levels of maturity – workflows, focusing on a specific software development concern • Phases are organized in iterations • Workflows are overlapping and characterized by levels of intensity !10
  • 11. spm Rational Unified Process Best Practices • Six main practices define guiding principles of RUP: – Develop software iteratively – Manage requirements (including evaluation of product alternatives) – Use component-based architectures (robust components) – Visually model software (simple and unambiguous representation to build a shared vision) – Verify software quality – Control changes to the software (both for quality and management) !11
  • 12. spm Open Unified Process • The evolution of RUP • Open source • “Agile” • http://epf.eclipse.org/ wikis/openup/ !12
  • 13. spm Spiral !13 Review Evaluate alternatives, risks Commitment partition DeveloD- 1 Reauirements besign /T---i Plan next phases !‘,“I’p-y 1 Design validation verify I next-level product Figure 2. Spiral model of the software process. • A Spiral Model of Software Development and Enhancement (Barry W. Boehm)
  • 14. spm Spiral • Defined by Barry W. Boehm (end of the ‘80s) • Iterative: software is developed in cycles • Each loop in the spiral represents a phase in the process. • No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required • Alternative and risk-aware: first phases include an evaluation of possible alternatives and an assessment of the risks • The paper includes a list of common project risks (*)(not only process, also practices) (*) which we will look at during the Risk Management lessons !14
  • 15. spm Spiral • Advantages – Alternative and Risk driven – It accommodates different software development practices (among which reuse and automatic code generation) – Intrinsically fit for software evolution (maintenance is another loop in the spiral) • Disadvantages – Matching to contract software – Difficulties in coming out with estimations at the beginning – Flexibility !15
  • 16. spm Prototype Approach • Once the high level requirements are fixed, a prototype of the application is developed (e.g. the GUI) and evaluated with the client • Breadth and depth of the prototype – Horizontal prototype: focus on the application – Vertical prototype: focus on a specific function • Types of prototypes: – Throw-away: the prototype demonstrates the system (but it is not the system!) – Evolutionary: the prototype evolves to become the system !16
  • 18. spm Prototype Approach • Advantages – Shared view on requirements: the client has a better understanding of the final product and can provide more specific comments. – Difficult and risky components can be developed early to verify the feasibility of critical parts of the system ! • Disadvantages – Lack of process visibility – Re-work (and frustration) – The evolutionary approach leads to poor architectures (because they are built with incomplete information) • Applicability – For small or medium-size interactive systems – For parts of large systems (e.g. the user interface) – For short-lifetime systems !18
  • 19. spm Incremental • Development and delivery is broken down into increments • Each increment delivers part of the required functionality • Requirements are prioritized and the highest priority requirements are included in early increments • Once the development of an increment is started, the requirements are frozen • Requirements for later increments can continue to evolve !19
  • 21. spm Incremental • Advantages – System functionality is available earlier and customer does not have to wait as long – Early increments act as a prototype to help elicit requirements for later increments – Lower risk of overall project failure – The highest priority system services tend to receive the most testing ! ! • Disadvantages – System architecture tends to degrade (as with other evolutive approaches) – Some increments might cause significant re-work !21
  • 22. spm Clean Room Software Engineering • A process for zero-defect software • Based on formal methods and statistical testing • Quick and clean … an incremental done right !22 Specification Increments Planning Formal Design & Implementation Random Test Case Generation Statistical Testing Quality Certification Testing Results (Estimation of MTTF) Process Improvement Suggestions [system not finished yet] [system built] Functional Specification Usage Specification Customer Requirements
  • 23. spm Open Source Development Process • The development of open source software has various distinguishing features: – The project often starts from an existing code based (sometimes large) – Community of developers working on a volunteer-basis (not all); with different experience; geographically distributed – Some challenges: involvement with different roles; quality control; difficult to plan releases !23
  • 24. spm Open Source Development Process • General model: – A roadmap defines software evolution – Coding starts from a product backlog and is released as a patch – Code review ensures quality • Two models: – fix features (deliver when ready) – deliver at fixed dates (with the features you have) !24 Develop Project Artifacts Initial Release Code Release Steer System Roadmap Product Backlog Source Code Packaged Relase Review Incorporate Patch
  • 25. spm Firefox Release Schedule !25 1 2 3 4 5 6 7 8 Task Name mozilla-central mozilla-aurora mozilla-beta firefox check compatibility with extension security check quality assurance go/no go decision W52 W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11 W12 W13 W14 W15 W16 W17 W18 W19 W20 W21
  • 27. spm spm Project Management/SW Development • All development processes need to integrate development and management workflows • For instance: !27 Requirements Design Implementation & Testing Deployment Requirement s Document System Architecture System System in Production High Level Planning Management Documents System Sizing and Detailed Plan Management Documents Monitoring and Control Closing Project Data Development Activities Management Activities
  • 28. spm System Organization and Decomposition • Complex systems are structured in more elementary components • Different strategies: – Top-down decomposition (system/component/item): the development of upper levels is achieved by composing more elementary components – Bottom-up Composition (different components can be developed independently and then integrated) !28 System Component N ... Component 1 Item 1 ... Item M Hierarchical decomposition Components Component 1 Component 2 Component N
  • 29. spm Product Families • Issues – Operating System – User experience on different platforms – Devices (screen sizes, capabilities) – Available technologies • Approaches – Single architecture (e.g. Java) – “Adaptable” components (e.g. responsive designs) – Different products with shared components – Independent development with common interfaces/APIs !29 Core Components (Business Logic/Model) Views for OS1 Views for OS2 Adaptors for OS1 Adaptors for OS1 Support Artifacts (e.g. docs) Support Artifacts (e.g. docs) Different products with shared components
  • 30. spm Some Consequences • For complex systems: – software development activities are “recursive” and carried at increasing levels of granularity – software development is composed of various development processes running in parallel !30 V&V Implementation Design Requirements Design Implementation V&V Requirements System 1 V&V Implementation Design Requirements System 2 ... Requirements Design Implementation V&V Requirements Design Implementation V&V Requirements Design Implementation V&V System Reqquirements
  • 32. spm Customizing a Process • We want to build a web application for managing the books of small businesses • Questions – What process? – What activities? – What products? !32