Professional Documents
Culture Documents
Waterfall Model
PART IV: SOFTWARE PROCESS
MODELS
W ATERFALL M ODEL 2
W ATERFALL M ODEL 3
Requirements
definition
System and
software design
Implementation
and unit testing
Integration and
system testing
Operation and
maintenance
W ATERFALL M ODEL 4
W ATERFALL M ODEL 5
oRequirements of the system or project that is to be developed are captured from the
client.
oAll these requirements are documented in a software requirement specification
(SRS) document, and the SRS is verified by the client and after acceptance, next
phase begins.
W ATERFALL M ODEL 6
System Design:
W ATERFALL M ODEL 7
oOnce the design of a system is prepared, the system is first developed in small programs
called units, which are integrated in the next phase.
oIn this phase, we are coding the software and performing unit testing.
W ATERFALL M ODEL 8
oAll the units developed in the implementation phase are integrated into a system after
testing of each unit. Post integration the entire system is tested for any faults and
failures.
W ATERFALL M ODEL 9
W ATERFALL M ODEL 10
Advantages (1/2)
oA schedule can be set with deadlines for each stage of development and a product can
proceed through the development process model phases one by one.
oDevelopment moves from concept, through design, implementation, testing,
installation, troubleshooting, and ends up at operation and maintenance.
W ATERFALL M ODEL 11
Advantages (2/2)
W ATERFALL M ODEL 12
Drawbacks
oNo working software is produced until late during the life cycle
oHigh amounts of risk
oPoor model for long projects
oNot suitable for the projects where requirements are at a moderate to high risk of
changing. So, risk and uncertainty is high with this process model.
oCannot accommodate changing requirements
W ATERFALL M ODEL 13
W ATERFALL M ODEL 14
Incremental
Model
PART IV: SOFTWARE PROCESS
MODELS
Advantages (1/2)
Advantages (2/2)
oMore rapid delivery and deployment of useful software to the customer is possible
• Customers can use and gain value from the software earlier than is possible with a
waterfall process
oErrors are easy to be identified
Drawbacks
oIt requires a good planning designing
oNeeds a clear and complete definition of the whole system before it can be broken
down and built incrementally
oThe process is not visible
Spiral Model
PART IV: SOFTWARE PROCESS
MODELS
SPIRAL M ODEL 25
o The spiral model recognizes that there are some problems associated with software
development and that they should be dealt with
SPIRAL M ODEL 26
SPIRAL M ODEL 27
Risks
oA risk is any situation that might affect the successful completion of a software project.
oRisks are possible conditions and events that prevent development teams from
achieving their goals.
oThe most important feature of the spiral model is handling these unknown risks after
the project has started.
SPIRAL M ODEL 28
Frequent risks
oThe client changes some of the requirements.
oDuring a long development, the users’ requirements are neglected or were
misunderstood.
oSomeone leaves the development team.
oOne of the component tasks of the development goes beyond its deadline.
oThe software performs too slowly or/and occupies too much main memory.
oA new software development tool or technology becomes available.
oA competitor launches a rival package onto the market.
SPIRAL M ODEL 29
SPIRAL M ODEL 30
oAny process model should make provision for the possible risks.
oThe spiral model makes repeated provisions for dealing with these risks, and thus,
minimizes the risk to the software project.
oWhen evaluating the risks, some actions can then be taken to:
◦ Control the project
◦ Rescue the project
◦ Abandon the project
SPIRAL M ODEL 31
SPIRAL M ODEL 32
Number of cycles
oThe number of cycles is not prescribed by the spiral model.
oAs many cycles as necessary are used.
oFurther, the number of cycles is not known at the start of a project.
oIt is decided as the project proceeds based on the evaluations that are carried out at
the end of each cycle.
SPIRAL M ODEL 33
Advantages
oRisk Management
oCustomer Involvement and Feedback
oPerfect for a large project
SPIRAL M ODEL 34
Drawbacks
oExpensive
oQuite complex
oTime management
SPIRAL M ODEL 35
Prototyping
Model
PART IV: SOFTWARE PROCESS
MODELS
PROTOTYPING M ODEL 37
PROTOTYPING M ODEL 38
PROTOTYPING M ODEL 39
PROTOTYPING M ODEL 40
Software prototype
oA prototype is an initial version of a system used to demonstrate concepts and try out
design options.
oA prototype can be used in:
◦ The requirements engineering process to help with requirements elicitation and
validation.
◦ In design processes to explore options and develop a UI design.
PROTOTYPING M ODEL 41
Prototyping model
oPrototype methodology is defined as a software development model in which a
prototype is built, test, and then reworked when needed until an acceptable prototype
is achieved.
oIt also creates a base to produce the final system.
oSoftware prototyping model works best in scenarios where the project's requirement
are not known.
PROTOTYPING M ODEL 42
PROTOTYPING M ODEL 43
PROTOTYPING M ODEL 44
Advantages (1/2)
PROTOTYPING M ODEL 45
Advantages (2/2)
PROTOTYPING M ODEL 46
Drawbacks (1/2)
PROTOTYPING M ODEL 47
Drawbacks (2/2)
oEstimating, planning and managing a prototyping project can be difficult because it can
be hard to predict the number of needed prototyping iterations.
oPoor documentation because the requirements of the customers are changing.
oAfter seeing an early prototype model, the customers may think that the actual product
will be delivered soon.
oThe client may lose interest in the final product if he/she is not happy with the initial
prototype.
PROTOTYPING M ODEL 48
PROTOTYPING M ODEL 49
Prototyping techniques
oThe objectives of prototyping should be made explicit from the start of the
process.
oDuring this process, you have also to decide what to put into and what to leave
out of the prototype system.
oTo reduce prototyping costs and accelerate the delivery schedule, you may
leave some functionality out of the prototype.
PROTOTYPING TECHNIQUES 50
Reuse components:
oThe time needed to develop a prototype can be reduced if many parts of the system
can be reused rather than designed and implemented.
oThe reusable components may also be used in the final system, thus, reducing its
development cost.
PROTOTYPING TECHNIQUES 51
PROTOTYPING TECHNIQUES 52
Omit features:
oIt may be that some features can simply be omitted in a prototype.
oThese components of a production quality system can be significantly costly in
development effort and so their omission makes construction of a prototype faster
PROTOTYPING TECHNIQUES 53
Ignore functionality
oThis type of prototype is often used during the design of the user interface.
oFor example, suppose we were setting out to develop a new word processor, we could,
very quickly, create a mock-up of what would appear on the screen, while the actual
functions of the word processor are simply not implemented.
PROTOTYPING TECHNIQUES 54
Agile Model
PART IV: SOFTWARE PROCESS
MODELS
AGILE M ODEL 56
AGILE M ODEL 57
oAgile SDLC model is a combination of iterative and incremental process models with
focus on process adaptability and customer satisfaction by rapid delivery of working
software product
oAgile methods break the product into small incremental builds. These builds are
provided in iterations. Each iteration typically lasts from about one to three weeks
oEvery iteration involves cross functional teams working simultaneously on various
areas like planning, requirements analysis, design, coding, unit testing, and acceptance
testing
oAt the end of the iteration a working product is displayed to the customer and
important stakeholders
AGILE M ODEL 58
AGILE M ODEL 59
AGILE M ODEL 60
AGILE M ODEL 61
AGILE M ODEL 62
AGILE M ODEL 63
AGILE M ODEL 64
AGILE M ODEL 65
AGILE M ODEL 66