SlideShare a Scribd company logo
Object Modeling Technique (OMT)
 Object Modeling Technique (OMT) is real world based modeling approach for software modeling and designing.
It was developed basically as a method to develop object-oriented systems and to support object-oriented
programming
 OMT is one of the most popular object oriented development techniques used now-a-days. OMT was developed by James
Rambaugh.
Purpose of Object Modeling Technique:
 To test physical entity before construction of them.
 To make communication easier with the customers.
 To present information in an alternative way i.e. visualization.
 To reduce the complexity of software.
 To solve the real world problems.
There are three main types of models that has been proposed by OMT:
 Object Model:
Object Model encompasses the principles of abstraction, encapsulation, modularity,
hierarchy, typing, concurrency and persistence. Object Model basically emphasizes on
the object and class. Main concepts related with Object Model are classes and their
association with attributes.
 Dynamic Model:
Dynamic Model involves states, events and state diagram (transition diagram) on the
model. Main concepts related with Dynamic Model are states, transition between states
and events to trigger the transitions.
 Functional Model:
Functional Model focuses on the how data is flowing, where data is stored and different
processes. Main concepts involved in Functional Model are data, data flow, data store,
process and actors. Functional Model in OMT describes the whole processes and actions
with the help of data flow diagram (DFD).
Types of Object Modeling Techniques (OMT)
Analysis:
This the first phase of the object modeling technique. This phase involves the preparation of
precise and correct modelling of the real world problems. Analysis phase starts with setting a
goal i.e. finding the problem statement. Problem statement is further divided into above
discussed three models i.e. object, dynamic and functional model.
System Design:
This is the second phase of the object modeling technique and it comes after the analysis
phase. It determines all system architecture, concurrent tasks and data storage. High level
architecture of the system is designed during this phase.
Object Design:
Object design is the third phase of the object modelling technique and after system design is
over, this phase comes. Object design phase is concerned with classification of objects into
different classes and about attributes and necessary operations needed. Different issues related
with generalization and aggregation are checked.
Implementation:
This is the last phase of the object modeling technique. It is all about converting prepared
design into the software. Design phase is translated into the Implementation phase.
Phases of Object Modeling Techniques (OMT)
Dynamic modelling in object oriented analysis and design
The dynamic model represents the time–dependent aspects of a system. It is concerned
with the temporal changes in the states of the objects in a system.
The main concepts are −
 State, which is the situation at a particular condition during the lifetime of an object.
 Transition, a change in the state
 Event, an occurrence that triggers transitions
 Action, an uninterrupted and atomic computation that occurs due to some event, and
 Concurrency of transitions.
Functional Modeling
 Functional Modelling provides the outline that what the system is supposed to do.
It defines the function of the internal processes in the system with the aid of Data Flow Diagrams (DFDs).
Data Flow Diagrams
Functional Modelling is represented through a hierarchy of DFDs. The DFD is a graphical representation of a
system that shows the inputs to the system, the processing upon the inputs, the outputs of the system as well as
the internal data stores. DFDs illustrate the series of transformations or computations performed on the objects or
the system, and the external controls and objects that affect the transformation.
The four main parts of a DFD are −
 Processes,
 Data Flows,
 Actors, and
 Data Stores.
The other parts of a DFD are −
 Constraints, and
 Control Flows.
Features of a Data Flow Diagram(DFD)
 Processes
Processes are the computational activities that transform data values. A whole system can be visualized as a high-level process. A
process may be further divided into smaller components. The lowest-level process may be a simple function.
Representation in DFD − A process is represented as an ellipse with its name written inside it and contains a fixed number of
input and output data values.
Example − The following figure shows a process Compute_HCF_LCM that accepts two integers as inputs and outputs their HCF
(highest common factor) and LCM (least common multiple).
Features of a DFD
 Data Flows
Data flow represents the flow of data between two processes. It could be between an actor and a process, or between a data
store and a process. A data flow denotes the value of a data item at some point of the computation. This value is not changed by
the data flow.
Representation in DFD − A data flow is represented by a directed arc or an arrow, labelled with the name of the data item that it
carries.
In the above figure, Integer_a and Integer_b represent the input data flows to the process, while L.C.M. and H.C.F. are the
output data flows.
Features of a DFD
 Actors
