SlideShare una empresa de Scribd logo
1 de 36
Modern Database Management Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Object-Oriented Data Modeling
What is Object Oriented Data Modeling? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Figure 14-1 – Phases of object-oriented systems development cycle
OO vs. EER Data Modeling ,[object Object],EER Class Entity type Object Entity instance Association Relationship Inheritance of attributes Inheritance of attributes Inheritance of behavior No representation of behavior Object-oriented modeling is frequently accomplished using the  Unified Modeling Language (UML)
Object ,[object Object],[object Object],[object Object],[object Object],Objects  exhibit BEHAVIOR as well as attributes    Different from  entities
State, Behavior, Identity ,[object Object],[object Object],[object Object],[object Object]
Figure 14-2 – UML class and object diagrams (a) Class diagram showing two classes Class diagram  shows the static structure of an object-oriented model: object classes, internal structure, relationships. Behavior
(b) Object diagram with two instances Object diagram  shows instances that are compatible with a given class diagram.
Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Operations implement the object’s  behavior
Associations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Figure 14-3 – Association relationships of different degrees Lower-bound – upper-bound  Represented as:  0..1, 0..*, 1..1, 1..* Similar to  minimum/maximum cardinality rules in EER
Figure 14-4 – Examples of binary association relationships (a) University example Alternative multiplicity representation: specifying the two possible values in a list instead of a range
(b) Customer order example
Figure 14-5 – Object diagram for customer order example
Association Class ,[object Object],[object Object]
Figure 14-6 – Association class and link object (a) Class diagram showing association classes Binary association class with behavior Unary association with only attributes and no behavior
(b) Object diagram showing link objects Association class instances
Figure 14-7 –Ternary relationship with association class
Figure 14-8 – Derived attribute, association, and role Derived attributes an relationships shown with  /  in front of the name Derived relationship (from Registers-for and Scheduled-for) Constraint expression for derived attribute Derived attribute
Generalization/Specialization ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Figure 14-9 –  Examples of generalization, inheritance, and constraints (a) Employee superclass with three subclasses Shared attributes and operations An employee can only be one of these subclasses An employee may be none of them. Specialized attributes and operations
(a) Abstract patient class with two concrete subclasses Abstract indicated by  italics Dynamic means a patient can change from one subclass to another over time A patient MUST be EXACTLY one of the subtypes
Class-Level Attribute ,[object Object],[object Object],[object Object]
Polymorphism ,[object Object],[object Object],[object Object],[object Object]
Figure 14-11 – Polymorphism, abstract operation, class-scope attribute, and ordering Class-level attributes – only one value common to all instances of these clases This operation is abstract…it has no method at Student level Methods are defined at subclass level
Overriding Inheritance ,[object Object],[object Object],[object Object],[object Object]
Figure 14-12 – Overriding inheritance Restrict job placement
Multiple Inheritance ,[object Object],[object Object]
Figure 14-13 Multiple inheritance
Aggregation ,[object Object],[object Object],[object Object]
Figure 14-14 – Example aggregation
Figure 14-15 – Aggregation and Composition (a) Class diagram (b) Object diagram
Figure 14-16 – Recursive aggregation
Business Rules ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Figure 14-17 – Representing business rules Three-symbol constraint Two-symbol constraint
Figure 14-18 – Class diagram for Pine Valley Furniture Company

Más contenido relacionado

La actualidad más candente

Object Oriented Relationships
Object Oriented RelationshipsObject Oriented Relationships
Object Oriented RelationshipsTaher Barodawala
 
UML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework HelpUML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework HelpJacob William
 
Cardinality and participation constraints
Cardinality and participation constraintsCardinality and participation constraints
Cardinality and participation constraintsNikhil Deswal
 
Uml Omg Fundamental Certification 3
Uml Omg Fundamental Certification 3Uml Omg Fundamental Certification 3
Uml Omg Fundamental Certification 3Ricardo Quintero
 
The Database Environment Chapter 14
The Database Environment Chapter 14The Database Environment Chapter 14
The Database Environment Chapter 14Jeanie Arnoco
 
ERD - Entity Relationship Diagram
ERD - Entity Relationship DiagramERD - Entity Relationship Diagram
ERD - Entity Relationship DiagramAsher Jawad
 
Lecture 03 data abstraction and er model
Lecture 03 data abstraction and er modelLecture 03 data abstraction and er model
Lecture 03 data abstraction and er modelemailharmeet
 
Basic database analysis(database)
Basic database analysis(database)Basic database analysis(database)
Basic database analysis(database)welcometofacebook
 
ER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMSER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMSRubal Sagwal
 
Class diagram- UML diagram
Class diagram- UML diagramClass diagram- UML diagram
Class diagram- UML diagramRamakant Soni
 

La actualidad más candente (20)

Ooad ppt
Ooad pptOoad ppt
Ooad ppt
 
Object Oriented Relationships
Object Oriented RelationshipsObject Oriented Relationships
Object Oriented Relationships
 
EER Model
EER ModelEER Model
EER Model
 
UML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework HelpUML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework Help
 
