final Flashcards

study (35 cards)

1
Q

What is Agile methodology?

A

A flexible, iterative approach to software development that emphasizes collaboration and customer feedback.

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

How do Agile principles accelerate development?

A

By promoting working software, continuous feedback, and adaptive planning.

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

What are the benefits of expressing user requirements as user stories?

A

Clarity, focus on user value, and easy prioritization.

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

One disadvantage of test-first development?

A

Tests may be incomplete and lead to a false sense of security.

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

Why does pair programming increase productivity?

A

It enables knowledge sharing, catches errors early, and improves focus.

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

What are Scrum roles?

A

Scrum Master, Product Owner, and Development Team.

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

What is requirements engineering?

A

The process of discovering, documenting, and managing software requirements.

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

What are functional requirements?

A

They describe what the system should do (e.g., features, services).

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

What are non-functional requirements?

A

Constraints like performance, usability, or legal compliance.

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

What are common elicitation techniques?

A

Interviews, user stories, scenarios, and ethnography.

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

Why is traceability important in requirements engineering?

A

It ensures changes can be tracked through the system and impacts assessed.

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

What is a system model?

A

A representation of a system used to understand and communicate its structure and behavior.

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

What is a context model?

A

Shows external entities interacting with the system.

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

What does a use case model show?

A

Functional interactions between users and the system.

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

What are activity diagrams used for?

A

Representing workflows and control logic.

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

What is the benefit of modeling?

A

Improves understanding, communication, and system design.

17
Q

What is architectural design?

A

High-level structuring of the system, identifying components and their interactions.

18
Q

What are design patterns?

A

Reusable solutions to common design problems.

19
Q

What is refactoring?

A

Improving code structure without changing behavior.

20
Q

What is the purpose of configuration management?

A

To handle changes systematically across versions and components.

21
Q

What is defensive programming?

A

Writing code to anticipate and safely handle possible failures or misuse.

22
Q

What are the main types of software testing?

A

Unit, integration, system, and acceptance testing.

23
Q

What is regression testing?

A

Re-testing after changes to ensure new code doesn’t break existing functionality.

24
Q

Difference between black-box and white-box testing?

A

Black-box: focuses on inputs/outputs; White-box: tests internal logic.

25
Why is testing done incrementally?
To detect defects early and reduce debugging effort.
26
Who should test the software?
Ideally independent testers to avoid developer bias.
27
What is software evolution?
The process of modifying software after delivery to correct faults, improve performance, or adapt to a changed environment.
28
What is Lehman’s Law?
Software must evolve or become less useful over time.
29
What is software reengineering?
Restructuring or rewriting part or all of a system to improve maintainability.
30
Why is change management important in evolution?
To assess and control the impact of system changes.
31
What is a socio-technical system?
A system that includes both software and human/organizational interactions.
32
What is a legacy system?
An old system still in use because it supports critical business functions.
33
What is the importance of system dependability?
Critical systems must be reliable, secure, and maintainable.
34
What are the components of a socio-technical system?
Software, hardware, people, processes, and organizational policies.
35
What is system procurement?
The process of acquiring software or systems from third-party suppliers.