7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Chapter © Prentice Hall, 2004 Chapter Objectives Af ter 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.
Chapter © Prentice Hall, 2004 Chapter Objectives (Continued) Af ter 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.
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004 What Is a Conceptual Data 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
Chapter © Prentice Hall, 2004 Use cases are key inputs to conceptual data modeling.
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004 Conceptual Data Model Elements Classes Attributes Identifiers Associations, aggregations, compositions Generalizations Time dimensions Integrity rules Security controls
Chapter © Prentice Hall, 2004 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)
Chapter © Prentice Hall, 2004 Class Instances
Chapter © Prentice Hall, 2004 UML Class symbol has three parts: 1)Name 2)List of attributes 3)List of operations
Chapter © Prentice Hall, 2004 Types of Attributes Simple attributes – contain single data item Identifiers – connect unique key value Multivalued attributes – contain multiple values simultaneously Composite attributes – group of related attributes
Chapter © Prentice Hall, 2004 Stereotypes in Class Diagrams Stereotype – a construct that extends the UML vocabulary Identifier stereotype > for primary key Multivalued stereotype >
Chapter © Prentice Hall, 2004 Primary key is a unique identifier; no two Student instances will have the same studentId value.
Chapter © Prentice Hall, 2004 Multivalued attribute can contain multiple values; a student may have several phone numbers
Chapter © Prentice Hall, 2004 Composite attributes have multiple sections (subattributes). They are treated as separate classes in conceptual data models.
Chapter © Prentice Hall, 2004 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)
Chapter © Prentice Hall, 2004 This is a binary relationship, which indicates that an employee works in a department.
Chapter © Prentice Hall, 2004 Roles identify the purpose of each class in the relationship.
Chapter © Prentice Hall, 2004 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
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004 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
Chapter © Prentice Hall, 2004 Relationship Multiply Relationships can be: – One – to – one – One – to – many – Many – to – many
Chapter © Prentice Hall, 2004 Multiplicity notation is: min..max
Chapter © 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.
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004 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
Chapter © Prentice Hall, 2004 A Certificate represents a relationship between an employee and a course, and has an attribute pertaining to that relationship
Chapter © Prentice Hall, 2004 Sometimes associative classes have their own relationships with other classes.
Chapter © Prentice Hall, 2004 Types 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.
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004 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.
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004
Chapter © Prentice Hall, 2004 Multiple inheritance is complicated and not supported by all object- oriented programming languages.
Chapter © Prentice Hall, 2004 Recap Af ter 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.