Ch. 4: Requirements Engineering and Specification Flashcards

1
Q

What is the general definition of requirements in requirements engineering?

A

Requirements are the functions and properties that a system should support or provide.

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

According to the Certified Professional for Requirements Engineering Glossary, what is a goal of requirements engineering?

A

Understanding and documenting the stakeholders’ desires and needs.

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

Please explain the term “requirements engineering.”

A

Requirements engineering (RE) is a systematic and disciplined approach to the specification and management of requirements with the following goals:
1. Knowing the relevant requirements, achieving a consensus among the stakeholders about these requirements, documenting them according to given standards, and managing them systematically,
2. Understanding and documenting the stakeholders’ desires and needs,
3. Specifying and managing requirements to minimize the risk of delivering a system that does not meet the stakeholders’ desires and needs.

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

Please name the core activities in requirements engineering.

A

Elicitation, documentation, validation and management of requirements.

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

Please describe the steps of the first three requirements engineering core activities.

A

Elicitation: Determine the system context, determine sources for requirements, select suitable elicitation techniques and apply techniques.
Documentation: Determine the purpose and target group of the documentation, select level of detail and type of model, document requirements. Check: Does the documentation still fit the purpose and target group?
Validation: Define validation criteria, select test principles and test techniques, perform validation and document results, negotiation of requirements/conflict management.

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

What are the main steps during the elicitation phase of requirements engineering?

A
  • Determine the system context: It must be clear which stakeholders and other systems are directly dependent on the creating system.
  • Determine sources for requirements: Typical sources for requirements are stakeholders, documents (e.g., laws, guidelines), and other systems (e.g., legacy systems to be replaced or competing systems).
  • Select suitable elicitation techniques: example are distinct techniques for gathering, questioning, observation, collaboration, or creativity.
  • Apply techniques: Requirements are determined from the specific sources with the selected elicitation techniques in the degree of detail required for the current situation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the main steps of the documentation phase of requirements engineering?

A
  • Determine the purpose and target group of the documentation: The documentation of requirements supports the communication process in the software project.
  • Select the level of detail and type of model: The level of detail and type of model (e.g., text, graphics, software models, and prototypes) are determined depending on the purpose and target group.
  • Document requirements: The determined requirements must be documented in a form suitable for the purpose and target group.
  • Check the documentation: After completing the documentation, it must be decided whether the type and form still fit the purpose and the target group. This is used to check, once again, whether the documentation team has gotten something wrong, or whether the target group or purpose have changed during the documentation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the main steps of the validation phase in requirements engineering?

A
  • Define validation criteria: This determines the focus of the check, which is particularly necessary when validating extensive documents to adhere to the specified schedule.
  • Select test principles and test techniques: Depending on the validation criteria, the time available and the status of the documentation, validation principles and validation techniques that consider the criteria are selected.
  • Perform validation and document results: Results should be documented during the validation. The error correction is carried out afterwards.
  • Negotiation of requirements and conflict management: If conflicts or contradictions are identified during the examination, negotiation with the relevant stakeholders must be carried out, which may be followed by conflict resolution techniques.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the goal of specification?

A

The aim of the specification activities is to create technical documentation of the externally relevant requirements, according to which, a software system will be produced. Based on the knowledge gained through RE, in which business requirements were determined, documented, checked, and negotiated, a technical documentation of the system is created by writing a specification.

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

How do requirements engineering and specification differ?

A

With specification we refer to the activities for the documentation of detailed and technical requirements. In relation to the activities of requirements engineering, this is an extension and detailing of the documentation of requirements. There is no difference between RE and specification regarding elicitation or validation techniques.

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

Please name the elements of a specification.

A
  • Business data model
  • Business functions
  • Business rules
  • System interface definition: Purpose, protocol and data/message structures
  • Structure and behavior of user interfaces
  • Measurable quality requirements
  • Constraints
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

A typical element of a specification is a …

A

… business function.

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

Please describe the contents of a user interface specification.

A
  • Contents and structure of individual dialogues: Detailed specifications on type, size, position, color, and content of UI elements, for example, input fields, texts, buttons, images.
  • Input validation: Specification of the rules to check input fields for business plausibility.
  • Dialogue flow: Specification of how the user is guided through the UI depending on the input and actions of the user.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the first step when specifying system structure and behavior?

A

Identification and specification of functional components.

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

What are the four steps for the specification of the structure and the behavior of the system itself?

A
  • Identification and specification of functional components (identifying components and their relations to each other, describing functional responsibilities of components, describing the processes and the logical structure of the messages exchanged at the interfaces of components)
  • Specification of business data models (key entities of a business/business objects and their interrelationships are specified and defined uniformly for all parties involved. Structure, composition, and relationships between different business entities are specified.)
  • Specification of business rules (statement that defines or conditions a business aspect. Business rules can be used to describe assertions about business object properties and influence the behavior of business processes. In practice, business rules are usually specified in the form of text.)
  • Specification of technical interfaces for data exchange
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the definition of “software quality” according to the International Organization for Standardization (ISO)?

A

“The degree to which a product or system can be used by specific users to meet their needs to achieve specific goals with effectiveness, efficiency, freedom from risk, and satisfaction in specific contexts of use”. To specifically address the quality requirements, business requirements often state that the system must guarantee “good usability,” that “data security” should always be guaranteed, and that the system should “always” be accessible.

17
Q

What influence do quality requirements have on following software development activities?

A

Quality requirements described in detail have a decisive influence on the architecture of the system to be developed: It matters whether the system should only work with five or 500,000 users at the same time. Quality requirements usually have a stronger influence on the technical implementation than the expansion of the scope of business functions. In addition, particular attention must be paid to the testability of quality criteria since specific test cases are created based on the specification.