Topic:-Software Devlopment Life Cycle Models: Name:-Mayeda Rahman Maktom Section:-K23La Roll No:-B62

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 23

TOPIC:- SOFTWARE DEVLOPMENT LIFE CYCLE

MODELS

NAME :-MAYEDA RAHMAN MAKTOM

SECTION :-K23LA

ROLL NO :-B62
SOFTWARE LIFE CYCLE
MODELS
VARIOUS TYPES OF LIFE CYCLE MODELS HAVE BEEN PROVIDED.
HOWEVER ALL OF THESE MODELS ARE HAVING SAME PHASES OF
WORKING I.E. FEASIBILITY STUDY, REQUIREMENT ANALYSIS AND
SPECIFICATION, DESIGN, CODING, TESTING & MAINTENANCE, BUT
THEY ONLY DIFFER IN METHODS OF THEIR IMPLEMENTATION.

HOWEVER A LARGE NO. OF MODELS HAVE BEEN PURPOSED. BUT WE


WILL DISCUSS ONLY SOME IMPORTANT MODELS THAT ARE:-

 CLASSICAL WATERFALL MODEL

 ITERATIVE WATERFALL MODEL

 EVOLUTIONARY MODE

 PROTOTYPING MODEL

 SPIRAL MODEL
CLASSICAL
WATERFALL MODEL
THIS MODEL IS BASE OF ALL THE OTHER MODEL. THIS MODEL
DIVIDES THE LIFE CYCLE OF SOFTWARE DEVELOPMENT PROCESS
INTO FOLLOWING PHASES:-

1. FEASIBILITY STUDY

2. REQUIREMENTS ANALYSIS AND SPECIFICATION

3. DESIGN

4. CODING AND UNIT TESTING

5. INTEGRATION AND SYSTEM TESTING

6. MAINTENANCE
WE WILL NOW DISCUSS THE VARIOUS
ACTIVITIES CARRIED OUT DURING EACH
PHASE OF LIFE CYCLE.
1. FEASIBILITY STUDY:- DURING THIS PHASE,
WE GENERALLY STUDY TWO TYPE OF
FEASIBILITY.
 FINANCIAL FEASIBILITY:- IT IS TESTED
THAT IF THE PROJECT CAN BE COMPLETED
UNDER THE AVAILABLE RESOURCES OR
NOT OR IF THE FINANCE IS AVAILABLE TO
FULFIL THE REQUIREMENTS.
 TECHNICAL FEASIBILITY:- IT IS TESTED
2. REQUIREMENT ANALYSIS AND
SPECIFICATION:-
DURING THE REQUIREMENT ANALYSIS AND SPECIFICATION PHASE, THE
EXACT REQUIREMENTS OF THE CUSTOMER ARE ANALYSED AND A PROPER
DOCUMENTATION MENTIONING, THE REQUIREMENTS IS PREPARED. TWO MAIN
ACTIVITIES PERFORMED DURING THIS PHASE ARE:-

 REQUIREMENTS ANALYSIS

 REQUIREMENTS SPECIFICATION
3. DESIGN:-
AFTER THE SRS DOCUMENT HAVE BEEN PREPARED IN
THE SOFTWARE REQUIREMENTS AND SPECIFICATION
PHASE. IN THE DESIGN PHASE, THE REQUIREMENTS
SPECIFICATION MENTIONED IN THE SRS DOCUMENT IS
TRANSFORMED INTO THE STRUCTURAL FORM. THIS
STRUCTURAL FORM IS CALLED SOFTWARE
ARCHITECTURE OF THE PROJECT. THIS
ARCHITECTURE SHOULD BE SUCH THAT IT CAN BE
EASILY CONVERT ABLE INTO A CODED FORM USING
IMPLEMENTATION IN SOME PROGRAMMING
LANGUAGE. VARIOUS DESIGN APPROACHES USED IN
THE INDUSTRY CAN BE CATEGORIZED INTO TWO
TYPES:-
4. CODING AND UNIT TESTING

 CODING TESTING:- THE PURPOSE OF CODING AND


