Professional Documents
Culture Documents
2.SDLC Models
2.SDLC Models
2.SDLC Models
1
Activities during Feasibility Study
2
Activities during Feasibility Study
3
Requirements Analysis and Specification
4
Goals of Requirements Analysis
5
Requirements Gathering
6
Requirements Analysis (CONT.)
7
Requirements Analysis (CONT.)
8
Requirements Analysis (CONT.)
9
Design
• Design phase transforms
requirements specification:
– into a form suitable for
implementation in some
programming language.
10
Design
• In technical terms:
–during design phase, software
architecture is derived from the SRS
document.
• Two design approaches:
–traditional approach,
–object oriented approach.
11
Traditional Design Approach
12
Structured Analysis Activity
13
Structured Analysis (CONT.)
14
Structured Design
• High-level design:
– decompose the system into modules,
– represent relationships among the modules.
• Detailed design:
– different modules designed in greater detail:
• data structures and algorithms for each module are designed.
15
Object Oriented Design
• First identify various objects (real world entities) occurring
in the problem:
– identify the relationships among the objects.
– For example, the objects in a pay-roll software may be:
• employees,
• managers,
• pay-roll register,
• Departments, etc.
16
Object Oriented Design (CONT.)
• Object structure
–further refined to obtain the detailed
design.
• OOD has several advantages:
–lower development effort,
–lower development time,
–better maintainability.
17
Implementation
18
Implementation
19
Implementation (CONT.)
20
Integration and System Testing
21
Integration and System Testing
M1 M2
M3 M4
22
System Testing
23
Maintenance
24
Maintenance (CONT.)
• Corrective maintenance:
– Correct errors which were not discovered during the
product development phases.
• Perfective maintenance:
– Improve implementation of the system
– enhance functionalities of the system.
• Adaptive maintenance:
– Port software to a new environment,
• e.g. to a new computer or to a new operating system.
25
Classical Waterfall Model
26
Classical Waterfall Model
Feasibility Study
Req. Analysis
Design
Coding
Testing
Maintenance
27
Classical Waterfall Model (CONT.)
28
Drawbacks of classical water fall model
• 1. no feedback paths
• 2. difficult to accommodate changes
• 3. No overlapping of phases
• 4. Limited customer interactions
29
Iterative Waterfall Model
30
Iterative Waterfall Model (CONT.)
31
Iterative Waterfall Model (CONT.)
32
Iterative Waterfall Model (CONT.)
Feasibility Study
Req. Analysis
Design
Coding
Testing
Maintenance
33
Iterative Waterfall Model (CONT.)
34
Phase containment of errors
35
Prototyping Model
36
Prototyping Model (CONT.)
38
Prototyping Model (CONT.)
Build Prototype
Customer
Requirements satisfied
Customer
Gathering Quick Design Evaluation of Design
Prototype
Implement
Refine
Requirements Test
Maintenance
39
Prototyping Model (CONT.)
40
Evolutionary Model
• Evolutionary model:
– The system is broken down into several modules which
can be incrementally implemented and delivered.
• First develop the core modules of the system.
• The initial product skeleton is refined into
increasing levels of capability:
– by adding new functionalities in successive versions.
41
Evolutionary Model (CONT.)
42
Evolutionary Model (CONT.)
C
A AB A
B
43
Advantages of Evolutionary Model
44
Disadvantages of Evolutionary Model
45
Spiral Model
46
Spiral Model (CONT.)
47
Spiral Model (CONT.)
Review and
plan for next Develop Next
phase Level of Product
48
Objective Setting (First Quadrant)
49
Risk Assessment and Reduction (Second Quadrant)
50
Spiral Model (CONT.)
51
Spiral Model as a meta model
52
Comparison of Different Life Cycle Models
When requirements are well defined and unlikely to
?
change during the development process.
When the requirements are not clear or are expected
to evolve and stakeholders needs a tangible
representation of the product early in the ?
development process and when the risks can be
identified before the project starts.
When requirements are expected to evolve over time
and is used for large projects which can be
?
decomposed into a set of modules for incremental
development and delivery.
Is useful for development of technically challenging
and large software that are prone to several kinds of
?
risks that are difficult to anticipate at the start of
project. 53
Comparison of Different Life Cycle Models
When requirements are well defined and unlikely to
Waterfall
change during the development process.
When the requirements are not clear or are expected
to evolve and stakeholders needs a tangible
representation of the product early in the Prototype
development process and when the risks can be
identified before the project starts.
When requirements are expected to evolve over time
and is used for large projects which can be
Evolutionary
decomposed into a set of modules for incremental
development and delivery.
Is useful for development of technically challenging
and large software that are prone to several kinds of
Spiral
risks that are difficult to anticipate at the start of
project. 54
Examples
Developing a simple website with fixed and clearly
?
specified features, such as a static company website.
Designing a new user interface (GUI) for mobile
application where user feedback is crucial and the ?
design might change based on user responses.
Building an e-commerce platform where new features
and functionalities can be added in increments based ?
on market trends and user feedback.
Developing a complex software system for a space
mission, where there are high uncertainties and
?
regular risk analysis is required throughout the
project life cycle.
55
Examples
Developing a simple website with fixed and clearly
Waterfall
specified features, such as a static company website.
Designing a new user interface (GUI) for mobile
application where user feedback is crucial and the Prototype
design might change based on user responses.
Building an e-commerce platform where new features
and functionalities can be added in increments based Evolutionary
on market trends and user feedback.
Developing a complex software system for a space
mission, where there are high uncertainties and
Spiral
regular risk analysis is required throughout the
project life cycle.
56
Questions
a.) Coding and unit testing b.) Integration and system testing
57
Questions
a.) Coding and unit testing b.) Integration and system testing
58
Questions
59
Questions
60
Questions
61
Questions
62
Questions
63
Questions
64
Questions
65
Questions
66
Questions
67
Questions
68