M6 | Requirements Engineering

0.0(0)
studied byStudied by 0 people
full-widthCall with Kai
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/86

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

87 Terms

1
New cards

Statements that describe what the software system should be, but not how it is to be constructed.

Requirements

2
New cards

Describe the user’s needs and desires for a software system.

Requirements

3
New cards

Must be clearly and fully understood by the software engineers who develop the system.

Requirements

4
New cards

In software engineering, this distinguishes the “what” from the “how.”

Requirements

5
New cards

A set of activities related to the development and agreement of the final set of requirement specifications.

Requirements Engineering (RE)

6
New cards

One of the top reasons for software project failures.

Incomplete requirement specifications

7
New cards

One of the important reasons for software project success.

Clear requirement statements

8
New cards

Which activities are typically involved in requirements engineering for a software project?

Elicitation, Documentation and Definition, Specification, Prototyping, Analysis, Review and Validation, Agreement and Acceptance

9
New cards

Are all requirements engineering activities needed to the same degree for all software projects?

No

10
New cards

Which emerging task is considered key in software development, regardless of the process model?

Managing requirements and user involvement

11
New cards

The first step of requirements engineering.

Ensure all preparations are made and plan the requirements engineering activities

12
New cards

Who must understand and agree to the requirements engineering process?

Both the requirements solicitors and the providers

13
New cards

Requirements engineering processes can follow which approaches?

Agile and flexible, or traditional and rigorous

14
New cards

The first step in requirements engineering.

Put together a plan for requirements engineering

15
New cards

What should a requirements engineering plan include?

Process to be used, resources needed, schedule for completing the requirements activities

16
New cards

How long can it take to develop a requirements engineering plan depending on the project size and complexity?

Several hours to several days or weeks

17
New cards

For large software projects, why is the preparation effort for requirements engineering important?

It satisfies the entrance criteria for RE activities and is vital to the success of the rest of the project

18
New cards

When does the requirements engineering (RE) process commence?

Once the preparation for requirements engineering is completed

19
New cards

What is true about the steps within requirements engineering?

There are many different steps

20
New cards

Why is it essential that the planned RE steps are clear to all participants?

To ensure everyone understands and follows the agreed-upon process

21
New cards
<p>What does this diagram represent?</p>

What does this diagram represent?

Requirements Engineering Process

22
New cards

The first step in the requirements engineering process, where requirements analysts gather information from users and customers.

Elicitation

23
New cards

During which step are gathered requirements checked for accuracy, conflicts, categorized, and prioritized?

Analysis

24
New cards

Who performs the elicitation and gathering of requirements from users and customers?

Requirements analysts

25
New cards

Why is there usually little opportunity to go back from requirements analysis to elicitation?

Because users who provide requirements information are scarcely available

26
New cards

After requirements analysis, the material is processed through which three potential sub-activities?

Requirements definition and documentation, requirements prototyping, requirements review

27
New cards

What do the last two steps of requirements engineering lead to?

Finalization of the Software Requirements Specification (SRS) and other technical documentation

28
New cards

What happens to project costs if requirements engineering is not performed?

Costs increase

29
New cards

Without documented requirements, what becomes difficult to base testing on?

Requirements

30
New cards

What problem occurs when there are no agreed-upon requirements?

Feature creep or scope creep cannot be controlled

31
New cards

Why is project schedule and cost hard to manage without clear requirements?

Because there are no documented requirements to guide planning

32
New cards

The process of finding out what the user or client actually needs for the software project.

Requirements Elicitation

33
New cards

Where do many software engineers typically start their careers?

Coding, designing, or testing a software system

34
New cards

From which background do the majority of requirements analysts typically come?

Business side, with good industry domain knowledge and communication skills

35
New cards

Besides business-side professionals, which other group often progresses to the role of requirements analyst?

Experienced user/customer support personnel

36
New cards

What two skills are important for eliciting user requirements?

Communication skills and industry domain knowledge

37
New cards

Why are strong communication skills essential in requirements elicitation?

Because users/customers do not always know how to state their needs

38
New cards

At the high level of requirements elicitation, what must the analyst do?

Probe and understand the business rationale and justification for the software/project

39
New cards

At the low level of requirements elicitation, what must the analyst do?

Elicit and gather the specific details of the users’ needs and desires

40
New cards

Requirements elicitation operates at which two levels?

High level (business rationale/justification) and low level (user needs and desires)

41
New cards

What do high-level requirements help establish before eliciting detailed functional requirements?

Proper customer expectations

42
New cards

How do high-level requirements support the software project?

They facilitate high-level scoping and direct attention to the proper business area

43
New cards

What do high-level requirements typically include?

A list of major functionality the customer perceives the new software will deliver

44
New cards

After gathering high-level requirements, what must be elicited next?

