Copyright ©2004 Cezary Z Janikow 1 Domain Model n Visualization of entities and relationships n In UP presented as Class Diagrams – Classes, Relationships,

Slides:



Advertisements
Similar presentations
the Entity-Relationship (ER) Model
Advertisements

Chapter 9 Domain Models The classic OOAD model. Fig. 9.1.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
1 Lecture 2: Elaboration Tasks and Domain Modeling.
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.
Data Modeling Entity - Relationship Models. Models Used to represent unstructured problems A model is a representation of reality Logical models  show.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
Copyright W. Howden1 Lecture 2: Elaboration Tasks and Domain Modeling.
Copyright W. Howden1 Lecture 4: Elaboration Tasks and Domain Modeling.
Database Systems: Design, Implementation, and Management Tenth Edition
Chapter 8 Structuring System Data Requirements
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
Object Oriented Analysis and Design Using the UML
9/18/011 Software Requirements Analysis and Design (Continued)
Domain Modeling Chandan R. Rupakheti and Steve Chenoweth Week 5, Day 1.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 10 Structuring.
Business Modeling Domain Modeling Source: Use Case Driven Object Modeling with UML – A Practical Approach By Doug Rosenberg ISBN:
Object-Oriented Analysis and Design
The chapter will address the following questions:
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
Computer System Analysis Chapter 10 Structuring System Requirements: Conceptual Data Modeling Dr. Sana’a Wafa Al-Sayegh 1 st quadmaster University of Palestine.
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’
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.
Sept Ron McFadyen1 Section 10.1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain.
Chapter 9 Domain Models $PH\06f522\LarmanApplUMLandPtrns\larman3EdDgmsCh01-14\09_domainModelsR2.ppt – RJL
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis and Design in a Changing World, 3rd Edition
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Conceptual Modeling Modeling the Problem Domain. Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or.
1 Class Diagrams: The Essentials. 2 Terms and Concepts A class is... The most important building block of any object-oriented system. A description of.
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
NJIT UML Class Diagrams Chapter 16 Applying UML and Patterns Craig Larman.
SYS466: Analysis and Design Using OO Models Domain Class Diagram.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Database Systems: Design, Implementation, and Management Ninth Edition Chapter 4 Entity Relationship (ER) Modeling.
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,
Databases Illuminated Chapter 3 The Entity Relationship Model.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
Copyright ©2004 Cezary Z Janikow 1 OOAD Overview n OO language – Necessary for OO systems? – Sufficient for OO systems? Owning a hummer doesn’t make you.
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.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 10 Structuring.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
BTS430 Systems Analysis and Design using UML Design Class Diagrams (ref=chapter 16 of Applying UML and Patterns)
Department of Mathematics Computer and Information Science1 CS 351: Database Management Systems Christopher I. G. Lanclos Chapter 4.
DOMAIN MODEL—PART 2: ATTRIBUTES BTS430 Systems Analysis and Design using UML.
1 Chapter 13: Class Diagram Chapter 19 in Applying UML and Patterns Book.
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Elaboration popo.
Business System Development
Lecture 4: Elaboration Tasks and Domain Modeling
Chapter 9 Domain Models.
Domain Model: Visualizing concepts
The Object Oriented Approach to Design
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Software Design Lecture : 15.
Review of Week 1 Database DBMS File systems vs. database systems
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Domain Model: Visualizing Concepts
Lecture 10 Structuring System Requirements: Conceptual Data Modeling
Presentation transcript:

Copyright ©2004 Cezary Z Janikow 1 Domain Model n Visualization of entities and relationships n In UP presented as Class Diagrams – Classes, Relationships, Attributes in the domain n Important analysis artifacts – Driven by use case – Stipulates initial design ideas in contracts – Stipulates final design in Interactions – Provides visual dictionary n Moves through different perspectives – Conceptual: from use case – Design: from Interactions – Implementation: implementation details

Copyright ©2004 Cezary Z Janikow 2 Domain Model: when n Start in Inception n Most efforts to detail in Elaboration

Copyright ©2004 Cezary Z Janikow 3 Domain Model

Copyright ©2004 Cezary Z Janikow 4 Domain Model: partial POS example (conceptual)

Copyright ©2004 Cezary Z Janikow 5 Class Diagram n Static view of the domain n Presents domain conceptual classes n And not proposed implementation or design classes

Copyright ©2004 Cezary Z Janikow 6 Conceptual Class n Symbol n Intension: definition n Extension: set of elements

Copyright ©2004 Cezary Z Janikow 7 Domain Model vs. Design Model n Same names and notation lower the representation gap

Copyright ©2004 Cezary Z Janikow 8 Domain Model vs. Data Model? n Domain Model – Concepts, entities, can be abstract – Relations – Attributes n Data Model – How data is stored into persistent storage – Pure data, in files or databases

Copyright ©2004 Cezary Z Janikow 9 Domain Model: how to create? 1. Find conceptual classes – Refine existing model and/or use patterns – Explore concepts in the Category List See Table 9.1 – Explore Noun Phrases Lexical/linguistic analysis of use cases and other text documents See pate Add associations 3. Add attributes

Copyright ©2004 Cezary Z Janikow 10 Conceptual classes in POS n Class or Attribute? – Use the 3 object properties to test – Remember design will change things if needed

Copyright ©2004 Cezary Z Janikow 11 Description Classes n Class that describes something else – Example: Item object represents physical object Description of the object is separate In the design perspective, we need to retain description even if sold out on items (and thus no item objects)

Copyright ©2004 Cezary Z Janikow 12 Rules for having Description classes – If descriptions are independent of the exietence of items – If deleting an object deletes information that may need to be maintained – If it reduces duplications or adds clarity

Copyright ©2004 Cezary Z Janikow 13 Associations n Relationships between classes – Stemming from relationships on objects Transient (for some duration that we need to investigate details of) Persistent n Derived from Analysis or the Association List (Table 9.2) n In the conceptual model, association is just a statement about the relationships – If message need to be passes, it will persist in the design model (from Interactions) Visibility and navigability will have to be established

Copyright ©2004 Cezary Z Janikow 14 Association Notations

Copyright ©2004 Cezary Z Janikow 15 Associations n Naming – Verb Phrases n Roles – Each end – Having Names for the roles of the two classe/objects (sometime this is called “roles”) Multiplicity How many objects participate Navigability How one object will find the other object to send a message

Copyright ©2004 Cezary Z Janikow 16 Multiplicity

Copyright ©2004 Cezary Z Janikow 17 Multiplicity

Copyright ©2004 Cezary Z Janikow 18 Multiple Associations n Two classes can have multiple relations

Copyright ©2004 Cezary Z Janikow 19 Conceptual Domain Model in POS

Copyright ©2004 Cezary Z Janikow 20 Attributes n Logical data value of an object n Carefully distinguish attributes from objects – Do not use to relate classes or objects Use associations instead – Use as classes if Composed of multiple elements (has attributes-states) There are operations (behavior) Has units of quantity

Copyright ©2004 Cezary Z Janikow 21 Attributes: notation

Copyright ©2004 Cezary Z Janikow 22 Multiplicity vs. derived attribute

Copyright ©2004 Cezary Z Janikow 23 Multiplicity vs. derived attribute

Copyright ©2004 Cezary Z Janikow 24 Attributes: examples

Copyright ©2004 Cezary Z Janikow 25 Attributes: examples

Copyright ©2004 Cezary Z Janikow 26 Attributes: examples of quantities

Copyright ©2004 Cezary Z Janikow 27 POS Domain Model w/attributes