3-SDLC Flashcards
What is SDLC?
Software Development Life Cycle. It is the end to end application development process.
What are the phases in SDLC?
1) Requirements Gathering -> (Functional Team / SME) -> FDD / SRS
2) Analysis -> Understand requirements & ask questions
3) Planning -> Prepare plan & prototype
4) Development -> Coding
5) Testing -> Verification and validation
6) Deployment -> Running application in the server
7) Delivery -> Handover to client (DevOps)
8) Maintenance -> Based on SLA
What is waterfall model?
The waterfall model is a continuous software development model in which development is seen as flowing steadily downwards (like a waterfall) through the steps of requirements analysis, design, implementation, testing (validation), integration, and maintenance.
Properties of Waterfall model
-> Earlier people used to follow Waterfall Methodology to develop projects
-> Waterfall is a linear methodology to develop and deliver projects
-> Everything will happen step by step
-> If one step completed then only we will go to next step
-> We will move only in forward direction (No backward direction)
-> Requirements are fixed
-> Budget is fixed
-> Client involvement is very less
-> Client will see the project at the end
⭐Waterfall Methodology is NOT suitable for big projects
Steps in waterfall model
REQUIREMENT
DESIGN
DEVELOPMENT
TESTING
DEPLOYMENT
MAINTENANCE
What is a Prototyping model?
Prototyping Model is a software development model in which prototype is built, tested, and reworked until an acceptable prototype is achieved.
Properties of Prototyping model
-> Created base for the final system/ software
-> works best when the project’s requirements are not known in detail
-> iterative
-> trial & error method ( b/w developer & client)
ADVANTAGES:
1. users actively involved in the dev process
2. missing functionality can be identified
3. customer satisfaction
4. minimal chances of software rejection
DISADVANTAGES:
1. slow & time taking process
2. The cost of making a prototype is a total waste as it is thrown away
3. poor documentation as the requirements keep on changing
4. It is difficult for SDEs to accommodate all the changes demanded by the clients
5. quick development of prototypes can result in sub-standard development solutions
What are the stages in the prototyping model?
1) Requirements gathering and analysis
2) Quick design
3) Build a Prototype
4) Initial user evaluation
5) Refining prototype
6)Implement Product and Maintain
What is the incremental model?
Software development process where requirements are divided into standalone modules.
An iterative process involving requirements(analysis), design, coding, and testing phases.
Each release adds functionality until all designed features are implemented.
The system is produced after the first increment, typically addressing core requirements.
Subsequent increments add supplementary features based on client feedback.
What are the properties of the incremental model?
-Breaks system development into mini projects.
-Successively builds partial systems to create a complete system.
-Prioritizes high-priority requirements.
-Requirements for an increment are frozen after development.
When to use incremental mode?
When system requirements are clear.
When there’s a demand for an early product release.
When the software development team lacks extensive skills.
For projects with high-risk features.
Commonly used in web applications and product-based companies.
what are the Advantages and disadvantages of the incremental model?
🔗Advantages:
Quick software generation.
Flexibility for changing requirements and scope.
Changes can be made throughout the development stages.
Lower overall cost compared to other models.
Easy identification of errors.
Customer feedback can be incorporated.
🔗Disadvantages:
Requires good planning and design.
Potential problems with system architecture if all requirements are not collected upfront.
Each iteration phase is rigid and doesn’t overlap.
Rectifying a problem in one unit may require changes in all units, consuming time.
Errors are easy to identify but may involve significant correction effort.
What is the RAD model?
RAD Model, or Rapid Application Development model, is a software development process based on prototyping without specific planning. In the RAD model, less attention is paid to the planning, and more priority is given to the development tasks. It targets developing software in a short time.
What are the phases of the RAD model?
1) Business Modeling: Product design based on information flow and distribution between business channels.
2) Data Modeling: Refining information collected in the business modelling phase into significant data objects.
3) Process Modeling: Transforming data objects to implement business functions.
4) Application Generation: Using automated tools to construct software prototypes.
5) Testing and Turnover: Individual testing of prototypes during iterations, reducing overall testing time.
When is RAD used?
-When a system needs to be developed quickly (2-3 months).
-When requirements are well-known.
-When user involvement is throughout the project.
-When technical risk is low.
-When modularizing the system in a short time is necessary.
-When there is a sufficient budget for modelling and automated tools.