Chapter 9 Domain Models $PH\06f522\LarmanApplUMLandPtrns\larman3EdDgmsCh01-14\09_domainModelsR2.ppt – RJL060911.

Slides:



Advertisements
Similar presentations
Object Design Examples with GRASP
Advertisements

Chapter 9 Domain Models The classic OOAD model. Fig. 9.1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Copyright ©2004 Cezary Z Janikow 1 Domain Model n Visualization of entities and relationships n In UP presented as Class Diagrams – Classes, Relationships,
Chapter 9 DOMAIN MODELS Objectives
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
Domain model: visualizing concepts
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Methodology Conceptual Database Design
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
9/18/011 Software Requirements Analysis and Design (Continued)
Domain Modeling Chandan R. Rupakheti and Steve Chenoweth Week 5, Day 1.
How to Make a Domain Model Tutorial
Web Database Design Session 6 and 7 Matakuliah: Web Database Tahun: 2008.
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
CSE314 Database Systems Data Modeling Using the Entity- Relationship (ER) Model Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
Chapter 3 The Relational Model Transparencies Last Updated: Pebruari 2011 By M. Arief
What is a domain model? “A domain model captures the most important types of objects in the context of the business. The domain model represents the ‘things’
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Concepts and Terminology Introduction to Database.
Last lecture. What is a Use Case Use cases are stories (scenarios) of how actors use (interact with) the system to fulfill his goal. Examples Process.
DOMAIN MODEL— PART 2: ATTRIBUTES SYS466. Looking For Potential Classes “Know the business”. Ask Questions Identify business concepts; filter nouns (person,
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Chapter 9 Domain Models. Domain Modeling After you have your requirements you start modeling the domain. You are still modeling the business, not the.
TK2023 Object-Oriented Software Engineering CHAPTER 5 DOMAIN MODELLING.
Domain Modelling Presented By Dr. Shazzad Hosain.
Sept Ron McFadyen1 Section 10.1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain.
Review ♦ System sequence diagram ♦ Domain model
Lecture 9 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
Information Systems & Databases 2.2) Organisation methods.
Jan 21, Ron McFadyen1 Ch 10. Domain Model: Visualizing Concepts Domain model illustrated with a class diagram (with no operations defined)
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
Conceptual Modeling Modeling the Problem Domain. Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or.
Design Class Diagrams (DCDs)
DOMAIN MODEL- VISUALIZING CONCEPTS Identify conceptual classes related to the current iteration requirements. Create an initial domain model. Distinguish.
Lecture 13-17, chitkara university.  Gives a conceptual framework of the things in the problem space  Helps you think – focus on semantics  Provides.
Chapter 9 Applying UML and Patterns -Craig Larman
SYS466: Analysis and Design Using OO Models Domain Class Diagram.
Lecture 6: Structural Modeling
Copyright 2007, Paradigm Publishing Inc. ACCESS 2007 Chapter 3 BACKNEXTEND 3-1 LINKS TO OBJECTIVES Modify a Table – Add, Delete, Move Fields Modify a Table.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Elaboration Iteration 1- Part 1
Part4 Methodology of Database Design Chapter 07- Overview of Conceptual Database Design Lu Wei College of Software and Microelectronics Northwestern Polytechnical.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
Domain Model—Part 2: Attributes.  A logical data value of an object  (Text, p. 158)  In a domain model, attributes and their data types should be simple,
Repetition af Domæne model. Artifact influence emphasizing the Domain Model.
Databases Illuminated Chapter 3 The Entity Relationship Model.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
1 Kyung Hee University Modeling with Objects Spring 2001.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
Larman chapter 101 Domain Model: Visualizing concepts Larman chapter 10.
OO Methodology Elaboration Phase Iteration 1- Part 3.
1 Object Oriented Analysis and Design Conceptual Model.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
DOMAIN MODEL—PART 2: ATTRIBUTES BTS430 Systems Analysis and Design using UML.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
Data Modeling Using the Entity- Relationship (ER) Model
Elaboration popo.
Entity- Relationship (ER) Model
Chapter 9 Domain Models.
Domain Model: Visualizing concepts
Domain Models Part 1
OO Domain Modeling With UML Class Diagrams and CRC Cards
OO Domain Modeling With UML Class Diagrams and CRC Cards
Group Members Muhammad Zeeshan ( 16) Adnan Akhtar (4)
Object Oriented Analysis and Design Conceptual Model.
Domain Model: Visualizing Concepts
Presentation transcript:

Chapter 9 Domain Models $PH\06f522\LarmanApplUMLandPtrns\larman3EdDgmsCh01-14\09_domainModelsR2.ppt – RJL060911

