Software Development Life Cycle Flashcards

1
Q

What does SDLC stand for?

A

Software Development Life Cycle

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

What are the phases of SDLC?

A
  • Planning
  • Define Requirements
  • Design and Prototyping
  • Development
  • Testing
  • Deployment
  • Operations and Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Describe the “Planning” Stage of SDLC

A

The planning phase is where the project is conceptualized.

Information is gathered from any possible stakeholders in order to create a very specific idea of what the project will include and how it can be accomplished.

The logistics of the project are also calculated in this phase including the cost, timetable, and project structure.

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

Describe the “Define and Analyse Requirements” phase of the SDLC

A

This is part of the planning phase where the development team takes the conceptual ideas of the project and more clearly defines what will be needed to achieve them.

Each feature of the project is taken and broken down in to pieces in order to clearly define its functionality and how it will be accomplished

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

Describe the “Design and Prototyping” phase of the SDLC

A

This phase is where the project leadership decides on the overall details of the project including:

  • The overall architecture of the app
  • Which technologies and languages will be used
  • database design
  • Security
  • User Interface
  • Platform support

These choices are then stored in the Software Design Document (SDD) which will be used as a set of rules for the software developers.

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

Describe the “Development” Phase of the SDLC

A

This phase is when the project is actually being developed by the software development team.

This process includes:

  • Writing code
  • Creating Documentation
  • Testing and bug fixes

With test driven development, testing begins at this phase. Each individual component should be tested by the design team while in development before it can be seen as complete.

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

Describe the “Testing” phase of the SDLC

A

This phase is the final testing phase for the project after the development is complete.

Due to the scale and modular design process. Software will often have issues once the individual components of a project are combined in to the finished product.

In order to make sure the software functions correctly, every part of the project must be tested in order to ensure seamless functionality across the entire project

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

Describe the “Deployment” phase of the SDLC

A

The deployment phase is when the finished project is made available to users.

Depending on the product, this could be as simple as deploying a website or as complicated as integrating an entire new application into a companies existing infrastructure.

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

Describe the “Operations and Maintenance” phase of the SDLC

A

This is the final phase of the SDLC where the development team is responsible for collecting and resolving any remaining issues found while the product is being used by the customer.

With the Agile and Iterative models, This phase is also used to plan the features and changes that will be implemented in the next SDLC for the product

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

List all of the SDLC models

A
  • Waterfall
  • V-model
  • Iterative and Incremental
  • Prototyping
  • Spiral
  • Agile
  • RAD
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the two main SDLC methodologies and what are their differences?

A

Waterfall and Agile

The waterfall methodology is a linear plan where each phase of the SDLC directly precedes the next phase.

The agile methodology is a cyclical plan where a project is designed incrementally in order to allow adaptability and change during the development process.

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

Describe the waterfall model

A

Also known as the linear-sequential life cycle model, In the waterfall model, each phase of the SDLC must be completed before the next phase can begin.

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

Describe the Iterative and incremental model

A

The iterative and incremental model is where the full specifications of a project are not known at the beginning of development.

Instead, a basic set of requirements are used to create a small piece of a larger project. Afterwards, the project is the re-evaluated and the next set of features are determined and developed in the next SDLC iteration.

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

Describe the Spiral model

A

The spiral model is a combination of the waterfall model and the iterative model where a project goes through multiple iterations of a linear model where a finished product is released at the end of each “spiral”

at the end of each spiral, the SDLC starts from the beginning and goes through another linear model where new requirements are identified and added to the overall product.

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

Describe the V-model

A

The V-model is an extension of the basic waterfall method with the difference being that every phase of the SDLC has it’s own testing phase.

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

Describe the Agile Model

A

The agile model is a combination of iterative and incremental process models with a focus on adaptability and customer satisfaction.

Rather than having a fully planned project with well defined phases, the Agile method produces small iterative releases and then uses direct customer feedback in order to determine what should be done next.

17
Q

Describe the Rapid Application Development (RAD) model

A

Model that prioritizes the development of working prototypes of each individual feature of the application.