Foundation Level - CPRE FL
The Foundation Level addresses the advanced beginner in Requirements Engineering and provides the core knowledge of this topic.
The Foundation Level addresses the advanced beginner in Requirements Engineering and provides the core knowledge of this topic.
-
- 1 / 79
-
Cartes-fiches
EO 4.1.1 Knowing key reasons for requirements documentation
In RE it is necessary to document all important information. All forms of more or less formal representation of requirements, from the description in prose up to diagrams with formal semantics, are called documentation techniques. Many people are involved in the documentation in the lifecycle of a requirements document. Documentation plays a goal-orientated supporting function in communication. The following factors make this support necessary. Requirements are long-lasting, legally relevant and should be accessible to all. Requirements documents are complex.
EO 4.2.1 Knowing the three perspectives of functional requirements
Requirements documents include, amongst other things, functional requirements that normally represent the following three different perspectives of a system.
- Data perspective
- Behavioral perspective
- Functional perspective
EO 4.2.2 Knowing advantages and disadvantages of natural language requirements documentation
All three perspectives can be documented by means of natural language requirements, whilst conceptual model types are specialized for one of these perspectives. Effectively applicable forms of the documentation are:
- Natural language requirements documentation
- Conceptual requirements models such as, for example use case diagrams, class diagrams, activity diagrams or state diagrams (see also EU 6)
- Combined forms of requirements documentation
EO 4.2.3 Knowing the most important model-based requirements documentation form
Central components of a requirements document are the requirements for the system being considered. Besides the requirements, depending on the purpose of the document, the requirements documents also contain information about the system context, acceptance conditions or, for instance, characteristics of the technical implementation. In order to ensure the manageability of requirements documents, such documents must be structured most appropriately.
Reference structures for requirements documents propose a more or less complete and a more or less flexible field-tested content structure. Common reference structures for requirements documents are described amongst others in the Standard ISO/IEC/IEEE 29148:2011.
In practice it turns out that there are a lot of positive effects from using reference structures for requirements documents. For instance, the use of reference structures simplifies the usage of the requirements documents in subsequent development activities (e.g. in the definition of test cases). Generally reference structures cannot be adopted one-to-one for a requirements document, as the content structure frequently has to be adapted in detail for domain-, company- or project-specific circumstances.
Requirements documents serve as the basis for many activities during the project lifespan, such as, for example
- Planning
- Architectural design
- Implementation
- Test
- Change management
- System usage and system maintenance
- Contract management
EO 4.2.4 Knowing the advantages of mixed form of requirements documentation
xxx
EO 4.3.1 Knowing the advantages of standardized document structures
xxx
EO 4.3.2 Knowing widespread document structures
xxx
EO 4.3.3 Knowing important points for a tailored standard structure
xxx
EO 4.4.1 Knowing activities building on requirements documents
xxx
EO 4.5.1 Mastering and using quality criteria for requirements documents
In order to serve as a basis the subsequent development processes, the requirements document must meet certain quality criteria. In particular this includes:
- Unambiguity and consistency
- Clear structure
- Modifiability and extensibility
- Completeness
- Traceability
EO 4.6.1 Mastering and using quality criteria for requirements
In addition, the individual requirement must satisfy certain quality criteria, in particular:
- agreed
- unambiguous
- necessary
- consistent
- verifiable
- feasible
- traceable
- complete
- understandable
EO 4.6.2 Knowing the two most important style rules for requirements
Besides the quality criteria for requirements there are two basic style rules for requirements in natural language, which promote readability:
- short sentences and paragraphs
- formulate only one requirement per sentence
EO 4.7.1 Mastering and using contents and importance of a glossary
A frequent cause of conflicts, arising in RE, lies in the different understanding of terminology among the involved people. To prevent this problem, it is necessary that all relevant terms are defined in a glossary. A glossary is a collection of term definitions for:
- context-specific technical terms
- abbreviations and acronyms
- everyday concepts that have a special meaning in the given context
- synonyms
- homonyms
EO 4.7.2 Mastering and using rules for handling the glossary
The following rules should be observed when working with a glossary:
- The glossary must be managed centrally
- The responsibilities for maintaining the glossary must be defined
- The glossary must be maintained over the course of the project
- The glossary must be commonly accessible
- Use of the glossary must be obligatory
- The glossary should contain the sources of the terms
- The stakeholders should agree upon the glossary
- The entries in the glossary should have a consistent structure
It is beneficial to begin the development of the glossary as early as possible, in order to reduce the alignment work later on.
EO 5.1 Mastering and using the five transformational processes in the perception and writing of natural language and their consequences on the formulation of requirements
As natural language is often ambiguous and interpretable, it is necessary to pay special attention to precisely this aspect when using language. During the processes of perception and writing, so-called “transformational processes” occur. The fact that these transformational processes follow certain rules can be used by the requirements engineer to elicit exactly what the author of the requirement really did mean. The five most relevant transformational processes for RE are:
- Nominalization
- Nouns without reference index
- Universal quantifiers
- Incompletely specified conditions
- Incompletely specified process words
EO 5.2 Mastering and using the five steps for formulating requirements using a requirements template
Requirements templates are an easily learnable and applicable approach to reducing language effects in the formulation of requirements. The requirements template effectively supports the author of a requirement in creating high quality requirements.
The five steps to formulating requirements through a requirements template are:
- Determine legal obligation
- Determine the core of the requirement
- Characterizes the activity of the system
- Insert objects
- Determine logical and temporal conditions
The fixing of liability by using the verbs "shall", "should", "will", “may” can be made in the text of the requirement. If the liabilities change, then the requirements change too. The use of attributes is another possibility for documenting the liabilities of requirements.
The best results cannot be achieved by making the use of requirements templates compulsory, but rather by offering training on the method and by treating requirements templates as a supplemental tool.
EO 6.1.1 Knowing the term “model” and the properties of models
Using models makes it easier to understand information selectively about the facts and their connections, to record them more quickly and document them unambiguously. A model is an abstraction of an existing reality or a reality to be created (note that this definition covers the most frequent case in requirements engineering, but is a bit narrow. More generally speaking, a model is an abstract representation of an existing entity or an entity to be created, where entity denotes any part of reality or any other conceivable set of elements or phenomena, including other models. With respect to a model, the entity is called the original.). Models have three important properties:
- Representation property: models map reality
- Reduction property: models reduce the represented reality
- Pragmatic property: models are constructed for a special purpose
EO 6.1.2 Knowing definition elements of a conceptual modeling language
In RE conceptual models are used frequently. They typically model reality through a set of graphical elements. Conceptual modeling languages are used for the modeling of conceptual models, which are defined by their syntax (modeling elements and their valid combinations) and semantics (meaning of the modeling elements).
Requirements models are conceptual models that define the requirements for the system to be developed.
EO 6.1.3 Knowing the advantages of requirements models
The documentation of requirements in the form of conceptual models offers, in contrast to natural language requirements documentation, among other things the following advantages:
- Information presented in pictures is quicker to understand and memorize
- Requirements models allow the targeted modeling of one perspective on the requirements
- By defining the modeling language for the particular purpose, an appropriate abstraction of reality can already be specified
The combination of natural language and requirements models provides the advantages of both documentation types.
EO 6.2.1 Knowing the importance of goals in requirements engineering
A goal describes an intention of a stakeholder. Such intentions typically concern characteristic features of the system to be developed or of the associated development project. Goals can be documented both in natural language and in the form of models.
EO 6.2.2 Knowing the two types of goal decomposition
An integral part of the documentation of goals is the description of refinement relationships (decomposition relationships) between higher and subordinate goals. In this regard two types of decomposition are distinguished:
- "AND decomposition” (all sub-goals must be fulfilled in order to fulfill the higher goal (super-goal)
- "OR decomposition” (at least one sub- goal must be fulfilled in order to fulfill the higher goal (super-goal)
Such decomposition relationships between goals are frequently documented in the form of and/or trees.
EO 6.2.3 Mastering the modeling and using of goal relationships as and/or trees
Use cases help to examine and document a planned or existing system, from users perspective. The use case approach is based on two complementary documentation techniques:
- Use case diagrams
- Use case specifications
EO 6.3.1 Mastering the modeling of and using use case diagrams
Syllabus IREB Certified Professional for Requirements Engineering
‑ Foundation Level ‑ Version 2.2.2, August 23, 2017 Page 22 / 35
Use case diagrams are simple models to document the functions of a system from a user’s perspective and to document the interrelations of the functions of a system and the relations between these functions and the systems context. Typical modeling elements for use case diagrams are:
- Actors (people or other systems) in the system context
- The system boundary
- Use cases
- Various types of relationships between these modeling elements
EO 6.3.2 Mastering the specification of and using use case specifications
Use case specifications complement the overview-like use case diagrams through a more precise specification of the essential characteristic of individual use cases. For this purpose, a predefined template is generally filled in for each relevant use case separately. Typical sections of such a template include:
- Unique designation of the use case
- Name of the use case
- Description of the use case
- Triggering event
- Actors
- Result
- Pre- and post-conditions
- Various kinds of scenarios. Scenarios describe typical event sequences which lead to the successful execution of the use case (main scenarios, alternative scenarios) or explicitly describe how, during the execution of the use case, exceptional situations should be handled (exception scenarios).
EO 6.4.1 Knowing the three perspectives on requirements
Within the scope of model-based documentation, requirements for the system to be developed are modeled in three overlapping modeling perspectives:
- Data perspective
- Functional perspective
- Behavioral perspective
EO 6.5.1 Knowing the focus of the data perspective on requirements
For the data perspective, typical examples in conceptual modeling languages are entity relationship models and UML class diagrams.
EO 6.5.2 Mastering and using entity relationship diagrams and UML class diagrams
In the data perspective, for example, the structure of data is documented as well as usage and dependency relationships in the system context. Traditionally the data perspective is modeled using entity relationship diagrams, which document the structure of the reality to be modeled using three modeling elements:
- Entity types
- Relationship types
- Attributes
Furthermore, the frequency by which an instance (entity) of an entity type participates in a relationship of a specific relationship type can be documented using cardinalities.
UML class diagrams are a common approach to modeling the data perspective of requirements. A class diagram consists of a set of classes and associations between these classes. In this context, frequently used modeling elements of UML class diagrams are:
- Classes
- Associations (with multiplicities and roles)
- Aggregation and composition relationships
- Generalization relationships
EO 6.6.1 Knowing the focus of the functional perspective on requirements
For the functional perspective, data flow diagrams or UML activity diagrams (with object flows between actions) are frequently used.
EO 6.6.2 Mastering and using data flow diagrams and UML activity diagrams
The functional perspective of requirements deals with the transformation of input data received from the environment into output data released into the environment of the system. Approaches to modeling the functional perspective include function models. Frequently, as for example in Tom DeMarco’s “Structured Analysis”, data flow diagrams are used as function models. The graphical representation of a system with its system context is called context diagram; in particular data flow diagrams are also called context diagrams if they are used to define the system boundary.
The modeling elements of data flow diagrams are:
- Processes
- Data flows
- Data stores
- Sources/sinks
Since in data flow diagrams no control flow, for example, or the internal workings of processes are shown, so data flow diagrams are supplemented with additional, structured forms of description. For example, in a mini-specification from structured analysis, the internal behaviors of processes are defined.
In UML 2.0 data flows are represented by the explicit modeling of object flows in activity diagrams and so these correspond best to the data flow diagrams. Among other things, activity diagrams model activity nodes and control flows between activity nodes. Object flows represent a special form of control flow. Synchronization bars in activity diagrams allow the modeling of concurrent control and object flows. Alternative control and object flows can be described using decision nodes.
The essential modeling elements in UML 2.0 activity diagrams are:
- Actions
- Start and end nodes
- Control flow
- Object flow
- Decision nodes
- Merge of alternative control flows
- Fork (concurrency)
- Join (concurrency)
- Hierarchization elements
EO 6.7.1 Knowing the focus of the behavioral perspective on requirements
For the behavioral perspective, typical examples in conceptual modeling languages are finite state automata or statecharts.
EO 6.7.2 Mastering and using UML statecharts
In requirements modeling, the dynamic behavior of a system is modeled in the behavioral perspective. In this perspective the focus lies on the various states in which a system can be found and on the events that are responsible for a change of state. In UML state diagrams, which are based on the principles of finite state machines, the following modeling elements are used:
- State
- Start and end states
- State transition
- Concurrency
EO 7.1.1 Knowing the significance of validating requirements
The objective of requirements validation is to validate whether requirements satisfy the defined quality criteria (see EU 4.6) in order to detect and correct any errors in the requirements as early as possible in RE. Since requirements documents are the basis for the further development activities, errors in the requirements affect all further development activities so much that the effort to correct an undetected requirements error increases significantly in the course of development. The reason for this is that not only the actual error in the requirements must be corrected, but also that all artifacts based on this must be reworked, e.g. architecture design, implementation, test cases.
EO 7.2.1 Knowing the significance of conflicts with regard to requirements
Unresolved conflicts in a system’s requirements mean, for example, that one group of stakeholders’ requirements cannot be implemented or that the operational system is either not accepted or not sufficiently used. The goal of negotiating requirements is to develop, among the relevant stakeholders, a common and agreed understanding with respect to the requirements for the system to be developed.
EO 7.3.1 Knowing the three quality aspects of requirements
A distinction is drawn between three quality aspects for requirements (content, documentation and agreement), whereby the quality of a requirement or set of requirements, in respect of the individual quality aspects, can each be assessed by means of a series of validation criteria.
EO 7.3.2 Mastering and using validation criteria for the quality aspects "content”, "documentation” and "agreement”
For the quality aspect "content”, the eight validation criteria are:
- Completeness of the requirements document
- Completeness of the individual requirements
- Traceability
- Correctness and adequacy
- Consistency
- No premature design decisions
- Verifiability
- Necessity
For the quality aspect "documentation”, the four validation criteria are:
- Conformity to document format and document structures
- Understandability
- Unambiguity
- Conformity to documentation rules
For the quality aspect "agreement”, the three validation criteria are:
- Agreed
- Agreed after changes
- Conflicts resolved
EO 7.4.1 Knowing the six principles for requirements validation
The validation of requirements is based on various principles. These principles ensure that during validation as many errors as possible can be identified in the requirements. The six principles for requirements validation are:
- Involvement of the correct stakeholders
- Separating the diagnosis and the correction of errors
- Validation from different views
- Adequate change of documentation type
- Construction of development artifacts that are based on requirements
- Repeated validation
EO 7.4.2 Mastering and using the principles of requirements validation
xx
EO 7.5.1 Knowing techniques for requirements validation
There are several techniques for systematic validation of requirements, which are also partly used in addition to each other, in order to verify requirements against defined validation criteria as comprehensively as possible. Techniques for requirements validation are:
- Commenting (expert opinion)
- Inspections
- Walkthroughs
The following additional techniques are used:
- Perspective-based reading
- Validation through prototypes
- Usage of checklists
EO 7.5.2 Mastering and using the validation techniques: commenting (expert opinion), inspection, walkthrough, perspective-based reading, validation via prototypes and use of checklists
xxx
EO 7.6.1 Knowing activities for requirements negotiation
Negotiating requirements aims at establishing a common understanding of the requirements for the system to be developed among all relevant stakeholders. The tasks in the negotiation of requirements are:
- Conflict identification
- Conflict analysis
- Conflict resolution
- Documentation of conflict resolutions