Top Banner
7-1 © Prentice Hall, 2007 Chapter 7: Chapter 7: Conceptual Data Conceptual Data Modeling Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
40

7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Jan 13, 2016

Download

Documents

Pearl Holland
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

7-1© Prentice Hall, 2007

Chapter 7:Chapter 7:Conceptual Data ModelingConceptual Data Modeling

Object-Oriented Systems Analysis and Design

Joey F. George, Dinesh Batra,

Joseph S. Valacich, Jeffrey A. Hoffer

Page 2: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-2© Prentice Hall, 2007

Chapter ObjectivesChapter Objectives– Determine how to develop conceptual data models

from use cases.– Understand UML notations for conceptual data

modeling.– Explain relationship characteristics such as degree

and multiplicity.– Describe data relationships such as association,

aggregation, and generalization.– Describe different kinds of attributes such as

identifier, multivalued, and derived.

Page 3: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-3© Prentice Hall, 2007

Page 4: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-4© Prentice Hall, 2007

What Is a Conceptual Data What Is a Conceptual Data Model?Model?

A detailed model that shows the overall structure of organizational data; it is independent of any database management system or other implementation considerations.

Represented by UML class diagrams

Page 5: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-5© Prentice Hall, 2007

Use cases are key inputs to conceptual data modeling.

Page 6: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-6© Prentice Hall, 2007

Conceptual model sets the stage for more detailed model, and ultimately system design

Page 7: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-7© Prentice Hall, 2007

Conceptual Data Model ElementsConceptual Data Model ElementsClassesAttributesIdentifiersAssociations, aggregations, compositionsGeneralizationsTime dimensionsIntegrity rulesSecurity controls

Page 8: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-8© Prentice Hall, 2007

What Is an Object?What Is an Object?

An entity that encapsulates data and behavior

Examples: product, employee, order, line item

Class – a set of objects that share the same attributes, operations, relationships, and semantics (abstract)

Instance – a single object (concrete)

Page 9: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-9© Prentice Hall, 2007

Class

Instances

Page 10: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-10© Prentice Hall, 2007

UML Class symbol has three parts:

1) Name2) List of attributes3) List of operations

Page 11: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-11© Prentice Hall, 2007

What is an Attribute?What is an Attribute?

A named property of a class that describes a range of values that instances of the attribute may hold

Page 12: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-12© Prentice Hall, 2007

Types of AttributesTypes of AttributesSimple attributes – contain single data item

Identifiers – connect unique key value

Multivalued attributes – contain multiple values simultaneously

Composite attributes – group of related attributes

Page 13: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-13© Prentice Hall, 2007

Stereotypes in Class DiagramsStereotypes in Class Diagrams

Stereotype – a construct that extends the UML vocabulary

Identifier stereotype <<PK>> for primary key

Multivalued stereotype <<multivalued>>

Page 14: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-14© Prentice Hall, 2007

Primary key is a unique identifier; no two Student instances will have the same studentId value.

Page 15: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-15© Prentice Hall, 2007

Identifiers and KeysIdentifiers and Keys

Identifier – an attribute or combination of attributes that is selected as the unique characteristic for a class

Candidate key – an attribute or combination of attributes that uniquely identifies each object of a class

Primary key – a candidate key that is selected as the unique identifier of the class

Page 16: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-16© Prentice Hall, 2007

Multivalued attribute can contain multiple values; a student may have several phone numbers

Page 17: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-17© Prentice Hall, 2007

Composite attributes have multiple sections (subattributes).They are treated as separate classes in conceptual data models.

Page 18: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-18© Prentice Hall, 2007

What Is a Relationship?What Is a Relationship?

A semantic connection between objects of one or more classes

In UML, represented as a line connecting two or more class boxes (or connecting one class to itself)

Page 19: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-19© Prentice Hall, 2007

What Is Relationship Degree?What Is Relationship Degree?The number of classes that participate in a

relationship

Main degrees:– Unary – a relationship between objects of the

same class– Binary – a relationship between objects of two

different classes– Ternary – a relationship between objects of

three different classes

Page 20: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-20© Prentice Hall, 2007

This is a binary relationship, which indicates that an employee works in a department.

Page 21: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-21© Prentice Hall, 2007

Roles identify the purpose of each class in the relationship.

Page 22: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-22© Prentice Hall, 2007

Unary relationships exist between instances of the same class

Page 23: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-23© Prentice Hall, 2007

Note: a ternary relationship is not the same as three binary relationships. It is a relationship that links three separate classes simultaneously.

Page 24: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-24© Prentice Hall, 2007

What Is Relationship Multiplicity?What Is Relationship Multiplicity?

The range of the number of objects in Class A that can or must be associated with each object of Class B.

A multiplicity is made up of:– A minimum cardinality – the minimum number

of Class A objects possible– A maximum cardinality – the maximum

number of Class A objects possible

Page 25: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-25© Prentice Hall, 2007

Relationship MultiplyRelationship Multiply

Relationships can be:

– One – to – one

– One – to – many

– Many – to – many

Page 26: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-26© Prentice Hall, 2007

Multiplicity notation is: min..max

This shows that one movie can be stocked as any number of videotapes, or none at all

Page 27: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-27© Prentice Hall, 2007

Fixed cardinality involves an actual number instead of the generic n

This indicates that the maximum number of sections an instructor can teach is 6

Page 28: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-28© Prentice Hall, 2007

Roles make it clearer to see which should be on the one side and which should be on the many side of the relationship.

Page 29: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-29© Prentice Hall, 2007

Page 30: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-30© Prentice Hall, 2007

What Is an Associative Class?What Is an Associative Class?

A many-to-many association that the data modeler chooses to model as a class

Particularly useful if the association contains attributes of its own

Represented as a class connected to an association with a dotted line

Page 31: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-31© Prentice Hall, 2007

A Certificate represents a relationship between an employee and a course, and has an attribute pertaining to that relationship

Page 32: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-32© Prentice Hall, 2007

Sometimes associative classes have their own relationships with other classes.

Page 33: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-33© Prentice Hall, 2007

Types of AssociationsTypes of Associations• Association – no object is subordinate to any other.

• Aggregation – one class represents the whole, and the other represents the part, but it is a loose coupling.

• Composition – an aggregation with a tight coupling. The whole and the part cannot exist without each other.

Page 34: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-34© Prentice Hall, 2007

Closed diamond indicates composition(course line item cannot exist without course registration)

Open diamond indicates aggregation(A player is part of a team, but could also exist without being part of a team)

Page 35: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-35© Prentice Hall, 2007

What Is a Composite Structure What Is a Composite Structure Diagram?Diagram?

A diagram that shows how a whole is made up of its parts, especially in cases where the whole has a large number of interating parts

Useful to reduce clutter in diagrams with many associations

Introduced in UML 2

Page 36: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-36© Prentice Hall, 2007

Page 37: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-37© Prentice Hall, 2007

What Is Generalization?What Is Generalization?

A superclass – subclass relationship in which one class forms a broader category in which the other class is a sub-category

Inheritance – A subclass will inherit all the attributes and operations of its superclass; an instance of the subclass contains all the same information (plus more) as an instance of the superclass.

Inheritance is an “is-a” relationship

Page 38: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-38© Prentice Hall, 2007

Page 39: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-39© Prentice Hall, 2007

Page 40: 7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

Chapter 7 7-40© Prentice Hall, 2007

Multiple inheritance is complicated and not supported by all object-oriented programming languages.