38
7-1 © Prentice Hall, 2004 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

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

Embed Size (px)

Citation preview

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

7-1 © Prentice Hall, 2004

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, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

7-2Chapter 7 © Prentice Hall, 2004

Chapter ObjectivesChapter Objectives

After studying this chapter you should be able to:– 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.

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

7-3Chapter 7 © Prentice Hall, 2004

Chapter Objectives Chapter Objectives (Continued)(Continued)

After studying this chapter you should be able to:– Describe data relationships such as

association, aggregation, and generalization.

– Describe different kinds of attributes such as identifier, multivalued, and derived.

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

7-4Chapter 7 © Prentice Hall, 2004

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

7-5Chapter 7 © Prentice Hall, 2004

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 6: 7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

7-6Chapter 7 © Prentice Hall, 2004

Use cases are key inputs to conceptual data modeling.

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

7-7Chapter 7 © Prentice Hall, 2004

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

7-8Chapter 7 © Prentice Hall, 2004

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

7-9Chapter 7 © Prentice Hall, 2004

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

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

7-10Chapter 7 © Prentice Hall, 2004

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 11: 7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

7-11Chapter 7 © Prentice Hall, 2004

Class

Instances

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

7-12Chapter 7 © Prentice Hall, 2004

UML Class symbol has three parts:

1) Name2) List of attributes3) List of operations

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

7-13Chapter 7 © Prentice Hall, 2004

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 14: 7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

7-14Chapter 7 © Prentice Hall, 2004

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 15: 7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

7-15Chapter 7 © Prentice Hall, 2004

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

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

7-16Chapter 7 © Prentice Hall, 2004

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

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

7-17Chapter 7 © Prentice Hall, 2004

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

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

7-18Chapter 7 © Prentice Hall, 2004

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, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

7-19Chapter 7 © Prentice Hall, 2004

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

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

7-20Chapter 7 © Prentice Hall, 2004

Roles identify the purpose of each class in the relationship.

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

7-21Chapter 7 © Prentice Hall, 2004

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 22: 7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

7-22Chapter 7 © Prentice Hall, 2004

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

7-23Chapter 7 © Prentice Hall, 2004

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

7-24Chapter 7 © Prentice Hall, 2004

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, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

7-25Chapter 7 © Prentice Hall, 2004

Relationship MultiplyRelationship Multiply

Relationships can be:

– One – to – one

– One – to – many

– Many – to – many

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

7-26Chapter 7 © Prentice Hall, 2004

Multiplicity notation is: min..max

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

7-27Chapter 7 © Prentice Hall, 2004

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 28: 7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

7-28Chapter 7 © Prentice Hall, 2004

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

7-29Chapter 7 © Prentice Hall, 2004

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

A special purpose class that represents an association (relationship) between classes and contains attributes and/or relationships in its own right

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

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

7-30Chapter 7 © Prentice Hall, 2004

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

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

7-31Chapter 7 © Prentice Hall, 2004

Sometimes associative classes have their own relationships with other classes.

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

7-32Chapter 7 © Prentice Hall, 2004

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 33: 7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,

7-33Chapter 7 © Prentice Hall, 2004

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

7-34Chapter 7 © Prentice Hall, 2004

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.

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

7-35Chapter 7 © Prentice Hall, 2004

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

7-36Chapter 7 © Prentice Hall, 2004

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

7-37Chapter 7 © Prentice Hall, 2004

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

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

7-38Chapter 7 © Prentice Hall, 2004

RecapRecap

After studying this chapter we learned to:– Develop data models from use cases.– Use UML notation for conceptual modeling.– Understand relationship multiplicity and

degree.– Work with aggregation, composition, and

generalization.– Work with identifier, multivalued, and derived

attributes.