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

Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus
 

What's hot (20)

Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural Modeling
 
UML
UMLUML
UML
 
Component and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief OverviewComponent and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief Overview
 
Context model
Context modelContext model
Context model
 
Lecture7 use case modeling
Lecture7 use case modelingLecture7 use case modeling
Lecture7 use case modeling
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and design
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Layered Software Architecture
Layered Software ArchitectureLayered Software Architecture
Layered Software Architecture
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
SRS for Library Management System
SRS for Library Management SystemSRS for Library Management System
SRS for Library Management System
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
 
Object Modeling Techniques
Object Modeling TechniquesObject Modeling Techniques
Object Modeling Techniques
 
Structured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignStructured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and Design
 
Domain class model
Domain class modelDomain class model
Domain class model
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Spm unit 3
Spm unit 3Spm unit 3
Spm unit 3
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 

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 orientation
Dr Chetan Shelke
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
SHIVAM691605
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
Sisir Ghosh
 

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
 
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
 
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

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

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