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.
Fichier Détails
Cartes-fiches | 79 |
---|---|
Utilisateurs | 10 |
Langue | English |
Catégorie | Informatique |
Niveau | École primaire |
Crée / Actualisé | 22.04.2018 / 26.01.2025 |
Lien de web |
https://card2brain.ch/box/20180422_foundation_level_cpre_fl
|
Intégrer |
<iframe src="https://card2brain.ch/box/20180422_foundation_level_cpre_fl/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
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
EO 7.6.2 Knowing the types of requirements conflicts
During the conflict analysis various conflict types are distinguished, in respect to the requirements, which require various strategies for conflict resolution. The various conflict types are:
- Interest conflict – Stakeholders have factually different needs or divergent personal interests (note that this conflict type includes conflicts of both objective and subjective nature. Objective interest conflicts root in factually different stakeholder needs, while subjective ones are caused by divergent personal interests of involved people.)
- Data conflict– Stakeholders interpret given information differently or have information deficits.
- Value conflict – Stakeholders have divergent values and preferences
- Relationship conflicts – There are emotional problems in personal relationships between stakeholders
- Structural conflict – Conflict roots in stakeholders being on different hierarchy and decision power levels in an organization
EO 7.6.3 Knowing the various conflict resolution techniques
In practice, the causes of conflict are frequently mixed. In the resolution of a conflict, all relevant stakeholders should be considered. For conflict resolution there exist a number of conflict resolution techniques, namely:
- Agreement
- Compromise
- Voting
- Definition of variants
- Overruling
- Consider-all-facts
- Plus-minus-interesting
- Decision matrix
EO 7.6.4 Knowing the documentation for conflict resolution
After resolving the conflict, the conflict should be suitably documented. This should record, in particular:
- cause of the conflict
- involved stakeholders
- opinions of the various stakeholders
- the means of resolving the conflict
- potential alternatives
- the decisions and the reasons for the decisions
EO 8.1.1 Knowing the purpose and definition of attribute schemes
To manage the system’s requirements over the whole lifecycle of the system, it is necessary to collect requirements’ information as attributes in as structured a way as possible. The definition of the attribute structure for requirements is done through an attribute scheme, which can be defined either in tabular form or in the form of an information model.
Attribute schemes are frequently defined and adapted for a specific project on the basis of specific conditions. This includes:
- Specific properties of the project
- Constraints of the organization
- Domain rules
- Constraints of the development process
EO 8.1.2 Knowing important attribute types for requirements
Typical attributes are:
- Identifier
- Name
- Description
- Source
- Stability
- Risk
- Priority
The "legal obligation" can also be saved as additional requirement’s information in the form of an attribute.
EO 8.2.1 Mastering and using views on requirements
In practice, the amounts of requirements in a project and the number of dependencies among these requirements are evermore increasing. In order to keep the complexity of the requirements manageable for the project staff, it is necessary to selectively access and thereby filter the requirements depending on the current task. Two kinds of view formation are distinguished:
- Selective views: showing a subset of the attribute values from requirements selected by defined selection criteria
- Condensed views: showing condensed information about requirements selected by defined selection criteria
EO 8.3.1 Knowing methods for prioritizing requirements
Requirements are prioritized, at various times and during various activities, according to various criteria. Preparing prioritization of requirements is based on a simple system:
- Determining the goals and constraints for the prioritization
- Determining the prioritization criteria
- Determining the relevant stakeholders
- Selection of the artifacts to be prioritized
EO 8.3.2 Mastering and using techniques for prioritizing requirements
Based on the results of these activities, one or more techniques for prioritization are selected and the prioritization itself carried out. Among the prioritization techniques are:
- Ranking and top-ten technique
- Single-criterion classification
- Kano classification
- Prioritization Matrix According to Wiegers
EO 8.4.1 Knowing the benefits of requirements traceability
Within the management of requirements, the requirements’ traceability information is recorded, organized and maintained.
The benefits of requirements traceability involves:
- Simplification of verifiability
- Identification of unneeded properties in the system
- Identification of unneeded requirements
- Support of impact analysis
- Support of reusability
- Support of determination of accountability
- Support for maintenance and administration
EO 8.4.2 Mastering and using classes of traceability relationships
With respect to the requirements’ traceability relationships, three classes of traceability relationships are distinguished:
- Pre-requirements-specification traceability
- Post-requirements-specification traceability
- Traceability between requirements
EO 8.4.3 Mastering and using forms of representation for traceability relationships
Only such information should be recorded for which there exists a clear use. The traceability of requirements can be represented in various ways. Typical representation forms are:
- Text-based references and hyperlinks
- Trace matrices
- Trace graphs
EO 8.5.1 Mastering and using versioning of requirements
Requirements’ versioning and configuration makes it possible, over the lifecycle of a system or product, to have specific development states of requirements and requirements documents available. The version number of a requirement has at least two components:
- Version
- Increment
EO 8.5.2 Mastering and using the formation of requirements configurations
A requirements configuration comprises a defined set of logically related requirements, whereby at most one version of each requirement is contained in the requirements configuration. The formation of requirements configurations are defined in two dimensions:
- Product dimension: the individual requirements of the requirements foundation
- Version dimension: the various change states of a requirement
Requirements configurations have several typical properties:
- Logical connection of the requirements in a configuration
- Consistency of the requirements within a requirements configuration
- Unique identifier of the requirements configuration
- Immutability of the requirements within the requirements configuration
- Basis for rollbacks to earlier versions of the requirements base
EO 8.5.3 Mastering and using the formation requirements baselines
Requirements baselines are specific requirements configurations, which comprise stable versions of requirements and often define the delivery increments of the system (system releases) as well.
EO 8.6.1 Knowing the importance of requirements changes
Requirements change over the entire lifecycle of a system. The changes to the requirements are managed and processed in a systematic change management process. In this change management process, the Change Control Board is responsible for processing the incoming change requests.
EO 8.6.2 Knowing the functions and members of a Change Control Board
The tasks of the Change Control Board are:
- Classification of incoming change requests
- Determination of the effort for performing the change
- Assessment of the change requests in respect to effort-benefit
- Definition of new requirements based on incoming change requests
- Deciding whether to accept or reject a change request
- Prioritization of the accepted change requests
- Assign accepted change requests to change projects
Typical member of the Change Control Board are the change manager, contractor, architect, user representative, quality manager and requirements engineer.
EO 8.6.3 Mastering and using the elements of a requirements change request
If changes to requirements are deemed necessary, these are documented in the form of change requests and submitted to the Change Control Board. A change request contains at least the following information:
- Identifier of the change request
- Title of the change request
- Description of the necessary change
- Justification of the need for the change
- Date filed
- Applicant
- Priority of the change as seen by the applicant.
EO 8.6.4 Mastering and using different classes of change requests
There are three types of change requests:
- Corrective changes
- Adaptive changes
- Exceptional changes
EO 8.6.5 Mastering and using a process to handle change requests
The process of change management provides the following steps:
- Impact analysis and assessment of the change
- Prioritization of the change request
- Assignment of the change to a change project
- Communication of the acceptance/rejection of the change request
EO 8.7.1 Knowing the importance of requirements measurements
Based on the requirements validation and management information such as errors, attributes, traces or changes, the quality of the requirements documents and processes can be analyzed. This enables the identification of improvement possibilities. Typical measurements include
- Requirements change rates
- Requirements errors
EO 9.1 Knowing the eight features of a requirements management tool
Many system development tools can also support RE, e.g. test management or configuration management tools, Wikis, office software or visualization software. Also modeling tools are important for RE in order to create and analyze information as models. Requirements management tools are intended only for RE. They should feature the following characteristics:
- manage various information
- manage logical relationships between information
- identify artifacts uniquely
- make information accessible flexibly and securely, e.g. through access control
- support views over the data
- organize the information, e.g. through assignment of attributes and formation of hierarchies
- generate reports over the information
- generate documents out of the information
Standard office tools support these features only to a limited extent, specialized tools refine these, e.g. through traceability management.
EO 9.2 Knowing the five aspects in the introduction of requirements engineering tools
Only after the introduction of RE procedures and techniques can an appropriate tool be sought. The tool introduction requires clear RE responsibilities and procedures. In the process, the following aspects are to be considered:
- Consider necessary resources
- Avoid risks by means of pilot projects
- Evaluation according to defined criteria
- Take into account costs beyond license costs
- Instruct employees
EO 9.3 Knowing the seven views of requirements engineering tools
The variety of aspects to be considered when evaluating RE-tools can be structured using the following seven views:
- Project view (e.g. support for project planning)
- User view (especially usability)
- Product view (functionality)
- Process view (methodological support)
- Provider view (e.g. vendor services)
- Technical view (e.g. interoperability, scalability)
- Economic view (costs)
Clear criteria are to be defined for each view.