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.
Set of flashcards Details
Flashcards | 79 |
---|---|
Students | 10 |
Language | English |
Category | Computer Science |
Level | Primary School |
Created / Updated | 22.04.2018 / 26.01.2025 |
Weblink |
https://card2brain.ch/box/20180422_foundation_level_cpre_fl
|
Embed |
<iframe src="https://card2brain.ch/box/20180422_foundation_level_cpre_fl/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
EO 1.1 What are the symptoms of and reasons for inadequate RE
Good RE is important since many errors arise already in this phase and can only be rectified later at high cost. Typical symptoms of inadequate RE are missing and unclear requirements.
The worst consequences of inadequate requirements engineering are:
- Missing of the project targets because of unavailable requirements.
- Diversion of the real project target, because the requirements have low quality (they do not satisfy the requirements standard criteria's)
- Implicit requirements which unexpectedly and late influence the project.
- Contradictiory requirements lead to expensive additional work in the project.
- Requirements creeping are almost unrecognizable changes of requirements. They result in unexpected changes of the original project target, as well as changes of the original project estimate.
Typical reasons for inadequate RE are
- the wrong assumption of the stakeholders that much is self-evident and does not need to be stated explicitly
- communication problems due to differences in experience and knowledge
- the project pressure from the client to build a productive system rapidly.
EO 1.2 What are the four major activities of RE?
The four main activities of Requirements Engineering are elicitation, documentation, validation/negotiation plus the management of requirements:
- Eliciation - The first step concerns the collection of requirements: | To get correct requirements as complete as possible
- Documentation - Specification of the requirements. | specify the requirements with techniques and tools like use cases, feature lists, domain data model, etc.
- Validation (and Negotiation) - The focus here is the review and reconciliation of requirements with stakeholders. | quality assurance in RE
- Management - Requirements must be maintained over the duration of the project, but also especially beyond. | working out the requirements
The activities can be scheduled in specific processes such as recommended in the Standard ISO/IEC/IEEE 29148:2011. They often concern different levels of requirements such as stakeholder requirements and system or software requirements.
EO 1.3 Knowing the role of communication in RE
- Natural language is the most important means to communicate requirements.
- At the same time it is particularly important to agree on a common terminology.
- Furthermore the communication medium (written or spoken) plays a big role. When communicating, all participants must deal consciously with focusing and simplification.
The following linguistic effects are important for the IREB exam:
- Nominalization - by nominalization a long and complex process is transformed into a single event. Example: "The booking and printing of the ticket is done after the payment". Solution: Questions about what the process of booking does exactly look like? Questions about what exactly happens when we "print the ticket"?
- Nouns without reference index
- Universal quantifiers - Keywords like: never, always, none, everybody, everyone, nothing, etc.
- Incomplete specified conditions - keywords: if, then, in case of, dependent of. Questions what happens if something does not occur or happen?
- Incomplete specified process words (especially verbs) - Use an active language style: "The printer prints the documents..."
EO 1.4 Knowing skills of a requirements engineer
Besides communication skills he or she must especially have the following skills:
- communication skills
- analytical thinking and reasoning capabilities
- empathy
- conflict resolution skills
- moderation skills
- self-confidence
- ability to convince
WORK STYLE
- exact - loves to work precisely in order to get a clear result
- lovers bureaucracy - is willing to document the results of the analysis in detail
WORK SKILLS
- analytical thinking - can analyze problems without losing himself in details
- reasoning capabilities - can include different aspects and views in the analysis of a problem
- RE methods and tools knowledge - Know the most important methods and tools.
SOCIAL SKILL
- has a high social competence and is empathic
- self confidence / ability to convince - can make agreements with both the specialized experts (domain expert) and with the technicians in the project team
- conflict resolution skills - can negotiate in difficult situations to solve simple conflicts
COMMUNICATION SKILLS
- precise language - uses an exact language
- moderation skills - The RE understands and speaks the language (the concepts) of the stakeholders. This means he has some domain knowledge.
- RE knows how to convert the wishes and needs of the stakeholders into clear requirements for the project.
EO 1.5 Knowing the three kinds of requirements
Typically we differentiate between three kinds of requirements:
- functional requirements
- quality requirements OR non-functional requirements
- constraints
The umbrella term “non-functional requirement” is often used for quality requirements and constraints. Quality requirements must be documented explicitly. In particular the following aspects need to be considered
- Performance
- Security
- Reliability
- Usability
- Maintainability
- Portability
Even though quality requirements are mostly documented using natural language, their relation to other statements have to be traceable and their validation has to be ensured by quantitative assertions or made operational by transformation into additional functionality.
Requirement Analysis Definition
ISO/IEC/IEEE 24765:2010:
- The process of studying user needs to arrive at a definition of system, hardware, or software requirements.
- The process of studying and refining system, hardware, or software requirements.
Spirit in Projects:
The process of the elicitation, elaboration, specification and QA of requirements.
Similar terms for requirement analysis are system analysis, technical analysis, and goal analysis.
EO 2.1 Knowing system context, system boundary and context boundary
The source and so the justifications of the requirements for a system lie in the system context of the planned system. The source consists of the set of all context aspects that initiated or influenced the definition of the requirements. Among the potential aspects in the system context are:
- People (stakeholder or groups of stakeholders)
- Systems in operation (technical systems, software and hardware)
- Processes (technical or physical processes, business processes)
- Events (technical or physical)
- Documents (e.g. laws, standards, system documentation)
It is the function of the system boundary to define which aspects will be covered by the planned system and which aspects are part of this system’s environment. The context boundary identifies the part of the environment that has a connection to the system to be developed.
EO 2.2 Mastering and using system boundary and context boundary
Often the system boundary is only precisely defined towards the end of the requirements process. Before that, the desired functions and qualities of the planned system are only incompletely known or not known at all. Therefore there will be a grey zone in which the possible system boundary lies. Besides a shifting of the system boundary within the grey zone, the grey zone itself can also shift during the RE process, e.g. when, through a shifting of the system boundary, further aspects of the environment become important.
Also the context boundary can change over time, e.g. when it turns out, contrary to expectations, that a legal requirement, previously classified as relevant, has absolutely no impact on the planned system, then the system context is reduced in this area.
The context boundary also has a grey zone. It comprises the identified aspects of the environment for which, at a particular time, it is unclear whether these aspects have a relation to the planned system or not.
Use case diagrams or data flow diagrams are often used for the documentation of the system contexts (especially the system and context boundaries). In context modeling, based on data flow diagrams, the sources and sinks in the system environment are modeled, showing respectively the source or destination of data flows between the system in consideration and the environment. The actors (i.e. for example people or other systems) in the system environment and their use relations with the system to be developed are modeled in use case diagrams.
Context Diagrams
According to the IREB Syllabus a context diagram must include:
- A clear name for the system under analysis.
- All neighbor systems and interfaces have names.
Context diagrams can be drawn in many different ways:
- Data flow diagram of the structured analysis
- Mind Maps
- Use case diagrams (with only one Use Case in the middle)
- Block diagrams (e.g. in Visio)
- Deployment diagrams (from the UML)
- etc.
The most important rules for developing context diagrams:
- There is only one process/system in the middle of the diagram
- There are no storage units (e.g. databases)
- There exists one or more interfaces with:
- Data input - deliver what the system needs.
- Data output - results of the system processes.
- Ther emust be no depdendencies between the interfaces.
- Printers, terminals etc. are typically part of the systems.
- Find all actors
EO 3.1.1 Knowing various types of requirements sources
Possible requirements sources are, for example, stakeholders, documents or existing systems.
EO 3.1.2 Knowing the significance of requirements sources and the consequences of disregarded requirements sources
An important activity in RE activity is the elicitation of requirements for the system to be developed. The foundations for the requirements elicitation comprise on the one hand the system context and on the other hand the requirements sources. Various types of requirements sources are differentiated. Possible requirements sources are, for example, stakeholders, documents or existing systems.
EO 3.1.3 Knowing the most important information of the stakeholder documentation
It is the task of RE to collect the goals and requirements from the various requirements sources. If sources are disregarded, this can have significant negative consequences on the entire course of the project. The documentation of the requirements sources should, with respect to the stakeholders, contain at least the following information:
- name
- function (role)
- additional personal and contact data
- temporal and spatial availability during the project progress
- relevance of the stakeholder
- their area and extent of expertise
- their goals and interests regarding the project
EO 3.1.4 Knowing important principles in dealing with stakeholders (stakeholder rights and duties)
Depending on the company culture it is appropriate, in agreement with the stakeholders, to define verbally or by means of written documentation the tasks, responsibilities, authority, etc. From the stakeholder agreements arise rights and duties for each stakeholder. Dealing with stakeholders effectively guards against lack of motivation and conflicts. Stakeholders should be involved in the project and not only affected by the project.
EO 3.2.1 Mastering and using the content and significance of the Kano model
For the elicitation of requirements, it is crucial to know what importance the requirements have for the satisfaction of the stakeholders. According to the model of Dr. Kano, this satisfaction can be classified into three categories:
- Basic factors (synonym: Dissatisfiers) - must have features
- Assumption that these features are part of the product
- They do not lead to an increasing enthusiasm of the customer just because they exist in the produt
- If these features are missing, they lead to very strong discontent of the customer with the product.
- Performance factors (synonym: Satisfiers) - linear features
- The more of this features / qualities are fulfilled, the higher is the satisfaction of the customer
- Excitement factors (synonym: Delighters)
- They are not expected by the customer upfront.
- Are not absolutely missing, if they are not part of the product.
- If existing, the product becomes more attractive for the customer.
- Are suprises for the customer and generate a positive feeling of th eproduct for the customer.
Negative features load to a shrinking customer satisfaction if these features are fulfilled.
EO 3.3.1 Knowing influencing factors for the choice of elicitation techniques
Elicitation techniques fulfill the purpose of finding out the conscious, unconscious and subconscious requirements of stakeholders. Important factors influencing the choice of elicitation technique are:
- Risk factors
- Human influences
- Organizational influences
- Function-content and technical influences
- Intended level of detail of the requirements
EO 3.3.2 Knowing advantages and disadvantages of elicitation techniques
The elicitation techniques are considerably different depending on the availability of documentation and the abilities of the stakeholders.
Various techniques are needed for the various RE products:
- Survey techniques (e.g. interviews, questionnaires)
- We can assume that there are stakeholders, that have a sufficient knowledge about the system.
- Creativity techniques (e.g. brainstorming, brainstorming paradox, change of perspective, analogy technique)
- The goal is either not clearly defined or unknown.
- We can assume thtat there are different possible solutions.
- Document-centric techniques (e.g. system archaeology, perspective-based reading, requirements reuse)
- There already is an existing solution.
- Observation techniques (e.g. field observation, apprenticing)
- There is no adequate documentation that would allow us to deepen our knowledge about the system.
- The stakeholders are either not willing or capable to sufficiently specfiy the requriements.
- Support techniques (e.g. mind mapping, workshops, CRC cards, audio and video recordings, use case modeling, prototypes)
- The usage scenarios of th efuture system are well known.
The application of appropriate elicitation techniques is a project-critical key competence. The best results are achieved with a combination of various elicitation techniques.
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).