3-SDLC Flashcards

1
Q

What is SDLC?

A

Software Development Life Cycle. It is the end to end application development process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the phases in SDLC?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is waterfall model?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Properties of Waterfall model

A

-> 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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Steps in waterfall model

A

REQUIREMENT
DESIGN
DEVELOPMENT
TESTING
DEPLOYMENT
MAINTENANCE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a Prototyping model?

A

Prototyping Model is a software development model in which prototype is built, tested, and reworked until an acceptable prototype is achieved.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Properties of Prototyping model

A

-> 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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the stages in the prototyping model?

A

1) Requirements gathering and analysis
2) Quick design
3) Build a Prototype
4) Initial user evaluation
5) Refining prototype
6)Implement Product and Maintain

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the incremental model?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the properties of the incremental model?

A

-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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

When to use incremental mode?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

what are the Advantages and disadvantages of the incremental model?

A

🔗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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the RAD model?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the phases of the RAD model?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

When is RAD used?

A

-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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the advantages & disadvantages of the RAD model?

A

👉Advantages of RAD Model:

-Flexible and adaptable to changes.
-Reduces overall project risk.
-Adaptable and flexible to changes.
-Easier transfer of deliverables.
-Reduced manual coding due to code generators and reuse.
-Possibility of fewer defects due to prototyping.
-Delivers highest priority functionality to clients in each phase.

👉Disadvantages of RAD Model:

-Not suitable for smaller projects.
-Not compatible with all types of applications.
-Unsuitable when technical risk is high.
-Reduced scalability as RAD applications start as prototypes.
-Progress and problems tracking can be challenging due to limited documentation.
-Requires highly skilled designers or developers.

17
Q

What is a Spiral model?

A

The Spiral Model is a risk-driven software development process model. It is a combination of the waterfall model and the iterative model. The Spiral Model helps to adopt software development elements of multiple process models for the software project based on unique risk patterns, ensuring an efficient development process.

18
Q

What are the phases of Spiral model?

A

1) Planning: Estimating cost, schedule, and resources. Understanding system requirements for continuous communication with the customer.
2) Risk Analysis: Identifying potential risks and planning mitigation strategies.
3) Engineering: Testing, coding, and deploying software at the customer site.
4) Evaluation: Customer evaluation of the software. Identifying and monitoring risks like schedule slippage and cost overruns.

19
Q

When is the Spiral model used?

A

For large projects.
When frequent releases are required.
When creating a prototype is applicable.
When risk and cost evaluation is crucial.
Suitable for medium to high-risk projects.
When requirements are unclear and complex.
When changes may be needed at any time.
When long-term project commitment is not feasible due to changing economic priorities.

20
Q

What are the advantages and disadvantages of the Spiral model?

A

👉Advantages of Spiral Model:

-Flexibility for additional functionality or changes.
-Ease of cost estimation due to small fragment prototype building.
-Continuous development aids in risk management.
-Fast development with systematic feature additions.
-Allows for customer feedback at various stages.

👉Disadvantages of Spiral Model:

-Risk of not meeting schedule or budget.
-Works best for large projects and demands risk assessment expertise.
-Strict adherence to the spiral model protocol is required.
-Increased documentation due to intermediate phases.
-Not suitable for smaller projects, as it can be costly.

21
Q

What is agile methodology?

A

An agile methodology is an iterative approach to software development. Each iteration of the agile methodology takes a short time interval of 1 to 4 weeks. The agile development process is aligned to deliver the changing business requirements. It distributes the software with faster and fewer changes.

22
Q

What are the different roles in Agile?

A
  1. Scrum Master
  2. Product owner
  3. Cross-Functional Team

Details->
👉Scrum Master:
-Team leader and facilitator.
-Ensures team members follow agile practices.
-Removes obstacles and safeguards the team.
-Tracks progress and processes.
-Facilitates meetings and decision-making.

👉Product Owner:
-Manages the product from a business perspective.
-Defines requirements and prioritizes them.
-Sets release dates and contents.
-Active in iteration and release planning.
-Represents the voice of the customer.

👉Cross-Functional Team:
-Agile teams are self-sufficient, consisting of 5 to 9 members.
-Typical roles include developers, testers, technical leads, Scrum Master, and Product Owner.
-Scrum Master and Product Owner are part of the Team Interface, while others are in Technical Interface.

23
Q

What is agile team planning?

A

The agile team plans work in iterations, each lasting 10 to 15 days.
The team determines the scope and available hours for planned tasks.
User requirements are prioritized and sized in the backlog.

24
Q

What are user requirements in Agile?

A

User requirements define user needs in terms of functionalities.

Two common formats:

“As a <User>, I want <Functionality> so that <Business>"</Business></Functionality></User>

“In order to <Business>, as a <User>, I want <Functionality>."</Functionality></User></Business>

Rough estimates are given to user requirements during software release planning.
Requirements are validated using acceptance tests.

25
Q

When is a requirement complete? & what are software acceptance criteria?

A

👉When a Requirement is Completed:
The Agile team defines the criteria for a task being done.
Criteria may include task completion (development, testing), passing acceptance tests, no defects, product owner acceptance, and delivery to the end user.

👉Software Acceptance Criteria:
Defines the functionality, behaviour, and performance required by the product owner.
Specifies what must be done for a user requirement to be considered complete.

26
Q
A