7-1 © Prentice Hall, 2007 Week 5: Conceptual Data Modeling Object-Oriented Systems Analysis and...

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

Transcript of 7-1 © Prentice Hall, 2007 Week 5: Conceptual Data Modeling Object-Oriented Systems Analysis and...

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

7-1© Prentice Hall, 2007

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

Week 5 7-2© Prentice Hall, 2007

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

Week 5 7-3© Prentice Hall, 2007

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

Week 5 7-4© Prentice Hall, 2007

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

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

Week 5 7-6© Prentice Hall, 2007

Use cases are key inputs to conceptual data modeling.

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

Week 5 7-7© Prentice Hall, 2007

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

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

Week 5 7-8© Prentice Hall, 2007

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

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

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

Week 5 7-10© Prentice Hall, 2007

Class

Instances

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

Week 5 7-11© Prentice Hall, 2007

UML Class symbol has three parts:

1) Name2) List of attributes3) List of operations

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

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

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

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

Week 5 7-15© Prentice Hall, 2007

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

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

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

Week 5 7-17© Prentice Hall, 2007

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

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

Week 5 7-18© Prentice Hall, 2007

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

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

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

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

Week 5 7-21© Prentice Hall, 2007

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

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

Week 5 7-22© Prentice Hall, 2007

Roles identify the purpose of each class in the relationship.

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

Week 5 7-23© Prentice Hall, 2007

Unary relationships exist between instances of the same class

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

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

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

Week 5 7-26© Prentice Hall, 2007

Relationship MultiplyRelationship Multiply

Relationships can be:

– One – to – one

– One – to – many

– Many – to – many

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

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

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

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

Week 5 7-30© Prentice Hall, 2007

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

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

Week 5 7-32© Prentice Hall, 2007

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

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

Week 5 7-33© Prentice Hall, 2007

Sometimes associative classes have their own relationships with other classes.

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

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

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

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

Week 5 7-37© Prentice Hall, 2007

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

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

Week 5 7-39© Prentice Hall, 2007

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

Week 5 7-40© Prentice Hall, 2007

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

Week 5 7-41© Prentice Hall, 2007

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

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

Week 5 7-42© Prentice Hall, 2007

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.