Presentation on theme: "Chapter 41 Enhanced Entity-Relationship and Object Modeling."— Presentation transcript:
Chapter 41 Enhanced Entity-Relationship and Object Modeling
Chapter 42 Subclasses, Superclasses & Inheritance Subclass - Often an Entity has many subgrouping which are meaningful and need to be explicitly represented. These are called subclasses. Superclass - Is the term used to describe the Entity that contains a subclass(s). A member of a subclass is the SAME member of its respective superclass with a specific role and it inherits the superclass attributes.
Chapter 43 Specialization Specialization is the process of defining a set of subclasses for an Entity type. It allows the establishment of specific attributes for each subclass. It allows us to show additional relationships between each subclass and other Entity types or other subclasses.
Chapter 45 Generalization Generalization is the reverse process of Specialization in which we identify their common features, attributes and relationships between different entities to create a superclass entity.
Chapter 47 Constraints & Characteristics of Specialization & Generalization Some subclasses are predicate-defined. This a constraint on the subclass as all members of this subclass MUST satisfy this condition. When ALL subclasses are predicate-defined then the specialization is called an attribute-defined specialization.
Chapter 49 Another way to determine membership is called user-defined. This is when membership in the subclass is determined by the user. Therefore, it can not be determined by evaluating an attribute.
Chapter 410 Specialization Constraints Disjointness - Is the constraint that members of the superclass may belong to at most one subclass of a specialization. If this constraint is not present than the members of the subclass may overlap. Completeness - Is the constraint that ALL members of the superclass MUST participate in the specialization.
Chapter 412 Possible Constraints on Specialization Disjoint, total Disjoint, partial Overlapping, total Overlapping, partial
Chapter 413 Hierarchies & Lattices A Specialization Hierarchy is defined with the constraint that all subclasses can only participate in one class/subclass relationship. (This restriction only applies to the entity itself; not the elements that make up the entity.) If a subclass can participate in more than one class/subclass relationship than it is a Specialization Lattice.
Chapter 415 Shared Subclasses/Multiple Inheritance When you have a Specialization Lattice any subclass which has two or more superclasses is a shared subclass. These shared subclasses inherit ALL the attributes of each of their respective superclasses. This leads to the concept of multiple inheritance since it inherits from all its superclasses.
Chapter 417 Utilizing Specialization & Generalization in Modeling There are two approaches to using either Specialization or Generalization to Model the MiniWorld. –Specialization uses top-down conceptual refinement process which starts at the superclass and then defines subclasses –Generalization uses bottom-up conceptual synthesis which starts with the subclasses and using common elements create superclasses.
Chapter 418 Modeling Union Type Using Catagories A category is defined as an entity that has two or more superclasses that represent distinct entity types. It is made up of a subset of the union of its superclasses. These distinct entity types do not OVERLAP so there is no shared subclass that inherits ALL the attributes of its superclasses.
Chapter 421 Conceptual Object Modeling Using UML Class Diagrams UML - Universal Modeling Language Under UML Entity Types are modeled as classes and an Entity in an ER diagram corresponds to an object in UML.
Chapter 422 UML Notation UML classes have three sections: –Top section which contains the class name –Middle section which includes the attributes. –Bottom section which includes the operations that can be applied to these objects. The domain of an attribute may be specified by placing a ‘:’ followed by the domain name/description.
Chapter 423 UML Notation (con’t) Composite attributes are model as a structured domain. A multivalued attribute will generally be modeled as a separate class. Relationship types are called Associations in UML and relationship instances are called links which are shown as line.
Chapter 424 UML Notation (con’t) A relationship attribute is called a link attribute and is placed in a box that is connected to the association’s line by a dashed line. Min, Max notation is used to specify relationship constraints but are placed on the opposite ends.
Chapter 425 A ternary relationship generally represents more information than 3 binary relationships