Behavioral Models in System Modeling:
Behavioural models represent the dynamic behaviour of a system as it executes, showing how the system responds to stimuli from its environment.
These models illustrate what actions the system performs or is expected to perform in response to external stimuli, helping stakeholders understand system behaviour.
Types of Stimuli:
Data: Refers to incoming data that needs to be processed by the system. This could include user input, sensor data, or messages from other systems. A user enters information into a form on a website, triggering the system to process and store the data in a database.
Events: Events are occurrences that trigger processing within the system. These could be user actions, system events, or signals from external sources. Events may or may not have associated data. A button click by a user initiates a process to submit a form, or a sensor detects motion, triggering a security system to activate.
Representation: Behavioral models can be represented using various techniques such as sequence diagrams, state diagrams, activity diagrams, or use case diagrams, depending on the aspect of the system behaviour being modelled.
Importance: Behavioral models help stakeholders understand how the system functions in real-world scenarios, aiding in requirements analysis, system design, and validation.
Analysis: These models facilitate analysis of system behaviour, allowing stakeholders to identify potential issues, validate requirements, and refine system functionality.
Dynamic Nature: Unlike structural models which depict the static structure of a system, behavioural models capture the dynamic aspects, showing the flow of control and data as the system executes.
Data-Driven Modeling:
Data-driven modelling refers to modelling techniques used to represent systems that primarily process data, with the system's behaviour driven by the input data rather than external events.
Many business systems operate as data-processing systems, where the flow of data drives the system's operation. These systems are controlled by the data input to the system, with minimal reliance on external events for processing.
Characteristics:
Data Input Control: Data-driven systems are controlled by the input data provided to the system. The processing and behaviour of the system are determined by the data received.
Limited External Event Processing: Unlike event-driven systems that respond to external events, data-driven systems focus more on processing input data and generating associated outputs.
Sequence of Actions: Data-driven models depict the sequence of actions involved in processing input data and generating corresponding outputs. They illustrate how data flows through the system and the transformations it undergoes.
End-to-end Processing: These models are particularly useful during requirements analysis, as they can illustrate the end-to-end processing flow within the system, from input data to output generation.
Requirements Analysis: Data-driven models are valuable tools during the analysis of system requirements. They help stakeholders understand how data is processed within the system and how it influences system behaviour.
System Understanding: These models aid in understanding the internal workings of the system, highlighting the sequence of actions and transformations performed on input data.
Example: In a banking system, a data-driven model could illustrate the sequence of actions involved in processing a customer's transaction, starting from the input of transaction details, through validation and authorization, to the generation of transaction records and updates to account balances.
Data-driven modelling is a valuable approach for representing systems where data processing is central to system operation. These models help stakeholders understand how data flows through the system and how it influences system behaviour, making them essential for requirements analysis and system understanding.
Event-Driven Modeling:
Event-driven modelling is a modelling technique used to represent systems that primarily respond to external and internal events, with minimal emphasis on data processing.
Characteristics:
Real-time systems, such as landline phone switching systems, often operate as event-driven systems. Example**:** In a landline phone switching system, events like 'receiver off hook' trigger the generation of a dial tone.
Response to Events: Event-driven models illustrate how a system responds to both external and internal events.
Focus on Events: These models highlight the interactions and transitions triggered by events within the system.
Finite Number of States: Event-driven modelling assumes that the system has a finite number of states, and events may cause transitions between these states.
Stimulus-Response Relationship: Events act as stimuli that prompt the system to transition from one state to another, altering its behaviour or output.
Real-Time Systems Analysis: Event-driven modelling is particularly useful for analyzing real-time systems, where timely responses to events are critical.
System Understanding: These models aid in understanding how events influence the behaviour and state transitions within the system.
Example: In an automated traffic light system, events such as the detection of vehicles at an intersection trigger state transitions within the system, leading to changes in traffic light signals.
Event-driven modelling is essential for representing systems that primarily respond to events, with minimal emphasis on data processing. These models help stakeholders understand how events influence system behaviour and state transitions, making them valuable for analyzing real-time systems and ensuring timely responses to events.
Behavioural models play a crucial role in system modelling by depicting the dynamic behaviour of the system in response to stimuli from its environment. They help stakeholders understand system functionality, validate requirements, and refine system behaviour to meet user needs and expectations.