Domain Model Refinement

Slides:



Advertisements
Similar presentations
Object-oriented modeling Class/Object Diagrams
Advertisements

Jan 2003Ron McFadyen Generalization (Ch 26) a generalization is a relationship between a general thing (the superclass or parent class) and a.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 4- 1.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 The Enhanced Entity- Relationship (EER) Model.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Refining the Domain Model
Entity-Relationship (E-R) Model
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Chapter 41 Enhanced Entity-Relationship and Object Modeling.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 The Enhanced Entity- Relationship (EER) Model.
CSSE 374: Domain Model Refinements and Iteration 3 Preparations Q1 These slides and others derived from Shawn Bohner, Curt Clifton, Alex Lo, and others.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
OBJECT AND CLASES: THE BASIC CONCEPTS Pertemuan 8 Matakuliah: Konsep object-oriented Tahun: 2009.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 8 Slide 1 Chapter 9 Structuring System Data Requirements.
R McFadyen Chapter 7 Conceptual Data Modeling.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 Domain Classes.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Conceptual Modeling Modeling the Problem Domain. Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or.
INFO 620Lecture #81 Information Systems Analysis and Design Class Diagram Refinement INFO 620 Glenn Booker.
Domain Model Refinement Larman, chapter 31 CSE 432: Object-Oriented Software Engineering Glenn D. Blank, Lehigh University.
UML Diagrams: The Static Model Class Diagrams. The Static Model Define the static structure of the logical model Represent classes, class hierarchies.
Chapter 11 & 12 Entity-Relationship (E-R) Model Characteristics of E-R Model Components of E-R Model Example of E-R Model Enhanced E-R Model.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Generalization (Ch 26) a generalization is a relationship between a general thing (the superclass or parent class) and a more specific kind of thing (the.
Design Model Lecture p6 T120B pavasario sem.
Repetition af Domæne model. Artifact influence emphasizing the Domain Model.
Domain Modeling Yonglei Tao.
CSCI-383 Object-Oriented Programming & Design Lecture 10.
Object-Oriented Analysis and Design CHAPTERS 9, 31: DOMAIN MODELS 1.
OO Methodology Elaboration Iteration 3 – Part 1 Refining Models.
1 CSBP430 – Database Systems Chapter 4: Enhanced Entity– Relationship and Object Modeling Elarbi Badidi College of Information Technology United Arab Emirates.
Chapter 4 Extended Entity-Relationship (EER)Model Incorporates Set-subset Relationships Incorporates Generalization Hierarchies Constraints: Coverage Constraints:
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
Sept 2004Ron McFadyen Generalization (Ch 26) a generalization is a relationship between a general thing (the superclass or parent class) and a.
Larman chapter 101 Domain Model: Visualizing concepts Larman chapter 10.
Domain Model Refinement Notation Extensions. Things not seen before in the Domain Model Similar to the concepts in the Object Models Generalization and.
Class Diagrams Revisited. Parameterized Classes Parameterized Classes - are used to represent relationships between templates.
1 Chapter 13: Class Diagram Chapter 19 in Applying UML and Patterns Book.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
The Enhanced Entity- Relationship (EER) Model
UML Diagrams: Class Diagrams The Static Analysis Model
© Shamkant B. Navathe CC.
Business System Development
The Movement To Objects
UML Class Diagrams: Basic Concepts
UML Diagrams: The Static Model Class Diagrams
Domain Class Diagram Chapter 4 Part 2 pp
Chapter 10 Thinking in Objects
© Shamkant B. Navathe CC.
Chapter 4 Advanced Class Modeling
Relating Use Cases popo.
Understand and Use Object Oriented Methods
OBJECT ORIENTED ANALYSIS AND DESIGN
© Shamkant B. Navathe CC.
a generalization is a relationship between a general thing (the
Chapter 11: Class Diagram
Systems Analysis – ITEC 3155 Modeling System Requirements – Part 2
Domain Modeling.
Domain Modeling.
© Shamkant B. Navathe CC.
Chapter 16 Class Diagrams.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Enhanced Entity-Relationship (EER) Modeling
a generalization is a relationship between a general thing (the
CGS 2545: Database Concepts Summer 2006
Chapter 11: Class Diagram
Chapter 3 The Relational Model
Presentation transcript:

Domain Model Refinement Chapter 32 Domain Model Refinement

Generalization in the Domain Model

Alternative Notations

Conceptual superclass: More general and encompassing than a subclass Generalization Conceptual superclass: More general and encompassing than a subclass

All members of a conceptual subclass are members of the superclass “Is a” relationship All members of a conceptual subclass are members of the superclass 100% of superclass definition must apply to subclass All attributes All associations

Subclass conformance

When to partition a conceptual class into subclasses When subclass has additional attributes of interest When subclass has additional associations of interest When subclass is manipulated differently from superclass and other subclasses

When to define a conceptual superclass? Potential conceptual subclasses represents variations of a similar concept Subclass will conform to the 100% and “is a” rules All subclasses have the same attribute that can be factored out All subclasses have the same association that can be factored out

Justifying Payment Subclasses

Justifying the AuthorizationService Hierarchy

Too many levels in the hierarchy

Sufficient number of levels

When are abstract superclasses needed? When subclasses form a partition

Abstract Class Notation in UML

Modeling Changing States

Many-to-Many Associations

Many-to-Many Associations Wrong to have a single attribute in this case

Better Solution

Recommended: Association Classes

Association Class Examples

What good are they in a domain model Composition What good are they in a domain model Has impact on “create-delete” relationships Parts need to be deleted before whole Parts do not exist outside the whole It helps pick the “creator” Operations applied to whole propagate down to part

Refinement of NextGen POS Domain Model: Time Intervals

Role names

Roles in associations vs. Roles as concepts

Only include derived attributes if they are standard part of terminology Otherwise, avoid them.

Derivable attribute, but part of standard terminology

Qualified Associations Don’t use qualified associations in domain model to show design decisions Example: Unique ID assigned in SW, not part of store

Reflexive Associations

Packages in Domain Models

Ownership of a class vs. reference to a class

Package Dependencies

How to partition domain model classes into packages? Place elements together that Are in the same subject area Closely related by concept or purpose Are in a class hierarchy together Participate in the same use cases Are strongly associated

POS Partition to Packages

Core/Misc Package: Widely Shared Concepts or Concepts without an Obvious Home