Domain Model: Visualizing concepts

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design CHAPTERS 8, 9: BASICS, INTRO TO DOMAIN MODELS 1.
Advertisements

Object Design Examples with GRASP
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
1 Domain Model Adding Associations Chapter 11 Applying UML and Patterns -Craig Larman.
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.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
Designing with Interaction and Design Class Diagrams Chapters 15 & 16 Applying UML and Patterns Craig Larman With some ideas from students in George Blank’s.
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
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
Object-Oriented Analysis and Design
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Visualizing Concepts with a Domain Model.
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’
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.
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
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
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.
DOMAIN MODE: ASSOCIATIONS, MULTIPLICITY AND ATTRIBUTE-TEXT NOTATION SYS466.
Chapter 9 Domain Models $PH\06f522\LarmanApplUMLandPtrns\larman3EdDgmsCh01-14\09_domainModelsR2.ppt – RJL
Review ♦ System sequence diagram ♦ Domain model
Lecture 9 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
Conceptual Modeling Modeling the Problem Domain. Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or.
Design Class Diagrams (DCDs)
Copyright © Craig Larman All Rights Reserved The Domain Model.
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
Domain Model—Part 3: Associations, Multiplicity and Attribute- Text Notation.
NJIT UML Class Diagrams Chapter 16 Applying UML and Patterns Craig Larman.
SYS466: Analysis and Design Using OO Models Domain Class Diagram.
SYS466: Analysis and Design Using OO Models Domain Class Diagram, Part 1.
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
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.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2A: Attributes.
Chapter 9: Domain Models.  The problem domain is modelled using a UML domain model: This is the first OO model that we will see (Use Cases are very useful.
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.
1 Chapter 9: Operation Contracts Chapter 13 in Applying UML and Patterns Book.
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.
1 Chapter 9: Conceptual Model Chapter 10, 11 & 12 in Applying UML and Patterns Book.
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.
Elaboration popo.
Chapter 9 Domain Models.
Conceptual Model.
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)
Chapter 11: Class Diagram
Object Oriented Analysis and Design Conceptual Model.
Domain Modeling.
Domain Modeling.
Domain Model: Visualizing Concepts
Chapter 11: Class Diagram
Design Model: Creating Design Class Diagrams
Presentation transcript:

Domain Model: Visualizing concepts Larman chapter 9

Domain Model The Domain Model is the most important artifact in OOA The domain model is a representation of real-world conceptual classes NOT of software components Class Bicycle

Domain Model

Domain Model

Identify different concepts in the problem domain Conceptual classes in the Sale Domain:

Domain Model guideline It is better to overspecify a domain model than to underspecify it ! A Domain Model is not absolutely correct or wrong it is a tool of communication

Domain Model strategies to identify conceptual classes Use a conceptual class category list (p 134-135) Identify noun phrases  based upon fully dressed use cases (p 140-141)

Domain Model Candidate conceptual classes for the Sales Domain: Register Item Store Sale Payment ProductCatalog ProductSpecification SalesLineItem Cashier Customer Manager Receipt???

Domain Model Candidate conceptual classes for the Sales Domain: Receipt??? Report of a sale – duplicates information found elsewhere  exclude receipt Special role in terms of business rules (the right to return bought items)  include it

Domain Model representational gap

The NextGen POS Domain Model

Associations An association is a relationship between types (or more specifically, instances of those types) that indicates some meaningful and interesting connection

UML notation for associations

Associations - multiplicity

Domain Model Naming associations Name an association based on TypeName-VerbPhrase-TypeName format where the verb-phrase creates a sequence that is readable and meaningful in the model context Paid-by or PaidBy

Domain Model Naming associations

NextGen POS Domain Model Associations

Need-to-know vs. comprehension Emphasize need-to-know associations, but add choise comprehension-only associations to enrich critical understanding of the domain

Attributes Attribute = a logical data value of an object. Include the following attributes in a domain model : Those for which the requirements (ex. Use cases) suggest or imply a need to remember information. Ex. A receipt normally has a date and time.

Simple attributes Make it an attribute if it is naturrally thought of as number, string, boolean, time…. Otherwise represent it as a separate conceptual class rather than as an attribute If in doubt, define something as a sepate conceptual class rather than as an attribute.

No attributes as foreign keys Do not use attributes as foreign keys. Use associations to relate an object to another object.

Attributes in the NextGen Domain Model

A partial domain model