SlideShare a Scribd company logo
1 of 50
1
Modeling- Object and Dynamic Modeling
Rajani Bhandari
Senior Project Manager
HCL Technologies
Topics will be covered
 What is an Object
 What is Object Oriented Programming
 Why Modeling Required
 Modeling techniques
 Object Modeling
 Dynamic Modeling
 Functional Modeling
Layered Architecture
2
What is Object
Object : An object is a real life example of material thing which can
be seen and felt. The object have specific behavior and attributes
Example any real life thing. Some of them as follows
Student
Car
Banking system
Body
Object can be categorized, described, organized, combined,
manipulated and created.
3
Example of Objects
4
Book
Title
Author
Publisher
Open ()
Close()
Read()
Person
Name
Address
Phone
ChangeName()
ChangeAddress()
ChangePhone()
Book
Physics
Book
Biology
Person 1
Ramesh
Objects of Book or person
Person 2
Suresh
 What is Object Oriented Programming
5
Object Oriented Programming
Four main object-oriented programming concepts.
Data Abstraction
Encapsulation
Inheritance
Polymorphism
OOPS revolves around objects and classes
Class may be seen as Structures and functions
6
7
Shape
Rectangle
Square
Circle
Eclipse
Showing inheritance Specialization
Abstract class
Specialized class
Vehicle Example Showing inheritance
generalization
8
Vehicle
Car
Petrol Electric
Truck Bus
 Why Modeling Required
9
Why modeling
 Before constructing a building, a designer first build a model.
 To test a physical entity before actually building it.
 To set the stage for communication between customers and developers.
 For visualization i.e. for finding alternative representations.
 For reduction of complexity in order to understand it.
10
Why Model
11
client,
users
architect developers
appearance,
behaviour
construction,
co-operation
architectural
design
visualises prescribes
requirements solutions
createsassess assess
Advantage of Modeling
A model provides a means for conceptualization and
communication of ideas in a precise and unambiguous form.
A model is an abstraction for the purpose of understanding it
before building it.
So a model is an abstraction that hides the non-essential
characteristics of a system and highlights those characteristics,
which are pertinent to understand it.
12
 Modeling Techniques
13
OMT stages and Models
14
Analysis
- Model of real-world situation
- What ?
System Design
- Overall architecture (sub-systems)
Object Design
- Refinement of Design
- Algorithms/data structures to
implement each class
Implementation
- Translation of object classes and
relationships to a particular
object-oriented language
time
System
ObjectModel
-Staticstructureofobjectsandtheirrelationships
(objectdiagram)
DynamicModel
-Controlaspectsofthesystem
(statediagrams)
FunctionalModel
-Datavaluetransforamtions
(dataflowdiagrams)
Types of Model
Object model
The object model represents the static and most stable phenomena in the
modeled domain. Main concepts are classes and associations, with attributes
and operations. Aggregation and generalization (with multiple inheritance) are
predefined relationships.
Dynamic model
The dynamic model represents a state/transition view on the model. Main
concepts are states, transitions between states, and events to trigger transitions.
Actions can be modeled as occurring within states.
Functional model
The functional model represents flow of values from external inputs, through
operations and internal data stores, to external outputs.
15
 Object Modeling
16
Object Modeling
 The object model provides the framework into which the other
models are placed.
 Build an Object Model:
 Identify object classes.
 Develop a data dictionary for classes, attributes, and associations.
 Add associations between classes.
 Add attributes for objects and links.
 Organize and simplify object classes using inheritance.
 Group classes into modules, based on close coupling and related function.
17
Object and Class
 A class is defined as Collection of similar objects. It is a template
where basic characteristics of set of objects is defined.
 Defines attributes and Operations i.e. member variables and
functions.
 Defining a class does not define any object, but it only creates a
template.
 For creating object basically create instance of class.
18
Association relation
19
Professor
Ramesh
Book
Physics
Wrote
Department
Science
Courses
Offers
One to one relation
Person
Ramesh
Passport
1 0..1
Airplane Passengers
1 *
One to many relationBinary
Association relation with Qualifier
20
Bank Account No Person
Aggregation
 If two parts are linked but they have their individuality then its
association and if two parts have whole-part relationship then it is
aggregation.
 Like of whole is affected part will be affected
21
22
Document
Paragraph
Sentence
Word Character
Aggregation Example
Aggregation Example
23
ATM
Cash Dispenser Deposit Slot
PPT
Slide
Modeling of Library System
 First we create object Model
 Identify class
 Identify its relationship
 Its attributes and behavior