DBMS - ER Model
DBMS - ER ModelDBMS - ER Model
DBMS - ER Model
 
Er Modeling
Er ModelingEr Modeling
Er Modeling
 
Erd chapter 3
Erd chapter 3Erd chapter 3
Erd chapter 3
 
Cardinality and participation constraints
Cardinality and participation constraintsCardinality and participation constraints
Cardinality and participation constraints
 
2 class use case
2 class use case2 class use case
2 class use case
 
Uml Omg Fundamental Certification 3
Uml Omg Fundamental Certification 3Uml Omg Fundamental Certification 3
Uml Omg Fundamental Certification 3
 
Entity relationship modelling
Entity relationship modellingEntity relationship modelling
Entity relationship modelling
 
The Database Environment Chapter 14
The Database Environment Chapter 14The Database Environment Chapter 14
The Database Environment Chapter 14
 
Interfaces & Packages V2
Interfaces & Packages V2Interfaces & Packages V2
Interfaces & Packages V2
 
Object modeling
Object modelingObject modeling
Object modeling
 
ERD - Entity Relationship Diagram
ERD - Entity Relationship DiagramERD - Entity Relationship Diagram
ERD - Entity Relationship Diagram
 
Data modeling
Data modelingData modeling
Data modeling
 
Lecture 03 data abstraction and er model
Lecture 03 data abstraction and er modelLecture 03 data abstraction and er model
Lecture 03 data abstraction and er model
 
Basic database analysis(database)
Basic database analysis(database)Basic database analysis(database)
Basic database analysis(database)
 
ER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMSER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMS
 
Class diagram- UML diagram
Class diagram- UML diagramClass diagram- UML diagram
Class diagram- UML diagram
 

Destacado

Ch 1 D B Environment
Ch 1  D B  EnvironmentCh 1  D B  Environment
Ch 1 D B Environmentguest8fdbdd
 
Vikram Chatwal Final
Vikram Chatwal FinalVikram Chatwal Final
Vikram Chatwal Finalguest8fdbdd
 
Ch 7 Physical D B Design
Ch 7  Physical D B  DesignCh 7  Physical D B  Design
Ch 7 Physical D B Designguest8fdbdd
 
Ansi spark
Ansi sparkAnsi spark
Ansi sparkjani
 
Ch 2 D B Dvlpt Process
Ch 2  D B  Dvlpt  ProcessCh 2  D B  Dvlpt  Process
Ch 2 D B Dvlpt Processguest8fdbdd
 

Destacado (6)

Distributed D B
Distributed  D BDistributed  D B
Distributed D B
 
Ch 1 D B Environment
Ch 1  D B  EnvironmentCh 1  D B  Environment
Ch 1 D B Environment
 
Vikram Chatwal Final
Vikram Chatwal FinalVikram Chatwal Final
Vikram Chatwal Final
 
Ch 7 Physical D B Design
Ch 7  Physical D B  DesignCh 7  Physical D B  Design
Ch 7 Physical D B Design
 
Ansi spark
Ansi sparkAnsi spark
Ansi spark
 
Ch 2 D B Dvlpt Process
Ch 2  D B  Dvlpt  ProcessCh 2  D B  Dvlpt  Process
Ch 2 D B Dvlpt Process
 

Similar a Ch 5 O O Data Modeling

08 class and sequence diagrams
08   class and sequence diagrams08   class and sequence diagrams
08 class and sequence diagramskebsterz
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented DesignAravinth NSP
 
Lecture 16 requirements modeling - scenario, information and analysis classes
Lecture 16   requirements modeling - scenario, information and analysis classesLecture 16   requirements modeling - scenario, information and analysis classes
Lecture 16 requirements modeling - scenario, information and analysis classesIIUI
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling LanguageShahzad
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .NetGreg Sohl
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignAmr E. Mohamed
 
introduction of database in DBMS
introduction of database in DBMSintroduction of database in DBMS
introduction of database in DBMSAbhishekRajpoot8
 
Chapter20 object oriented analysis and design
Chapter20 object oriented analysis and designChapter20 object oriented analysis and design
Chapter20 object oriented analysis and designDhani Ahmad
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignAmr E. Mohamed
 

Similar a Ch 5 O O Data Modeling (20)

Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Advance oops concepts
Advance oops conceptsAdvance oops concepts
Advance oops concepts
 
08 class and sequence diagrams
08   class and sequence diagrams08   class and sequence diagrams
08 class and sequence diagrams
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Lecture 16 requirements modeling - scenario, information and analysis classes
Lecture 16   requirements modeling - scenario, information and analysis classesLecture 16   requirements modeling - scenario, information and analysis classes
Lecture 16 requirements modeling - scenario, information and analysis classes
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
ER model
ER modelER model
ER model
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .Net
 
Chapter3
Chapter3Chapter3
Chapter3
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and Design
 
introduction of database in DBMS
introduction of database in DBMSintroduction of database in DBMS
introduction of database in DBMS
 
database
databasedatabase
database
 
21792 relational database managementsystem
21792 relational database managementsystem21792 relational database managementsystem
21792 relational database managementsystem
 
