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

Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML DiagramsManish Kumar
 
State Machine Diagram
State Machine DiagramState Machine Diagram
State Machine DiagramNiloy Rocker
 
Object Modeling Techniques
Object Modeling TechniquesObject Modeling Techniques
Object Modeling TechniquesShilpa Wadhwani
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)Manoj Reddy
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineeringMuhammadTalha436
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentRishabh Soni
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling Benazir Fathima
 
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
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)Hirra Sultan
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysisMahesh Bhalerao
 
Er model ppt
Er model pptEr model ppt
Er model pptPihu Goel
 

What's hot (20)

Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
State chart diagram
State chart diagramState chart diagram
State chart diagram
 
Activity diagram
Activity diagramActivity diagram
Activity diagram
 
State Machine Diagram
State Machine DiagramState Machine Diagram
State Machine Diagram
 
Object Modeling Techniques
Object Modeling TechniquesObject Modeling Techniques
Object Modeling Techniques
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
 
Presentation on uml
Presentation on umlPresentation on uml
Presentation on uml
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
Uml class Diagram
Uml class DiagramUml class Diagram
Uml class Diagram
 
Use Case Modeling
Use Case ModelingUse Case Modeling
Use Case Modeling
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
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
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Er model ppt
Er model pptEr model ppt
Er model ppt
 
Servlet life cycle
Servlet life cycleServlet life cycle
Servlet life cycle
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
 

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
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
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
 

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
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
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
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
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
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
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
 
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...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
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?
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 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