0% 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.

Uploaded by

Anzala Dar
Copyright
© © All Rights Reserved
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% 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.

Uploaded by

Anzala Dar
Copyright
© © All Rights Reserved
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.

Examples of structure oriented meta-models

• Block diagrams - “component-connectivity diagrams” (CCDs)


• 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


systems must be modeled.

Examples of heterogeneous meta-models:

• Control/data flow graphs (CDFGs): DFD + Flowchart


• Object process diagrams (OPDs): Object + Process
• Program state machines (PSMs): Hierarchy of program states

You might also like