Chapter20 object oriented analysis and design
Chapter20 object oriented analysis and designChapter20 object oriented analysis and design
Chapter20 object oriented analysis and design
 
uml2-1214558329929112-8.ppt
uml2-1214558329929112-8.pptuml2-1214558329929112-8.ppt
uml2-1214558329929112-8.ppt
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and Design
 
Uml report
Uml reportUml report
Uml report
 
Rbce
Rbce Rbce
Rbce
 

Más de guest8fdbdd (20)

Wb Presentation
Wb PresentationWb Presentation
Wb Presentation
 
U T V Ppt
U T V PptU T V Ppt
U T V Ppt
 
V I D E O C O N
V I D E O C O NV I D E O C O N
V I D E O C O N
 
Tisco
TiscoTisco
Tisco
 
R A N B A X Yfinal
R A N B A X YfinalR A N B A X Yfinal
R A N B A X Yfinal
 
R A V I J A I P U R I A[1]
R A V I  J A I P U R I A[1]R A V I  J A I P U R I A[1]
R A V I J A I P U R I A[1]
 
Puma And Evisu
Puma And EvisuPuma And Evisu
Puma And Evisu
 
Ppt
PptPpt
Ppt
 
Hershey G B F L 2
Hershey  G B F L 2Hershey  G B F L 2
Hershey G B F L 2
 
Nike
NikeNike
Nike
 
L J H O O K E R 1
L J  H O O K E R 1L J  H O O K E R 1
L J H O O K E R 1
 
M I K E P A T E L 1
M I K E  P A T E L 1M I K E  P A T E L 1
M I K E P A T E L 1
 
Joy Alukkas
Joy AlukkasJoy Alukkas
Joy Alukkas
 
New Mr
New MrNew Mr
New Mr
 
Mahindra Renault
Mahindra RenaultMahindra Renault
Mahindra Renault
 
F I N A L
F I N A LF I N A L
F I N A L
 
Abhishek Saraff1
Abhishek  Saraff1Abhishek  Saraff1
Abhishek Saraff1
 
Abhishek Saraff
Abhishek  SaraffAbhishek  Saraff
Abhishek Saraff
 
L G 2
L G 2L G 2
L G 2
 
M E H U L C H O K S I
M E H U L  C H O K S IM E H U L  C H O K S I
M E H U L C H O K S I
 

Último

"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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
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
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Último (20)

"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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
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)
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Ch 5 O O Data Modeling

  • 1. Modern Database Management Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Object-Oriented Data Modeling
  • 2.
  • 3. Figure 14-1 – Phases of object-oriented systems development cycle
  • 4.
  • 5.
  • 6.
  • 7. Figure 14-2 – UML class and object diagrams (a) Class diagram showing two classes Class diagram shows the static structure of an object-oriented model: object classes, internal structure, relationships. Behavior
  • 8. (b) Object diagram with two instances Object diagram shows instances that are compatible with a given class diagram.
  • 9.
  • 10.
  • 11. Figure 14-3 – Association relationships of different degrees Lower-bound – upper-bound Represented as: 0..1, 0..*, 1..1, 1..* Similar to minimum/maximum cardinality rules in EER
  • 12. Figure 14-4 – Examples of binary association relationships (a) University example Alternative multiplicity representation: specifying the two possible values in a list instead of a range
  • 14. Figure 14-5 – Object diagram for customer order example
  • 15.
  • 16. Figure 14-6 – Association class and link object (a) Class diagram showing association classes Binary association class with behavior Unary association with only attributes and no behavior
  • 17. (b) Object diagram showing link objects Association class instances
  • 18. Figure 14-7 –Ternary relationship with association class
  • 19. Figure 14-8 – Derived attribute, association, and role Derived attributes an relationships shown with / in front of the name Derived relationship (from Registers-for and Scheduled-for) Constraint expression for derived attribute Derived attribute
  • 20.
  • 21. Figure 14-9 – Examples of generalization, inheritance, and constraints (a) Employee superclass with three subclasses Shared attributes and operations An employee can only be one of these subclasses An employee may be none of them. Specialized attributes and operations
  • 22. (a) Abstract patient class with two concrete subclasses Abstract indicated by italics Dynamic means a patient can change from one subclass to another over time A patient MUST be EXACTLY one of the subtypes
  • 23.
  • 24.
  • 25. Figure 14-11 – Polymorphism, abstract operation, class-scope attribute, and ordering Class-level attributes – only one value common to all instances of these clases This operation is abstract…it has no method at Student level Methods are defined at subclass level
  • 26.
  • 27. Figure 14-12 – Overriding inheritance Restrict job placement
  • 28.
  • 29. Figure 14-13 Multiple inheritance
  • 30.
  • 31. Figure 14-14 – Example aggregation
  • 32. Figure 14-15 – Aggregation and Composition (a) Class diagram (b) Object diagram
  • 33. Figure 14-16 – Recursive aggregation
  • 34.
  • 35. Figure 14-17 – Representing business rules Three-symbol constraint Two-symbol constraint
  • 36. Figure 14-18 – Class diagram for Pine Valley Furniture Company