UNIT TESTING PHASE OF SOFTWARE DEVELOPMENT IS TO
TRANSLATE COMPLETED, THE SOFTWARE DESIGN INTO SOURCE
CODE. THE CODING PHASE IS ALSO SOME TIMES CALLED
IMPLEMENTATION PHASE. EACH COMPONENTS OF DESIGN IS
IMPLEMENTED AS A PROGRAM MODULES. THE END PRODUCT
OF THIS PHASE IS SET OF PROGRAM MODULES THAT HAVE BEEN
INDIVIDUALLY TESTED. AFTER CODING IS EACH MODULE IS
TESTED.
 UNIT TESTING:- IT INVOLVES TESTING EACH
MODULES SEPARATELY FROM OTHER MODULE, THEN
DEBUGGING AND DOCUMENTS IT. IT IS THE MOST
EFFICIENT WAY TO DEBUG ERRORS IDENTIFIED AT THIS
STAGE.
5. INTEGRATION AND SYSTEM TESTING:-
DURING UNIT TESTING VARIOUS TEST CASE AND TESTING CRITERIA
ARE PREPARED FOR TESTING CORRECT WORKING OF INDIVIDUAL
MODULE. NOW IN THIS PHASE, THE MODULES IMPLEMENTED IN THE
IMPLEMENTATION PHASE ARE INTEGRATED TOGETHER AND TESTED.
 INTEGRATION TESTING:- IN THIS TESTING,
MODULES ARE INTEGRATED ONE BY ONE IN STEP AND AFTER
EACH ADDITION OF ONE MODULE, THE RESULTING SYSTEM IS
TESTED AGAIN AND AGAIN. THE FUNCTION OF TESTING IS TO
VERIFY THAT AFTER THE INTEGRATION OF NEW MODULE THE
SYSTEM IS WORKING CORRECTLY OR NOT. WHEN MODULES
HAVE BEEN SUCCESSFULLY INTEGRATED AND TESTED. SYSTEM
TESTING IS CARRIED OUT.
 SYSTEM TESTING:- THE FUNCTION OF SYSTEM
TESTING IS TO ENSURE THAT THE DEVELOPED
SYSTEM CONFORMS TO ITS REQUIREMENT
SPECIFY IN SRS DOCUMENT. SYSTEM TESTING
CONSIST OF THREE DIFFERENT KINDS OF TESTING
ACTIVITIES.
• ΑTESTING:- Α TESTING IS SYSTEM TESTING
PERFORMED BY DEVELOPMENT TEAM.
• ΒTESTING:- Β TESTING IS SYSTEM TESTING
PERFORMED BY A FRIENDLY SET OF CUSTOMERS.
• ACCEPTANCE TESTING:- THIS IS SYSTEM TESTING
PERFORMED BY THE CUSTOMER HIMSELF AFTER
THE PRODUCT DELIVERY TO DETERMINE WHETHER
TO ACCEPT THE DELIVERED PRODUCT OR TO
REJECT IT.
6. MAINTENANCE :-

MAINTENANCE OF A SOFTWARE PRODUCT REQUIRES MUCH MORE


EFFORT THAN THE EFFORT NECESSARY TO DEVELOP THE PRODUCT
ITSELF. THE RATIO OF EFFORT OF DEVELOPMENT OF SYSTEM AND
ITS MAINTENANCE IS ABOUT 40 : 60.

THERE ARE THREE TYPES OF MAINTENANCE:-

 ADAPTIVE MAINTENANCE

 PERFECTIVE MAINTENANCE

 CORRECTIVE MAINTENANCE
 ADVANTAGES:-
1. IT IS SIMPLE TO USE AND UNDERSTAND.

2. EACH STAGE HAS WELL DEFINED DELIVERABLE OR


MILESTONE.

3. REQUIRED AMOUNT OF RESOURCES ARE MINIMAL.

4. PHASE ARE PROCESSED AND COMPLETED ONE AT A TIME.

5. WORKS WELL FOR SMALLER PROJECT WHERE REQUIREMENTS


ARE VERY WELL UNDERSTOOD.
 DISADVANTAGES:-
