SDLC using Different Models


It provides step by step flow of an application to develop the product, the model decides how many phases will be implemented into SDLC.
SDLC means Software Development Life Cycle. It provides a set of steps or Phases to develop a software product.
SDLC Phases are dependent on Software Model.
Software Model:-
The software Model provides complete steps and a set of rules for software development and decides the flow of SDLC.
Now, most of the projects are developed by the  AGILE Model, V-model,  Incremental Model, RAD Model for Software Development.
Type of Model:-
1  Waterfall Model:-
 This model will work from the top to bottom approach, it will work sequentially ( step by step) means when the first phase will be completed after that the next phase will proceed.
The waterfall model is not flexible for clients because a client can not modify requirements after the completion of the first phase.
The waterfall model follows all PHASES of SDLC.
1.1   Requirement Gathering:-
This phase will collect and analyze the requirements of the project based on project modules, components. The business analyst team will work on the requirement gathering phase they will decide, time frame and project budget, the team size of the complete project.
The company create SRS(Software Requirement Specification), BRS(Business Requirement Specification), FSD (Functional Specification Document), or FRS (Functional Requirement Specification)
 If the requirement phase will be completed then we can switch to the next phase.
 Profile:-    System Analyst, Business Analyst 
1.2   Designing:-
After successfully completing of requirement gathering phase, the design architect team will create a High level and low-level design diagram to describe project specifications, which is easy to understand for the development team and testing team.
The design diagram will be based on UML(Unified Modeling Language) with Use Case, DFD, Class Diagram, and ER diagram, etc.
 Profile:-  UML Architect,Solution Expert
1.3   Development:-
When the Project designing will be completed then the development team will work .they will create program code, database, and User interface of the project according to project technology, platform, and software tools.
Desktop-based :-    JAVA, .NET, PYTHON, C, CPP
Web-based:-          PHP, JSP, Servlet, ASP.NET MVC,  DJANGO,  ROR (Ruby on rails)
Mobile-based:-     Android, iOS, Windows PHONE
Profile:-                 Programmer,UI/UX designer,Database Architect,Database development etc.
1.4   Testing:-
After completion of development, the testing team will cross check project based on the requirement document and provide Test Assurance and Quality of the developed Project.
Profile:-  QA, QE, Software tester, Software testing engineer
1.5  Deployment:-
After completion of testing, the deployment team will deploy the complete application to the client machine.
 Profile:-  Support Team, Developer, DevOps engineer.
1.6  Maintenance:-
After a successful deployment of software, the maintenance team provides help, support, and track bug of existing software Products.
Profile:- Maintenance.

2 Spiral Model:-
This model contains four different phases to perform software development operation, it is the cyclic process because it will develop the application using different project modules and sub-modules when the first module will be completed after that second module planning will be started, it will provide a separate phase for RISK Analyses to monitor project flow and weakness of the project.
Phases of Spiral Model:-
1 Planning:-
This phase provides partial analyses of project based on particular project modules using related documents, we will plan to develop the first cycle of the project means this model break down the project on the different project development cycle.
most experienced analyses team and business requirement team will work on the planning phase.
2 Risk Analysis:-
This phase checks security lack and proper application flow of developing an application as well as planning. this team will identify the weakness of developed components of an application that will be resolved into the next cycle.
3 Design & Development:-
This phase provides a complete implementation of the application with a design diagram, programming, database analyses, etc. development team, and designing team both will work on this phase.
4 Evaluation:-
This phase provides testing of currently developed applications for a particular module.
The spiral model will work step by step for a particular module not for the complete project hence if any problem occurred in any phase then it will be resolved into the next phase.
Diagram of the Spiral Model

3 V-Model:-
V means verification and validation model, the testing team will work on the project from the starting phase to the ending phase.
every phase of SDLC is verified after that is validated and then developed .this model provides better accuracy and performance as compared to another model.
Different phases of the V model
1 Requirement gathering ----->  Acceptance Testing
The first collection of requirements will be verified by the analysis team and validated by the testing team or client.
2 System Design  ------>    System Testing
The design architect or solution expert will design a diagram for complete software flow and it will be tested by the testing team.
3  Architectural Design  ------> Integration Testing
It will contain project architecture with all modules. Integration Testing will be used to test architectural design.
4 Modular Design  ---->   Unit Testing
We will create a separate module of the project using a set of methods. the unit-testing team will be applied to test this phase. 
5 Coding or Programming:-
It will be managed by the development team. they will write a program to implement a project which will be tested by the testing team.
4 Incremental Model:-
It is also called the multi waterfall model because we will plan a small module of subsystem similar to a waterfall. create build (setup) then again increment another module of a software system and append functionality and create build, these steps will be followed with n-terms.
We will get all requirements of the project after that distribute the multiple subsystems to develop the application.
All Phases of the Water Fall Model with multiple-step.