Actors are the active objects that interact with the system by either producing data and inputting them to the system, or
consuming data produced by the system. In other words, actors serve as the sources and the sinks of data.
Representation in DFD − An actor is represented by a rectangle. Actors are connected to the inputs and outputs and lie on the
boundary of the DFD.
Example − The following figure shows the actors, namely, Customer and Sales_Clerk in a counter sales system.
Features of a DFD
 Data Stores
Data stores are the passive objects that act as a repository of data. Unlike actors, they cannot perform any operations. They are
used to store data and retrieve the stored data. They represent a data structure, a disk file, or a table in a database.
Representation in DFD − A data store is represented by two parallel lines containing the name of the data store. Each data store
is connected to at least one process. Input arrows contain information to modify the contents of the data store, while output
arrows contain information retrieved from the data store. When a part of the information is to be retrieved, the output arrow is
labelled. An unlabelled arrow denotes full data retrieval. A two-way arrow implies both retrieval and update.
Example − The following figure shows
a data store, Sales_Record, that stores
the details of all sales. Input to the
data store comprises of details of sales
such as item, billing amount, date, etc.
To find the average sales, the process
retrieves the sales records and
computes the average.
Features of a DFD
 Constraints
Constraints specify the conditions or restrictions that need to be satisfied over time. They allow adding new rules or modifying
existing ones. Constraints can appear in all the three models of object-oriented analysis.
Representation − A constraint is rendered as a string within braces.
Example − The following figure shows a portion of DFD for computing the salary of employees of a company that has decided to
give incentives to all employees of the sales department and increment the salary of all employees of the HR department. It can
be seen that the constraint {Dept:Sales} causes incentive to be calculated only if the department is sales and the constraint
{Dept:HR} causes increment to be computed only if the department is HR.
Features of a DFD
 Control Flows
A process may be associated with a certain Boolean value and is evaluated only if the value is true, though it is not a direct input
to the process. These Boolean values are called the control flows.
Representation in DFD − Control flows are represented by a dotted arc from the process producing the Boolean value to the
process controlled by them.
Example − The following figure represents a DFD for arithmetic division. The Divisor is tested for non-zero. If it is not zero, the
control flow OK has a value True and subsequently the Divide process computes the Quotient and the Remainder.
 Advantages and Disadvantages of DFD
Advantages and Disadvantages of DFD

More Related Content

Similar to OOAD_Chapter_02.pdf

software_engg-chap-03.ppt
software_engg-chap-03.pptsoftware_engg-chap-03.ppt
software_engg-chap-03.ppt
064ChetanWani
 
Modeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and FunctionalModeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and Functional
Rajani Bhandari
 
Process modeling
Process modelingProcess modeling
Process modeling
DEBENDRA ADHIKARI
 
uml.pptx
uml.pptxuml.pptx
uml.pptx
amanuel236786
 
Analyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow DiagramsAnalyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow Diagrams
Christina Valadez
 
Final
FinalFinal
Data Flow Models part6
Data Flow Models part6Data Flow Models part6
Data Flow Models part6
DrMohammed Qassim
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
Jayant Dalvi
 
E workshop system design
E workshop system designE workshop system design
E workshop system design
Student Project Guide
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
Amith Tiwari
 
REPORT IN PRODMAN Testing models and Examples
REPORT IN PRODMAN Testing models and Examples REPORT IN PRODMAN Testing models and Examples
REPORT IN PRODMAN Testing models and Examples
Kevin Lime
 
this is regarding agent technology you must use it
this is regarding agent technology you must use itthis is regarding agent technology you must use it
this is regarding agent technology you must use it
thejakaaloka1
 
UML Unit 01
UML Unit 01UML Unit 01
ARIS_Basic_Cheat_Sheet.pdf
ARIS_Basic_Cheat_Sheet.pdfARIS_Basic_Cheat_Sheet.pdf
ARIS_Basic_Cheat_Sheet.pdf
alexandre929334
 
Week10 Analysing Client Requirements
Week10 Analysing Client RequirementsWeek10 Analysing Client Requirements
Week10 Analysing Client Requirements
hapy
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
saurabhshertukde
 