1. SMALL CHANGES OR ERRORS THAT ARISE IN THE COMPLETE
SOFTWARE MAY CAUSE A LOT OF PROBLEMS.

2. CLIENT IS NOT VERY CLEAR OF WHAT HE EXACTLY WANTS


FROM THE SOFTWARE.

3. ONLY ABLE TO USE WHEN THE REQUIREMENT ARE FIXED.

4. HIGH AMOUNT OF RISK AND UNCERTAIN.

5. POOR MODEL FOR LONG AND ON GOING PROJECT.


ITERATIVE WATERFALL
MODEL
This model leads the software development process in iterations. It
projects the process of development in cyclic manner repeating
every step after every cycle of SDLC process.

The software is first developed on very small scale and all the
steps are followed which are taken into consideration. Then, on
every next iteration, more features and modules are designed,
coded, tested, and added to the software. Every cycle produces a
software, which is complete in itself and has more features and
capabilities than that of the previous one.
ITERATIVE WATERFALL MODEL

ADVANTAGE DISADVANTAGE
 It is much better model of the software  It is not easy to manage this model.
process.
 No clear milestones in the
 It allows feedback to proceeding
development process.
stages.
 No stage is really finished.
 It can be used for project where in the
requirement are not well understood.  The number of resources
 In Iterative model less time is spent on requirement are more.
documenting and more time is given  Exit criteria for the software are
for designing. unknown.
 Is useful when the project is large size.  Not applicable for smaller projects.
Spiral model is a combination of both, iterative
model and one of the SDLC model. It can be
seen as if you choose one SDLC model and
combined it with cyclic process (iterative
model).

This model considers risk, which often goes


un-noticed by most other models. The model
starts with determining objectives and
constraints of the software at the start of one
iteration. Next phase is of prototyping the
software. This includes risk analysis. Then one
standard SDLC model is used to build the
software. In the fourth phase of the plan of next
iteration is prepared.

SPIRAL MODEL
SPIRAL MODEL

ADVANTAGE DISADVANTAGE
 Every time a new prototypes is  This model requires risk
obtained, it is revaluated again and identification, its projection, risk
again by customer. So more assessment and management which
customer involvements is there. is not an easy task.

 Better productivity through reuse  Cost and time estimations are also
capabilities. not very easy.

 Proper control over cost, time and  This model is not suitable for smaller
manpower requirement for a project project as the cost of risk analysis is
work. greater than cost of the entire project.
The Prototyping Model is a
systems development method
(SDM) in which a prototype (an
early approximation of a final
system or product) is built, tested,
and then reworked as necessary
until an acceptable prototype is
finally achieved from which the
complete system or product can
now be developed.

PROTOTYPE MODEL
PROTOTYPE MODEL

ADVANTAGE DISADVANTAGE
 Cost effective (Development cost  Project management difficulties.
reduced).  Not suitable for large applications.

 Increase system development speed.  Often lack flexibility.

 Enables a higher output for user.  Possibility of implementing systems


before they are ready.
 Users are actively involved in the
 Possibility of causing system to be
development. unfinished.
 The user get a better understanding  Producer might produce a system
of the system being developed. inadequate for overall organization needs.
EVOLUTIONARY
MODEL
Evolutionary Model: The Evolutionary
model is suitable for large projects which
can be decomposed into a set of modules
for incremental development and delivery.
This model is widely used in object-
oriented development projects. This model
is only used if incremental delivery of the
system is acceptable to the customer.
UNIT TESTING:-IN THIS TESTING, EACH
MODULE TESTED SEPARATELY FROM OTHER
MODULE, THEN DEBUGGING AND DOCUMENTED.

 System testing:-The function of system testing is to ensure that the


development system conforms to its requirements specify in SRS document.

 Acceptance testing:-Acceptance testing is system testing performed by


the customer himself after the product delivery to determine whether to accept the
delivered product or to reject it.

 Integration testing:-In Integration testing, modules are integrated one by


one in step and after each addition of one module, the resulting system is to verify
that after the integration of new module the system is working correctly or not.

 Phase containment of errors:-The principle of detecting error as


close to its point of introduction as possible is called phase containment of errors.
THANK YOU

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy