Lecture 4 Chapter - 4 SDLC
Lecture 4 Chapter - 4 SDLC
1
Waterfall
2
Waterfall
the‘classical’ model
every stage needs to be checked and signed off
Ideal for:
◦ Where requirement are well defined
◦ Development methods are well understood
BUT
◦ limited scope for iteration
3
V-process model
5
Evolutionary delivery: prototyping
‘ An iterative process of creating quickly and
inexpensively live and working models to test out
requirements and assumptions’
Main types:
‘throw away’ prototypes
evolutionary prototypes
6
Reasons for prototyping
learning by doing
improved communication
improved user involvement
a feedback loop is established
reduces the need for documentation
reduces maintenance costs i.e. changes after the
application goes live
prototype can be used for producing expected results
7
Prototyping: some dangers
users may misunderstand the role of the
prototype
lack of project control and standards
possible
additional expense of building prototype
focus on user-friendly interface could be at
expense of machine efficiency
8
INCREMENT DELIVERY
MODEL
9
Incremental delivery
delivered
system
increment
design build install evaluate
3
10
Increment Delivery Model(cont.)
In this model we break the application down
into small components.
These components are then implemented and
delivered in sequence.
11
The incremental process
Incremental
delivery
12
Incremental approach:benefits
feedback from early stages used in developing latter
stages
user gets some benefits earlier
Easy to control and manage
project may be put aside temporarily
reduces ‘gold-plating’:
14
System objective
16
The outline incremental plan
Steps ideally 1% to 5% of the total project
Ideal if a step takes one month or less:
◦ not more than three months
Each step should deliver some benefit to the
user
Some steps will be physically dependent on
others
17
18
‘Agile’ methods
structured development methods have some
perceived advantages
◦ produce large amounts of documentation which can
be largely unread
◦ documentation has to be kept up to date
◦ division into specialist groups and need to follow
procedures stifles communication
◦ users can be excluded from decision process
◦ long lead times to deliver anything etc. etc
The answer? ‘Agile’ methods?
19
Dynamic system development
method
UK-based consortium
arguably DSDM can be seen as replacement
for SSADM
DSDM is more a project management
approach than a development approach
Can still use DFDs, LDSs etc!
20
Nine core DSDM principles
1. Active user involvement
2. Teams empowered to make decisions
3. Frequent delivery of products
4. Fitness for business purpose
5. Iterative and incremental delivery
6. Changes are reversible
7. Requirements base-lined at a high level
8. Testing integrated with development
9. Collaborative and co-operative approach
21
DSDM framework
23
Extreme programming
increments of one to three weeks
◦ customer can suggest improvement at any point
argued that distinction between design and
building of software are artificial
code to be developed to meet current needs
only
frequent re-factoring to keep code structured
24
Extreme programming - contd
developers work in pairs
testcases and expected results devised before
software design
aftertesting of increment, test cases added to a
consolidated set of test cases
25
Grady Booch’s concern
Booch, an OO authority, is concerned that with
requirements driven projects:
‘Conceptual integrity sometimes suffers because this
is little motivation to deal with scalability,
extensibility, portability, or reusability beyond what
any vague requirement might imply’
Tendency towards a large number of discrete
functions with little common infrastructure?
26
Macro and micro processes
30