IT314 - Software Engineering: Asim Banerjee 1 February 2011 Soft - Engg@daiict - Ac.in
IT314 - Software Engineering: Asim Banerjee 1 February 2011 Soft - Engg@daiict - Ac.in
Asim Banerjee
[email protected]
Waterfall Model - Work Products (1/2)
Some of the work products of the waterfall model are:
• Systems Requirements Specification Document
• Project Plan
• System Design Document
• Detailed Design Document
• Test Plan (with test cases)
• Test Report
• Final Code
• Software manuals (e.g. User manual, Installation
manual, etc.)
• Review Reports
IT314 - Software Engineering 2
Waterfall Model - Work Products (2/2)
NOTE: Any other document that enables the
project team to achieve its project objectives,
should be maintained as one of the work
products of the project.
Requirements
• This approach suggests gathering
building a prototype before Quick
developing the actual design
software
Refine Build
requirements prototype
Customer Prototype
suggestions evaluation
Customer
Design acceptance
Implement
Test
Approach to prototyping:
– Prototypes are built using several shortcuts
• Limited functional capabilities
• Low reliability
• Inefficient performance
Note: Prototype usually turns out to be a very crude version
of the proposed system
– Prototyping may involve several iteration (until
receiving customer acceptance)
– After acceptance of the prototype, the development
can be done using a simple waterfall model
Note:
– Requirements gathering phase includes prototyping
– Prototype code may be thrown away
– Time/effort spent on prototype is worth it
• SRS gets supplemented with prototype
• Experience in building prototype is carried forward to
development
Advantages of prototyping
– Provides a good mechanism for understanding the
customer requirements
IT314 - Software Engineering 12
Prototyping Model (4/6)
A A A
• Advantage:
– User gets an opportunity to experiment/use the partial system
much before the fully developed version is released
– Helps in eliciting requirements
– Core module gets tested very thoroughly
(since it gets tested at the time of each release)
– Entire resource requirements need not be committed to the
project at the same time
• Disadvantages:
– It is difficult to break down a system into functional units that can
be implemented in an incremental fashion
Activity A
Under Development
Schematic
representation Awaiting Changes Under Review
of an activity (A)
with concurrent Under Revision
development
process model Baselined