Ch. 4: Requirements Engineering and Specification Flashcards
What is the general definition of requirements in requirements engineering?
Requirements are the functions and properties that a system should support or provide.
According to the Certified Professional for Requirements Engineering Glossary, what is a goal of requirements engineering?
Understanding and documenting the stakeholders’ desires and needs.
Please explain the term “requirements engineering.”
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.
Please name the core activities in requirements engineering.
Elicitation, documentation, validation and management of requirements.
Please describe the steps of the first three requirements engineering core activities.
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.
What are the main steps during the elicitation phase of requirements engineering?
- 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.
What are the main steps of the documentation phase of requirements engineering?
- 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.
What are the main steps of the validation phase in requirements engineering?
- 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.
What is the goal of specification?
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 do requirements engineering and specification differ?
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.
Please name the elements of a specification.
- 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
A typical element of a specification is a …
… business function.
Please describe the contents of a user interface specification.
- 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.
What is the first step when specifying system structure and behavior?
Identification and specification of functional components.
What are the four steps for the specification of the structure and the behavior of the system itself?
- 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