Online eaxmination
Online eaxminationOnline eaxmination
Online eaxmination
Aditi_17
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
Dhairya Joshi
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White Box
Kimberly Jones
 
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
Aravind NC
 

Similar to OOAD_Chapter_02.pdf (20)

software_engg-chap-03.ppt
software_engg-chap-03.pptsoftware_engg-chap-03.ppt
software_engg-chap-03.ppt
 
Modeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and FunctionalModeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and Functional
 
Process modeling
Process modelingProcess modeling
Process modeling
 
uml.pptx
uml.pptxuml.pptx
uml.pptx
 
Analyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow DiagramsAnalyzing Systems Using Data Flow Diagrams
Analyzing Systems Using Data Flow Diagrams
 
Final
FinalFinal
Final
 
Data Flow Models part6
Data Flow Models part6Data Flow Models part6
Data Flow Models part6
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
 
E workshop system design
E workshop system designE workshop system design
E workshop system design
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
REPORT IN PRODMAN Testing models and Examples
REPORT IN PRODMAN Testing models and Examples REPORT IN PRODMAN Testing models and Examples
REPORT IN PRODMAN Testing models and Examples
 
this is regarding agent technology you must use it
this is regarding agent technology you must use itthis is regarding agent technology you must use it
this is regarding agent technology you must use it
 
UML Unit 01
UML Unit 01UML Unit 01
UML Unit 01
 
ARIS_Basic_Cheat_Sheet.pdf
ARIS_Basic_Cheat_Sheet.pdfARIS_Basic_Cheat_Sheet.pdf
ARIS_Basic_Cheat_Sheet.pdf
 
Week10 Analysing Client Requirements
Week10 Analysing Client RequirementsWeek10 Analysing Client Requirements
Week10 Analysing Client Requirements
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
Online eaxmination
Online eaxminationOnline eaxmination
Online eaxmination
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White Box
 
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
 

Recently uploaded

Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 

Recently uploaded (20)

Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 