24
ATM Machine designing
25
Screen Transaction
Keypad ATM
Cash
Dispenser
Withdrawal
Deposit
Slots
Deposit
Bank
Database
Balance
Inquiry
Account
ATM objects Relationship
26
Screen
Transaction
Keypad
ATM
Cash
Dispenser
Withdrawal
Deposit
Slots
Deposit
Bank
Database Balance
Inquiry
Account
Authenticate
User
1
1
Modifies
0…*
0…*
1
1
1
1
11
1
0…*
1
1
0…*
Library System Class
27
Books
User
Publisher
Librarian
Student Faculty
Reference
Books
General
Books
0..*
+1
Author 1
Issues
Orders
+1
+1…*
Requests
Manages
+1
+1…*
 Dynamic Modeling
28
Dynamic Model
 Build a Dynamic Model:
 Prepare scenarios of typical interaction sequences.
 Identify events between objects and prepare an event trace for each
scenario.
 Prepare an event flow diagram for the system.
 Develop a state diagram for each class that has important dynamic behavior.
 Check for consistency and completeness of events shared among the state
diagrams.
29
Identify Use Cases for library class
30
Inquiry for Membership
Search Book
Request for book issue
Request for book return Pay Fine
Identify use case for library class
31
Issue member card
Cancel membership
Issue Book
Return Book
Maintain Book Record
Update member card
Update Book
Remove
Book
Add Book
ATM define Class attributes and behaviour
32
Screen
Display
Message()
Deposit
Double: Amount
Execute()
Withdrawal
Double: Amount
Execute()
Balance Enquiry
Execute()
Bank database
Authenticate
User()
getBalance()
Credit()
Debit()
Keypad
GetInput()
Transaction
Int:Account Number
Execute()
getAccountNumber()
Account
Int: Account
Number
Int Pin
Double:Balance
validatePin()
getBalance()
Credit()
Debit()
Cash dipenser
Int: amount
DispenseCash()
IsCashAvailable()
Define classes attributes and Behavior
33
Book
ID: Int
Name: Char
Author: Char
Year of Publication: Char
Price: Char
Status: Char
Char: Category
Add New Books()
DeleteBooks()
UpdateBookDetails()
DisplayBookDetails()
UpdateStatus()
Librarian
ID: Int
Name: Char
IssueBooks()
ReturnBooks()
SearchBooks()
VerifyMember()
PayBills()
OrderBooks()
IssueIDCards()
ManageBookReecord
Publisher
Int :Publisher ID
Char : Publisher Name
Char : Publisher Address
Int: Publisher No.
AddPub()
ModifyPub()
DeletePub()
OrderStatus()
User
Int :User ID
Char : User Name
Char : User Address
Int: Phone No.
IssueBooks()
ReturnBooks()
PayFine()
AddNewUser()
DeleteUser()
UpdateDetails()
ATM state machine
34
State Machine
35
Issued
Issue
process()
Search
Book()
Book Can have following states:
Available
Issued
Returned
Missing
Request
[Book
Available]
Cancelled
Request
36
Member Librarian Book
Issue
Book
[status == true]
Search
Book
Book
Found
Set
Status
SetStatus
Issued(book iD)
Book
Issued
Sequence Model
 Function Modeling
37
Functional Modeling
 Build a Functional Model:
 Identify input and output values.
 Use data flow diagrams as needed to show functional dependencies.
 Describe what each function does.
 Identify constraints.
 Specify optimization criteria.
38
Function Modeling
 Data Flow Diagrams are composed of the four basic symbols – external entities,
processes, data stores and data flow - as discussed below.
 The External Entity symbol represents sources of data to the system or
destinations of data from the system.
 The Process symbol represents an activity that transforms or manipulates
the data (combines, reorders, converts, etc.).
 The Data Store symbol represents data that is not moving (delayed data at
rest).
 The Data Flow symbol represents movement of data.
39
DFD for issuing pay check
40
DFD for a system that pays to
worker:
Input Data Flow: Timesheet
Hours(Source is Worker)
Basic Output: Pay check
Process: Employee's record is
retrieved, using the employee ID,
which is contained in the timesheet.
From the employee record, the rate
of payment and overtime are
obtained.
Layered Architecture
41
Layered Architecture
42
UI layer
(Forms or view displayed at front end)
Business Layer
(Contains business logic)
Data Layer
(Manages DB, or File operation)
DB File
Send
Reqeust
Receive
Response
Set/Get Data
Output Data/
reesponse
Advantages of Layered Architecture
 Reduced complexity
 Easy to add or modify functionality
 Easy to Debug and Test
 Increase Reusability