Detailed requirements

45
New cards

For a new software system, how many main categories of information must detailed requirements address?

Six

46
New cards

When a software system already exists, what do users often base their requirements discussion on?

Requirements in the currently existing system

47
New cards

After requirements are elicited and collected, why must they still be analyzed?

Because they are still just an unorganized set of data

48
New cards

What are the two main tasks of requirements analysis?

Categorizing (clustering) the requirements and prioritizing the requirements

49
New cards

In requirements analysis, why must each requirement be labeled?

So it is uniquely identifiable and traceable

50
New cards

What can be used to help identify each category of requirements?

Prefixes

51
New cards

In addition to priority, what may guide the natural clustering of requirements?

The six dimensions of requirements

52
New cards

What tool can be used during requirements analysis to describe system behavior?

Use Cases (UCs)

53
New cards

What are use cases (UCs)?

A sequence of actions that a system should perform within the business flow context of the user or actor

54
New cards

What type of use cases are used to describe system requirements in object-oriented contexts?

Object-Oriented Use Cases (OO UCs)

55
New cards

In use case modeling, what does the term "actors" refer to?

All external interfaces with the system

56
New cards

Which requirements analysis method is based on the understanding that different stakeholders view requirements differently?

Viewpoint-Oriented Requirements Definition (VORD)

57
New cards

In VORD, why might a financial stakeholder provide different requirements than an HR stakeholder?

Because requirements are expressed in the lingo and emphasis of each stakeholder’s domain

58
New cards

What is the first step of the VORD methodology?

Identify the stakeholders and the viewpoints

59
New cards

In VORD, which step involves eliminating duplication and grouping common viewpoints?

Structure and categorize the viewpoints

60
New cards

Which step of VORD focuses on refining and recording the identified viewpoints?

Document and refine the identified viewpoints

61
New cards

In VORD, what is the final step where viewpoints are connected to the system and its services?I

Map the viewpoints to the system and the services it is to provide

62
New cards

Why is prioritization of requirements necessary in software projects?

Because not all identified requirements can be developed and delivered due to constraints

63
New cards

Which of the following are common constraints that limit the development and delivery of all requirements?

Limited resources, limited time, limited technical capabilities

64
New cards

Which of the following is NOT typically a criterion for establishing requirements priority?

Developer’s personal preference

65
New cards

Which criteria for prioritizing requirements focus on market and competitive advantage?

Competition/current market condition and immediate sales advantage

66
New cards

Fixing urgent issues in the existing product is an example of which requirement prioritization criterion?

Critical problems in the existing product

67
New cards

What is the most significant reason to ensure requirements are traceable?

To track back after development and verify that all requirements have been developed, tested, packaged, and delivered

68
New cards

Why is it important to account for anything extra in a project that cannot be traced back to requirements?

To ensure that only agreed-upon requirements are included

69
New cards

What does backward from traceability mean?

Links the software requirement to the document source or person who created it

70
New cards

What does forward from traceability mean?

Links the requirement to design and implementation

71
New cards

What does backward to traceability mean?

Links design and implementation back to the requirements

72
New cards

What does forward to traceability mean?

Links documents preceding the requirements to the requirements

73
New cards

What two things are also important to ensure requirements are traceable?

Linking related requirements + unique identification of requirements

74
New cards

What are the three central activities in a requirements engineering process?

Requirements definition, prototyping, and review

75
New cards

What does requirements definition involve?

Formally spelling out the requirements

76
New cards

What is the most popular notation for representing requirements in the industry?

UML

77
New cards

Examples of notations used for requirements definition include:

I/O diagrams, Data Flow Diagrams (DFDs), Entity Relationship Diagrams (ERDs)

78
New cards

How are requirements often prototyped?

With heavy user participation

79
New cards

What activity is closely related to requirements definition and prototyping?

Review of requirements with users and customers

80
New cards

How can requirements reviews be conducted?

Informally and frequently (Agile) or formally

81
New cards

After requirements have been analyzed and reviewed, where should they be formally recorded?

Software Requirements Specification (SRS) document

82
New cards

What is the last step of requirements engineering?

Requirements Agreement or “sign-off”

83
New cards

Once the SRS is agreed upon, how should future changes be handled?

Controlled or monitored

84
New cards

What is Requirements Engineering (RE)?

A set of activities related to the development and agreement of the final set of requirement specifications

85
New cards

Which steps are involved in the RE process?

Elicitation, documentation and definition, specification, prototyping, analysis, review and validation, agreement and acceptance

86
New cards

Which notations are commonly used in documenting requirements?

Use Cases (UCs), I/O Diagrams (IODs), Data Flow Diagrams (DFDs), Entity Relationship Diagrams (ERDs)

87
New cards

What is the output of the RE process?

Software Requirements Specification (SRS)