OOAD_Chapter_02.pdf

  • 1. Object Modeling Technique (OMT)  Object Modeling Technique (OMT) is real world based modeling approach for software modeling and designing. It was developed basically as a method to develop object-oriented systems and to support object-oriented programming  OMT is one of the most popular object oriented development techniques used now-a-days. OMT was developed by James Rambaugh. Purpose of Object Modeling Technique:  To test physical entity before construction of them.  To make communication easier with the customers.  To present information in an alternative way i.e. visualization.  To reduce the complexity of software.  To solve the real world problems.
  • 2. There are three main types of models that has been proposed by OMT:  Object Model: Object Model encompasses the principles of abstraction, encapsulation, modularity, hierarchy, typing, concurrency and persistence. Object Model basically emphasizes on the object and class. Main concepts related with Object Model are classes and their association with attributes.  Dynamic Model: Dynamic Model involves states, events and state diagram (transition diagram) on the model. Main concepts related with Dynamic Model are states, transition between states and events to trigger the transitions.  Functional Model: Functional Model focuses on the how data is flowing, where data is stored and different processes. Main concepts involved in Functional Model are data, data flow, data store, process and actors. Functional Model in OMT describes the whole processes and actions with the help of data flow diagram (DFD). Types of Object Modeling Techniques (OMT)
  • 3. Analysis: This the first phase of the object modeling technique. This phase involves the preparation of precise and correct modelling of the real world problems. Analysis phase starts with setting a goal i.e. finding the problem statement. Problem statement is further divided into above discussed three models i.e. object, dynamic and functional model. System Design: This is the second phase of the object modeling technique and it comes after the analysis phase. It determines all system architecture, concurrent tasks and data storage. High level architecture of the system is designed during this phase. Object Design: Object design is the third phase of the object modelling technique and after system design is over, this phase comes. Object design phase is concerned with classification of objects into different classes and about attributes and necessary operations needed. Different issues related with generalization and aggregation are checked. Implementation: This is the last phase of the object modeling technique. It is all about converting prepared design into the software. Design phase is translated into the Implementation phase. Phases of Object Modeling Techniques (OMT)
  • 4. Dynamic modelling in object oriented analysis and design The dynamic model represents the time–dependent aspects of a system. It is concerned with the temporal changes in the states of the objects in a system. The main concepts are −  State, which is the situation at a particular condition during the lifetime of an object.  Transition, a change in the state  Event, an occurrence that triggers transitions  Action, an uninterrupted and atomic computation that occurs due to some event, and  Concurrency of transitions.
  • 5. Functional Modeling  Functional Modelling provides the outline that what the system is supposed to do. It defines the function of the internal processes in the system with the aid of Data Flow Diagrams (DFDs). Data Flow Diagrams Functional Modelling is represented through a hierarchy of DFDs. The DFD is a graphical representation of a system that shows the inputs to the system, the processing upon the inputs, the outputs of the system as well as the internal data stores. DFDs illustrate the series of transformations or computations performed on the objects or the system, and the external controls and objects that affect the transformation. The four main parts of a DFD are −  Processes,  Data Flows,  Actors, and  Data Stores. The other parts of a DFD are −  Constraints, and  Control Flows.
  • 6. Features of a Data Flow Diagram(DFD)  Processes Processes are the computational activities that transform data values. A whole system can be visualized as a high-level process. A process may be further divided into smaller components. The lowest-level process may be a simple function. Representation in DFD − A process is represented as an ellipse with its name written inside it and contains a fixed number of input and output data values. Example − The following figure shows a process Compute_HCF_LCM that accepts two integers as inputs and outputs their HCF (highest common factor) and LCM (least common multiple).
  • 7. Features of a DFD  Data Flows Data flow represents the flow of data between two processes. It could be between an actor and a process, or between a data store and a process. A data flow denotes the value of a data item at some point of the computation. This value is not changed by the data flow. Representation in DFD − A data flow is represented by a directed arc or an arrow, labelled with the name of the data item that it carries. In the above figure, Integer_a and Integer_b represent the input data flows to the process, while L.C.M. and H.C.F. are the output data flows.
  • 8. Features of a DFD  Actors Actors are the active objects that interact with the system by either producing data and inputting them to the system, or consuming data produced by the system. In other words, actors serve as the sources and the sinks of data. Representation in DFD − An actor is represented by a rectangle. Actors are connected to the inputs and outputs and lie on the boundary of the DFD. Example − The following figure shows the actors, namely, Customer and Sales_Clerk in a counter sales system.
  • 9. Features of a DFD  Data Stores Data stores are the passive objects that act as a repository of data. Unlike actors, they cannot perform any operations. They are used to store data and retrieve the stored data. They represent a data structure, a disk file, or a table in a database. Representation in DFD − A data store is represented by two parallel lines containing the name of the data store. Each data store is connected to at least one process. Input arrows contain information to modify the contents of the data store, while output arrows contain information retrieved from the data store. When a part of the information is to be retrieved, the output arrow is labelled. An unlabelled arrow denotes full data retrieval. A two-way arrow implies both retrieval and update. Example − The following figure shows a data store, Sales_Record, that stores the details of all sales. Input to the data store comprises of details of sales such as item, billing amount, date, etc. To find the average sales, the process retrieves the sales records and computes the average.
  • 10. Features of a DFD  Constraints Constraints specify the conditions or restrictions that need to be satisfied over time. They allow adding new rules or modifying existing ones. Constraints can appear in all the three models of object-oriented analysis. Representation − A constraint is rendered as a string within braces. Example − The following figure shows a portion of DFD for computing the salary of employees of a company that has decided to give incentives to all employees of the sales department and increment the salary of all employees of the HR department. It can be seen that the constraint {Dept:Sales} causes incentive to be calculated only if the department is sales and the constraint {Dept:HR} causes increment to be computed only if the department is HR.
  • 11. Features of a DFD  Control Flows A process may be associated with a certain Boolean value and is evaluated only if the value is true, though it is not a direct input to the process. These Boolean values are called the control flows. Representation in DFD − Control flows are represented by a dotted arc from the process producing the Boolean value to the process controlled by them. Example − The following figure represents a DFD for arithmetic division. The Divisor is tested for non-zero. If it is not zero, the control flow OK has a value True and subsequently the Divide process computes the Quotient and the Remainder.  Advantages and Disadvantages of DFD