Lecture 4 - Traditional Models
Lecture 4 - Traditional Models
Software Engineering
LECTURE: TRADITIONAL MODELS
2
Traditional Models
u Waterfall
u Incremental Vs Iterative
u Prototyping
u Spiral
u RAD
3
Discussion
Discuss
u Iterate 4
u to utter or do repeatedly
u iteration n. – iterative adj
u Increment n
u 1. amount of increase
u 2. a becoming greater or larger;
increase
Definitions u incremental adj
How does all this apply to a software
development project??
How does a project team work iteratively
while incrementally developing a
product?
5
What Is Incremental Development?
u In incremental development,
u You have all the requirements
u you design the complete product first. You only leave
out details that you can safely decide later.
u Then you slice it up into chunks and build each
separately.
u When you finish a chunk, aka module, you integrate it
with previously completed parts, so they work as a
whole.
6
What is Iterative Development
SOFTWARE
PROTOTYPING
u A prototype is an initial version of
a system used to demonstrate
concepts and try out design
options.
u A prototype can be used in:
Software u The requirements engineering
prototyping process to help with requirements
elicitation and validation;
u In design processes to explore
options and develop a UI design;
u In the testing process to run back to
back tests.
10
11
12
u Bottom-up approach
u Problem domain or requirements not well defined or understood.
u Create small implementations of requirements that are least understood.
u Requirements are “explored” before the product is fully developed.
u Developers gain experience when developing the “real” product.
13
15
16
Examples
17
18
19
My own
prototypes
20
21
u Prototypes should be discarded after
development as they are not a good
basis for a production system:
u It may be impossible to tune the
system to meet non functional
requirements;
Throw away u Prototypes are normally
prototypes undocumented;
u The prototype structure is usually
degraded through rapid change;
u The prototype probably will not meet
normal organizational quality
standards.
22
23
Controlling
changes
with
prototyping
24
Advantages
SPIRAL MODEL
28
u Incremental/iterative model
(combines the waterfall
model and prototyping).
u Iterations called spirals.
u Activity centered:
○ Planning
○ Risk analysis
○ Engineering
○Evaluation
29
Process is represented as a spiral rather
than as a sequence of activities with
backtracking.
u Objective setting
u Specific objectives for the phase are identified.
u Risk assessment and reduction
u Risks are assessed and activities put in place to
Spiral model reduce the key risks.
Development and validation
sectors
u
Boehm’s
spiral model
of the
software
process
33
34
Benefits Drawbacks
Allows the use prototyping Management is more
complex
Client can see the system
early on
Should not be used for
small projects
Benefits &
Changes in requirements This method requires a drawbacks:
can be made easily lot of documentation
36
Rapid Application
Development (RAD)
37
RAD
MODEL
u 1. Business Modeling (Business
Processes)
u What information is generated?
u Who generates it?
u Where does the information go?
u Who processes it?
39
u 3. Process modeling
u The data object defined in the data
modeling phase are transformed to
achieve the information flow
necessary to implement a business
function (i e transformation of input
object to output object defines flow
of information in a process/function)
u Such processing descriptions are
RAD Phases (2) created for adding, modifying,
deleting, or retrieving a data object
u 4. Application Generation
u RAD process works to re use existing
components (when possible)
u Create re useable components
(when necessary) In all cases
automated tools are used to
facilitate construction of S/W
40
u 5. Testing and Turnover
New components must be tested and all
interfaces must be fully exercised.
u Drawbacks
For large scalable projects RAD
RAD Phases (3) u
requires sufficient human resources
to create right number of RAD teams
u RAD requires developers customers
committed to complete a system in
a short time frame, other wise if
commitment is lacking from either
side, RAD projects will fail
41
42