Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object-Oriented Analysis and Design: Object Modeling – Class Diagrams

Similar presentations


Presentation on theme: "Object-Oriented Analysis and Design: Object Modeling – Class Diagrams"— Presentation transcript:

1 Object-Oriented Analysis and Design: Object Modeling – Class Diagrams
Modern Systems Analysis and Design Seventh Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 8 Appendix Object-Oriented Analysis and Design: Object Modeling – Class Diagrams

2 © 2014 Pearson Education, Inc. Publishing as Prentice Hall
Learning Objectives Concisely define each of the following key data modeling terms: object, state, behavior, object class, class diagram, operation, encapsulation, association role, abstract class, polymorphism, aggregation, and composition. Draw a class diagram to represent common business situations. Explain the unique capabilities of class diagrams compared with E-R diagrams for modeling data. Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

3 Representing Objects and Classes
Object: an entity with a well-defined role in an application domain; has state, behavior, and identity characteristics State: encompasses an object’s properties (attributes and relationships) and the values of those properties Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

4 Representing Objects and Classes (Cont.)
Behavior: represents how an object acts and reacts Identity: uniqueness—no two objects are the same Object class (class): a logical grouping of objects that have the same (or similar) attributes, relationships, and behaviors (methods) Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

5 Representing Objects and Classes (Cont.)
Class diagram: a diagram that shows the static structure of object classes, their internal structure, and the relationships in which they participate UML classes are analogous to E-R entities. Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

6 Representing Objects and Classes (Cont.)
Figure 8-26 UML class diagram showing two classes Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

7 Representing Objects and Classes (Cont.)
Operation: a function or a service that is provided by all the instances of a class to invoke behavior in an object by passing a message Encapsulation: the technique of hiding the internal implementation details of an object from its external view Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

8 © 2014 Pearson Education, Inc. Publishing as Prentice Hall
Types of Operations Constructor: an operation that creates a new instance of a class Query: an operation that accesses the state of an object but does not alter the state Update Operation: an operation that alters the state of an object Class Scope Operation: an operation that applies to a class rather than an object instance Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

9 Representing Associations
Association: a relationship among instances of object classes Association role: the name given to the end of an association where it connects to a class Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

10 Representing Associations (Cont.)
Multiplicity: indicates how many objects participate in a given relationship: 0..10 means minimum of 0 and maximum of 10 1, 2 means can be either 1 or 2 * means any number UML associations are analogous to E-R relationships and UML multiplicities are analogous to E-R cardinalities. Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

11 Representing Associations (Cont.)
Figure 8-27 Examples of association relationships of different degrees Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

12 Representing Associations (Cont.)
Figure 8-28 Examples of binary associations Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

13 Representing Associative Classes
Associative class: an association that has attributes or operations of its own or that participates in relationships with other classes UML association classes are analogous to E-R associative entities. Generalization and inheritance are implemented via superclass/subclasses in UML and via supertypes/subtypes in E-R. Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

14 Representing Associative Classes (Cont.)
Figure 8-29 Class diagram showing associative classes Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

15 Representing Stereotypes for Attributes
Figure 8-31 Stereotypes Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

16 Representing Generalization
Abstract class: a class that has no direct instances but whose descendants may have direct instances Concrete class: a class that can have direct instances Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

17 Representing Generalization (Cont.)
Figure 8-32 Example of generalizations, inheritance, and constraints Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

18 Representing Generalization (Cont.)
UML keywords: Overlapping: a descendant may be descended from more than one of the subclasses Disjoint: a descendant may not be descended from more than one of the subclasses Complete: all subclasses have been specified Incomplete: some subclasses have been specified, but the list is known to be incomplete Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

19 Representing Generalization (Cont.)
Class-scope attribute: an attribute of a class that specifies a value common to an entity class, rather than a specific value for an instance Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

20 Representing Generalization (Cont.)
Figure 8-33 Polymorphism, abstract operation, class-scope attribute, and ordering Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

21 Representing Generalization (Cont.)
Abstract operation: defines the form or protocol of the operation, but not its implementation Method: the implementation of an operation Polymorphism: the same operation may apply to two or more classes in different ways Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

22 Representing Aggregation
Aggregation: a part-of relationship between a component object and an aggregate object Represented with open diamonds Composition: a part object that belongs to only one whole object and that lives and dies with the whole Represented with filled diamonds Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

23 Aggregation and Composition
Figure 8-34 Aggregation and composition Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

24 An Example of Conceptual Data Modeling at Hoosier Burger
Figure 8-35 Level-0 data flow diagram for Hoosier Burger’s new logical inventory control system Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

25 An Example of Conceptual Data Modeling at Hoosier Burger (Cont.)
Figure 8-36 Reduced decision table for Hoosier Burger’s inventory reordering Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

26 An Example of Conceptual Data Modeling at Hoosier Burger (Cont.)
Figure 8-38 Final class diagram for Hoosier Burger’s inventory control system Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

27 © 2014 Pearson Education, Inc. Publishing as Prentice Hall
Summary In this appendix you learned how to: Concisely define each of the following key data modeling terms: object, state, behavior, object class, class diagram, operation, encapsulation, association role, abstract class, polymorphism, aggregation, and composition. Draw a class diagram to represent common business situations. Explain the unique capabilities of class diagrams compared with E-R diagrams for modeling data. Chapter 8 Appendix © 2014 Pearson Education, Inc. Publishing as Prentice Hall

28 Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall


Download ppt "Object-Oriented Analysis and Design: Object Modeling – Class Diagrams"

Similar presentations


Ads by Google