This document discusses different modeling approaches and meta-models for software requirements engineering. It describes state-oriented, activity-oriented, structure-oriented, and data-oriented meta-models. State-oriented meta-models like finite state machines and state transition diagrams model systems as states and transitions. Activity-oriented models like data flow diagrams and flowcharts represent systems as activities and dependencies. Structure-oriented models show physical components and connections. Data-oriented models organize data relationships. The document also introduces heterogeneous meta-models that combine characteristics of different approaches.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
52 views23 pages
Software Requirement Engineering Lecture - 6
This document discusses different modeling approaches and meta-models for software requirements engineering. It describes state-oriented, activity-oriented, structure-oriented, and data-oriented meta-models. State-oriented meta-models like finite state machines and state transition diagrams model systems as states and transitions. Activity-oriented models like data flow diagrams and flowcharts represent systems as activities and dependencies. Structure-oriented models show physical components and connections. Data-oriented models organize data relationships. The document also introduces heterogeneous meta-models that combine characteristics of different approaches.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23
Software Requirement Engineering
Lecture – 6 Modeling vs. Specification Modeling vs. Specification
• The view has a conceptual existence in the human mind at the
conscious level of the developers.
• The formalization of the system view occurs when it originates a
model. This model consists in a representation according to a particular meta-model.
• The meta-model corresponds to a set of (functional or structural)
composition elements and rules that permits to build a model representing the system view.
• The model serves the purpose of explaining and sharing the
conceptual view held in the human mind Modeling vs. Specification
• Modeling corresponds to the activity of selecting a meta-model
to formalize a given system view using some modeling activity.
• Specification is related to the adoption of a language to make a
system model understandable by some chosen representation language.
• Thus, to avoid semantic mismatches, the two adopted
meta-models must be compatible. State Oriented Meta-Models
• State oriented meta-models allow modeling a system as a set of
states and a set of transitions. The transitions between states evolve according to some external stimulus.
Examples of state oriented meta-models
• Finite state machines (FSMs) • Finite state machines with data paths (FSMDs), • StateCharts and Petri nets • State Transition Diagrams (STDs) State Oriented Meta-Models
Finite state machines (FSMs): FSMs also known as “finite
state automata”, correspond to the most used meta-model in the description of control systems, since the behavior of these systems is naturally represented in the form of states and transitions between states.
Graphical diagrams that represent state machines are usually
called “state transition diagrams” (STDs). State Oriented Meta-Models
Finite state machines Datapath (FSMDs): FSMDs extend
FSMs by using integer or floating variables to replace thousands of states in the corresponding FSM. While FSMs can only represent control systems, FSMDs are also able to represent computing systems.
“Lack the ability to deal with concurrency and hierarchy.”
Petri nets are appropriate to model concurrent actions, since they
can deal with parallelism, synchronization, resource sharing and memorization. State Oriented Meta-Models
Finite State Machine
State Oriented Meta-Models
Example of a Petri - net
State Oriented Meta-Models
Example of STD Activity Oriented Meta-Models
• Activity oriented meta-models allow modeling a system as a set
of activities related by data or by execution dependencies.
• This meta-model is suitable for modeling systems with well
defined activities and that do not depend on external stimulus.
Examples of activity oriented meta-models
• Data flow diagrams (DFDs)
• Flowcharts or “Control Flow Graphs” (CFGs) Activity Oriented Meta-Models
• Data flow diagrams (DFDs): DFDs support hierarchy, since
each activity can be further detailed by another DFD. • DFDs can not express temporal behavior, or action control.
• Flowcharts: In FSMs, transitions are activated by external
events. • In flowcharts transitions are activated as soon as an activity is completed. Activity Oriented Meta-Models Activity Oriented Meta-Models
Example of Context Level DFD
Structure Oriented Meta-Models
• Structure oriented meta-models allow the description of system
physical modules and their interconnections.
• These meta-models are dedicated to the characterization of the
physical composition of a system, instead of its functionality.
• Unified Modeling Language Diagram (UML) Structure Oriented Meta-Models
Example of UML Class
Structure Oriented Meta-Models
Example of UML Sequence Diagram
Structure Oriented Meta-Models
Example of UML Use case Diagram
Data Oriented Meta-Models
• Data oriented meta-models allow modeling a system as a
collection of data related by some kind of attribute.
• These meta-models dedicate more importance to the
organization of data than to the system functionality.
Examples of data oriented meta-models:
• Entity relationship diagrams (ERDs)
• Jackson’s structured diagrams (JSDs) Data Oriented Meta-Models
• Entity relationship diagrams (ERDs): This meta-model is
useful when developers want to organize complex relationships between different data types. • ERDs cannot model functional or temporal characteristics.
• Jackson’s structured diagrams (JSDs) model the structure of
each data type, through subtype decomposition. Decomposition is performed in a tree structure in which the leaves correspond to the basic data types and the other nodes to the composite data. • While ERDs are suitable to model different data entities with complex inter-relations, JSDs are adequate to model complex data structures. ERD Jackson’s structured diagrams (JSDs) Heterogeneous Meta-Models
• Heterogeneous meta-models allow the usage, of several
characteristics from different meta-models.
• These meta-models are a good solution when relatively complex