Fig. 9.1: Sample UP Artifact Relationships

Fig. 9.1

Fig. 9.2: Partial Domain Model – A Visual Dictionary

Fig. 9.3

Fig. 9.4

Fig. 9.5 A Conceptual Class has a symbol, an intension (metadata) and extension (data)

Fig. 9.6 Lower the Representational Gap with OO Modeling

Fig. 9.7: Initial POS Domain Model

Fig. 9.8: Initial Monopoly Domain Model

Fig. 9.9: Descriptions about other things Multiplicity ‘*’ means 0 to many Item instances are related to one Prod’ctDescr’n. Multiplicity ‘1’ means one Prod’ctDescr’n instance is related to some # of Items. Many invariant attributes are duplicated; This wastes space and causes the ‘double-maintenance’ problem – RJL.

Fig. 9.10: Descriptions about Other Things Worse Flight date time FlightDescription number Airport name Describes flights-to Described-by Flight date number time Airport name Flies-to Better 1 * 1 * 1 * Clockwise Rule relation name is unambiguous I rearranged model Items to illustrate 2DTopological Order: (by relational multiplicity – RJL. (I use one above/left of many.) David Hay/Oracle both reverse this orientation!

Fig. 9.11

Fig. 9.12

Fig. 9.13

Fig. 9.14

Fig. 9.15

ItemStore Stocks  1 or 0..1 Multiplicity should be "1" or "0..1"? The answer depends on our interest in using the model. Typically and practically, the multiplicity communicates a domain constraint that we care about being able to check in software, if this relationship was implemented or reflected in software objects or a database. For example, a particular item may become sold or discarded, and thus no longer stocked in the store. From this viewpoint, "0..1" is logical, but... Do we care about that viewpoint? If this relationship was implemented in software, we would probably want to ensure that anItemsoftware instance would always be related to 1 particular Storeinstance, otherwise it indicates a fault or corruption in the software elements or data. This partial domain model does not represent software objects, but the multiplicities record constraints whose practical value is usually related to our interest in building software or databases (that reflect our real-world domain) with validity checks. From this viewpoint, "1" may be the desired value. *

Fig Which relation name conforms to the Clockwise Rule? - RJL

Fig. 9.17: NextGen POS: partial domain model 06f522 Assignment 1a, due 9/12: Redraw, topologically sorted; use 2-ucLetter symbols as box labels; include dictionary of pairs.

Fig. 9.18: Monopoly partial domain model

Fig. 9.19: Class and Attributes

Fig. 9.20: Attribute Notation in UML

Fig. 9.21: Recording the quantity of Items sold in a line item [Here an item quantity attribute could be added to a single SalesLineItem; but it can’t be derived because there is only one associated item.] [Now the associated item only needs to have multiplicity 1, illustrating one possible justification for evolving a conceptual model into a different design model. – RJL]

Fig. 9.22: Relate with associations, not attributes [The ‘uses’ relation implies an implicit oid or foreign key attribute in Cashier, to identify the (currently) assigned Register. –RJL ] 06f522 assignment 1b, due 9/12: Expand/redraw this model to include the temporal history of Cashier to Register assignments over time: Add new attributes and associations and state your assumptions.

Fig. 9.23: Don’t show complex concepts as attributes; use associations.

Fig. 9.24: Two ways to indicate a data type property of an object.

Fig. 9.25: Do not use attributes as foreign keys.* * Fkeys are redundant if implied by association links. Warning: This may also force surrogate keys with standard naming conventions. [Disclaimer: I Iike surrogate keys – RJL]

Fig. 9.26: Modeling Quantities

Fig. 9.27: NextGen POS partial domain model Can you abbreviate names and sort by fanout?

Fig. 9.27B: NextGen POS partial domain model [With abbreviated names, leveled by fanout] Level Symbol EntityType 1 LG Ledger 1 PCProductCatalog 2 PDProductDescription 2 SRStoRe 3 CUCustomer 3 CHCasHier 3 ITITem 3 RGReGister 4 SASale 5CPCashPayment 5 SLSalesLineitem 09_domainModelsR2.ppt slide 31

Fig. 9.21C: NextGen - Topological sort by fanout [and optionality] Level Symbol EntityType 1 LG Ledger 1 PCProductCatalog 2 PDProductDescription 2 SRStoRe 3 CUCustomer 3 CHCasHier 3 ITITem 3 RGReGister 4 SASale 5CPCashPayment 5 SLSalesLineitem LG PC PDSR CU CHITRG SA CPSL ? 09_domainModelsR2.ppt - slide 32

Fig. 9.28: Monopoly Partial Domain Model