5 Iterative Model:-
This model provides better flexibility to the company and client both, but in the iterative model first, get the requirement of the complete project after that analysis then design then implementation and testing then send the project to client review  .client can modify the requirements again and again until the client is fully satisfied. for a small project, this model is best.

6 RAD Model:-

It is called the Rapid application development model, it provides fast application development as compare to Other Models.

Business Modeling:-  Requirement Gathering with a design using High level and low-level design patterns, no need to create and static documents, we can represent projects based on project design.
Data Modeling:-      DB Analyses of application, We will collect all data that will be used to implement projects, database architects create a separate database layer to implement a database of an application.
Process Modeling:-  Component Information of the project, using this we can create all modules and submodule of an application to implement the process.
Application Generation:-  Developer will write code to generate the application.
Testing & Modeling:-  Testing and Implementation of an  Application

7  Prototype Model::-

Using this model client provides a rough idea for developing a project using PSD(Photoshop design), PPT, or many wireframe software.
The analysis team will provide an actual design using a prototype to view and analyze diagrams to the client and the development team.
This model completely focuses on a prototype of a developing project.

8  AGILE Model:-
It is the modern approach to developing an application, AGILE provides application development based on the sub-module of the project.
project module will be divided into multiple teams, each team has a manager(scrum manager), team member, and client.
Agile provides the best interaction between clients, products, and developers with daily meetings, weekly meetings, and monthly meetings.
they will work as a team under the submodule of an application
Agile model planning is based on SPRINT (Small planning of the project), it will subdivide the project into multiple subtasks and assign it to the team if it will be successfully released and deployed then the next  SPRINT (Sub Plan) will be created.
Every team will be managed by a manager that is called SCRUM Manager. SCRUM means the group of people to achieve a goal.
AGILE provides better client satisfaction because the client can observe complete development work as a team member, he will be a part of a team in the AGILE Method.
AGILE provides less development time and analyses time to develop projects because all doubt and communication gaps will be solved during standup meetings. because planning and work will be discussed in a more efficient way in meeting to better understandability of requirements.

Different Phases of AGILE Model:-
1) Planning
2) Development
3) Testing
4) Demo
5) Deployment or Build
Software Testing Live Interview:-

Post a Comment


POST Answer of Questions and ASK to Doubt

  1. Advantages of incremental model
    1.Generates working software quickly and early during software life-cycle.
    2.Errors are easy to be recognized.
    3.The clients gets important functionality early.
    Disadvantages of Incremental model
    1.This model is rigid,as we cannot make any changes unless one module is completed.
    2.Customer interaction is less and only after release of each module.
    3.Need a clear and complete information of whole system before breaking it into modules.
    Advantages of Iterative model
    1.potential defects are spotted and dealt early.
    2.changes to project scope are less costly and easier to implement.
    3.customer interaction is high.
    Disadvantages of iterative model
    1.The whole process is difficult to manage.
    2.not a good choice for smaller projects.
    3.Risk analysis requires highly qualifies specialists to check the risks in our system.
    Advantages of RAD model
    1.Reduced development time.
    2.increases re-usability of components. is flexible to make any changes in development process.
    Disadvantages of RAD model
    1.requires highly skilled developers/designers.
    2.inapplicable to cheaper projects as cost of modeling and automated code generation is high.
    3.requires user involvement throughout the life cycle.
    Advantages of prototype model
    1.the missing functionality in the prototype model is easily detectable.
    2.the prototype model provides more significant customer satisfaction. requirements can be easily accommodated.
    Disadvantages of prototype model
    1.customer may not be satisfy or interested after seeing the initial prototype.
    2.there may be too much variation in requirements. has poor documentation because of continuously changing customer requirements.

Post a Comment