43
Reverse Engineering
44
Reverse Engineering
45
 It is a technique to understand through analysis of its structure,
Function and operation.
 The concept behind reverse-engineering—breaking something
down in order to understand it, build a copy or improve it.
 It is easy to learn by putting things apart and rejoining that
 Helps in Estimate costs.
 Reverse Engg is done because documentation is not available
Forward vs Reverse Engineering
46
Analysis
Design
Implementation
Reverse
engineering
Forward
engineering
Documentation
Debugging is
important
factor in RE
Benefits for RE
 Understand existing design
 Quality improvement
 Software reuse
 No need to start from scratch
 To examin how product works , what components it consists ,
estimate costs.
 Reverse Engg is done because documentation is not available
47
Out Come of reverse engineering
 Document explaining:
 Code structure – classes, structures and its relation
 Functionality – Understanding functionality of module
 Input for Estimation
 Improvement points
48
52
Questions ???
53
Thanks

More Related Content

What's hot

Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 
Mathematical Analysis of Recursive Algorithm.
Mathematical Analysis of Recursive Algorithm.Mathematical Analysis of Recursive Algorithm.
Mathematical Analysis of Recursive Algorithm.mohanrathod18
 
knowledge representation using rules
knowledge representation using rulesknowledge representation using rules
knowledge representation using rulesHarini Balamurugan
 
Implementation of lexical analyser
Implementation of lexical analyserImplementation of lexical analyser
Implementation of lexical analyserArchana Gopinath
 
Interface specification
Interface specificationInterface specification
Interface specificationmaliksiddique1
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLMalek Sumaiya
 
Syntax directed translation
Syntax directed translationSyntax directed translation
Syntax directed translationAkshaya Arunan
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Relationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & PatternRelationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & PatternBharat Rathore
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagramRamakant Soni
 
1. Introduction to DBMS
1. Introduction to DBMS1. Introduction to DBMS
1. Introduction to DBMSkoolkampus
 

What's hot (20)

Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Script
ScriptScript
Script
 
Mathematical Analysis of Recursive Algorithm.
Mathematical Analysis of Recursive Algorithm.Mathematical Analysis of Recursive Algorithm.
Mathematical Analysis of Recursive Algorithm.
 
knowledge representation using rules
knowledge representation using rulesknowledge representation using rules
knowledge representation using rules
 
Implementation of lexical analyser
Implementation of lexical analyserImplementation of lexical analyser
Implementation of lexical analyser
 
DBMS Keys
DBMS KeysDBMS Keys
DBMS Keys
 
Interface specification
Interface specificationInterface specification
Interface specification
 
Database concepts
Database conceptsDatabase concepts
Database concepts
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
 
Syntax directed translation
Syntax directed translationSyntax directed translation
Syntax directed translation
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Entity relationship modelling
Entity relationship modellingEntity relationship modelling
Entity relationship modelling
 
Input-Buffering
Input-BufferingInput-Buffering
Input-Buffering
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
 
Relationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & PatternRelationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & Pattern
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
1. Introduction to DBMS
1. Introduction to DBMS1. Introduction to DBMS
1. Introduction to DBMS
 
Predicate logic
 Predicate logic Predicate logic
Predicate logic
 

Similar to Modeling- Object, Dynamic and Functional

OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientationDr Chetan Shelke
 
software_engg-chap-03.ppt
software_engg-chap-03.pptsoftware_engg-chap-03.ppt
software_engg-chap-03.ppt064ChetanWani
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineeringMuhammadTalha436
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdfSHIVAM691605
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologiesAmith Tiwari
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.pptAnishNarayan4
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2Sisir Ghosh
 
Modeling System Requirements
Modeling System RequirementsModeling System Requirements
Modeling System RequirementsAsjad Raza
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.pptHaiderAli252366
 

Similar to Modeling- Object, Dynamic and Functional (20)

OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientation
 
software_engg-chap-03.ppt
software_engg-chap-03.pptsoftware_engg-chap-03.ppt
software_engg-chap-03.ppt
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
 
Ooad
OoadOoad
Ooad
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
Final
FinalFinal
Final
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
 
Ch08
Ch08Ch08
Ch08
 
Ch08
Ch08Ch08
Ch08
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
Modeling System Requirements
Modeling System RequirementsModeling System Requirements
Modeling System Requirements
 
