Software Processes Flashcards

(25 cards)

1
Q

What is a software process?

A

A software process is a series of steps followed to build a software product. It includes everything from gathering requirements to maintaining the software after it’s delivered.

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

What are the 6 main engineering process steps?

A

Specification – Understand and write down what the product should do.

Design – Create a plan or model of how the product will work.

Manufacture – Build the actual product.

Test – Check if the product works correctly.

Install – Deliver the product and make it ready for use.

Maintain – Fix any issues and improve the product after delivery.

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

What is SDLC (Software Development Life Cycle)?

A

A life cycle model is a visual and descriptive plan that shows how software is developed from start to finish.

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

Why is the SDLC important

A

It ensures that software is developed in a disciplined, efficient, and cost-effective way while meeting customer requirements and reducing risks.

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

What are the main phases of the SDLC?

A

Planning & Analysis
Design
Implementation
Testing
Deployment
Maintenance

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

What is the goal of the planning & analysis

A

This phase is about understanding the problem and what the stakeholders want.

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

Who are the stakeholders in software engineering?

A

People interested in the project (e.g., users, customers, developers, managers).

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

What are the 5 steps in Planning & Analysis?

A

Elicitation – Collect requirements from stakeholders.

Analysis – Study and understand the requirements.

Specification – Organize and save the requirements clearly.

Validation – Make sure the requirements are complete and correct.

Management – Handle any changes to the requirements.

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

What happens in the Design phase?

A

This phase takes the software requirements and creates a detailed structure of how the system will work internally.

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

What is the Development phase?

A

The actual software is built based on the design and requirements. This is where programmers write the code.

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

Name the 4 fundamental principles of software engineering.

A

Reduction of Complexity – Make software simple and easy to understand.

Anticipation of Diversity – Be ready for future changes.

Structure for Validation – Design software that’s easy to test.

Use Standards – Follow rules like coding standards to maintain quality.

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

What is the goal of the Testing phase?

A

To check if the software works correctly and meets requirements.

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

What’s the difference between validation and verification?

A

Validation: Did we build the right system?
Verification: Did we build the system right?

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

What is Deployment?

A

Releasing the software to users and making it ready for use.
Example: A small group of users gets the new feature first (canary release).

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

What is maintenance

A

Ongoing support and improvement of the software after it’s delivered.

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

Why is maintenance needed?

A

To fix bugs, add features, or adapt to new environments (e.g., new operating systems).

17
Q

Name the 3 types of software maintenance.

A

Corrective – Fix errors
Perfective – Improve performance/usability
Adaptive – Adjust to new conditions

18
Q

What is a software process model?

A

A structured plan that shows the order of development steps.

19
Q

What is the different software life cycle models

A

Waterfall model
Iterative Waterfall model
Evolutionary model
Prototyping model
Spiral model

20
Q

What is the Waterfall Model?

A

A step-by-step software development model where each phase must be completed before the next.
Each step happens one after the other in a clear order. Often used in traditional projects.

21
Q

Advantages of the Waterfall Model?

A

Simple and easy to follow
Good documentation
Works well for small projects with fixed requirements
Easy to manage and track

22
Q

Disadvantages of the Waterfall Model?

A

Hard to make changes
Customers can’t give feedback until the end
Bugs are found late
Not ideal for complex or flexible projects

23
Q

What is the Prototyping Model?

A

A model where a sample version of the software is created to understand user needs better. Used when requirements are not clear.

24
Q

What are the benefits of a prototyping model

A

Helps visualise the system early
Useful when users are unsure of their needs

25
What is the Spiral Model mainly used for?
Projects with high risks – it focuses on risk management. (Combines design and prototyping with risk analysis. Ideal for large, high-risk projects.)