Domain Model Refinement Notation Extensions. Things not seen before in the Domain Model Similar to the concepts in the Object Models Generalization and.

Slides:



Advertisements
Similar presentations
Database Design: ER Modelling (Continued)
Advertisements

Object-oriented modeling Class/Object Diagrams
UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
Jan 2003Ron McFadyen Generalization (Ch 26) a generalization is a relationship between a general thing (the superclass or parent class) and a.
Copyright W. Howden1 Lecture 11: UML Terminology and Additional Models and Notation.
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
7M822 UML Class Diagrams advanced concepts 15 September 2008.
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.
Enhanced Entity-Relationship and UML Modeling. Enhanced-ER (EER) Model Concepts Includes all modeling concepts of basic ER Additional concepts: subclasses/superclasses,
CSSE 374: Domain Model Refinements and Iteration 3 Preparations Q1 These slides and others derived from Shawn Bohner, Curt Clifton, Alex Lo, and others.
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
Extending ER Diagrams (13) CPSC 356 Database Ellen Walker Hiram College (Includes figures from Database Systems: A Practical Approach to Design, Information.
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.
R McFadyen Chapter 7 Conceptual Data Modeling.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Association Class Generalization/Specialization Whole-Part Page More Associations 1.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
Object-Oriented Software Development F Software Development Process F Analyze Relationships Among Objects F Class Development F Class Design Guidelines.
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,
Unit 3 Conceptual Data Modeling. Key Concepts Conceptual data modeling process Classes and objects Attributes Identifiers, candidate keys, and primary.
Databases : Data Modeling 2007, Fall Pusan National University Ki-Joune Li.
Domain Modeling Part2: Domain Class Diagram Chapter 4 pp part 2 1.
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.
Modeling system requirements. Purpose of Models Models help an analyst clarify and refine a design. Models help simplify the complexity of information.
Database Systems: Enhanced Entity-Relationship Modeling Dr. Taysir Hassan Abdel Hamid.
CSC271 Database Systems Lecture # 25. Summary: Previous Lecture  Structural constraints  Multiplicity  Cardinality  Participation  Connection traps.
Chapter 9 Applying UML and Patterns -Craig Larman
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
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.
Repetition af Domæne model. Artifact influence emphasizing the Domain Model.
Enhanced Entity-Relationship (EER) Modeling. Slide 4- 2 Chapter Outline EER stands for Enhanced ER or Extended ER EER Model Concepts Includes all modeling.
Static Modeling Chapter 8 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
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.
January Ron McFadyen1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain of interest.
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.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
DBMS ER model-2 Week 6-7.
Class Diagrams Revisited. Parameterized Classes Parameterized Classes - are used to represent relationships between templates.
Enhanced Entity-Relationship and UML Modeling. 2.
COP Introduction to Database Structures
The Enhanced Entity- Relationship (EER) Model
Object-Oriented Modeling
Business System Development
Class Diagrams.
EKT472: Object Oriented Programming
Domain Model Refinement
CSSE 374: Domain Model Refinements and Iteration 3 Preparations
UML Class Diagrams: Basic Concepts
Domain Class Diagram Chapter 4 Part 2 pp
Software Engineering Lecture #11.
Systems Analysis – ITEC 3155 Modeling System Requirements – Part 2
Domain Modeling.
Domain Modeling.
a generalization is a relationship between a general thing (the
The Object Paradigm Classes – Templates for creating objects
Presentation transcript:

Domain Model Refinement Notation Extensions

Things not seen before in the Domain Model Similar to the concepts in the Object Models Generalization and specialization Conceptual class hierarchies Association classes that capture information about the association Time intervals Packages as a means of organization

Fig Domain Classes

Fig Alternate notation They each show the same thing

Conceptual Superclasses and Subclasses Conceptual superclass is more general than subclass All members of subclass must be members of the superclass 100% of superclass definition shall apply to the subclass Subclass “is-a” superclass Woman “is-a” human Man “is-a” human Anything else that is a human? All humans have a heart and a brain.

Fig Cash Payment is-a payment. No other type of payment is possible in this domain, e.g. no gift certifications

Fig Set view Venn Diagram view: All instances of “cash payment” are also members of the “payment class.

Fig Pays-for applies to all payments!

Start with the super-class and look at differences to find the sub-classes that make sense. Subclass has additional attributes Subclass has additional associations Subclass usage differs from superclass Subclass represents an animate entity that behaves differently When to use a subclass

Fig Only useful to POS if men and women pay different amounts, e.g. have specific gender discounts. Useful for age.

When to define a superclass Start with a set of sub-classes and look for commonalities that help the model. Potential subclasses represent variations of concept Subclasses meet “is-a” rule and 100% rule All subclasses have common attributes that can be factored out All subclasses have the same association that can be factored out

Fig NextGen POS Class Hierarchies

Fig

More or Less Generalization? (Fig. 31.9) Too much middle management?

Fig

Fig Abstract Conceptual Classes

Fig

Fig Modeling Changing State Why is this better? More accurate representation of the details.

If a class C can simultaneously have multiple values for attribute A, put these in a separate class When to use association class An attribute is related to the association, not a class Instances of association class have a lifetime dependency on the association Many to many associations between two concepts can produce multiple values simultaneously. Association Classes

Fig Think: transaction ID

Fig Think: transaction ID

Fig Think: transaction ID

Fig

Aggregation and Composition Composition in the Domain. If in doubt don’t use it! Should be obvious Composition when: Whole-part exists Lifetime of composite is bound together Operation to the composite propagates to parts

Fig

Fig

Fig Derived Elements No new information but helps comprehension

Fig

Fig Qualified Associations

Fig Self referential

Packages Group elements: By subject area In same class hierarchy In same use cases Strong associations Do not know this until the project grows

Fig Helps comprehension as the project grows. Can only see so many things in a group.

Fig Shows where the elements belongs, which package owns it.

Fig Sales is dependent on Core. Sales refers to Core.

Fig POS Domain Model organization

Fig Contents of Core

Fig

Fig

Fig

Fig

Monopoly (Fig )