uml.pptx
uml.pptxuml.pptx
uml.pptx
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 

Modeling- Object, Dynamic and Functional

  • 1. 1 Modeling- Object and Dynamic Modeling Rajani Bhandari Senior Project Manager HCL Technologies
  • 2. Topics will be covered  What is an Object  What is Object Oriented Programming  Why Modeling Required  Modeling techniques  Object Modeling  Dynamic Modeling  Functional Modeling Layered Architecture 2
  • 3. What is Object Object : An object is a real life example of material thing which can be seen and felt. The object have specific behavior and attributes Example any real life thing. Some of them as follows Student Car Banking system Body Object can be categorized, described, organized, combined, manipulated and created. 3
  • 4. Example of Objects 4 Book Title Author Publisher Open () Close() Read() Person Name Address Phone ChangeName() ChangeAddress() ChangePhone() Book Physics Book Biology Person 1 Ramesh Objects of Book or person Person 2 Suresh
  • 5.  What is Object Oriented Programming 5
  • 6. Object Oriented Programming Four main object-oriented programming concepts. Data Abstraction Encapsulation Inheritance Polymorphism OOPS revolves around objects and classes Class may be seen as Structures and functions 6
  • 8. Vehicle Example Showing inheritance generalization 8 Vehicle Car Petrol Electric Truck Bus
  • 9.  Why Modeling Required 9
  • 10. Why modeling  Before constructing a building, a designer first build a model.  To test a physical entity before actually building it.  To set the stage for communication between customers and developers.  For visualization i.e. for finding alternative representations.  For reduction of complexity in order to understand it. 10
  • 12. Advantage of Modeling A model provides a means for conceptualization and communication of ideas in a precise and unambiguous form. A model is an abstraction for the purpose of understanding it before building it. So a model is an abstraction that hides the non-essential characteristics of a system and highlights those characteristics, which are pertinent to understand it. 12
  • 14. OMT stages and Models 14 Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design - Algorithms/data structures to implement each class Implementation - Translation of object classes and relationships to a particular object-oriented language time System ObjectModel -Staticstructureofobjectsandtheirrelationships (objectdiagram) DynamicModel -Controlaspectsofthesystem (statediagrams) FunctionalModel -Datavaluetransforamtions (dataflowdiagrams)
  • 15. Types of Model Object model The object model represents the static and most stable phenomena in the modeled domain. Main concepts are classes and associations, with attributes and operations. Aggregation and generalization (with multiple inheritance) are predefined relationships. Dynamic model The dynamic model represents a state/transition view on the model. Main concepts are states, transitions between states, and events to trigger transitions. Actions can be modeled as occurring within states. Functional model The functional model represents flow of values from external inputs, through operations and internal data stores, to external outputs. 15
  • 17. Object Modeling  The object model provides the framework into which the other models are placed.  Build an Object Model:  Identify object classes.  Develop a data dictionary for classes, attributes, and associations.  Add associations between classes.  Add attributes for objects and links.  Organize and simplify object classes using inheritance.  Group classes into modules, based on close coupling and related function. 17
  • 18. Object and Class  A class is defined as Collection of similar objects. It is a template where basic characteristics of set of objects is defined.  Defines attributes and Operations i.e. member variables and functions.  Defining a class does not define any object, but it only creates a template.  For creating object basically create instance of class. 18
  • 19. Association relation 19 Professor Ramesh Book Physics Wrote Department Science Courses Offers One to one relation Person Ramesh Passport 1 0..1 Airplane Passengers 1 * One to many relationBinary
  • 20. Association relation with Qualifier 20 Bank Account No Person
  • 21. Aggregation  If two parts are linked but they have their individuality then its association and if two parts have whole-part relationship then it is aggregation.  Like of whole is affected part will be affected 21
  • 24. Modeling of Library System  First we create object Model  Identify class  Identify its relationship  Its attributes and behavior 24
  • 25. ATM Machine designing 25 Screen Transaction Keypad ATM Cash Dispenser Withdrawal Deposit Slots Deposit Bank Database Balance Inquiry Account
  • 26. ATM objects Relationship 26 Screen Transaction Keypad ATM Cash Dispenser Withdrawal Deposit Slots Deposit Bank Database Balance Inquiry Account Authenticate User 1 1 Modifies 0…* 0…* 1 1 1 1 11 1 0…* 1 1 0…*
  • 27. Library System Class 27 Books User Publisher Librarian Student Faculty Reference Books General Books 0..* +1 Author 1 Issues Orders +1 +1…* Requests Manages +1 +1…*
  • 29. Dynamic Model  Build a Dynamic Model:  Prepare scenarios of typical interaction sequences.  Identify events between objects and prepare an event trace for each scenario.  Prepare an event flow diagram for the system.  Develop a state diagram for each class that has important dynamic behavior.  Check for consistency and completeness of events shared among the state diagrams. 29
  • 30. Identify Use Cases for library class 30 Inquiry for Membership Search Book Request for book issue Request for book return Pay Fine
  • 31. Identify use case for library class 31 Issue member card Cancel membership Issue Book Return Book Maintain Book Record Update member card Update Book Remove Book Add Book
  • 32. ATM define Class attributes and behaviour 32 Screen Display Message() Deposit Double: Amount Execute() Withdrawal Double: Amount Execute() Balance Enquiry Execute() Bank database Authenticate User() getBalance() Credit() Debit() Keypad GetInput() Transaction Int:Account Number Execute() getAccountNumber() Account Int: Account Number Int Pin Double:Balance validatePin() getBalance() Credit() Debit() Cash dipenser Int: amount DispenseCash() IsCashAvailable()
  • 33. Define classes attributes and Behavior 33 Book ID: Int Name: Char Author: Char Year of Publication: Char Price: Char Status: Char Char: Category Add New Books() DeleteBooks() UpdateBookDetails() DisplayBookDetails() UpdateStatus() Librarian ID: Int Name: Char IssueBooks() ReturnBooks() SearchBooks() VerifyMember() PayBills() OrderBooks() IssueIDCards() ManageBookReecord Publisher Int :Publisher ID Char : Publisher Name Char : Publisher Address Int: Publisher No. AddPub() ModifyPub() DeletePub() OrderStatus() User Int :User ID Char : User Name Char : User Address Int: Phone No. IssueBooks() ReturnBooks() PayFine() AddNewUser() DeleteUser() UpdateDetails()
  • 35. State Machine 35 Issued Issue process() Search Book() Book Can have following states: Available Issued Returned Missing Request [Book Available] Cancelled Request
  • 36. 36 Member Librarian Book Issue Book [status == true] Search Book Book Found Set Status SetStatus Issued(book iD) Book Issued Sequence Model
  • 38. Functional Modeling  Build a Functional Model:  Identify input and output values.  Use data flow diagrams as needed to show functional dependencies.  Describe what each function does.  Identify constraints.  Specify optimization criteria. 38
  • 39. Function Modeling  Data Flow Diagrams are composed of the four basic symbols – external entities, processes, data stores and data flow - as discussed below.  The External Entity symbol represents sources of data to the system or destinations of data from the system.  The Process symbol represents an activity that transforms or manipulates the data (combines, reorders, converts, etc.).  The Data Store symbol represents data that is not moving (delayed data at rest).  The Data Flow symbol represents movement of data. 39
  • 40. DFD for issuing pay check 40 DFD for a system that pays to worker: Input Data Flow: Timesheet Hours(Source is Worker) Basic Output: Pay check Process: Employee's record is retrieved, using the employee ID, which is contained in the timesheet. From the employee record, the rate of payment and overtime are obtained.
  • 42. Layered Architecture 42 UI layer (Forms or view displayed at front end) Business Layer (Contains business logic) Data Layer (Manages DB, or File operation) DB File Send Reqeust Receive Response Set/Get Data Output Data/ reesponse
  • 43. Advantages of Layered Architecture  Reduced complexity  Easy to add or modify functionality  Easy to Debug and Test  Increase Reusability 43
  • 45. Reverse Engineering 45  It is a technique to understand through analysis of its structure, Function and operation.  The concept behind reverse-engineering—breaking something down in order to understand it, build a copy or improve it.  It is easy to learn by putting things apart and rejoining that  Helps in Estimate costs.  Reverse Engg is done because documentation is not available
  • 46. Forward vs Reverse Engineering 46 Analysis Design Implementation Reverse engineering Forward engineering Documentation Debugging is important factor in RE
  • 47. Benefits for RE  Understand existing design  Quality improvement  Software reuse  No need to start from scratch  To examin how product works , what components it consists , estimate costs.  Reverse Engg is done because documentation is not available 47
  • 48. Out Come of reverse engineering  Document explaining:  Code structure – classes, structures and its relation  Functionality – Understanding functionality of module  Input for Estimation  Improvement points 48