software development process is used to produced a software product .it is combination of five phase .
1-Requirements Analysis
2-Design
3-Implementation
4-Verification
5-Maintinrences
1-Requirement and Analysis –In this step we collect all the requirement about the product. Requirement is many divided many type-
i-Software requirement
ii-hardware requirement
iii-user requirement
in this step collect all type of basic information about to product which client need this product . it is very time taking process .it take ¼ time of hole project . a very good requirement is open the door of success product .user is play more importance .
2-Design : it is come after the analysis phase . in this step we collect importance information from the first phase. In this phase we are go more deeply and transfer the real requirement into software requirement .in this phase also develop class diagram and use case diagram .
3-Impemention :it is also called coding .in this phase software developer are take design information and convert in programming form using any high level programming language . coding is done on this phase .
4-verification :it is also called testing .The product is ready to test . if the product is pass the testing phase then product is ready to final release .testing is many type.
5-Maintinrences : it is last phase of SDLC . to solved real bug and error .
Software requirement is depend upon product .If security is constrain then develop prefer java technology . it take much more time .but it is provide high level security ,portability ,platform independent .if security is not much constrain then used php or .net for essay and fast development .
User requirement is client requirement .client does not know which technology are used to implement this product .its totally dependence upon development team .
User does not aware about technical part .but its only think about its out put or real life implementation of product .
Design phase involves converting information ,functional and network requirement defined during in requirement and analysis phase into unified design specification that develop used in coding and other phase .model is not every thing but is importance part of design phase .design is phase to closed down all requirement and starting to implement in real life .
Design and Implementation steps user is not play any role to construct it .user is not part of this phase .
In verification and Maintenance are implemented by joint help of user and develop .user is verified product on behalf of his requirement and need .if found any bug or error then inform to testing development team to correct .
WaterFall model is sequential approach to develop any software .
Agile model is incremental and iterative approach to develop any software .
Similarities :
1-Both are used to develop software .
2-Both are base on SDLC .
3- agile is similar to waterfall .
Differences:
1-the main problem of waterfall model is the inflexible division of separated step .iteration are more expensive compare than agile model .if requirement are not well understood then waterfall model is not suitable .
2- in agile model ,work is focus on small part of product . The emphasis is on obtaining the smallest workable piece of functionality to deliver business value early, and continually improving it/adding further functionality throughout the life of the project. In waterfall mode work is focus on whole model .
3-agile model are iterative and incremental which help to cut cost and time .but waterfall is more time taken and costly .
4-final product is more optimized and bug free in agile model .