Requirements Flashcards

(69 cards)

1
Q

What is the first stage of the software engineering process?

A

Specification

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

Why are requirements important in software projects?

A

Because poor requirements are a leading cause of project failure.

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

What are the top reasons software projects fail?

A

Incomplete requirements and lack of user involvement.

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

What is Requirements Engineering?

A

The process of determining stakeholder needs and defining system services to meet those needs.

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

What are the main stages of the Requirements Engineering process?

A

Feasibility study, Requirements elicitation and analysis, Requirements specification, Requirements validation.

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

What is the goal of stakeholder analysis?

A

To identify primary, secondary, and tertiary stakeholders.

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

What are personas in requirements engineering?

A

Representations of real user types used to understand motivations, expectations, and goals.
Should differentiate stakeholders clearly

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

What is the use of personas?

A

To help developers design with actual user types in mind and avoid self-centered design.

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

What is a use case diagram?

A

A visual representation of the actors in a system and the tasks they perform.

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

Who are ‘actors’ in a use case diagram?

A

People or systems that interact with the system being modeled.

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

What is a feasibility study?

A

An evaluation to determine whether the proposed system is viable and worth pursuing.

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

What is the benefit of finding errors in the requirements stage?

A

It can lead to up to 200:1 cost savings compared to fixing them in the maintenance stage.

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

What is the importance of documenting requirements?

A

It allows examination, negotiation, and serves as a basis for testing and validation.

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

How can use case diagrams be extended?

A

By adding optional or mandatory related tasks through ‘extends’ and ‘includes’ relationships.

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

Other ways to classify stakeholders

A

Importance/priority
Impact of their needs
List example people
List what you want from them

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

What is a user story in Agile?

A

A short sentence representing a requirement: ‘As a <role>, I want <goal> so that <outcome>'.</outcome></goal></role>

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

What are the key parts of a user story?

A

Role, goal/action, and outcome/motivation.

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

What is the main purpose of user stories?

A

To document requirements in a lightweight, fast, and clear format.

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

What is the difference between a requirement and a specification?

A

Requirement: what the system must do; Specification: how the system will meet the requirement.

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

What are functional requirements?

A

Functions the user needs to achieve, e.g., login, post, edit profile.

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

What are non-functional requirements?

A

Constraints on system performance, like uptime, security, usability.

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

Give examples of non-functional requirements categories.

A

Performance, Usability, Efficiency, Security, Legal, Ethical.

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

What is the purpose of requirement validation?

A

To ensure gathered requirements are correct, complete, and meet stakeholder needs.

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

Why are observations important in requirements gathering?

A

They reveal implicit needs and behaviors that users may not articulate.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
What are personas used for in requirements gathering?
To represent typical users and ensure designs meet their needs.
26
When should you use interviews?
When you need in-depth understanding and follow-up questions.
27
When should you use focus groups?
To gather broad feedback and explore differing perspectives quickly.
28
What is a technology tour?
An investigative method to learn about all tech tools in a workspace or process.
29
What is ethnography in software engineering?
Spending time in the client’s environment to understand work culture and needs.
30
What are the advantages of using multiple investigation techniques?
They provide different insights and validate each other’s findings.
31
Why is having a strategy important in requirement investigation?
To avoid collecting irrelevant data and ensure focused learning.
32
Pros and cons of user stories
Concise and clear Little maintenance Clear requirements checklist Difficult to use on BIG projects Loose detail and formality Don’t describe processes, tasks or context
33
Good investigation techniques
Use initial questions to set investigation goals
34
When should you use surveys?
Good for contacting lots of people and getting a majority view
35
Focus group vs interview
Focus group More people at once Discussing differences and opposing opinions Interview No conflict No dominant speaker Shorter
36
What is the purpose of requirements models?
To synthesize gathered requirements and visually represent relationships and structure. Give you a comprehensive set of integrated requirements.
37
What are models in software engineering?
Selective representations that abstract and emphasize key aspects of a system or process.
38
Name three purposes of models according to Sommerville.
To derive requirements, describe the system to engineers, and document the system post-implementation.
39
What does a context diagram show?
Shows related systems. How a system interacts with external systems and defines its boundaries. Shows key systems that need to be developed and what NOT to be developed
40
What is a hierarchical task analysis used for?
Breaking down a complex use case into subtasks.
41
What is UML?
Unified Modeling Language – a standardized way to visualize system design using diagrams.
42
Name five key UML diagram types split into 2 groups
Use Case, Activity, Sequence, Class, State diagrams. Behaviour diagrams - use case, activity, sequence Structure diagrams - class, state
43
What is an activity diagram used for?
To elaborate workflows with decisions, parallel work, and wait points.
44
What symbols are used in activity diagrams?
Rounded rectangles (actions), diamonds (decisions), bars (start or end of concurrent activities), filled circles (start/end).
45
What does a sequence diagram show?
A timeline of messages between objects or components in a system. Good for complex sharing of information between people and systems.
46
What is a class diagram used for?
To specify classes and their relationships in object-oriented design.
47
What is a state diagram?
A diagram that shows all the states an entity can be in and the transitions between them.
48
What is a scenario in software engineering?
A structured text description showing how a user achieves a goal in a given context. Define a setting or context, define one or more actors or users, define goals and/or objectives, describe a plot.
49
What should a scenario include?
Context, actors, goals, a plot, and detailed steps with possible issues.
50
Why avoid combining all information in one diagram?
Each diagram should clearly convey one specific aspect to prevent confusion.
51
How are models different from specifications?
Models are abstract representations; specifications are precise, detailed, and implementation-focused.
52
Can diagrams be used at multiple stages?
Yes, diagrams like use case or sequence diagrams can support requirements, specs, and documentation.
53
What is model-driven development?
A practice where models are used to generate parts of the actual code automatically.
54
What does SRS stand for in software engineering?
Software Requirements Specification
55
What is the purpose of the SRS document?
To formally document user requirements for system development, testing, and contractual agreement.
56
What standard is often used for writing SRS documents?
IEEE Standard 830-1998
57
What are some key elements in an SRS document?
Unique IDs, categorized requirement lists, diagrams, and acceptance test definitions.
58
Who uses the requirements document?
Developers, testers, managers, stakeholders, and clients.
59
What is the main goal of requirements validation?
To ensure the documented requirements accurately reflect the customer's needs.
60
Name three reasons why we do requirements validation.
1) Checking correctness, 2) Avoiding rework, 3) Contractual agreement
61
Why is avoiding rework important?
Fixing requirement errors later is more costly than addressing them early.
62
What is the requirements validation cycle?
Discovery → Classification & Organization → Prioritization & Negotiation → Specification/Definition
63
What does internal validation involve?
Presenting requirements to your team for feedback before showing them to the client.
64
What does external validation involve?
Presenting the final plan to the client for approval, including budget and timeline.
65
What should you do if you find gaps or conflicts during validation?
Revisit elicitation or document and resolve conflicts before moving to external validation.
66
What are the benefits of internal validation?
Clarifies understanding and prepares the team before client presentation.
67
Why is external validation critical?
It formalizes agreement with the client and prevents costly misunderstandings later.
68
How can moving on to specifications highlight requirement issues?
Designing the system exposes gaps or unclear requirements that were previously unnoticed.
69
How do Agile techniques relate to validation?
They aim to integrate design earlier, reducing late-stage requirement issues.