A recorded intermediate or final result generated in a work process.
Stored electronically as files, databases, or in RE tools.
Represented in various ways:
Natural language
Template-based
Model-based
Drawings or prototypes
Role of Models in RE
Natural language can be ambiguous.
A model is an abstract representation of an existing part of reality or one to be created.
Modeling requirements helps maintain an overview and provides insight into the requirements.
Properties of a Model
Abstract representation of reality in a descriptive or prescriptive way.
Reduces information to focus on relevant aspects.
Suits a specific purpose.
Advantages & Disadvantages of Modeling vs. Natural Language
Advantages
A picture is worth a thousand words.
Restricted syntax reduces potential ambiguities.
Disadvantages
If multiple models are used, consistency among them is crucial.
Not always possible to record everything in the model or multiple models.
Applications of Requirements Models
Function and Flow
Structure and Data
State and Behaviour
The nature of the system being modified or built dictates the models to be used.
Modelling System Context: DFD (Data Flow Diagram)
Key components:
Context Boundary: Defines the scope of the system.
System Boundary: Separates the system from its environment.
Terminators (sinks and sources): External entities that interact with the system (Users, other Systems, Customer, Printer).
Data Flow: Indicates the movement of data between components.
Example data flows: Order, customer data, Book ordering system, Print job, Order status, Book delivery status, Financial administration, etc.
System under consideration:
Represented as << system name >>
Modelling System Context: UML Use Case Diagram
Use Case: An activity that the system performs, usually in response to a request by a user.
Use cases define functional requirements.
Analysts decompose the system into a set of use cases (functional decomposition).
Name each use case using Verb-Noun.
Modelling Structure and Data with UML Class Diagram
Class: Describes a set of (material or immaterial) objects that have a similar structure, behavior, and relationships.
Represented as [class name]
Attribute: Describes a property of the class.
Expressed as a certain type that restricts the values that can be assigned to the attribute.
Represented as [attribute name]: [type]
Association: Relates two classes to each other.
Represented as [name]
Multiplicities: Define how many instances of the class at the corresponding association end can participate in the association to a given instance of the class at the other end of the association.
Where n
umber
umber (zero or one time)
0..* (zero or more times)
1..* (one or more times)
7 (exactly seven times)
1 (default value, exactly one time)
Modelling Function and Flow
Various models are used for function and flow:
BPMN (Business Process Model and Notation)
UML use case diagram
UML activity diagram
UML sequence diagram
Data Flow Diagram
Domain story models (https://domainstorytelling.org/)
UML Activity Diagram: Notations
Start node: Indicates the starting point of the activity diagram.
Decision node: Branches the activity flow based on a guard. The outgoing alternatives should be labeled with a condition or guard expression. The guard must be true before the move to the appropriate flow.
Represented as [guard]
Merge node: Brings together multiple flows that are not concurrent.
End node: Indicates the end point of the activity flow. There can be multiple end nodes.
Control flow termination: Ends the activity flow.
Action/Activity: Represents the non-interruptible action of objects. An executable computation that results in a change in state of the system or the return of a result.
Represented as [name]
Action or control flow: Illustrates the transitions from one action state to another (also called edges and paths).
Synchronization bar: A fork node is used to split a single incoming flow into multiple concurrent flows. A join node joins multiple concurrent flows back into a single outgoing flow. The action following the join node is executed after all parallel actions have been executed.
A fork and join mode are used together and are therefore often referred to as synchronization.
UML Sequence Diagram
Sequence diagram frame: Defines the boundaries of the scenario.
The frame contains the keyword "sd" (sequence diagram) and the name of the scenario, sd <name>
Actor or object: Represents a role that collaborates in the interaction of the specific scenario.
Represented as <instance>:<actor>
Lifeline: Represents the role in the interaction over a period of time.
Activation: Indicates that the role is active in the interaction. A role is active when it is in control of the interaction or if processing a message from another role.
Termination: Indicates the termination of the role within the interaction.
Modelling State and Behaviour: UML State diagram
Initial state: The starting point of a state machine or a composite state.
Final state: A special kind of state signifying that the enclosing region is completed.
State: Governs the reaction of the state machine to events. In other words, it describes the behavior of the system remaining in the specific state.
Represented as [name]
Transition: A switch from one state to another state. A switch to another state occurs when an (optional) triggering event occurs. The transition is (optionally) guarded by a condition. Only if the condition is "true" does the transition take effect. Multiple conditions can be required for a transition. During the transition, an (optional) activity is performed.
Represented as Event [condition/Activity
Glossaries
Martin Glinz
International
IREB Requirements Engineering Board
A Glossary of Requirements Engineering Terminology. Caution: This glossary is aligned to the CPRE Foundation Level syllabus 3.0 only!